ckeh / vtr-verilog-to-routing

Automatically exported from code.google.com/p/vtr-verilog-to-routing
0 stars 0 forks source link

.route file inconsistent with vpr.out report #88

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Run the VTR flow.
This should work with different arch files and benchmarks, but for simplicity, 
assume the basic_flow:
arch: timing/k6_frac_N10_mem32K_40nm.xml
verilog: ch_intrinsics.v

What is the expected output? What do you see instead?
vpr.out will report a number of segments used.
In the case above: "Total wiring segments used: 1360"
Counting the CHANX and CHANY lines in the .route file (without duplicates) 
gives a different number: 1273

What version of the product are you using? On what operating system?
V7.0, on Ubuntu 12.04.4 LTS

Please provide any additional information below.
I tried to debug this on my own but ended up really confused.
See attached modified version of vpr/route/route_common.c

There are three comments showing where I modified things: search for MOD1, 
MOD2, MOD3

MOD1 is just a modified version of the function
vpr/SRC/base/stats.c:get_num_bends_and_length()

Basically the modified route_common.c computes segments stats again, and prints 
the results both to vpr.out and the .route file. You'll notice that the two 
consecutive print statements (MOD2 and MOD3), with the same arguments, give 
different values in both files, and I have no idea why this is happening...

Original issue reported on code.google.com by edin.kad...@gmail.com on 28 Jun 2014 at 1:46

Attachments:

GoogleCodeExporter commented 9 years ago

Original comment by JasonKai...@gmail.com on 7 Jul 2014 at 2:01

GoogleCodeExporter commented 9 years ago
Okay, reproduced the problem.  You are looking at the wrong output file, look 
at the vpr.crit_path.out file rather than vpr.out.  

A VTR experiment flow finds the minimum channel width (minW) then re-runs 
routing at 1.3x minW.  The vpr.out file corresponds to the minW run while 
vpr.crit_path.out file corresponds to the 1.3x minW run.  The .route file 
contains the results for routing at 1.3x minW so it corresponds with 
vpr.crit_path.out.

Hope that helps.

Original comment by JasonKai...@gmail.com on 14 Jul 2014 at 4:03

GoogleCodeExporter commented 9 years ago
My bad. Thanks for the explanation.

Original comment by edin.kad...@gmail.com on 14 Jul 2014 at 4:11