Draft2
This commit is contained in:
parent
20ce020eb6
commit
905293820f
|
@ -1,27 +1,27 @@
|
|||
# Standard Configuration Example
|
||||
[dir_path]
|
||||
script_base = OPENFPGAPATHKEYWORD/fpga_flow/scripts/
|
||||
benchmark_dir = OPENFPGAPATHKEYWORD/fpga_flow/benchmarks/Verilog/MCNC
|
||||
yosys_path = OPENFPGAPATHKEYWORD/yosys/yosys
|
||||
odin2_path = OPENFPGAPATHKEYWORD/fpga_flow/not_used_atm/odin2.exe
|
||||
cirkit_path = OPENFPGAPATHKEYWORD/fpga_flow/not_used_atm/cirkit
|
||||
abc_path = OPENFPGAPATHKEYWORD/yosys/yosys-abc
|
||||
abc_mccl_path = OPENFPGAPATHKEYWORD/abc_with_bb_support/abc
|
||||
abc_with_bb_support_path = OPENFPGAPATHKEYWORD/abc_with_bb_support/abc
|
||||
mpack1_path = OPENFPGAPATHKEYWORD/fpga_flow/not_used_atm/mpack1
|
||||
m2net_path = OPENFPGAPATHKEYWORD/fpga_flow/not_used_atm/m2net
|
||||
mpack2_path = OPENFPGAPATHKEYWORD/fpga_flow/not_used_atm/mpack2
|
||||
vpr_path = OPENFPGAPATHKEYWORD/vpr7_x2p/vpr/vpr
|
||||
rpt_dir = OPENFPGAPATHKEYWORD/fpga_flow/results_tutorial
|
||||
ace_path = OPENFPGAPATHKEYWORD/ace2/ace
|
||||
script_base = /research/ece/lnis/USERS/alacchi/Current_release/OpenFPGA/fpga_flow/scripts/
|
||||
benchmark_dir = /research/ece/lnis/USERS/alacchi/Current_release/OpenFPGA/fpga_flow/benchmarks/Verilog/MCNC
|
||||
yosys_path = /research/ece/lnis/USERS/alacchi/Current_release/OpenFPGA/yosys/yosys
|
||||
odin2_path = /research/ece/lnis/USERS/alacchi/Current_release/OpenFPGA/fpga_flow/not_used_atm/odin2.exe
|
||||
cirkit_path = /research/ece/lnis/USERS/alacchi/Current_release/OpenFPGA/fpga_flow/not_used_atm/cirkit
|
||||
abc_path = /research/ece/lnis/USERS/alacchi/Current_release/OpenFPGA/yosys/yosys-abc
|
||||
abc_mccl_path = /research/ece/lnis/USERS/alacchi/Current_release/OpenFPGA/abc_with_bb_support/abc
|
||||
abc_with_bb_support_path = /research/ece/lnis/USERS/alacchi/Current_release/OpenFPGA/abc_with_bb_support/abc
|
||||
mpack1_path = /research/ece/lnis/USERS/alacchi/Current_release/OpenFPGA/fpga_flow/not_used_atm/mpack1
|
||||
m2net_path = /research/ece/lnis/USERS/alacchi/Current_release/OpenFPGA/fpga_flow/not_used_atm/m2net
|
||||
mpack2_path = /research/ece/lnis/USERS/alacchi/Current_release/OpenFPGA/fpga_flow/not_used_atm/mpack2
|
||||
vpr_path = /research/ece/lnis/USERS/alacchi/Current_release/OpenFPGA/vpr7_x2p/vpr/vpr
|
||||
rpt_dir = /research/ece/lnis/USERS/alacchi/Current_release/OpenFPGA/fpga_flow/results_tutorial
|
||||
ace_path = /research/ece/lnis/USERS/alacchi/Current_release/OpenFPGA/ace2/ace
|
||||
|
||||
[flow_conf]
|
||||
flow_type = yosys_vpr #standard|mpack2|mpack1|vtr_standard|vtr|yosys_vpr
|
||||
vpr_arch = OPENFPGAPATHKEYWORD/fpga_flow/arch/generated/k6_N10_sram_chain_HC.xml
|
||||
vpr_arch = /research/ece/lnis/USERS/alacchi/Current_release/OpenFPGA/fpga_flow/arch/generated/k6_N10_sram_chain_HC.xml
|
||||
mpack1_abc_stdlib = DRLC7T_SiNWFET.genlib # Use relative path under ABC folder is OK
|
||||
m2net_conf = OPENFPGAPATHKEYWORD/fpga_flow/m2net_conf/m2x2_SiNWFET.conf
|
||||
m2net_conf = /research/ece/lnis/USERS/alacchi/Current_release/OpenFPGA/fpga_flow/m2net_conf/m2x2_SiNWFET.conf
|
||||
mpack2_arch = K6_pattern7_I24.arch
|
||||
power_tech_xml = OPENFPGAPATHKEYWORD/fpga_flow/tech/PTM_45nm/45nm.xml # Use relative path under VPR folder is OK
|
||||
power_tech_xml = /research/ece/lnis/USERS/alacchi/Current_release/OpenFPGA/fpga_flow/tech/PTM_45nm/45nm.xml # Use relative path under VPR folder is OK
|
||||
|
||||
[csv_tags]
|
||||
mpack1_tags = Global mapping efficiency:|efficiency:|occupancy wo buf:|efficiency wo buf:
|
||||
|
|
|
@ -7,8 +7,9 @@ task_name="tuto"
|
|||
config_file="$pwd_path/configs/tutorial/${task_name}.conf"
|
||||
bench_txt="$pwd_path/benchmarks/List/tuto_benchmark.txt"
|
||||
rpt_file="$pwd_path/csv_rpts/fpga_spice/${task_name}.csv"
|
||||
|
||||
verilog_path="${pwd_path}/${task_name}_Verilog"
|
||||
architecture_generated="${pwd_path}/arch/generated/k6_N10_sram_chain_HC.xml"
|
||||
architecture_template="${pwd_path}/arch/template/k6_N10_sram_chain_HC_template.xml"
|
||||
|
||||
ff_keyword="FFPATHKEYWORD"
|
||||
ff_path="${pwd_path}/vpr7_x2p/vpr/Verilognetlists/ff.v"
|
||||
|
|
|
@ -7,11 +7,13 @@ During this tutorial we consider the user start in the OpenFPGA folder and we'll
|
|||
|
||||
A script example can be found at OPENFPGAPATHKEYWORD/fpga_flow/tuto_fpga_flow.sh.
|
||||
|
||||
**Experiment**<br />
|
||||
### Experiment
|
||||
|
||||
cd fpga_flow<br />
|
||||
./tuto_fpga_flow.sh<br />
|
||||
|
||||
**Explanation**<br />
|
||||
### Explanation
|
||||
|
||||
By running this script we took an architecture description file, generated its netlist, generated a bitstream to implement a benchmark on it and verified this implementation.<br />
|
||||
When you open this file you can see that 2 scripts are called. The first one is **rewrite_path_in_file.pl** which allow us to make this tutorial generic by generating full path to dependancies.<br />
|
||||
The second one is **fpga_flow.pl**. This script launch OpenFPGA flow andcan be used with a lot of [options](https://github.com/LNIS-Projects/OpenFPGA/blob/documentation/tutorials/fpga_flow/options.md)
|
||||
|
|
|
@ -6,8 +6,9 @@ Mandatory options: <br />
|
|||
- -benchmark <file> : *the configuration file contains benchmark file names*
|
||||
- -rpt <file> : *CSV file consists of data*
|
||||
- -N <int> : *N-LUT/Matrix*
|
||||
Other Options:<br />
|
||||
## General
|
||||
|
||||
## Other Options:
|
||||
### General
|
||||
- -matlab_rpt <data_name> : *.m file consists of data compatible to matlab scripts. Specify the data name to be appeared in the script*
|
||||
- -I <int> : *Number of inputs of a CLB, mandatory when mpack1 flow is chosen*
|
||||
- -K <int> : *K-LUT, mandatory when standard flow is chosen*
|
||||
|
@ -20,17 +21,17 @@ Other Options:<br />
|
|||
- -parse_results_only : *only parse the flow results and write CSV report.*
|
||||
- -debug : *debug mode*
|
||||
- -help : *print usage*
|
||||
## ODIN II
|
||||
### ODIN II
|
||||
- -min_hard_adder_size: *min. size of hard adder in carry chain defined in Arch XML.(Default:1)*
|
||||
- -mem_size: *size of memory, mandatory when VTR/VTR_MCCL/VTR_MIG_MCCL flow is chosen*
|
||||
- -odin2_carry_chain_support: *turn on the carry_chain support only valid for VTR_MCCL/VTR_MIG_MCCL flow *
|
||||
## ABC
|
||||
### ABC
|
||||
- -abc_scl : *run ABC optimization for sequential circuits, mandatory when VTR flow is selected.*
|
||||
- -abc_verilog_rewrite : *run ABC to convert a blif netlist to a Verilog netlist.*
|
||||
## ACE
|
||||
### ACE
|
||||
- -ace_p <float> : *specify the default signal probablity of PIs in ACE2.*
|
||||
- -ace_d <float> : *specify the default signal density of PIs in ACE2.*
|
||||
## VPR - Original Version
|
||||
### VPR - Original Version
|
||||
- -vpr_timing_pack_off : *turn off the timing-driven pack for vpr.*
|
||||
- -vpr_place_clb_pin_remap: *turn on place_clb_pin_remap in VPR.*
|
||||
- -vpr_max_router_iteration <int> : *specify the max router iteration in VPR.*
|
||||
|
@ -38,12 +39,12 @@ Other Options:<br />
|
|||
- -vpr_use_tileable_route_chan_width: *turn on the conversion to tileable_route_chan_width in VPR.*
|
||||
- -min_route_chan_width <float> : *turn on routing with <float>* min_route_chan_width.*
|
||||
- -fix_route_chan_width : *turn on routing with a fixed route_chan_width, defined in benchmark configuration file.*
|
||||
## VPR - FPGA-X2P Extension
|
||||
### VPR - FPGA-X2P Extension
|
||||
- -vpr_fpga_x2p_rename_illegal_port : *turn on renaming illegal ports option of VPR FPGA SPICE*
|
||||
- -vpr_fpga_x2p_signal_density_weight <float>: *specify the option signal_density_weight of VPR FPGA SPICE*
|
||||
- -vpr_fpga_x2p_sim_window_size <float>: *specify the option sim_window_size of VPR FPGA SPICE*
|
||||
- -vpr_fpga_x2p_compact_routing_hierarchy : *allow routing block modularization*
|
||||
## VPR - FPGA-SPICE Extension
|
||||
### VPR - FPGA-SPICE Extension
|
||||
- -vpr_fpga_spice <task_file> : *turn on SPICE netlists print-out in VPR, specify a task file*
|
||||
- -vpr_fpga_spice_sim_mt_num <int>: *specify the option sim_mt_num of VPR FPGA SPICE*
|
||||
- -vpr_fpga_spice_print_component_tb : *print component-level testbenches in VPR FPGA SPICE*
|
||||
|
@ -53,7 +54,7 @@ Other Options:<br />
|
|||
- -vpr_fpga_spice_parasitic_net_estimation_off : *turn off parasitic_net_estimation in VPR FPGA SPICE*
|
||||
- -vpr_fpga_spice_testbench_load_extraction_off : *turn off testbench_load_extraction in VPR FPGA SPICE*
|
||||
- -vpr_fpga_spice_simulator_path <string> : *Specify simulator path*
|
||||
## VPR - FPGA-Verilog Extension
|
||||
### VPR - FPGA-Verilog Extension
|
||||
- -vpr_fpga_verilog : *turn on Verilog Generator of VPR FPGA SPICE*
|
||||
- -vpr_fpga_verilog_dir <verilog_path>: *provides the path where generated verilog files will be written*
|
||||
- -vpr_fpga_verilog_include_timing : *turn on printing delay specification in Verilog files*
|
||||
|
@ -69,5 +70,5 @@ Other Options:<br />
|
|||
- -vpr_fpga_verilog_print_top_tb : *turn on printing top-level testbench for Verilog Generator of VPR FPGA SPICE*
|
||||
- -vpr_fpga_verilog_print_input_blif_tb : *turn on printing testbench for input blif file in Verilog Generator of VPR FPGA SPICE*
|
||||
- -vpr_fpga_verilog_print_modelsim_autodeck <modelsim.ini_path>: *turn on printing modelsim simulation script*
|
||||
## VPR - FPGA-Bitstream Extension
|
||||
### VPR - FPGA-Bitstream Extension
|
||||
- -vpr_fpga_bitstream_generator: *turn on FPGA-SPICE bitstream generator*
|
||||
|
|
Loading…
Reference in New Issue