Mitch Bailey
07/07/2021, 8:43 AMstorage
macro in develop branch of the caravel repo uses the sram_1rw1r_32_256_8_sky130
macro. I'm hearing that maybe this is outdated. Are there plans to switch to the sky130_sram_
prefixed versions?
https://skywater-pdk.slack.com/archives/C017UA7LEUV/p1625586099026000Manar Abdelatty
07/07/2021, 10:43 AMMitch Bailey
07/07/2021, 11:29 AMgpio_control_block (pin name mismatch)
mgmt_core (spice models don't match)
mgmt_protect (level shifter spice is incorrect)
user_id_programming
I'm working on these:
chip_io
storage
And can't find the gate level verilog for simple_por
.
The chip_io
appears to be missing the spice definitions for the following subcircuits. I couldn't find them in any of the spice libraries.
sky130_fd_io__top_gpiov2
sky130_fd_io__top_power_lvc_wpad
sky130_fd_io__top_power_hvc_wpadv2
sky130_fd_io__top_ground_hvc_wpad
sky130_fd_io__top_ground_lvc_wpad
Manar Abdelatty
07/07/2021, 11:58 AMvssd1
, but from the verilog side it is called vssd
so we end up with a pin mismatch between the two. But, I can't explain why the issue happens in the gpio_control_block and not other blocks where the grounds are shorted as well like mgmt_protect/mgmt_protect_hv.
I am getting lvs clean with the mgmt_core with netgen, which spice models aren't matching ?
For the simple_por, Tim E designed it in spice, so there is no gate-level and the golden reference should be the simulated spice netlist (https://github.com/efabless/caravel/blob/develop/subcells/simple_por/ngspice/simple_por.spice)
The spice models for those should be defined here https://github.com/RTimothyEdwards/open_pdks/blob/master/sky130/custom/sky130_fd_io/spice/sky130_fd_io.spice . If you have the pdk installed, this file should be under libs.ref/sky130_fd_io/spice
Matthew Guthaus
07/07/2021, 12:38 PMTim Edwards
07/07/2021, 12:42 PMTim Edwards
07/07/2021, 1:09 PMgpio_control_block
LVS clean by doing the following:
(1) Remove the "assign vssd1 = vssd;" line from the gate level verilog.
(2) Draw the "isosub" layer under the entire "gpio_logic_high" cell inside gpio_logic_high.
(3) Draw the "isosub" layer under the entire "gpio_logic_high" cell inside gpio_control_block.
The same method should be able to be applied to any block that has multiple ground domains.Manar Abdelatty
07/07/2021, 1:15 PMMitch Bailey
07/07/2021, 1:16 PM.subckt sky130_fd_sc_hd__conb_1 VGND VNB VPB VPWR HI LO
X0 VGND LO VNB short w=480000u l=45000u
X1 HI VPWR VNB short w=480000u l=45000u
.ends
extracted
.subckt sky130_fd_sc_hd__conb_1 VGND VNB VPB VPWR HI LO
R0 HI VPWR sky130_fd_pr__res_generic_po w=480000u l=45000u
R1 VGND LO sky130_fd_pr__res_generic_po w=480000u l=45000u
.ends
example 2
spice library
.subckt sky130_fd_sc_hd__diode_2 DIODE VGND VNB VPB VPWR
X0 VNB DIODE sky130_fd_pr__diode_pw2nd p=5.36e+06u a=4.347e+11p
.ends
extracted
.subckt sky130_fd_sc_hd__diode_2 DIODE VGND VNB VPB VPWR
X0 VNB DIODE sky130_fd_pr__diode_pw2nd_05v5 area=4.347e+11p
.ends
Tim Edwards
07/07/2021, 1:17 PMTim Edwards
07/07/2021, 1:18 PMMitch Bailey
07/07/2021, 2:26 PMopenlane
repo master
branch last month and did make pdk
there.
Looks like my skywater-pdk
is commit db2e067
from February!
Sorry for the confusion. What openlane
tag corresponds to caravel/develop
?Manar Abdelatty
07/07/2021, 2:33 PMv0.20
is what I am using now, but I am using make pdk
from caravel not openlane because caravel has the latest updates to open_pdksMitch Bailey
07/07/2021, 2:37 PMMitch Bailey
07/08/2021, 6:23 PMcommit 1a73bd541c6055037261289dd6a88e02bfdae0fe
Date: Tue Jul 6 23:39:26 2021 -0700
It uses the following
SKYWATER_COMMIT ?= bb2f842ac8d1b750677ca25bc71fb312859edb82
Date: Fri Apr 23 19:15:59 2021 -0700
OPEN_PDKS_COMMIT ?= 804f48b18519aa67b1f822bdc352ecbad1c056cb
I don't see this OPEN_PDKS commit on github. The makefile pulls the following commit instead.
commit 7e29496eecf3ee8e1766f1b7f9441f97204d4735
Date: Tue May 4 20:33:17 2021 -0400
The current master of conb
still uses short
. Is this supposed to be fixed in the open_pdks conversion?
https://github.com/efabless/skywater-pdk-libs-sky130_fd_sc_hd/blob/master/cells/conb/sky130_fd_sc_hd__conb_1.spiceTim Edwards
07/08/2021, 6:58 PMMitch Bailey
07/09/2021, 12:17 AMshort
to sky130_fd_pr__res_generic_po
.
However, it leaves an extra net in the resistor instance. VNB is recognized as the device name instead of sky130_fd_pr__res_generic_po.
.subckt sky130_fd_sc_hvl__conb_1 VGND VNB VPB VPWR HI LO
R0 HI VPWR VNB sky130_fd_pr__res_generic_po w=510000u l=45000u
R1 VGND LO VNB sky130_fd_pr__res_generic_po w=510000u l=45000u
.ends
See sky130A/libs.ref/sky130_fd_sc_hvl/spice/sky130_fd_sc_hvl.spice
Tim Edwards
07/09/2021, 1:55 AM