<div dir="ltr">Answering some of my own questions:<div><br></div><div><ul><li>regarding smaller feature size technology file. Looks like "gscl45nm" is included in latest qflow. I still get the "addspacers" error with gscl45nm. If that works, that's as good as I would dare to hope for with open source tools</li><li>I have some smaller modules now working with static timing. I'm getting a maximum frequency at the "backanno" stage and I believe I'm looking at the longest register-to-register paths, much like with an FPGA timing report.</li></ul><div>I will be studying smaller pieces of the design to try to learn something when I compare these parts of the design to FPGA.</div></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jul 4, 2019 at 10:55 PM Øyvind Harboe <<a href="mailto:oyvind.harboe@zylin.com" target="_blank">oyvind.harboe@zylin.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>This is a short account of my Docker experiment with qflow.</div><div><br></div><div>Comments welcome!</div><div><br></div>I wanted to give qflow another try and I knew I had to create a Dockerfile for two reasons: <div><ol><li>Once I have this up and running, I'd like to have the static timing analysis as part of our continous integration reports. I really want a sense of where the critical path is in custom silicon vs. an FPGA.</li><li>This is open source, so I want to be able to access modified versions of the source and reproduce/rebuild the resulting qflow toolchain easily. Sometimes I'll want the latest release, other times I'll want to get things from git + patch a bit or do other special steps, like installing technology files I can get my mittens on.</li></ol><div>With the attached Dockerfile, I get as far as place and route with my chosen test. It seems to segfault in something called "addspacers":<br></div><div><font color="#ff0000" face="courier new, monospace"><b><br></b></font></div># /usr/local/share/qflow/bin/addspacers -stripe 5 150 PG -p vdd -g gnd -f FILL -O -l /usr/local/share/qflow/tech/osu035/osu035_stdcells.lef -o ControlUnitTestBench_filled.def ControlUnitTestBench<br>corrupted size vs. prev_size<br><div>Aborted (core dumped)<font color="#ff0000" face="courier new, monospace"><b><br></b></font></div><div><br></div><div><b>Questions that come to mind:</b></div><div><br></div><div><ul><li>Looks like "addspacers" is part of qflow, but is the "Aborted (core dumped)"  a somewhat disturbing error message for already invalid input(incorrect data generated upstream) or is it a problem in "addspacers"? Which module should I try to upgrade/downgrade?</li><li>Can I get something newer than osu035 (350nm, right?). I've heard about open source/academic 40nm technology files, but is that generally available these days?</li></ul></div><div><br></div><div><br></div><div><font face="courier new, monospace"># qflow place ControlUnitTestBench<br>--------------------------------<br>Qflow project setup<br>--------------------------------<br><br>Technology set to osu035 from existing qflow_vars.sh file<br>Regenerating files for existing project ControlUnitTestBench<br>Qrouter detail maze router version 1.4.59.T<br>Reading LEF data from file /usr/local/share/qflow/tech/osu035/osu035_stdcells.lef.<br>LEF Read, Line 135: NOTE:  Old format VIARULE ignored.<br>LEF Read, Line 136: NOTE:  Old format VIARULE ignored.<br>LEF Read, Line 140: NOTE:  Old format VIARULE ignored.<br>LEF Read, Line 141: NOTE:  Old format VIARULE ignored.<br>LEF Read, Line 151: NOTE:  Old format VIARULE ignored.<br>LEF Read, Line 152: NOTE:  Old format VIARULE ignored.<br>LEF Read, Line 156: NOTE:  Old format VIARULE ignored.<br>LEF Read, Line 157: NOTE:  Old format VIARULE ignored.<br>LEF Read, Line 167: NOTE:  Old format VIARULE ignored.<br>LEF Read, Line 168: NOTE:  Old format VIARULE ignored.<br>LEF Read, Line 172: NOTE:  Old format VIARULE ignored.<br>LEF Read, Line 173: NOTE:  Old format VIARULE ignored.<br>LEF file:  Defines site corner (ignored)<br>LEF file:  Defines site IO (ignored)<br>LEF file:  Defines site core (ignored)<br>LEF read: Processed 3179 lines.<br>LEF Read: encountered 0 errors and 12 warnings total.<br>Vertical route layer at non-minimum pitch 3.2.  Using smaller pitch 1.6, will route on 1-of-2 tracks for layer metal4.<br>Running vlog2Cel to generate input files for graywolf<br>vlog2Cel  -l  /usr/local/share/qflow/tech/osu035/osu035_stdcells.lef -u 100 -o //ControlUnitTestBench.cel //ControlUnitTestBench.rtlnopwr.v<br>No ControlUnitTestBench.cel1 file found for project. . . no partial blockages to apply to layout.<br>No ControlUnitTestBench.cel2 file found for project. . . continuing without pin placement hints<br>Running GrayWolf placement<br>graywolf -n ControlUnitTestBench<br>Running getantennacell to determine cell to use for antenna anchors.<br>getantennacell.tcl ControlUnitTestBench  /usr/local/share/qflow/tech/osu035/osu035_stdcells.lef <br>Running getfillcell to determine cell to use for fill.<br>getfillcell.tcl ControlUnitTestBench  /usr/local/share/qflow/tech/osu035/osu035_stdcells.lef FILL<br>Using cell FILL for fill<br>Running place2def to translate graywolf output to DEF format.<br>place2def.tcl ControlUnitTestBench FILL <br>Running addspacers to generate power stripes and align cell right edge<br><font color="#ff0000">addspacers -stripe 5 150 PG -p vdd -g gnd -f FILL -O  -l  /usr/local/share/qflow/tech/osu035/osu035_stdcells.lef -o ControlUnitTestBench_filled.def ControlUnitTestBench<br><b>Abort (core dumped)</b></font><br>addspacers failed with exit status 134<br>Premature exit.</font><br></div><div><br></div>-- <br><div dir="ltr" class="gmail-m_5125847992331984623gmail-m_598446884557354321gmail_signature"><div dir="ltr"><div>Øyvind Harboe, General Manager, Zylin AS, +47 917 86 146<br></div></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_5125847992331984623gmail_signature"><div dir="ltr"><div>Øyvind Harboe, General Manager, Zylin AS, +47 917 86 146<br></div></div></div>