Open Brianzhengca opened 4 months ago
Running it on Comp seems to route successfully but when it's run on ADC1 it breaks at "AcsMgr::computeAcs Start Access Points Generation"
DrGridAstar::run Route net net020, Sym: 1, SelfSym: 0, StrictDRC: 1
DrGridAstar::run Route net net020, Sym: 0, SelfSym: 0, StrictDRC: 1
DrGridAstar::run Route net net028, Sym: 1, SelfSym: 0, StrictDRC: 1
DrGridAstar::run Route net net028, Sym: 0, SelfSym: 0, StrictDRC: 1
DrGridAstar::run Route net SUM_N, Sym: 1, SelfSym: 0, StrictDRC: 1
DrGridAstar::run ERROR: Route net SUM_N failed!
DrGridAstar::run Route net SUM_N, Sym: 1, SelfSym: 0, StrictDRC: 0
DrGridAstar::run ERROR: Route net SUM_N failed!
python3: /tmp/pip-req-build-rsalgwvt/src/dr/drGridRoute.cpp:90: bool ANAROUTE::DrGridRoute::runNRR(auto:5&, bool, ANAROUTE::Int_t) [with auto:3 = __gnu_pbds::priority_queue<ANAROUTE::Net*, ANAROUTE::DrGridRoute::SignalNetCmp, __gnu_pbds::pairing_heap_tag, std::allocator<char> >; ANAROUTE::Int_t = int]: Assertion `bSuccess' failed.```
Also the placer output looks a bit weird when it's ran on ADC1. It doesn't really look symmetrical and it looks like it tries wiring? I checked the layers of the "wires" too and they're the M1 M2 layers which I'm pretty sure are used for wiring. Maybe it's also just because it tries doing routing for the subcircuits before wiring the entire circuit together.
Last thing is that I tried opening Comp in KLayout and measuring some distances and they seemed to be kind of weird. I used bounding boxes of (-9, -9) and (9, 9) so the expected distances should be around 18 but I was measuring distances of 17
My guess is that it isn't really a problem and that it's not that the distances between the edges of the circuits have to be 18 but it's just that the distances between the center of the devices are 18.
I looked into it a bit more and the wiring seems to be expected for ADC1. Subckt route files are still generated normally so I think MAGICAL isn't failing on all the routing and probably successfully generates routing for each individual subckt before placing all of the subckts together, but fails routing all the subckts together which is why we see routing in the place file
Me and Aditi are gonna be working on this one