hwacha-template icon indicating copy to clipboard operation
hwacha-template copied to clipboard

Synthesizable verilog

Open sdimascio opened this issue 5 years ago • 1 comments

Is the verilog from "make verilog" in vsim supposed to be synthesizable like in other Rocket repositories? I can't find the top level for the synthesis. Also, are you planning to release a template design for an FPGA in the future?

sdimascio avatar Jul 02 '19 15:07 sdimascio

Yes, the emitted Verilog is synthesizable in the same style as rocket-chip. When reading into a synthesis tool, the SYNTHESIS macro must be defined in order for non-synthesizable constructs to be properly excluded.

The design is contained in vsim/generated-src/*.top.v. Also needed are additional Verilog sources listed in vsim/generated-src/firrtl_black_box_resource_files.top.f.

vsim/generated-src/*.mems.v contains behavioral models for synchronous memories. The Xilinx FPGA tools should correctly infer these as BRAMs. For an ASIC, however, additional work is required to map them to technology-specific SRAM macros.

Currently, the best supported FPGA flow involves Chipyard (the successor to hwacha-template), which integrates Hwacha with FireSim to build and run AWS F1 images. Unfortunately, it is not possible to target local FPGA boards yet.

a0u avatar Oct 19 '19 05:10 a0u