aboutsummaryrefslogtreecommitdiff
path: root/scripts/quartus_project_settings.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/quartus_project_settings.tcl')
-rw-r--r--scripts/quartus_project_settings.tcl86
1 files changed, 86 insertions, 0 deletions
diff --git a/scripts/quartus_project_settings.tcl b/scripts/quartus_project_settings.tcl
new file mode 100644
index 0000000..94aff07
--- /dev/null
+++ b/scripts/quartus_project_settings.tcl
@@ -0,0 +1,86 @@
+## ----------------------------------------------------------------------------
+## Script : quartus_project_settings.tcl
+## ----------------------------------------------------------------------------
+## Author : Johann Faerber, F. Beckmann
+## Company : University of Applied Sciences Augsburg
+## ----------------------------------------------------------------------------
+## Description: create a quartus project with default settings for device,
+## unused pins, ...
+## expects project name as command line parameter
+## e.g.
+## quartus_sh -t quartus_project_settings.tcl -projectname de1_mux2to1
+## -family
+## ----------------------------------------------------------------------------
+## Revisions : see end of file
+## ----------------------------------------------------------------------------
+
+package require cmdline
+# Load Quartus II Tcl Project package
+package require ::quartus::project
+
+set parameters {
+ {projectname.arg "" "Project Name"}
+ {family.arg "" "FPGA Family"}
+ {device.arg "" "FPGA Device"}
+}
+array set arg [::cmdline::getoptions argv $parameters]
+
+# Verify required paramters
+set requiredParameters {projectname family device}
+foreach parameter $requiredParameters {
+ if {$arg($parameter) == ""} {
+ puts stderr "Missing required parameter: -$parameter"
+ exit 1
+ }
+}
+
+
+
+ # Create project
+ project_new $arg(projectname) -overwrite
+
+ # ----------------------------------------------------------------------------
+ # Assign family, device, and top-level file
+ set_global_assignment -name FAMILY $arg(family)
+ set_global_assignment -name DEVICE $arg(device)
+
+ # ----------------------------------------------------------------------------
+ # Default settings
+ set_global_assignment -name USE_CONFIGURATION_DEVICE ON
+ set_global_assignment -name RESERVE_ALL_UNUSED_PINS "AS INPUT TRI-STATED"
+ set_global_assignment -name VHDL_INPUT_VERSION VHDL_2008
+
+ # ----------------------------------------------------------------------------
+ # Design files
+ #set_global_assignment -name VHDL_FILE ../src/e_cntdnmodm.vhd
+ #set_global_assignment -name VHDL_FILE ../src/a_cntdnmodm_rtl.vhd
+ source quartus_vhdl_source_files.tcl
+
+ # ----------------------------------------------------------------------------
+ # Pin Assignments
+ # ----------------------------------------------------------------------------
+ # set_location_assignment PIN_L1 -to CLOCK_50
+ source $arg(projectname)_pins.tcl
+
+ # -----------------------
+ # Run the synthesis
+ # -----------------------
+ load_package flow
+
+ execute_flow -compile
+
+ # Write Reports
+ load_package report
+ load_report $arg(projectname)
+ write_report_panel -file flowsummary.log "Flow Summary"
+
+ # ----------------------------------------------------------------------------
+ # Close project
+ project_close
+
+
+## ----------------------------------------------------------------------------
+## Revisions:
+## ----------
+## $Id:$
+## ----------------------------------------------------------------------------