vygr / JS-PCB

JavaScript PCB autorouter
GNU General Public License v2.0
37 stars 9 forks source link

General questions #2

Closed RobertAditazz closed 6 years ago

RobertAditazz commented 6 years ago

Hello, I am evaluating different open source routers and found your work. It looks very useful. I see you have implemented routers in different languages. Are they all at the same level of development, or is one more developed than others? Also, how may layers does your router support? What kind of routing algorithm are you using? Thank you! -Robert

vygr commented 6 years ago

The C++ version is slightly further ahead than the JS version but only in a few extras parsed from the DSN format converter. Not much to bring them to parity.

The Go and Python version are behind somewhat but again not by much. I wasn’t intending to keep those two updated going forward, but just keep the c++ and JavaScript ones current.

Layers wise they all cope with any number.

Algorithm would wise it uses a flood filling and backtracking router with a spacial hashing system to speed collision checking. It uses an area based sorting rip up and reroute with track group promotion based on quantisation of group areas.

Best regards

Chris

—————- Chris Hinsley

On 11 Feb 2018, at 11:54 am, Robert Yu notifications@github.com wrote:

Hello, I am evaluating different open source routers and found your work. It looks very useful. I see you have implemented routers in different languages. Are they all at the same level of development, or is one more developed than others? Also, how may layers does your router support? What kind of routing algorithm are you using? Thank you! -Robert

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

RobertAditazz commented 6 years ago

Much appreciation. I will play with the JavaScript version since I get immediate visual feedback using your app.

vygr commented 6 years ago

OK, the DSN convertor may throw up some issues. I never had and can't find an official spec for DSN to work from, so I just reverse engineered it as best I could. I know that there are things that I don't cope with ! If you hit something critical, let me know.

I'll bring the JS version up to the same spec as the C++ version tonight.

Regards

Chris

vygr commented 6 years ago

Just checked in the updated version that's the same parser as the C-PCB version.

Regards

Chris

Summving commented 1 year ago

Hi, you can refer the official DSN spec at https://github.com/udif/qautorouter-svn/blob/master/docs/specctra.pdf