-
Notifications
You must be signed in to change notification settings - Fork 165
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #89 from LNIS-Projects/dev
Regression test & architecture updates
- Loading branch information
Showing
47 changed files
with
1,559 additions
and
64 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
74 changes: 74 additions & 0 deletions
74
openfpga_flow/OpenFPGAShellScripts/fix_device_example_script.openfpga
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
# Run VPR for the 'and' design | ||
#--write_rr_graph example_rr_graph.xml | ||
vpr ${VPR_ARCH_FILE} ${VPR_TESTBENCH_BLIF} --clock_modeling route --device ${OPENFPGA_VPR_DEVICE_LAYOUT} | ||
|
||
# Read OpenFPGA architecture definition | ||
read_openfpga_arch -f ${OPENFPGA_ARCH_FILE} | ||
|
||
# Read OpenFPGA simulation settings | ||
read_openfpga_simulation_setting -f ${OPENFPGA_SIM_SETTING_FILE} | ||
|
||
# Annotate the OpenFPGA architecture to VPR data base | ||
# to debug use --verbose options | ||
link_openfpga_arch --activity_file ${ACTIVITY_FILE} --sort_gsb_chan_node_in_edges | ||
|
||
# Check and correct any naming conflicts in the BLIF netlist | ||
check_netlist_naming_conflict --fix --report ./netlist_renaming.xml | ||
|
||
# Apply fix-up to clustering nets based on routing results | ||
pb_pin_fixup --verbose | ||
|
||
# Apply fix-up to Look-Up Table truth tables based on packing results | ||
lut_truth_table_fixup | ||
|
||
# Build the module graph | ||
# - Enabled compression on routing architecture modules | ||
# - Enable pin duplication on grid modules | ||
build_fabric --compress_routing #--verbose | ||
|
||
# Write the fabric hierarchy of module graph to a file | ||
# This is used by hierarchical PnR flows | ||
write_fabric_hierarchy --file ./fabric_hierarchy.txt | ||
|
||
# Repack the netlist to physical pbs | ||
# This must be done before bitstream generator and testbench generation | ||
# Strongly recommend it is done after all the fix-up have been applied | ||
repack #--verbose | ||
|
||
# Build the bitstream | ||
# - Output the fabric-independent bitstream to a file | ||
build_architecture_bitstream --verbose --write_file fabric_independent_bitstream.xml | ||
|
||
# Build fabric-dependent bitstream | ||
build_fabric_bitstream --verbose | ||
|
||
# Write fabric-dependent bitstream | ||
write_fabric_bitstream --file fabric_bitstream.xml --format xml | ||
|
||
# Write the Verilog netlist for FPGA fabric | ||
# - Enable the use of explicit port mapping in Verilog netlist | ||
write_fabric_verilog --file ./SRC --explicit_port_mapping --include_timing --include_signal_init --support_icarus_simulator --print_user_defined_template --verbose | ||
|
||
# Write the Verilog testbench for FPGA fabric | ||
# - We suggest the use of same output directory as fabric Verilog netlists | ||
# - Must specify the reference benchmark file if you want to output any testbenches | ||
# - Enable top-level testbench which is a full verification including programming circuit and core logic of FPGA | ||
# - Enable pre-configured top-level testbench which is a fast verification skipping programming phase | ||
# - Simulation ini file is optional and is needed only when you need to interface different HDL simulators using openfpga flow-run scripts | ||
write_verilog_testbench --file ./SRC --reference_benchmark_file_path ${REFERENCE_VERILOG_TESTBENCH} --print_top_testbench --print_preconfig_top_testbench --print_simulation_ini ./SimulationDeck/simulation_deck.ini --explicit_port_mapping | ||
|
||
# Write the SDC files for PnR backend | ||
# - Turn on every options here | ||
write_pnr_sdc --file ./SDC | ||
|
||
# Write SDC to disable timing for configure ports | ||
write_sdc_disable_timing_configure_ports --file ./SDC/disable_configure_ports.sdc | ||
|
||
# Write the SDC to run timing analysis for a mapped FPGA fabric | ||
write_analysis_sdc --file ./SDC_analysis | ||
|
||
# Finish and exit OpenFPGA | ||
exit | ||
|
||
# Note : | ||
# To run verification at the end of the flow maintain source in ./SRC directory |
2 changes: 1 addition & 1 deletion
2
openfpga_flow/OpenFPGAShellScripts/flatten_routing_example_script.openfpga
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
openfpga_flow/OpenFPGAShellScripts/generate_secure_fabric_from_key_example_script.openfpga
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
openfpga_flow/OpenFPGAShellScripts/load_external_arch_bitstream_example_script.openfpga
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.