mirror of https://github.com/KLayout/klayout.git
Test updates
* Modifying one test, so it is easier to port to smart device propagation later. * Including a first test for smart device propagation (proves that cheat is no longer required)
This commit is contained in:
parent
eacc19b18a
commit
8d30b606e7
|
|
@ -179,15 +179,23 @@ TEST(22a_SP6TArray2X4)
|
|||
{
|
||||
run_test (_this, "SP6TArray_2X4.lvs", "test_22a.cir", "SP6TArray_2X4.gds", false, "test_22a.lvsdb", "$test22_texts = false\n$test22_deep = false");
|
||||
}
|
||||
|
||||
TEST(22b_SP6TArray2X4)
|
||||
{
|
||||
run_test (_this, "SP6TArray_2X4.lvs", "test_22b.cir", "SP6TArray_2X4.gds", false, "test_22b.lvsdb", "$test22_texts = true\n$test22_deep = false");
|
||||
}
|
||||
|
||||
TEST(22c_SP6TArray2X4)
|
||||
{
|
||||
run_test (_this, "SP6TArray_2X4.lvs", "test_22c.cir", "SP6TArray_2X4.gds", false, "test_22c.lvsdb", "$test22_texts = false\n$test22_deep = true");
|
||||
}
|
||||
|
||||
TEST(22d_SP6TArray2X4)
|
||||
{
|
||||
run_test (_this, "SP6TArray_2X4.lvs", "test_22d.cir", "SP6TArray_2X4.gds", false, "test_22d.lvsdb", "$test22_texts = true\n$test22_deep = true");
|
||||
}
|
||||
|
||||
TEST(22e_SP6TArray2X4)
|
||||
{
|
||||
run_test (_this, "SP6TArray_2X4.lvs", "test_22d.cir", "SP6TArray_2X4.gds", false, "test_22d.lvsdb", "$test22_texts = true\n$test22_deep = true\n$test22_nocheat = true");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@ else
|
|||
flat
|
||||
end
|
||||
|
||||
nocheat = !!$test22_nocheat
|
||||
|
||||
# Define layers
|
||||
nwm = input(64, 20)
|
||||
nsdm = input(93, 44)
|
||||
|
|
@ -161,10 +163,18 @@ extract_devices(diode("sky130_fd_pr__diode_pd2nw_05v5"), {
|
|||
|
||||
# Transistors
|
||||
# nfet_01v8
|
||||
cheat("SP6TCell") do
|
||||
extract_devices(mos4("sky130_fd_pr__nfet_01v8__model"), {
|
||||
dex = mos4("sky130_fd_pr__nfet_01v8__model")
|
||||
dex.smart_device_propagation = nocheat
|
||||
if nocheat
|
||||
extract_devices(dex, {
|
||||
"SD" => difftap__conn, "G" => gate__mosfet__nfet_01v8, "tG" => poly__conn, "W" => substrate__Sky130,
|
||||
})
|
||||
})
|
||||
else
|
||||
cheat("SP6TCell") do
|
||||
extract_devices(dex, {
|
||||
"SD" => difftap__conn, "G" => gate__mosfet__nfet_01v8, "tG" => poly__conn, "W" => substrate__Sky130,
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
# nfet_01v8_lvt
|
||||
|
|
@ -176,10 +186,18 @@ extract_devices(mos4("sky130_fd_pr__nfet_g5v0d10v5__model"), {
|
|||
"SD" => difftap__conn, "G" => gate__mosfet__nfet_g5v0d10v5, "tG" => poly__conn, "W" => substrate__Sky130,
|
||||
})
|
||||
# pfet_01v8
|
||||
cheat("SP6TCell") do
|
||||
extract_devices(mos4("sky130_fd_pr__pfet_01v8__model"), {
|
||||
"SD" => difftap__conn, "G" => gate__mosfet__pfet_01v8, "tG" => poly__conn, "W" => nwm,
|
||||
})
|
||||
dex = mos4("sky130_fd_pr__pfet_01v8__model")
|
||||
dex.smart_device_propagation = nocheat
|
||||
if nocheat
|
||||
extract_devices(dex, {
|
||||
"SD" => difftap__conn, "G" => gate__mosfet__pfet_01v8, "tG" => poly__conn, "W" => nwm,
|
||||
})
|
||||
else
|
||||
cheat("SP6TCell") do
|
||||
extract_devices(dex, {
|
||||
"SD" => difftap__conn, "G" => gate__mosfet__pfet_01v8, "tG" => poly__conn, "W" => nwm,
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
# pfet_01v8_hvt
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@ connect_global(ptie, "SUBSTRATE")
|
|||
# Compare section
|
||||
|
||||
netlist.simplify
|
||||
align
|
||||
|
||||
compare
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue