gf180mcu-pdk
gf180mcu-pdk copied to clipboard
Standard cell reference missing for DLATCH in gf180 PDK
Expected Behavior
- The latch cells can be found in the PDK by Yosys+ABC.
- The synthesis, floorplan, placement, and routing steps can be successfully completed by OpenLane with GF180 PDK.
Actual Behavior
- ABC can't find latch cells in GF180 PDK and you can find cells named "$DLTACH_N" in synthesis report.
- Floorplanning failed for module "$DLTACH_N" not found in "merged.nom.lef", and check whether EXTRA_LEFS is set appropriately.
Steps to Reproduce the Problem
- git clone https://github.com/0616ygh/rioschip2.git
- cd rioschip2
- source env.sh
- make setup
- cd openlane
- make green
Specifications
- OpenLane Version: OpenLane daae2154590cf20e0c20b77e3fc02b6526ad09af
- PDK Version: open_pdks 0059588eebfc704681dc2368bd1d33d96281d10f
- Platform: Ubuntu 20.04

Current solution: I add a latch_map.v in "pdks/gf180mcuC/libs.tech/openlane/gf180mcu_fd_sc_mcu7t5v0/":
module \$_DLATCH_P_ (input E, input D, output Q);
gf180mcu_fd_sc_mcu7t5v0__latq_1 _TECHMAP_DLATCH_P (
.D(D),
.Q(Q),
.GATE(E)
);
endmodule
module \$_DLATCH_N_ (input E, input D, output Q);
gf180mcu_fd_sc_mcu7t5v0__latrnq_1 _TECHMAP_DLATCH_N (
.D(D),
.Q(Q),
.GATE_N(E)
);
endmodule
At present, I can successfully pass the floorplan. Is this the right addition? thank you.
Thanks for the suggestion. I'll have to check what Yosys is looking for when it comes to auto mapping latches. It might be as simple as the liberty file not putting the latch function in quotes
Looks like yosys might not have support for latches https://github.com/YosysHQ/yosys/issues/1221
Yes, I agree with you very much. This is not supported by Yosys.
In skywater130 pdk, I can find the mapping files in thesky130A/libs.tech/openlane/sky130_fd_sc_hd (I use sky130_fd_sc_hd as an example): such as latch_map.v,mux_map.v, etc.
So I think in the GF180PDK, it may also be necessary to provide themapping files? This will be very helpful. Thank you.
Agreed. @RTimothyEdwards should this be added to the openpdks tech mapping file?
The openlane development team needs to provide me with the set of mapping files.