Skip to content

Commit

Permalink
cace support updates
Browse files Browse the repository at this point in the history
  • Loading branch information
areda0 committed Sep 12, 2024
1 parent 911534e commit 3828cd5
Show file tree
Hide file tree
Showing 12 changed files with 680 additions and 716 deletions.
97 changes: 36 additions & 61 deletions cace/isolated_switch_ena1v8.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description: >
not ensure break-before-make.
PDK: sky130A

cace_format: 5.0
cace_format: 5.2

authorship:
designer: Tim Edwards
Expand All @@ -23,13 +23,12 @@ paths:
magic: mag
layout: gds
netlist: netlist
documentation: doc
documentation: docs

pins:
dvdd:
description: Digital power supply
type: power
type: ground
dvss:
description: Digital ground
type: ground
Expand All @@ -39,8 +38,7 @@ pins:
avss:
description: Analog ground
type: ground
direction: input
"on":
on:
description: Enable the switch
type: signal
direction: input
Expand Down Expand Up @@ -86,14 +84,15 @@ parameters:
display: R_on
unit: Ohm
spec:
maximum:
value: any
r_on:
maximum:
value: any
tool:
ngspice:
template: isolated_switch_ena1v8_tb.sch
format: ascii
suffix: .data
variables: [result]
variables: [r_on]
conditions:
corner:
enumerate: [tt, ff, ss] # fs, sf
Expand All @@ -102,81 +101,57 @@ parameters:
typical: 27
maximum: 130

area:
description: Total circuit layout area
display: Area
unit: µm²
magic_area:
spec:
maximum:
value: any
area:
display: Area
description: Total circuit layout area
unit: µm²
maximum:
value: any
width:
display: Width
description: Total circuit layout width
unit: µm
maximum:
value: any
height:
display: Height
description: Total circuit layout height
unit: µm
maximum:
value: any
tool:
magic_area

width:
description: Total circuit layout width
display: Width
unit: µm
spec:
maximum:
value: any
tool:
magic_width

height:
description: Total circuit layout height
display: Height
unit: µm
spec:
maximum:
value: any
tool:
magic_height

magic_drc:
description: Magic DRC
display: Magic DRC
spec:
maximum:
value: 0
drc_errors:
maximum:
value: 0
tool:
magic_drc

netgen_lvs:
description: Netgen LVS
display: Netgen LVS
spec:
maximum:
value: 0
lvs_errors:
maximum:
value: 0
tool:
netgen_lvs:
script: run_project_lvs.tcl

klayout_drc_feol:
description: KLayout DRC feol
display: KLayout DRC feol
spec:
maximum:
value: 0
tool:
klayout_drc:
args: ['-rd', 'feol=true']

klayout_drc_beol:
description: KLayout DRC beol
display: KLayout DRC beol
spec:
maximum:
value: 0
tool:
klayout_drc:
args: ['-rd', 'beol=true']
script: isolated_switch_ena1v8_lvs.tcl

klayout_drc_full:
description: KLayout DRC full
display: KLayout DRC full
spec:
maximum:
value: 0
drc_errors:
maximum:
value: 0
tool:
klayout_drc:
args: ['-rd', 'feol=true', '-rd', 'beol=true', '-rd', 'offgrid=true']
10 changes: 10 additions & 0 deletions cace/scripts/isolated_switch_ena1v8_lvs.tcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# NOTE: PDK_ROOT, PDK and CACE_ROOT are set in the local environment by CACE

set PDK_ROOT $::env(PDK_ROOT)
set PDK $::env(PDK)
set CACE_ROOT $::env(CACE_ROOT)

set circuit1 [readnet spice $CACE_ROOT/netlist/layout/isolated_switch_ena1v8.spice]
set circuit2 [readnet spice $CACE_ROOT/netlist/schematic/isolated_switch_ena1v8.spice]
readnet spice $PDK_ROOT/$PDK/libs.ref/sky130_fd_sc_hvl/spice/sky130_fd_sc_hvl.spice $circuit2
lvs "$circuit1 isolated_switch_ena1v8" "$circuit2 isolated_switch_ena1v8" $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl isolated_switch_ena1v8_comp.out -json
10 changes: 10 additions & 0 deletions cace/scripts/simple_analog_switch_ena1v8_lvs.tcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# NOTE: PDK_ROOT, PDK and CACE_ROOT are set in the local environment by CACE

set PDK_ROOT $::env(PDK_ROOT)
set PDK $::env(PDK)
set CACE_ROOT $::env(CACE_ROOT)

set circuit1 [readnet spice $CACE_ROOT/netlist/layout/simple_analog_switch_ena1v8.spice]
set circuit2 [readnet spice $CACE_ROOT/netlist/schematic/simple_analog_switch_ena1v8.spice]
readnet spice $PDK_ROOT/$PDK/libs.ref/sky130_fd_sc_hvl/spice/sky130_fd_sc_hvl.spice $circuit2
lvs "$circuit1 simple_analog_switch_ena1v8" "$circuit2 simple_analog_switch_ena1v8" $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl simple_analog_switch_ena1v8_comp.out -json
10 changes: 10 additions & 0 deletions cace/scripts/simplest_analog_switch_ena1v8_lvs.tcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# NOTE: PDK_ROOT, PDK and CACE_ROOT are set in the local environment by CACE

set PDK_ROOT $::env(PDK_ROOT)
set PDK $::env(PDK)
set CACE_ROOT $::env(CACE_ROOT)

set circuit1 [readnet spice $CACE_ROOT/netlist/layout/simplest_analog_switch_ena1v8.spice]
set circuit2 [readnet spice $CACE_ROOT/netlist/schematic/simplest_analog_switch_ena1v8.spice]
readnet spice $PDK_ROOT/$PDK/libs.ref/sky130_fd_sc_hvl/spice/sky130_fd_sc_hvl.spice $circuit2
lvs "$circuit1 simplest_analog_switch_ena1v8" "$circuit2 simplest_analog_switch_ena1v8" $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl simplest_analog_switch_ena1v8_comp.out -json
97 changes: 36 additions & 61 deletions cace/simple_analog_switch_ena1v8.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description: >
mitigation.
PDK: sky130A

cace_format: 5.0
cace_format: 5.2

authorship:
designer: Tim Edwards
Expand All @@ -23,13 +23,12 @@ paths:
magic: mag
layout: gds
netlist: netlist
documentation: doc
documentation: docs

pins:
dvdd:
description: Digital power supply
type: power
type: ground
dvss:
description: Digital ground
type: ground
Expand All @@ -39,8 +38,7 @@ pins:
avss:
description: Analog ground
type: ground
direction: input
"on":
on:
description: Enable the switch
type: signal
direction: input
Expand Down Expand Up @@ -86,14 +84,15 @@ parameters:
display: R_on
unit: Ohm
spec:
maximum:
value: any
r_on:
maximum:
value: any
tool:
ngspice:
template: simple_analog_switch_ena1v8_tb.sch
format: ascii
suffix: .data
variables: [result]
variables: [r_on]
conditions:
corner:
enumerate: [tt, ff, ss] # fs, sf
Expand All @@ -102,81 +101,57 @@ parameters:
typical: 27
maximum: 130

area:
description: Total circuit layout area
display: Area
unit: µm²
magic_area:
spec:
maximum:
value: any
area:
display: Area
description: Total circuit layout area
unit: µm²
maximum:
value: any
width:
display: Width
description: Total circuit layout width
unit: µm
maximum:
value: any
height:
display: Height
description: Total circuit layout height
unit: µm
maximum:
value: any
tool:
magic_area

width:
description: Total circuit layout width
display: Width
unit: µm
spec:
maximum:
value: any
tool:
magic_width

height:
description: Total circuit layout height
display: Height
unit: µm
spec:
maximum:
value: any
tool:
magic_height

magic_drc:
description: Magic DRC
display: Magic DRC
spec:
maximum:
value: 0
drc_errors:
maximum:
value: 0
tool:
magic_drc

netgen_lvs:
description: Netgen LVS
display: Netgen LVS
spec:
maximum:
value: 0
lvs_errors:
maximum:
value: 0
tool:
netgen_lvs:
script: run_project_lvs.tcl

klayout_drc_feol:
description: KLayout DRC feol
display: KLayout DRC feol
spec:
maximum:
value: 0
tool:
klayout_drc:
args: ['-rd', 'feol=true']

klayout_drc_beol:
description: KLayout DRC beol
display: KLayout DRC beol
spec:
maximum:
value: 0
tool:
klayout_drc:
args: ['-rd', 'beol=true']
script: simple_analog_switch_ena1v8_lvs.tcl

klayout_drc_full:
description: KLayout DRC full
display: KLayout DRC full
spec:
maximum:
value: 0
drc_errors:
maximum:
value: 0
tool:
klayout_drc:
args: ['-rd', 'feol=true', '-rd', 'beol=true', '-rd', 'offgrid=true']
Loading

0 comments on commit 3828cd5

Please sign in to comment.