RTimothyEdwards / qflow

Qflow full end-to-end digital synthesis flow for ASIC designs
183 stars 36 forks source link

Error during synthesis phase: vlogFanout not run #24

Closed ju-sh closed 3 years ago

ju-sh commented 3 years ago

I was trying to do the tutorial with GUI using the map9v3.v file as input, but am getting an error at the synthesis step.

vlogFanout failure.

Was using osu035 technology on an Ubuntu 18.04 computer.

There was no tech/ directory inside my /usr/local/share/qflow/ after running make install for qflow (on default configuration). So I had just copied the tech/ directory from the build folder there. Was that wrong?

This is the error that I'm getting:

12. Printing statistics.                                                          

=== map9v3 ===

   Number of wires:                125    
   Number of wire bits:            204
   Number of public wires:         125
   Number of public wire bits:     204
   Number of memories:               0
   Number of memory bits:            0
   Number of processes:              0
   Number of cells:                192
     AND2X2                          4
     AOI21X1                        14
     AOI22X1                         2
     BUFX2                          26
     DFFSR                          33
     INVX1                          39
     MUX2X1                          7
     NAND2X1                         7
     NAND3X1                        12
     NOR2X1                         14
     NOR3X1                          1
     OAI21X1                        30
     XNOR2X1                         2
     XOR2X1                          1

End of script. Logfile hash: 0369403c3e
CPU: user 0.47s system 0.01s, MEM: 39.23 MB total, 11.58 MB resident
Yosys 0.9 (git sha1 UNKNOWN, gcc 7.5.0-3ubuntu1~18.04 -fPIC -Os)
Time spent: 20% 2x write_verilog (0 sec), 14% 17x opt_clean (0 sec), ...
Running getpowerground to determine power and ground net names.
getpowerground.tcl  /usr/local/share/qflow/tech/osu035/osu035_stdcells.lef
vlogFanout not run:  No cell size optimization.
vlogFanout failure.  See file /home/user/project/log/synth.log for error messages.
Premature exit.

And I'm using the following versions of tools:

What could've gone wrong? Any idea?

ju-sh commented 3 years ago

It's okay, I found a fix.

The error was coming from /usr/local/share/qflow/scripts/yosys.sh, as the result of a condition

if (-f ${libertypath} && -f ${bindir}/vlogFanout )

becoming false.

The problem was that the vlogFanout tool wasn't there in /usr/local/share/qflow/bin/ directory. So I copied src/vlogFanout from the build directory there and it worked!