Commit 6d29066b authored by Mikhail Karpenko's avatar Mikhail Karpenko

Add pin assignment to Quartus project

parent caf0f750
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
--> -->
<vdt-project> <vdt-project>
<interface name="QuartusSynthesisInterface" extends="QuartusInterface"> <interface name="QuartusSynthesisInterface" extends="QuartusInterface">
<syntax name="read_qdc_syntax" format="%(read_qdc %%ParamValue%|\n%)" />
<typedef name="FSMType"> <typedef name="FSMType">
<paramtype kind="enum" base="String"> <paramtype kind="enum" base="String">
<item value="auto" label="Allows Analysis and Synthesis to choose the best encoding for the state machine."/> <item value="auto" label="Allows Analysis and Synthesis to choose the best encoding for the state machine."/>
...@@ -127,6 +126,8 @@ Note: this feature is not licenced for the Web Edition and this parameter should ...@@ -127,6 +126,8 @@ Note: this feature is not licenced for the Web Edition and this parameter should
<parameter id="ConstraintsFiles" type="Filelist" format="ParamListSyntax" <parameter id="ConstraintsFiles" type="Filelist" format="ParamListSyntax"
default="" label="Constraints files" tooltip="Select constraint files to load to Quartus" readonly="false" default="" label="Constraints files" tooltip="Select constraint files to load to Quartus" readonly="false"
visible="true"/> visible="true"/>
<parameter id="PinAssignment" label="Pin assignment file" tooltip="Select pin assignment Tcl script to load to Quartus project"
type="Filename" default="" visible="true" readonly="false" format="ParamListSyntax"/>
<parameter id="AutosaveQuartusSynthesis" label="Create snapshot" tooltip="Automatically create snapshot after successful synthesis" <parameter id="AutosaveQuartusSynthesis" label="Create snapshot" tooltip="Automatically create snapshot after successful synthesis"
default="true" type= "Boolean" format="None"/> default="true" type= "Boolean" format="None"/>
...@@ -139,8 +140,6 @@ Note: this feature is not licenced for the Web Edition and this parameter should ...@@ -139,8 +140,6 @@ Note: this feature is not licenced for the Web Edition and this parameter should
readonly="false" visible="true"/> readonly="false" visible="true"/>
<!-- invisible or calculated parameters --> <!-- invisible or calculated parameters -->
<parameter id="read_qdc" type="Filelist"
format="read_qdc_syntax" default="%ConstraintsFiles" visible="false"/>
<parameter id="analysis_and_elaboration" label="Analysis and elaboration" tooltip="Option to check all the design files in a design for syntax and <parameter id="analysis_and_elaboration" label="Analysis and elaboration" tooltip="Option to check all the design files in a design for syntax and
semantec errors, and perform a netlist exraction." semantec errors, and perform a netlist exraction."
default="true" visible="false" readonly="false" omit="" type="Boolean" format="DoubleDashName"/> default="true" visible="false" readonly="false" omit="" type="Boolean" format="DoubleDashName"/>
...@@ -152,6 +151,7 @@ semantec errors, and perform a netlist exraction." ...@@ -152,6 +151,7 @@ semantec errors, and perform a netlist exraction."
"FilteredSourceListPar" "FilteredSourceListPar"
"FilteredIncludesListPar" "FilteredIncludesListPar"
"ConstraintsFiles" "ConstraintsFiles"
"PinAssignment"
"AutosaveQuartusSynthesis" "AutosaveQuartusSynthesis"
"QuartusSnapshotSynth" <!-- same as in project --> "QuartusSnapshotSynth" <!-- same as in project -->
"ResetProject" "ResetProject"
...@@ -189,6 +189,7 @@ semantec errors, and perform a netlist exraction." ...@@ -189,6 +189,7 @@ semantec errors, and perform a netlist exraction."
"%FilteredIncludesListPar" "%FilteredIncludesListPar"
<if QuartusSynthActionIndex="0"> <if QuartusSynthActionIndex="0">
"%ConstraintsFiles" "%ConstraintsFiles"
"%PinAssignment"
</if> </if>
"%RemoteUser@%RemoteHost:%QuartusProjectRoot" "%RemoteUser@%RemoteHost:%QuartusProjectRoot"
</line> </line>
...@@ -235,17 +236,31 @@ semantec errors, and perform a netlist exraction." ...@@ -235,17 +236,31 @@ semantec errors, and perform a netlist exraction."
"project_open $projectName" "project_open $projectName"
"} else {" "} else {"
"project_new $projectName }" "project_new $projectName }"
"set_global_assignment -name VERILOG_FILE %ImplementationTopFile" <!--"set_global_assignment -name VERILOG_FILE %ImplementationTopFile"-->
"set_global_assignment -name TOP_LEVEL_ENTITY %ImplementationTopModule" "set_global_assignment -name TOP_LEVEL_ENTITY %ImplementationTopModule"
"foreach file [list %FilteredSourceListPar] {" "foreach file [list %FilteredSourceListPar] {"
"puts \"Adding $file to project\"" "puts \"Adding $file to project\""
"set_global_assignment -name VERILOG_FILE $file }" "set_global_assignment -name VERILOG_FILE $file }"
<!-- Add pin assignment to project -->
<if QuartusSynthActionIndex="0">
<if-not PinAssignment="">
"source %PinAssignment"
</if-not>
<if PinAssignment="">
"puts \"No pin assignment file specified\""
</if>
</if>
<!-- Add constraints file(s) to project
Note: the alternative way of adding constraints is through 'read_sdc' Tcl command but
it is supported in quartus_fit and quartus_sta only -->
<if QuartusSynthActionIndex="0"> <if QuartusSynthActionIndex="0">
<if ConstraintsFiles=""> <if ConstraintsFiles="">
"puts \"No constraints files specified, skipping read_qdc command\";" "puts \"No constraints files specified\""
</if> </if>
<if-not ConstraintsFiles=""> <if-not ConstraintsFiles="">
"%read_qdc" "foreach file [list %ConstraintsFiles] {"
"puts \"Adding constraints file $file to project\""
"set_global_assignment -name SDC_FILE $file }"
</if-not> </if-not>
</if> </if>
<!-- Run pre-synthesis TCL commands (if specified) --> <!-- Run pre-synthesis TCL commands (if specified) -->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment