Appears we had a change in behavior in the Sky130 PDK compiler, if fed circuits with Primitives it doesn't map to its own.
(E.g. Vdc, Idc.)
Something like:
class Sky130Walker(h.HierarchyWalker):
...
def visit_primitive_call(self, call: h.PrimitiveCall) -> h.Instantiable:
if call.prim is Mos:
... # do stuff
elif call.prim is PhysicalResistor or call.prim is ThreeTerminalResistor:
... # do other stuff
# ... more branches like that
else: # <= What it does now
raise RuntimeError(f"{call.prim} is not legitimate primitive")
# => What it used to do - Return everything else as-is
return call
Appears we had a change in behavior in the Sky130 PDK compiler, if fed circuits with
Primitive
s it doesn't map to its own.(E.g.
Vdc
,Idc
.)Something like:
@ThomasPluck - that on purpose?