# Build TimeStamp Verilog Module # Jeff Wiencrot - 8/1/2011 proc generateBuildID_Verilog {} { # Get the timestamp (see: http://www.altera.com/support/examples/tcl/tcl-date-time-stamp.html) set buildDate [ clock format [ clock seconds ] -format %y%m%d ] set buildTime [ clock format [ clock seconds ] -format %H%M%S ] # Create a Verilog file for output set outputFileName "build_id.v" set outputFile [open $outputFileName "w"] # Output the Verilog source puts $outputFile "`define BUILD_DATE \"$buildDate\"" puts $outputFile "`define BUILD_TIME \"$buildTime\"" close $outputFile # Send confirmation message to the Messages window post_message "Generated build identification Verilog module: [pwd]/$outputFileName" post_message "Date: $buildDate" post_message "Time: $buildTime" } # Build CDF file # Sorgelig - 17/2/2018 proc generateCDF {revision device outpath} { set outputFileName "jtag.cdf" set outputFile [open $outputFileName "w"] puts $outputFile "JedecChain;" puts $outputFile " FileRevision(JESD32A);" puts $outputFile " DefaultMfr(6E);" puts $outputFile "" puts $outputFile " P ActionCode(Ign)" puts $outputFile " Device PartName(SOCVHPS) MfrSpec(OpMask(0));" puts $outputFile " P ActionCode(Cfg)" puts $outputFile " Device PartName($device) Path(\"$outpath/\") File(\"$revision.sof\") MfrSpec(OpMask(1));" puts $outputFile "ChainEnd;" puts $outputFile "" puts $outputFile "AlteraBegin;" puts $outputFile " ChainType(JTAG);" puts $outputFile "AlteraEnd;" } set project_name [lindex $quartus(args) 1] set revision [lindex $quartus(args) 2] if {[project_exists $project_name]} { if {[string equal "" $revision]} { project_open $project_name -revision [get_current_revision $project_name] } else { project_open $project_name -revision $revision } } else { post_message -type error "Project $project_name does not exist" exit } set device [get_global_assignment -name DEVICE] set outpath [get_global_assignment -name PROJECT_OUTPUT_DIRECTORY] if [is_project_open] { project_close } generateBuildID_Verilog generateCDF $revision $device $outpath