umd-lhcb / pyUTM

Python library for Pcad netlist parsing and mapping generation
BSD 2-Clause "Simplified" License
1 stars 1 forks source link

Providing support for COMET-DCB mapping #1

Closed yipengsun closed 5 years ago

yipengsun commented 5 years ago

General idea: looping through different net lists, and connect pins on the same connector pins.

So far, we should assume that on different net lists, if the components have the same compRef and attr "Library Name", then they are the same.

yipengsun commented 5 years ago

One of the crucial function, net hopping (termed by Zishuo), has been implemented.

yipengsun commented 5 years ago

I'm using the net hopping feature to check backplane, and I noticed that there is at least one case where the recursion limit is not sufficient.

yipengsun commented 5 years ago

The new net hopper that doesn't use recursion don't work. I need to figure out a way to optimize the performance of that recursion.

yipengsun commented 5 years ago

The parser performance is still abysmal, despite the fact that it is approximately 4 times faster when running over smaller netlists.

yipengsun commented 5 years ago

With the latest master branch, I decide to make recursions stop very aggressively: If the current flows to a known branch, stop this current branch immediately, because presumably we have gone back to a known case.

With this technique, a netlist of ~4 MiB can be parsed ~70 s.