tgingold-cern / cheby

GNU General Public License v3.0
7 stars 4 forks source link

Run RTL Elaboration and Generate SV in CI, Resolve Related Issues #28

Closed stefanlippuner closed 8 months ago

stefanlippuner commented 8 months ago

Changes:

Example pipeline: https://github.com/stefanlippuner/cheby/actions/runs/6761939542/job/18377329305

I've split out the changes to the golden test files into separate commits to help with the review.

Hi @tgingold-cern

I started with the idea of running elaboration tests on the generated RTL files and I also thought it might be a good idea to also run the generation tests for SV. I added elaboration tests for VHDL using ghdl and for SV using verilator, which worked quite nicely locally. I also discovered a few bugs in the SV generation and one VHDL issue that I fixed.

However, when I set up the Github CI job, I noticed that there was a problem with the packaged version of verilator (v4). It didn't like the top-level interface ports and resulted in errors. So instead I used verilator within an apptainer/singularity container (I didn't find a nice way to make it work with docker). This works, but it's somewhat ugly and quite slow... Let me know if you'd prefer to merge it without the apptainer verilator stuff.

Cheers Stefan

tgingold-cern commented 8 months ago

Thanks!