to be precise this file. <https://github.com/The-O...
# openlane
d
to be precise this file. https://github.com/The-OpenROAD-Project/OpenLane/blob/master/scripts/libtrim.pl the only perl file in the entire codebase. im too scared to touch it.
t
Perl is very famous in EDA I recommend investing some time in learning Perl.
m
why do you need that script in the first place?
d
Nah, I'm good on learning perl. As for why we need it, it removes known-bad cells from the synthesis liberty file.
m
why not put them in the dont-use list?
I used to like perl before a dozen other better languages came along. Its still better than tcl...
d
No idea, one of the things I inherited. I don't disagree about Perl, just that I have very little actual incentive to learn it outside of reading Prof. Shalan's scripts lol
Tcl I frankly think is a security nightmare and I'm kind of appalled at its widespread use in the EDA space. Way before I joined the OpenLane team, I expressed dismay that they chose Tcl of all things...
t
TCL is a way to talk with tool, it's interpreter is embedded in all EDA tools, in other words, APIs are exposed using TCL.
Perl was historically used for binding things together in s way we use python today. But we cannot shy away from Perl as a lot of code in EDA is written in Perl.
Like Fortran is still alive in scientific computing.
m
John Ousterhout was an EDA guy and the creator of TCL which is how it got a hold in this industry. Its my least favorite language of all time. I'd rather use fortran.
d
Yeah, I'm guessing everyone wanted transitioning from proprietary tools to be easy. But Tcl is just inexcusably bad. The line between code and data is so bloody thin.
t
A good idea is to implement a new interface language with python. But only openlane community would be able to enjoy its benefits. In industry, TCL/Perl will not vanish gor a decade or so.
@User I assume you are one of maintainers at eFabless. I have submitted 2 pull requests one in each of caravel and caravel-lite repo. It I'd about opelane version problem that many people are facing. Please have a look.
d
I'm the lead maintainer of OpenLane yes, but the lead maintainer of caravel and caravel lite is Jeffrey DiCorpo. @User
t
@User thanks, and I will look into above script, but I was also wondering why you maintain openlane at two places, I.e. at openroad and at eFabless?
d
The OpenROAD version is the bleeding edge version with all the changes. The one at efabless is a time frozen version for the MPW shuttles.
👍 1
t
BTW, there are 3 perl scripts in openlane. Three scripts can be converted to Python. But it is worth an effort only when a policy is deployed to use python exclusively for scripting in openlane.
d
I'd at least like to keep it Python and Tcl until we can figure out what we can do about Tcl. Perl just sticks out like a sore thumb.
t
@User Then lets do it. I am currently reviewing openlane codebase for a fresh docker build. A lot has happened since mpw-3a tag.