sv2v
edalize
sv2v | edalize | |
---|---|---|
3 | 4 | |
470 | 592 | |
- | - | |
7.6 | 7.2 | |
8 days ago | 8 days ago | |
Haskell | Python | |
BSD 3-clause "New" or "Revised" License | BSD 2-clause "Simplified" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sv2v
-
Verilog functions and wires
I see what you mean by some online examples adding begin...end in functions. They are not actually required, and many people choose to leave it out (sv2v, lowRISC, BSG). I don't believe there is a benefit to adding them, and it just creates more opportunities for bugs that compilers/linters cannot check.
-
HDL desugaring
For verilog, I know SV2V exists: https://github.com/zachjs/sv2v
-
Unrolling Verilog generate statements
Maybe this would help? https://github.com/zachjs/sv2v
edalize
-
Dropping EDA-GUI's 101
Check out FuseSoC: https://github.com/olofk/fusesoc which can handle Vivado builds for you (utilizing edalize: https://github.com/olofk/edalize) along with some nice package management. It can run against multiple tools so you can also get it to build simulations using Verilator or a commercial EDA tool if you have access to them.
-
Introduction to FPGAs
Check out https://github.com/olofk/fusesoc. It gives you a command line build flow that can drive Vivado (along with many other eda tools via edalize https://github.com/olofk/edalize) without having to touch the GUI (though you might want it for programming the board, though FuseSoC can do that too).
-
Compiling Code into Silicon
This reminds me very much of edalize[1], which does something very similar.
[1]: https://github.com/olofk/edalize
- Olof Kindgren on LinkedIn: We have a new world record! 6000 RISC-V cores in a single chip!
What are some alternatives?
openlane - OpenLane is an automated RTL to GDSII flow based on several components including OpenROAD, Yosys, Magic, Netgen and custom methodology scripts for design exploration and optimization.
fusesoc - Package manager and build abstraction tool for FPGA/ASIC development
conversion - Universal converter between values of different types
skywater-pdk - Open source process design kit for usage with SkyWater Technology Foundry's 130nm node.
verilog_template - A template for starting a Verilog project with FuseSoC integration, Icarus simulation, Verilator linting, Yosys usage report, and VS Code syntax highlighting.
freepdk-45nm - ASIC Design Kit for FreePDK45 + Nangate for use with mflowgen
apio - :seedling: Open source ecosystem for open FPGA boards
icestudio - :snowflake: Visual editor for open FPGA boards
rggen - Code generation tool for control and status registers
sphinx-vhdl
opentitan - OpenTitan: Open source silicon root of trust
hdl_checker - Repurposing existing HDL tools to help writing better code