lnis-uofu / OpenFPGA

An Open-source FPGA IP Generator
https://openfpga.readthedocs.io/en/master/
MIT License
813 stars 161 forks source link

Multi region fabric key loading fails if optional property name is not defined #240

Closed ganeshgore closed 3 years ago

ganeshgore commented 3 years ago

Attached fabric key for 2x2 design. Multi region fabric key fails with the following error. fabric_key.TXT

I suspect it is because of not defining name and values in XML, with the single region define the netlist generation works fine.

OpenFPGAShell log

......
Command line to execute: build_fabric --compress_routing --duplicate_grid_pin --load_fabric_key /research/ece/lnis/USERS/DARPA_ERI/tools/OpenFPGA_for_Chip/openfpga_flow/tasks/FPGA22_QLAP3_SOFA_HD_task/arch/fabric_key.xml

Confirm selected options when call command 'build_fabric':
--frame_view: off
--compress_routing: on
--duplicate_grid_pin: on
--load_fabric_key:  fabric_key.xml
--write_fabric_key: off
--generate_random_fabric_key: off
--verbose: off
Identify unique General Switch Blocks (GSBs)
Detected 9 unique general switch blocks from a total of 9 (compression rate=0.00%)
Identify unique General Switch Blocks (GSBs) took 0.00 seconds (max_rss 13.8 MiB, delta_rss +0.0 MiB)

Read Fabric Key
Read Fabric Key took 0.00 seconds (max_rss 13.8 MiB, delta_rss +0.0 MiB)

Build fabric module graph
# Build constant generator modules
# Build constant generator modules took 0.00 seconds (max_rss 13.8 MiB, delta_rss +0.0 MiB)
# Build user-defined modules
# Build user-defined modules took 0.00 seconds (max_rss 13.8 MiB, delta_rss +0.0 MiB)
# Build essential (inverter/buffer/logic gate) modules
# Build essential (inverter/buffer/logic gate) modules took 0.00 seconds (max_rss 13.8 MiB, delta_rss +0.0 MiB)
# Build local encoder (for multiplexers) modules
# Build local encoder (for multiplexers) modules took 0.00 seconds (max_rss 13.8 MiB, delta_rss +0.0 MiB)
# Building multiplexer modules
# Building multiplexer modules took 0.00 seconds (max_rss 14.3 MiB, delta_rss +0.5 MiB)
# Build Look-Up Table (LUT) modules
# Build Look-Up Table (LUT) modules took 0.00 seconds (max_rss 14.3 MiB, delta_rss +0.0 MiB)
# Build wire modules
# Build wire modules took 0.00 seconds (max_rss 14.3 MiB, delta_rss +0.0 MiB)
# Build memory modules
# Build memory modules took 0.00 seconds (max_rss 14.6 MiB, delta_rss +0.3 MiB)
# Build grid modules
Building logical tiles...Done
Building physical tiles...Done
# Build grid modules took 0.01 seconds (max_rss 16.6 MiB, delta_rss +2.1 MiB)
# Build unique routing modules...
# Build unique routing modules... took 0.06 seconds (max_rss 21.5 MiB, delta_rss +4.9 MiB)
# Build FPGA fabric module
## Add grid instances to top module
## Add grid instances to top module took 0.00 seconds (max_rss 21.8 MiB, delta_rss +0.3 MiB)
## Add switch block instances to top module
## Add switch block instances to top module took 0.00 seconds (max_rss 21.8 MiB, delta_rss +0.0 MiB)
## Add connection block instances to top module
## Add connection block instances to top module took 0.00 seconds (max_rss 21.8 MiB, delta_rss +0.0 MiB)
## Add connection block instances to top module
## Add connection block instances to top module took 0.00 seconds (max_rss 21.8 MiB, delta_rss +0.0 MiB)
## Add module nets between grids and GSBs
## Add module nets between grids and GSBs took 0.01 seconds (max_rss 22.8 MiB, delta_rss +1.0 MiB)
## Add module nets for inter-tile connections
## Add module nets for inter-tile connections took 0.00 seconds (max_rss 22.8 MiB, delta_rss +0.0 MiB)
Warning 437: Fabric key will overwrite the region organization (='2') than architecture definition (=1)!
## Add module nets for configuration buses

** (process:123148): WARNING **: 23:11:00.137: Duplicate key (MainCanvas) ignored in application::add_canvas.
................................../openfpga/src/fabric/build_top_module_memory.cpp:1240 add_top_module_nets_cmos_memory_chain_config_bus: Assertion 'net_src_pin_id < net_src_port.get_width()' failed.
-6
tangxifan commented 3 years ago
Warning 437: Fabric key will overwrite the region organization (='2') than architecture definition (=1)!

This warning should be converted to an fatal error which causes openfpga shell abort.