Hej David!
Unfortunately LEF is anything else than elegant. That's why we wanna switch to ALF. The grammar has grown historically over the year and Cadence defined LEF/DEF on a need-to-have basis and everyone uses it because there is nothing better. I unfortunately can't give any additional input on the topic of parsing LEF files other than there is a reason that my original grammar looked as ugly as it did.
I agree, but doesn't mean, that we should drop support for LEFDEF, since there is already a lot of infrastructure for it, and since ALF is some kind of a LEFDEF superset, working on the subset contributes for both standards, so seems like almost free lunch for me :)
If you wanna have something elegant maybe really focus on ALF, so that we can provide our IP libs in that format instead.
And since there are as much as zero ALF examples, we have to generate them ourself, and for me it sounds the best to convert them from the tones of LEFDEF out there...
Another question. For the datastructures I would have boost geometry on my radar for all the polygon and rect stuff, since its the only lib I have experience with and I dont want to write myself all the polygon90 and geometry stuff. Any opinion about using boost geometry, alternative canidates for that or other geometry related stuff already used in the QTflow repo which I maybe don't know about :?
Cheers! Paul
Hi Paul
Unfortunately LEF is anything else than elegant. That's why we wanna switch to ALF. The grammar has grown historically over the year and Cadence defined LEF/DEF on a need-to-have basis and everyone uses it because there is nothing better. I unfortunately can't give any additional input on the topic of parsing LEF files other than there is a reason that my original grammar looked as ugly as it did.
I agree, but doesn't mean, that we should drop support for LEFDEF, since there is already a lot of infrastructure for it, and since ALF is some kind of a LEFDEF superset, working on the subset contributes for both standards, so seems like almost free lunch for me
Okey. Have a look into the specs for LEF/DEF from CADENCE: http://www.ispd.cc/contests/18/lefdefref.pdf This should give you a better overview about the Cthulhu-like syntax rules we're dealing here with.
If you wanna have something elegant maybe really focus on ALF, so that we can provide our IP libs in that format instead.
And since there are as much as zero ALF examples, we have to generate them ourself, and for me it sounds the best to convert them from the tones of LEFDEF out there...
Another question. For the datastructures I would have boost geometry on my radar for all the polygon and rect stuff, since its the only lib I have experience with and I dont want to write myself all the polygon90 and geometry stuff. Any opinion about using boost geometry, alternative canidates for that or other geometry related stuff already used in the QTflow repo which I maybe don't know about :?
Hmm. Qt5 has some really nice geometrical stuff as well, but since we wanna enable people to compile the backend without Qt5 I guess boost is a good choice.
Finalizing:
And about Boost: Good idea!
I think about LEFDEF: "Ph'nglui mglw'nafh LEFDEF R'lyeh wgah'nagl fhtagn"[1] ;-)
Cheers David
[1] https://www.urbandictionary.com/define.php?term=cthulhu%20fhtagn
Hello Paul!
First - thanks for your work!
While currently the whole world is still working with LEF/DEF we need at least an import filter to ALF. That is the reason I like to see your Parser working. And yes, LEF/DEF information is a subset of ALF information.
I am not sure, you already got it on the Hackathon. Our workflow is something like "enrich" the design data base (which is in ALF) with all the information we get from other formats by importing them.
"We are the Borg. Your biological and technological distinctiveness will be added to our own. Resistance is futile." :-)
Regards, Hagen.
libresilicon-developers@list.libresilicon.com