Connectivity Route¶
ConnectivityRoute uses regular expressions to match the net names. For example, take the spice circuit below
.subckt TEST A B
XA1 B DDD
XA2 A DDD
XB1 B DDD
XB2 A DDD
.ends
Without any routes, we’ll get
{ "name" : "TEST", "class" : "cIcCore::LayoutCell"}
We can add a route by matching for example ‘B’ with
{ "name" : "Connectivity_B_-|--",
"inherit": "TEST",
"beforeRoute": [
{"addConnectivityRoutes" : [["M1","B","-|--"]]}
]
}
Or even matching both A and B
{ "name" : "Connectivity_A|B_-",
"inherit": "TEST",
"beforeRoute": [
{"addConnectivityRoutes" : [["M1","A|B","-"]]}
]
}
Even though we match both nets, the compiler knows it should not try and route A->B. But the Router is very dum, it does not know if it’s created a short.