gf180mcu-pdk icon indicating copy to clipboard operation
gf180mcu-pdk copied to clipboard

Standard cell reference missing for DLATCH in gf180 PDK

Open 0616ygh opened this issue 2 years ago • 6 comments

Expected Behavior

  1. The latch cells can be found in the PDK by Yosys+ABC.
  2. The synthesis, floorplan, placement, and routing steps can be successfully completed by OpenLane with GF180 PDK.

Actual Behavior

  1. ABC can't find latch cells in GF180 PDK and you can find cells named "$DLTACH_N" in synthesis report.
  2. 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

  1. git clone https://github.com/0616ygh/rioschip2.git
  2. cd rioschip2
  3. source env.sh
  4. make setup
  5. cd openlane
  6. make green

Specifications

  • OpenLane Version: OpenLane daae2154590cf20e0c20b77e3fc02b6526ad09af
  • PDK Version: open_pdks 0059588eebfc704681dc2368bd1d33d96281d10f
  • Platform: Ubuntu 20.04 a

0616ygh avatar Nov 30 '22 06:11 0616ygh

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.

0616ygh avatar Nov 30 '22 06:11 0616ygh

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

QuantamHD avatar Nov 30 '22 06:11 QuantamHD

Looks like yosys might not have support for latches https://github.com/YosysHQ/yosys/issues/1221

QuantamHD avatar Nov 30 '22 06:11 QuantamHD

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.

0616ygh avatar Nov 30 '22 10:11 0616ygh

Agreed. @RTimothyEdwards should this be added to the openpdks tech mapping file?

QuantamHD avatar Nov 30 '22 17:11 QuantamHD

The openlane development team needs to provide me with the set of mapping files.

RTimothyEdwards avatar Dec 01 '22 01:12 RTimothyEdwards