Routing Failure When Mapping Adders in benchmark_sweep/vtr_benchmarks Task #2010
Unanswered
code-joswin
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi @tangxifan ,
I’m currently running the benchmark_sweep/vtr_benchmarks task using the below custom architecture that includes mapped adders. My goal is to utilize the carry adder chains defined in the following architecture files:
The default configuration in the [SYNTHESIS_PARAM] section of the task.conf file of this task maps bram and dsp (mult_36). I am trying to include the adder map by including the following line in task.conf:
bench_yosys_adder_map_verilog_common=${PATH:OPENFPGA_PATH}/work_openfpga/openfpga_yosys_techlib/openfpga_arith_map.v
I’ve also added the adder module definition manually into:
${PATH:OPENFPGA_PATH}/work_openfpga/openfpga_yosys_techlib/k6_frac_N10_tileable_adder_chain_dpram8K_dsp36_40nm_cell_sim.v
In the synthesis script (bench_yosys_common=${PATH:OPENFPGA_PATH}/openfpga_flow/misc/ys_tmpl_yosys_vpr_bram_dsp_flow.ys), I inserted the following block (after mapping multipliers and before coarse synthesis):
The benchmark I'm running is:
bench1=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/vtr_benchmark/stereovision1.v
Issue:
The synthesis runs successfully, but during the repack stage of VPR, I encounter the following error in vpr_stdout.log:
From the Pb type usage stats in the same log, I can see that the adder blocks are being mapped:
However, the error relates specifically to routing between the adder and FF within the fabric, not inside the arithmetic block.
This routing failure only occurs with more complex benchmarks like stereovision1. Simpler benchmarks like stereovision3 do not exhibit this issue.
Request:
Could you help diagnose this issue? It seems related to intra-CLB routing between adder and ff blocks inside the fabric block. I’ve reviewed the architecture XML but couldn’t identify a connectivity or pin-class issue.
I would appreciate your guidance on resolving this so I can use the adder chains defined in my architecture effectively.
Thanks in advance!
Beta Was this translation helpful? Give feedback.
All reactions