OpenLane icon indicating copy to clipboard operation
OpenLane copied to clipboard

Netlist Simulation Issues: Unknown Values/Syntax Errors

Open deepsita opened this issue 3 years ago • 6 comments

The simulation of synthesized netlist is always XXX. as shown in the image. postsynth_output

However, the Synthesis is shown successful as shown in the below image of terminal synthterminal

The procedure to reproduce the same is given in the https://github.com/deepsita/mythcore_synth git clone https://github.com/deepsita/mythcore_synth.git cd mythcore_synth/post synth Simulation/ iverilog gls.v mythcore.synth.v primitives.v sky130_fd_sc_hd.v ./a.out gtkwave gls.vcd

deepsita avatar Jul 31 '21 14:07 deepsita

@deepsita I believe the behavioral models are buggy in the original PDK (see https://github.com/google/skywater-pdk/issues/310) . However, you can simulate with the functional models by passing the FUNCTIONAL define to iverilog (you also need to set UNIT_DELAY macro to some value) : iverilog -DFUNCTIONAL -DUNIT_DELAY=#1 gls.v mythcore.synth.v primitives.v sky130_fd_sc_hd.v

Manarabdelaty avatar Aug 01 '21 16:08 Manarabdelaty

I tried doing the same, and the following errors are shown. There was a syntax error in 74584 line of the sky130_fd_sc_hd.v, the cell at this line is oai, and the screenshot of the same is also attached.

Screenshot from 2021-08-02 20-09-57 Screenshot from 2021-08-02 20-10-38

deepsita avatar Aug 02 '21 14:08 deepsita

@deepsita See issues (https://github.com/google/skywater-pdk/issues/298, https://github.com/google/skywater-pdk/issues/297), The current solution (until they are addressed in the skywater-pdk repo) is to manually comment out the wire 1; statement and correct endif SKY130_FD_SC_HD__LPFLOW_BLEEDER_FUNCTIONAL_V to endif // SKY130_FD_SC_HD__LPFLOW_BLEEDER_FUNCTIONAL_V

Manarabdelaty avatar Aug 06 '21 11:08 Manarabdelaty

For posterity's sake: the wire 1 issue has been long fixed, but the `endif most definitely has not.

donn avatar Sep 06 '22 10:09 donn

i think you should first write powered verilog of this synthesis file cause currently your cells have no power and ground connections. thus going on unknown state.

Asma-Mohsin avatar Sep 09 '22 05:09 Asma-Mohsin