ominux / vtr-verilog-to-routing

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

Need better error reporting for pin count mismatches in the .arch file #30

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. vpr k4_N1_no_cluster.xml <any_file> 

What is the expected output? What do you see instead?

I get:
Building complex block graph 
vpr: SRC/pack/pb_type_graph.c:761: alloc_and_load_mux_interc_edges: Assertion 
`num_output_ptrs[0] == num_input_ptrs[i_inset]' failed.
Aborted

Would like an error message saying what is wrong with the arch file (ideal, 
with a line number), or at least specifying what the likely problem is and 
which complex block and which pin / pb / mode are being built when this error 
occurs.

Error is due to specifying two output pins on a BLE, but later hooking up only 
one output from the FF or a LUT (muxed) the BLE outputs.

      <pb_type name="ble">
          <input name="in" num_pins="4" equivalent = "true"/>
          <output name="out" num_pins="2" equivalent = "false"/>
          <clock name="clk" num_pins="1"/>

... later in <interconnect>

                <mux name="mux1" input="ff.Q lut4.out" output="ble.out"/>

Please use labels and text to provide additional information.

Original issue reported on code.google.com by vaughnb...@gmail.com on 30 May 2012 at 10:26

Attachments:

GoogleCodeExporter commented 9 years ago
Agreed.  Architecture file error reporting has been pretty bad in general.  
I've put in a bunch more meaningful error messages, with line numbers, and some 
array bounds checking as well (in addition to the case listed here).  Debugging 
an architecture file is still painful but should be much easier now.

I expect there's still stuff that I missed that would make it easier to catch 
malformed architecture files.  Let me know if you find any that you would like 
fixed.

As future work, it will be nice to upgrade graphics to allow a user to look 
into a complex block.  Makes it easier to check if things are built the way the 
user expected.

Original comment by JasonKai...@gmail.com on 4 Jun 2012 at 4:21

GoogleCodeExporter commented 9 years ago
Thanks Jason.  The graphics idea is a good one.

Vaughn

Original comment by vaughnb...@gmail.com on 4 Jun 2012 at 5:01