这是indexloc提供的服务,不要输入任何密码
Skip to content

Board testing results #168

@StephanvanSchaik

Description

@StephanvanSchaik

This is related to the testing part of issue #128. I have written a Python script that tries to import all the defined Platform classes in nmigen-boards and then checks if building blinky using the corresponding toolchain works. If the build succeeds, it writes the checksum of the board file and the filename to a file, such that the test can be skipped if the board file hasn't been modified when running the tests again. The only thing that is currently missing is to try and specify different toolchains by setting the PATH (e.g. Intel Quartus Lite 20.1 doesn't support Cyclone III and Quartus II Web Edition 13.1 is required to test the board instead). Once I have that part figured out, I can share a gist of the Python script, because it might be useful for automation, but the amount of disk storage required to have the toolchains installed is perhaps a bit problematic.

I have the following toolchains installed:

  • Quartus II Web Edition 13.1
  • Quartus Lite Edition 20.1
  • Xilinx Vivado WebPACK 2020.1
  • Xilinx ISE WebPACK 14.7 (nothing seems to depend on this)
  • yosys, nextpnr, icestorm, prjtrellis

I have the following programming tools installed:

  • mercpcl (Mercury board) (Git)
  • OpenFPGAloader (Git)
  • OpenOCD (Git)
  • xc3sprog (Git)

The following boards currently fail this test:

  • Atlys
  • Genesys2Platform
  • KC705
  • KCU105
  • MachXO3SK (depends on Lattice Diamond)
  • Mercury (some issue in the generated Verilog)
  • MicroZedZ010, MicroZedZ020 (only defines the package + two connectors)
  • Numato Mimas (no toolchain_program)
  • Quickfeather
  • SK XC6SLX9 (no toolchain_program)
  • TinyFPGA AX1 and AX2 (only defines the package + one connector)
  • ZTurnLiteZ007S and ZTurnLiteZ010 (only defines the package + one connector)

All other boards that are currently in the repository (commit 068d9fe) pass this test. If nothing is mentioned between parentheses after the board name, then I am not entirely sure what causes it to fail.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions