Commit 97b1bfc2 authored by Mikhail Karpenko's avatar Mikhail Karpenko
Browse files

WIP: fitter interface

parent dcf0e089
Loading
Loading
Loading
Loading
+14 −12
Original line number Diff line number Diff line
@@ -70,15 +70,16 @@
			<line name="quartus_restore"
			      dest="QuartusConsole"
			      mark="``" 
			      sep=" "
			      sep="\n"
			      failure="ERROR"
			      prompt="@@FINISH@@"
			      log="">
			      "cd ~/%QuartusProjectRoot\n"
			      "set outputDir ~/%QuartusProjectRoot/%QuartusRemoteDir\n"			      
			      "file mkdir $outputDir\n"
		          "open_checkpoint %QuartusRemoteDir/%%StateFile\n"
		          "puts \"@@FINISH@@\"\n"
				  "puts \"\Restoring snapshot %%StateFile""
			      "cd ~/%QuartusProjectRoot"
			      "set outputDir ~/%QuartusProjectRoot/%QuartusRemoteDir"
			      "file mkdir $outputDir"
		          "project_restore %QuartusRemoteDir/%%StateFile"
		          "puts \"@@FINISH@@\""
		    </line>
		</output>
	</tool>
@@ -95,15 +96,16 @@
			<line name="quartus_save"
			      dest="QuartusConsole"
			      mark="``" 
			      sep=" "
			      sep="\n"
			      prompt="@@FINISH@@"
			      failure="ERROR"
			      log="">
			      "cd ~/%QuartusProjectRoot\n"
			      "set outputDir ~/%QuartusProjectRoot/%QuartusRemoteDir\n"			      
			      "file mkdir $outputDir\n"
	      		  "write_checkpoint -force %QuartusRemoteDir/%%StateFile\n"
	      		  "puts \"@@FINISH@@\"\n"
				  "puts \"Saving snapshot %%StateFile\""
			      "cd ~/%QuartusProjectRoot"
			      "set outputDir ~/%QuartusProjectRoot/%QuartusRemoteDir"
			      "file mkdir $outputDir"
	      		  "project_archive -overwrite %QuartusRemoteDir/%%StateFile"
	      		  "puts \"@@FINISH@@\""
			</line>
			<line name="quartus_copy_after_save">
					"-c"
+35 −27
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@ may decrease as fast-synthesis netlists take longer to route."/>
		restore="RestoreQuartusSynthesis"
		disable="DisableQuartusSynth"
		save="SaveQuartusSynthesis"
		autosave="AutosaveQuartusSynthesis"
		inherits="QuartusToolPrototype"
		>

@@ -107,9 +108,9 @@ spaces. If you need to add space between words in the family name, make sure tha
			minimum area usage or high speed performance with minimal area cost during synthesis."
			default="balanced" visible="true" readonly="false" omit="balanced" type="OptimizeDesign" format="DoubleDash"/>
		<parameter id="parallel" label="# of processors to use" tooltip="Controls parallel compilation. If 0 is specified, the Quartus software
uses all processors detected on the system. Otherwise, the software
attempts to use the specified number of processors."
			default="0" visible="true" readonly="false" omit="0" type="Cardinal" format="DoubleDash"/>
uses all processors detected on the system. Otherwise, the software attempts to use the specified number of processors.
Note: this feature is not licenced for the Web Edition and this parameter should be set to 1"
			default="1" visible="true" readonly="false" omit="0" type="Cardinal" format="DoubleDash"/>
		<parameter id="part_synth" outid="part" label="Part (see Project)" tooltip="Altera device to use (configured in 'project' dialog)"
			default="%part" visible="true" readonly="true" omit="" type="String" format="DoubleDash"/>
		<parameter id="state_machine_encoding" label="FSM encoding" tooltip="Finite state machine encoding."
@@ -129,8 +130,8 @@ attempts to use the specified number of processors."
			default="" label="Constraints files" tooltip="Select constraint files to load to Quartus" readonly="false"
			visible="true" />
			
		<parameter id="SkipSnapshotSynth" label="Skip snapshot" tooltip="Do not create snapshot after synthesis"
		           default="false" type= "Boolean" format="None"/>
		<parameter id="AutosaveQuartusSynthesis" label="Create snapshot" tooltip="Automatically create snapshot after successful synthesis"
		           default="true" type= "Boolean" format="None"/>
		<parameter id="ResetProject" label="Reset project" tooltip="Reset project before loading source files"
		           default="true" type= "Boolean" format="None"/>
		<parameter id="SkipPreSynth" label="Skip pre-synthesis" tooltip="Do not run pre-synthesis TCL commands"
@@ -144,7 +145,7 @@ attempts to use the specified number of processors."
			    "FilteredSourceListPar"
			    "FilteredIncludesListPar"
				"ConstraintsFiles"
				"SkipSnapshotSynth"
				"AutosaveQuartusSynthesis"
 				"QuartusSnapshotSynth" <!--  same as in project -->
				"ResetProject"
				"---"
@@ -206,45 +207,52 @@ attempts to use the specified number of processors."
			<line name="quartus_run_synth"
			      dest="QuartusConsole"
			      mark="``" 
			      sep=" "
			      sep="\n"
				  prompt="@@FINISH@@"
				  success="@@FINISH@@"
				  log=""
				  stdout="parser_Quartus">
				"cd ~/%QuartusProjectRoot\n"
				"set projectName %%ProjectName\n"
			    "set outputDir ~/%QuartusProjectRoot/%QuartusRemoteDir\n"
				"cd ~/%QuartusProjectRoot"
				"load_package flow"
				"set projectName %%ProjectName"
			    "set outputDir ~/%QuartusProjectRoot/%QuartusRemoteDir"
				"file mkdir $outputDir"
				<!-- Load all project files -->
				<if ResetProject="true">
					<!-- "project_close" -->
					"if [is_project_open] { project_close }"
				</if>
				"file mkdir $outputDir\n"
				<!-- Load all project files -->
				"foreach file [list %FilteredSourceListPar] {\n"
				"puts \"Adding $file to project\"\n"
				"set_global_assignment -name VERILOG_FILE $file }\n"
				"if [project_exists $projectName] {"
				"project_open $projectName"
				"} else {"
				"project_new $projectName }"
				"foreach file [list %FilteredSourceListPar] {"
				"puts \"Adding $file to project\""
				"set_global_assignment -name VERILOG_FILE $file }"
				<if QuartusSynthActionIndex="0">
					<if ConstraintsFiles="">
						"puts \"No constraints files specified, skipping read_qdc command\";\n"
						"puts \"No constraints files specified, skipping read_qdc command\";"
					</if>
					<if-not ConstraintsFiles="">
						"%read_qdc\n"
						"%read_qdc"
					</if-not>
				</if>
				<!-- Run pre-synthesis TCL commands (if specified) -->
				<if SkipPreSynth="false">
					<if-not PreTCL="">
						"%PreTCL\n"
						"%PreTCL"
					</if-not>
					<if PreTCL="">
						"puts \"No pre-synthesis TCL commands specified\"\n"'
						"puts \"No pre-synthesis TCL commands specified\""
					</if>
				</if>
				<!--"if {[catch {execute_module -tool map -args $synth_args} result]} {\n"
				"puts \"\nResult: $result\n\""
				"puts \"ERROR: Analysis and Synthesis faild. See the report file.\n\""
				"} else {\n"
				"puts \"\nINFO: Analysis and Synthesis was successful. }\n\""-->
				"puts \"@@FINISH@@\"\n"
				<!-- Start synthesizer -->
				"if {[catch {execute_module -tool map -args $synth_args} result]} {"
				"puts \"Result: $result\""
				"puts \"ERROR: Analysis and Synthesis faild. See the report file.\""
				"} else {"
				"puts \"INFO: Analysis and Synthesis was successful.\""
				"}"
				"puts \"@@FINISH@@\""
			</line>
		</output>
	</tool>
+4 −0
Original line number Diff line number Diff line
@@ -189,6 +189,10 @@
				label="Synthesize design"
				icon="Retort.png"
				call="QuartusSynthesis"/>
			<menuitem name="QuartusFitter"
				label="Place and route design"
				icon="route66.png"
				call="QuartusPlace"/>
		</menu>
                          
                          
+6 −1
Original line number Diff line number Diff line
@@ -463,7 +463,12 @@

		<parameter id="QuartusSnapshotSynth"
			label="Synthesis snapshot" tooltip="Name of Quartus snapshot archive"
			default="%%ProjectName.qar"
			default="%%ProjectName-synth.qar"
			type="String" format="CopyValue" />

		<parameter id="QuartusSnapshotPlace"
			label="Place and route snapshot" tooltip="Name of Quartus snapshot archive"
			default="%%ProjectName-par.qar"
			type="String" format="CopyValue" />

		<input>