| |
| A collection of larger designs to run post-synthesis simulations for testing |
| yosys. Type 'make -j8 full' to run all tests and use max. 8 parallel threads. |
| |
| |
| Currently included designs: |
| --------------------------- |
| |
| openmsp430: |
| http://opencores.org/project,openmsp430 |
| |
| aes_5cycle_2stage: |
| http://opencores.org/project,aes-encryption |
| |
| softusb_navre: |
| http://opencores.org/project,navre |
| |
| amber23: |
| http://opencores.org/project,amber |
| |
| lm32: |
| https://github.com/m-labs/lm32/ |
| |
| verilog-pong: |
| https://github.com/yzheng624/verilog-pong |
| |
| elliptic_curve_group: |
| http://opencores.org/project,ecg |
| |
| reed_solomon_decoder: |
| http://opencores.org/project,reed_solomon_decoder |
| |
| bch_verilog: |
| https://github.com/russdill/bch_verilog |
| |
| |
| Adding new designs to this collection: |
| -------------------------------------- |
| |
| Designs must come with a useful testbench. Synthesis and testing should not |
| consume extraordinarily much CPU time compared to the existing test cases. Test |
| cases that expose existing yosys bugs are welcome. Test cases that fail because |
| of missing yosys features or glitches in simulation with icarus verilog will |
| not be included. |
| |
| Each design has its own top level directory with the following layout: |
| |
| <design_name>/rtl/ |
| directory with the RTL verilog files |
| |
| <design_name>/sim/ |
| directory with the test bench and auxilary files |
| |
| <design_name>/sim/settings.sh |
| a simple shell snippet that set the following variables: |
| |
| TOP="..." |
| name of the top entity in the design |
| |
| RTL="..." |
| list of RTL files in the rtl/ directory (without path) |
| |
| SIM="..." |
| list of addition testbench verilog files in |
| the sim/ directory (without path) |
| |
| <design_name>/sim/build.sh (optional) |
| script for re-generating additional testbench files (such as |
| firmware ROM images). this script, by convention, is called |
| from within the sim/ directory |
| |
| The testbench top entity must be named 'testbench'. The rtl/ and sim/ |
| directory are both in the include path for simulation and synthesis. |
| |
| Have a look at the 'softusb_navre' design for a simple example. |
| |
| The DESIGNS variable in the Makefile has a list off all designs used for the |
| test. All new design there, or set the variable to individual designs for |
| testing purposes. |
| |