verilog-to-routing / vtr-verilog-to-routing

Verilog to Routing -- Open Source CAD Flow for FPGA Research
https://verilogtorouting.org
Other
1k stars 388 forks source link

Inconsistency between post synthesis BLIF and Verilog netlists #1721

Open mkurc-ant opened 3 years ago

mkurc-ant commented 3 years ago

VPR can write post synthesis netlist (it is more of a post-pnr netlist IMO) as BLIF and Verilog. In the BLIF file unconnected input and output ports are tied to special nets named __vpr__unconnXX which is fine. However, in the Verilog file they are not represented correctly.

Expected Behaviour

In post synthesis netlist in Verilog format:

Current Behaviour

In post synthesis netlist in Verilog format:

Possible Solution

Fix this part of the code https://github.com/verilog-to-routing/vtr-verilog-to-routing/blob/a71ca6d2d755ccc372bcbe12faa65d3a3ac5788b/vpr/src/base/netlist_writer.cpp#L2188-L2196 to achieve the desired behavior

Steps to Reproduce

For any architecture and design run the full VPR flow (pack, place and route) with --analysis and --gen_post_synthesis_netlist on options.

Context

I want the output post-synthesis netlist in Verilog format to be usable for design simulation.

Your Environment

vaughnbetz commented 3 years ago

Discussed in meeting; agreed that we can copy the blif behaviour so long as it doesn't confuse downstream verilog simulators.