diff --git a/openfpga_flow/openfpga_arch/README.md b/openfpga_flow/openfpga_arch/README.md index 0960d3f2d..cdd8db5f3 100644 --- a/openfpga_flow/openfpga_arch/README.md +++ b/openfpga_flow/openfpga_arch/README.md @@ -18,7 +18,7 @@ Note that an OpenFPGA architecture can be applied to multiple VPR architecture f - aib: If the Advanced Interface Bus (AIB) is used in place of some I/Os. - : specify the type of configuration protocol used in the architecture. - `bank` refers to the memory bank - - `cc` refers to the configuration chain + - `cc` refers to the configuration chain. Note that a postfix `clk` may be applied when the configuration chain is controlled by more than 1 clocks - `frame` refers to the frame-based organization - `standalone` referes to the vanilla organization - fixed\_sim: fixed clock frequencies in simulation settings. If auto clock frequencies are used, there is no need to appear in the naming diff --git a/openfpga_flow/openfpga_arch/k4_N4_40nm_multi_region_cc2clk_openfpga.xml b/openfpga_flow/openfpga_arch/k4_N4_40nm_multi_region_cc2clk_openfpga.xml new file mode 100644 index 000000000..8f546cca2 --- /dev/null +++ b/openfpga_flow/openfpga_arch/k4_N4_40nm_multi_region_cc2clk_openfpga.xml @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10e-12 + + + 10e-12 + + + + + + + + + 10e-12 + + + 10e-12 + + + + + + + + + 10e-12 + + + 10e-12 + + + + + + + + + + + + + 10e-12 5e-12 5e-12 + + + 10e-12 5e-12 5e-12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/openfpga_flow/regression_test_scripts/basic_reg_test.sh b/openfpga_flow/regression_test_scripts/basic_reg_test.sh index 490cab089..bc437ec0b 100755 --- a/openfpga_flow/regression_test_scripts/basic_reg_test.sh +++ b/openfpga_flow/regression_test_scripts/basic_reg_test.sh @@ -25,6 +25,7 @@ run-task basic_tests/full_testbench/configuration_chain_use_setb $@ run-task basic_tests/full_testbench/configuration_chain_use_set_reset $@ run-task basic_tests/full_testbench/configuration_chain_config_enable_scff $@ run-task basic_tests/full_testbench/multi_region_configuration_chain $@ +run-task basic_tests/full_testbench/multi_region_configuration_chain_2clk $@ run-task basic_tests/full_testbench/fast_configuration_chain $@ run-task basic_tests/full_testbench/fast_configuration_chain_use_set $@ run-task basic_tests/full_testbench/smart_fast_configuration_chain $@ diff --git a/openfpga_flow/tasks/basic_tests/full_testbench/multi_region_configuration_chain_2clk/config/task.conf b/openfpga_flow/tasks/basic_tests/full_testbench/multi_region_configuration_chain_2clk/config/task.conf new file mode 100644 index 000000000..74264971d --- /dev/null +++ b/openfpga_flow/tasks/basic_tests/full_testbench/multi_region_configuration_chain_2clk/config/task.conf @@ -0,0 +1,45 @@ +# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = +# Configuration file for running experiments +# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = +# timeout_each_job : FPGA Task script splits fpga flow into multiple jobs +# Each job execute fpga_flow script on combination of architecture & benchmark +# timeout_each_job is timeout for each job +# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = + +[GENERAL] +run_engine=openfpga_shell +power_tech_file = ${PATH:OPENFPGA_PATH}/openfpga_flow/tech/PTM_45nm/45nm.xml +power_analysis = true +spice_output=false +verilog_output=true +timeout_each_job = 20*60 +fpga_flow=yosys_vpr + +[OpenFPGA_SHELL] +openfpga_shell_template=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_shell_scripts/write_full_testbench_example_script.openfpga +openfpga_arch_file=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_arch/k4_N4_40nm_multi_region_cc2clk_openfpga.xml +openfpga_sim_setting_file=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_simulation_settings/auto_sim_openfpga.xml +openfpga_vpr_device_layout=--device 2x2 +openfpga_fast_configuration= + +[ARCHITECTURES] +arch0=${PATH:OPENFPGA_PATH}/openfpga_flow/vpr_arch/k4_N4_tileable_40nm.xml + +[BENCHMARKS] +bench0=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/micro_benchmark/and2/and2.v +bench1=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/micro_benchmark/or2/or2.v +bench2=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/micro_benchmark/and2_latch/and2_latch.v + +[SYNTHESIS_PARAM] +bench_read_verilog_options_common = -nolatches +bench0_top = and2 +bench0_chan_width = 300 + +bench1_top = or2 +bench1_chan_width = 300 + +bench2_top = and2_latch +bench2_chan_width = 300 + +[SCRIPT_PARAM_MIN_ROUTE_CHAN_WIDTH] +end_flow_with_test=