2021-04-16 17:10:31 -05:00
|
|
|
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
|
|
|
|
# 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 = false
|
|
|
|
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/iwls_benchmark_example_script.openfpga
|
2021-04-21 20:51:25 -05:00
|
|
|
openfpga_arch_file=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_arch/k6_frac_N10_adder_chain_dpram8K_dsp36_fracff_40nm_openfpga.xml
|
2021-04-16 17:10:31 -05:00
|
|
|
openfpga_sim_setting_file=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_simulation_settings/fixed_sim_openfpga.xml
|
|
|
|
# VPR parameters
|
|
|
|
# Use a fixed routing channel width to save runtime
|
|
|
|
vpr_route_chan_width=300
|
|
|
|
|
|
|
|
[ARCHITECTURES]
|
2021-04-21 20:51:25 -05:00
|
|
|
arch0=${PATH:OPENFPGA_PATH}/openfpga_flow/vpr_arch/k6_frac_N10_tileable_adder_chain_dpram8K_dsp36_fracff_40nm.xml
|
2021-04-16 17:10:31 -05:00
|
|
|
|
|
|
|
[BENCHMARKS]
|
|
|
|
# RTL netlists from IWLS 2005 benchmark release
|
2021-04-21 20:51:25 -05:00
|
|
|
# Comment out it requires falling edge latches which are not supported yet
|
2021-04-16 17:10:31 -05:00
|
|
|
#bench0=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/ac97_ctrl/rtl/*.v
|
2022-01-19 09:43:26 -06:00
|
|
|
bench1=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/ethernet/rtl/*.v
|
2021-04-21 23:56:19 -05:00
|
|
|
bench2=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/mem_ctrl/rtl/*.v
|
|
|
|
bench3=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/simple_spi/rtl/*.v
|
2021-04-16 17:10:31 -05:00
|
|
|
# Comment out due to VHDL is not supported by Yosys without Verific
|
|
|
|
#bench4=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/steppermotordrive/rtl/*.vhd
|
|
|
|
bench5=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/tv80/rtl/*.v
|
2021-04-21 23:56:19 -05:00
|
|
|
bench6=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/vga_lcd/rtl/*.v
|
2021-04-16 17:10:31 -05:00
|
|
|
# AES core has two top modules that can be tested: encryption and decryption
|
|
|
|
# Synthesis is too long; skip it
|
2021-04-22 10:23:33 -05:00
|
|
|
bench7=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/aes_core/rtl/*.v
|
|
|
|
bench8=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/aes_core/rtl/*.v
|
|
|
|
bench9=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/fpu/rtl/*.v
|
2021-04-21 23:56:19 -05:00
|
|
|
bench10=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/pci/rtl/*.v
|
|
|
|
bench11=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/spi/rtl/*.v
|
|
|
|
bench12=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/systemcaes/rtl/*.v
|
2021-04-16 17:10:31 -05:00
|
|
|
bench13=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/usb_funct/rtl/*.v
|
2021-04-21 20:51:25 -05:00
|
|
|
bench14=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/wb_conmax/rtl/*.v
|
2021-04-16 17:10:31 -05:00
|
|
|
## DES has two versions: area-optimized and performance optimized
|
2021-04-21 20:51:25 -05:00
|
|
|
# The DES has same top-level module name as systemcdes
|
|
|
|
# Currently openfpga flow has a bug which does not allow same top-level module name
|
|
|
|
#bench15=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/des/area_opt/rtl/*.v
|
|
|
|
#bench16=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/des/perf_opt/rtl/*.v
|
2021-04-21 23:56:19 -05:00
|
|
|
bench17=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/i2c/rtl/*.v
|
|
|
|
bench18=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/sasc/rtl/*.v
|
2021-04-16 17:10:31 -05:00
|
|
|
bench19=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/ss_pcm/rtl/*.v
|
2021-04-21 23:56:19 -05:00
|
|
|
bench20=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/systemcdes/rtl/*.v
|
2021-04-16 17:10:31 -05:00
|
|
|
bench21=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/usb_phy/rtl/*.v
|
2021-04-21 23:56:19 -05:00
|
|
|
bench22=${PATH:OPENFPGA_PATH}/openfpga_flow/benchmarks/iwls2005/wb_dma/rtl/*.v
|
2021-04-16 17:10:31 -05:00
|
|
|
|
|
|
|
[SYNTHESIS_PARAM]
|
2022-01-20 15:21:00 -06:00
|
|
|
# Yosys script parameters
|
|
|
|
bench_yosys_cell_sim_verilog_common=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_yosys_techlib/k6_frac_N10_tileable_adder_chain_dpram8K_dsp36_fracff_40nm_cell_sim.v
|
|
|
|
bench_yosys_dff_map_verilog_common=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_yosys_techlib/k6_frac_N10_tileable_adder_chain_dpram8K_dsp36_fracff_40nm_dff_map.v
|
|
|
|
bench_yosys_bram_map_rules_common=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_yosys_techlib/k6_frac_N10_tileable_adder_chain_dpram8K_dsp36_40nm_bram.txt
|
|
|
|
bench_yosys_bram_map_verilog_common=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_yosys_techlib/k6_frac_N10_tileable_adder_chain_dpram8K_dsp36_40nm_bram_map.v
|
|
|
|
bench_yosys_dsp_map_verilog_common=${PATH:OPENFPGA_PATH}/openfpga_flow/openfpga_yosys_techlib/k6_frac_N10_tileable_adder_chain_dpram8K_dsp36_40nm_dsp_map.v
|
|
|
|
bench_yosys_dsp_map_parameters_common=-D DSP_A_MAXWIDTH=36 -D DSP_B_MAXWIDTH=36 -D DSP_A_MINWIDTH=2 -D DSP_B_MINWIDTH=2 -D DSP_NAME=mult_36x36
|
2022-01-17 02:21:29 -06:00
|
|
|
bench_read_verilog_options_common = -nolatches
|
2021-04-21 20:51:25 -05:00
|
|
|
bench_yosys_common=${PATH:OPENFPGA_PATH}/openfpga_flow/misc/ys_tmpl_yosys_vpr_bram_dsp_dff_flow.ys
|
2021-04-16 17:10:31 -05:00
|
|
|
bench0_top = ac97_top
|
|
|
|
bench1_top = eth_top
|
|
|
|
bench2_top = mc_top
|
|
|
|
bench3_top = simple_spi_top
|
|
|
|
bench4_top = StepperMotorPorts
|
|
|
|
bench5_top = tv80s
|
|
|
|
bench6_top = vga_enh_top
|
|
|
|
bench7_top = aes_cipher_top
|
|
|
|
bench8_top = aes_inv_cipher_top
|
|
|
|
bench9_top = fpu
|
|
|
|
bench10_top = pci_bridge32
|
|
|
|
bench11_top = spi_top
|
|
|
|
bench12_top = aes
|
|
|
|
bench13_top = usbf_top
|
|
|
|
bench14_top = wb_conmax_top
|
|
|
|
# Not sure either des or des3 is the top module. Need further investigation
|
|
|
|
bench15_top = des
|
|
|
|
bench16_top = des3
|
|
|
|
bench17_top = i2c_master_top
|
|
|
|
bench18_top = sasc_top
|
|
|
|
bench19_top = pcm_slv_top
|
|
|
|
# May conflict with the top module name with other 'des' benchmark; This is a bug of openfpga flow scripts
|
|
|
|
bench20_top = des
|
|
|
|
bench21_top = usb_phy
|
|
|
|
bench22_top = wb_dma_top
|
|
|
|
|
|
|
|
[SCRIPT_PARAM_MIN_ROUTE_CHAN_WIDTH]
|
|
|
|
#end_flow_with_test=
|
|
|
|
#vpr_fpga_verilog_formal_verification_top_netlist=
|