Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix VHDL simulation, cleanup VHDL project template, add VHDL action #312

Conversation

EverythingElseWasAlreadyTaken
Copy link
Collaborator

@EverythingElseWasAlreadyTaken EverythingElseWasAlreadyTaken commented Feb 3, 2025

  • Cleanup VHDL project template.
  • Update VHDL project files, which are mostly based on @Biswajitks1 work from Vhdl simulation #214
  • Update VHDL simulation files and testbench.
  • Add makefile for simulation.
  • Add workflow to test VHDL builds.

@KelvinChung2000
Copy link
Collaborator

This is nice. We finally have something to verify VHDL.

@EverythingElseWasAlreadyTaken
Copy link
Collaborator Author

This is nice. We finally have something to verify VHDL.

Thanks, but please wait with the merge, since the action is taking more than an hour to complete a run.

I figured out that the oss cad suite version of GHDL uses the LLVM backend, which is much slower than the mcode backend. I have to update the actions to speed up the runs.

On my local machine, the simulation with mcode takes about 2,5 minutes and with the llvm backend it is currently running 35 minutes, and isn't done yet...

@EverythingElseWasAlreadyTaken EverythingElseWasAlreadyTaken force-pushed the WIP/fix_VHDL_sim_init branch 3 times, most recently from 3b3637e to 408ad1f Compare February 3, 2025 12:26
@EverythingElseWasAlreadyTaken
Copy link
Collaborator Author

I've added GHDL mcode to the action, which reduced the runtime of the action from >1h with LLVM backend to ~7 min with mcode backend. I've also updated the docs, to suggest GHDL mcode.

Whenever this PR is merged, I'll open an Issue at GHDL, this could be maybe interesting for them.

Copy link
Collaborator

@KelvinChung2000 KelvinChung2000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than mixing the Verilog wrapper with VHDL, which I personally don't like, but functionally is fine.

I assume all the VHDL is regenerated, so I don't look in details.

The rest is looking fine for me.

@EverythingElseWasAlreadyTaken
Copy link
Collaborator Author

Other than mixing the Verilog wrapper with VHDL, which I personally don't like, but functionally is fine.

Yes, I know, but this is mostly the problem, that we're currently not having proper constraint file support and i didn't find a way to replace the top wrapper with VHDL.

I assume all the VHDL is regenerated, so I don't look in details.

It's mostly generated, but there were some manual corrections for the datatypes and so on.
I took it mostly form #214 since Biswajit already did all this.

@EverythingElseWasAlreadyTaken EverythingElseWasAlreadyTaken changed the title Fix VHDL simulation, add cleanup VHDL porject tempate, add VHDL action Fix VHDL simulation, cleanup VHDL porject tempate, add VHDL action Feb 4, 2025
@EverythingElseWasAlreadyTaken EverythingElseWasAlreadyTaken changed the title Fix VHDL simulation, cleanup VHDL porject tempate, add VHDL action Fix VHDL simulation, cleanup VHDL project template, add VHDL action Feb 4, 2025
Remove unused and legacy files from VHDL project template.

Signed-off-by: Jonas K. <[email protected]>
Updated Fabric files in VHDL project template.
These files were generated from the Fabric files from verilog project
template and are based on Biswajits work:
FPGA-Research#214

Signed-off-by: Jonas K. <[email protected]>
…akefile.

Fix the broken VHDL simulation and VHDL user design synthesis.
Replace old simulation scripts with a Makefile.

Add README for `Test`.
Add .gitignore in `Test`.
Update testbench, user_design and top_wrapper for simulation.

Remove old floorplaning information from fabric.csv

Signed-off-by: Jonas K. <[email protected]>
@EverythingElseWasAlreadyTaken EverythingElseWasAlreadyTaken force-pushed the WIP/fix_VHDL_sim_init branch 2 times, most recently from 78e930f to 8f293f8 Compare February 10, 2025 11:10
@EverythingElseWasAlreadyTaken
Copy link
Collaborator Author

Rebased to current dev branch and make use of composite workflow.

 Rename old workflow to fabric_gen_verilog.
 Add a workflow to build and simulate a VHDL fabric.

Signed-off-by: Jonas K. <[email protected]>
@EverythingElseWasAlreadyTaken EverythingElseWasAlreadyTaken merged commit 34e96bd into FPGA-Research:FABulous2.0-development Feb 11, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants