[Libre-silicon-devel] Standardized Data Structures Lef/Def routines

David Lanzendörfer david.lanzendoerfer at o2s.ch
Sat Apr 28 16:54:07 CEST 2018


Hi
As you can see in the project I've already implemented DEF and LEF parsers 
using BISON/FLEX.
I mainly use them to read DEF and LEF files in order to load the layouts into 
the layout editor, but the grammar is there.
It's a general data structur which also can be used otherwise.
A new start for place and route would be pretty cool.
Graywolf is full of old baggage (30 year old, unused appendix code) and ugly 
coding style in some places.
I've cleaned it up as good as I was able to, but it still hase some pretty 
nasty behaviour.
And QRouter has some performance issues when it comes to multi threading,
I had to implement the multithreading feature myself and it's still buggy.

Also maybe you wanna take the problem on in a more robust programming language 
like Rust or Go?

Cheers
	David

On Saturday, 28 April 2018 12:01:08 PM HKT p4w5 wrote:
> Hej everybody!
> 
> Sorry for not joining mumble sessions, I feel a little of on
> communications, but anyway, hope my question finds some positive echo ;)
> 
> As I tried to understand project structures of the whole design flow -
> correct me if I am wrong - each part of the program uses its own file
> formats or parsers as data structures for macros and layers, from what I
> skimmed:
> 
> * Graywolf uses a YACC parser for some file formats (don't know which)
> * in the qflow repo is some form of lefdef parser using YACC, where I am
> not sure if it is just for some UI stuff or supposed to be a actual parser
> * in qroute 20% of the LOCs are for lefdef parsing with a hand written
> parser
> 
> I am not sure if there are some more forms of lefdef readers?
> So my general plan would be to write a more generic router (being more
> algorithmic agnostic providing a general data structure, to experiment
> with some routing algorithms, splitting in global and detailed routing
> and so on).
> 
> Before dealing with this I would opt to have some common core dealing
> with lefdef reading and writing. Is there maybe already some tool doing
> this?
> In the last week I started going through the lefdef ref manual 5.8 and
> to manually parse lef files into some c++ structs, see[1] to have a look
> yourself. From quite some big lef files it already can parse >90% the
> mayor chunck. Being quite uncommented and not tougth through to much,
> but before wasting more time on this I wanted to get some feedback.
> 
> Is the general lefdef-lib thing a idea worth spending more energy on? Is
> there already another attempt to do so in progress?
> 
> Thanks for information and feedback!
> P.S. Is there already something up for the hackathon? Would be
> definitely up for it ;)
> Paul
> 
> [1] https://github.com/paulwuertz/siliconverter
> _______________________________________________
> Libre-silicon-devel mailing list
> Libre-silicon-devel at list.libresilicon.com
> http://list.libresilicon.com/mailman/listinfo/libre-silicon-devel


-- 
Best regards

CEO, David Lanzendörfer
Lanceville Technology
22A, Block2, China Phoenix Mansion,
No.2008 Shennan Boulevard,
Futian District, Shenzhen 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part.
URL: <http://list.libresilicon.com/pipermail/libre-silicon-devel/attachments/20180428/596f914b/attachment.sig>


More information about the Libre-silicon-devel mailing list