add solutions
This commit is contained in:
		
							
								
								
									
										91
									
								
								zz-solutions/04-Lissajous/Scripts/update_ise.pl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								zz-solutions/04-Lissajous/Scripts/update_ise.pl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,91 @@ | ||||
| #!/usr/bin/perl | ||||
| # ------------------------------------------------------------------------------ | ||||
| # update_ise | ||||
| #   replace ucf and vhd filelocation and name in the Xilinx xise project file | ||||
| #   Help Parameter : <?> | ||||
| #   Parameter : update_ise.pl <ISE File Spec> <VHDL File Spec> <UCF File Spec> | ||||
| # ------------------------------------------------------------------------------ | ||||
| # Changelog: | ||||
| #   2019-06-12 : zas | ||||
| #     * All parameters given with agruments instead of env variables | ||||
| #   2015-05-26 : guo | ||||
| #     * update to environment from HELS v.15.0526 | ||||
| #   2012-05-27 : cof | ||||
| #     * Initial release | ||||
| # ------------------------------------------------------------------------------ | ||||
|  | ||||
| $separator = '-' x 79; | ||||
| $indent = ' ' x 2; | ||||
|  | ||||
| $iseFileSpec = $ARGV[0]; | ||||
| $vhdlFileSpec = $ARGV[1]; | ||||
| $ucfFileSpec = $ARGV[2]; | ||||
|  | ||||
| $verbose = 1; | ||||
|  | ||||
| if ($verbose == 1) { | ||||
|   print "Script Parameters:\n"; | ||||
|   print "  * iseFileSpec: $iseFileSpec\n"; | ||||
|   print "  * vhdlFileSpec: $vhdlFileSpec\n"; | ||||
|   print "  * ucfFileSpec: $ucfFileSpec\n"; | ||||
| } | ||||
|  | ||||
|  | ||||
| #------------------------------------------------------------------------------- | ||||
| # program I/O files | ||||
| # | ||||
| $tempFileSpec = $iseFileSpec . '.tmp'; | ||||
|  | ||||
| if ($verbose == 1) { | ||||
|   print "\n$separator\n"; | ||||
|   print "Updating file specifications in $iseFileSpec\n"; | ||||
|   print $indent, "temporary file spec: $tempFileSpec\n"; | ||||
| } | ||||
|  | ||||
| #------------------------------------------------------------------------------- | ||||
| # read original file, edit and save to temporary file | ||||
| # | ||||
| my $line; | ||||
|  | ||||
| open(ISEFile, $iseFileSpec) || die "couldn't open $iseFileSpec!"; | ||||
| open(tempFile, ">$tempFileSpec"); | ||||
| while (chop($line = <ISEFile>)) { | ||||
|                                                             # replace VHDL files | ||||
|   if ($line =~ m/FILE_VHDL/i) { | ||||
|     $line =~ s/<file\s+xil_pn\:name=.*?".+?"/<file xil_pn:name="$vhdlFileSpec"/ig; | ||||
|   } | ||||
|                                                             # replace EDIF files | ||||
|   if ($line =~ m/FILE_EDIF/i) { | ||||
|     $line =~ s/<file\s+xil_pn\:name=.*?".+?"/<file xil_pn:name="$edifFileSpec"/ig; | ||||
|   } | ||||
|                                                              # replace UCF files | ||||
|   if ($line =~ m/FILE_UCF/i) { | ||||
|     $line =~ s/<file\s+xil_pn\:name=.*?".+?"/<file xil_pn:name="$ucfFileSpec"/ig; | ||||
|   } | ||||
|                                                       # Implementation Top files | ||||
|   if ($line =~ m/\.vhd"/i) { | ||||
|     $line =~ s/<property\s+xil_pn:name="Implementation\s+Top\s+File"\s+xil_pn\:value=".+?"/<property xil_pn:name="Implementation Top File" xil_pn:value="$vhdlFileSpec"/ig; | ||||
|   } | ||||
|   if ($line =~ m/\.edf"/i) { | ||||
|     $line =~ s/<property\s+xil_pn:name="Implementation\s+Top\s+File"\s+xil_pn\:value=".+?"/<property xil_pn:name="Implementation Top File" xil_pn:value="$edifFileSpec"/ig; | ||||
|   } | ||||
|                                                            # replace UCF binding | ||||
|   if ($line =~ m/\.ucf"/i) { | ||||
|     $line =~ s/<binding\s+(.+)\s+xil_pn\:name=.*?".+?"/<binding $1 xil_pn:name="$ucfFileSpec"/ig; | ||||
|   } | ||||
|  | ||||
|   print tempFile ("$line\n"); | ||||
| } | ||||
|  | ||||
| close(tempFile); | ||||
| close(ISEFile); | ||||
|  | ||||
| #------------------------------------------------------------------------------- | ||||
| # delete original file and rename temporary file | ||||
| # | ||||
| unlink($iseFileSpec); | ||||
| rename($tempFileSpec, $iseFileSpec); | ||||
|  | ||||
| if ($verbose == 1) { | ||||
|   print "$separator\n"; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user