GitHub
07/17/2023, 6:49 AMdospecify
to include the specify blocks in inc_verilog.py
(dospecify
was removed from fix_verilog.py
because it doesn't do anything there)
• fixes issues inside the specify blocks
• different naming (e.g. RESETB_delayed
-> RESET_B_delayed
)
• lower-case (e.g. AWAKE
-> awake
)
• fixes issues inside the cells
• some cells contained text fragments that definitely did not belong there
(e.g. sky130_fd_sc_hs__a2bb2o on line 59 and 60)
The following cell libraries have been successfully read in with Icarus Verilog. All four combinations of USE_POWER_PINS
defined/not-defined and FUNCTIONAL
defined/not-defined were tested.
- `sky130_fd_io/verilog/sky130_ef_io.v`
- `sky130_fd_io/verilog/sky130_fd_io.v`
- `sky130_fd_sc_hd/verilog/primitives.v`
- `sky130_fd_sc_hd/verilog/sky130_fd_sc_hd.v`
- `sky130_fd_sc_hdll/verilog/primitives.v`
- `sky130_fd_sc_hdll/verilog/sky130_fd_sc_hdll.v`
- `sky130_fd_sc_hs/verilog/primitives.v`
- `sky130_fd_sc_hs/verilog/sky130_fd_sc_hs.v`
- `sky130_fd_sc_hvl/verilog/primitives.v`
- `sky130_fd_sc_hvl/verilog/sky130_fd_sc_hvl.v`
- `sky130_fd_sc_lp/verilog/primitives.v`
- `sky130_fd_sc_lp/verilog/sky130_fd_sc_lp.v`
- `sky130_fd_sc_ls/verilog/primitives.v`
- `sky130_fd_sc_ls/verilog/sky130_fd_sc_ls.v`
- `sky130_fd_sc_ms/verilog/primitives.v`
- `sky130_fd_sc_ms/verilog/sky130_fd_sc_ms.v`
Additionally, a simple simulation with IOPATH delays was run for sky130_fd_sc_hd
.
Problem: SDF-File
Currently, the SDF file generated by OpenROAD annotates the drive-strength specific cells:
(CELL
(CELLTYPE "sky130_fd_sc_hd__inv_1")
(INSTANCE _43_)
(DELAY
(ABSOLUTE
(IOPATH A Y (0.059:0.059:0.059) (0.041:0.041:0.041))
)
)
)
But this PR adds the specify paths to the base cells. This seems to be the right thing to do here, since the cells are structured in a way that all conditions, notifiers, delayed signals for the timing checks are in the base cell. Moving them to the drive-strength specific cells would mean a major rewrite of the cell libraries.
Therefore, the SDF file needs to be changed like so:
(CELL
(CELLTYPE "sky130_fd_sc_hd__inv")
(INSTANCE _43_.base)
(DELAY
(ABSOLUTE
(IOPATH A Y (0.059:0.059:0.059) (0.041:0.041:0.041))
)
)
)
I will open an Issue with OpenROAD to ask ask if OpenSTA's write_sdf
can be changed to output the SDF file in this format.
RTimothyEdwards/open_pdksGitHub
07/17/2023, 2:29 PM