diff options
author | umarcor <unai.martinezcorral@ehu.eus> | 2021-01-21 00:07:40 +0100 |
---|---|---|
committer | umarcor <unai.martinezcorral@ehu.eus> | 2021-01-21 01:41:16 +0100 |
commit | 67fc67033cc356b7874d67b42698c5391dfdbf98 (patch) | |
tree | 4c3ff74236c8486fdb36d98a07fbf4f56de83062 /libraries/vendors/compile-xilinx-ise.ps1 | |
parent | 12d669cb9c048d09a0e103a6123cfe0a4aad0800 (diff) | |
download | ghdl-67fc67033cc356b7874d67b42698c5391dfdbf98.tar.gz ghdl-67fc67033cc356b7874d67b42698c5391dfdbf98.tar.bz2 ghdl-67fc67033cc356b7874d67b42698c5391dfdbf98.zip |
vendors: move vendor pre-compile scripts into subdir 'scripts'
Diffstat (limited to 'libraries/vendors/compile-xilinx-ise.ps1')
-rw-r--r-- | libraries/vendors/compile-xilinx-ise.ps1 | 308 |
1 files changed, 0 insertions, 308 deletions
diff --git a/libraries/vendors/compile-xilinx-ise.ps1 b/libraries/vendors/compile-xilinx-ise.ps1 deleted file mode 100644 index 5c51f8f25..000000000 --- a/libraries/vendors/compile-xilinx-ise.ps1 +++ /dev/null @@ -1,308 +0,0 @@ -# ============================================================================== -# Authors: -# Patrick Lehmann -# -# ============================================================================== -# Copyright (C) 2017-2021 Patrick Lehmann - Boetzingen, Germany -# Copyright (C) 2015-2016 Patrick Lehmann - Dresden, Germany -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <gnu.org/licenses>. -# ============================================================================== - -# .SYNOPSIS -# Script to compile the simulation libraries from Xilinx ISE for GHDL on Windows. -# -# .DESCRIPTION -# This CmdLet: -# (1) creates a subdirectory in the current working directory -# (2) compiles all Xilinx ISE simulation libraries and packages -# - unisim (incl. secureip) -# - unimacro -# - simprim (incl. secureip) -# - xilinxcorelib -# -[CmdletBinding()] -param( - # Show the embedded help page(s) - [switch]$Help = $false, - - # Compile all libraries and packages. - [switch]$All = $false, - - # Compile the Xilinx simulation library. - [switch]$Unisim = $false, - - # Compile the Xilinx macro library. - [switch]$Unimacro = $false, - - # Compile the Xilinx post-map simulation library. - [switch]$Simprim = $false, - - # Compile the Xilinx CoreLib simulation library. - [switch]$CoreLib = $false, - - # Compile the Xilinx secureip library. - [switch]$SecureIP = $false, - - # Clean up directory before analyzing. - [switch]$Clean = $false, - - # Set VHDL Standard to '93 - [switch]$VHDL93 = $false, - # Set VHDL Standard to '08 - [switch]$VHDL2008 = $false, - - # Skip warning messages. (Show errors only.) - [switch]$SuppressWarnings = $false, - # Halt on errors. - [switch]$HaltOnError = $false, - - # Set vendor library source directory. - [string]$Source = "", - # Set output directory name. - [string]$Output = "", - # Set GHDL binary directory. - [string]$GHDL = "" -) - -# --------------------------------------------- -# save working directory -$WorkingDir = Get-Location - -# set default values -$EnableDebug = [bool]$PSCmdlet.MyInvocation.BoundParameters["Debug"] -$EnableVerbose = [bool]$PSCmdlet.MyInvocation.BoundParameters["Verbose"] -or $EnableDebug - -# load modules from GHDL's 'vendors' library directory -$EnableVerbose -and (Write-Host "Loading modules..." -ForegroundColor Gray ) | Out-Null -$EnableDebug -and (Write-Host " Import-Module $PSScriptRoot\config.psm1 -Verbose:`$$false -Debug:`$$false -ArgumentList `"XilinxISE`"" -ForegroundColor DarkGray ) | Out-Null -Import-Module $PSScriptRoot\config.psm1 -Verbose:$false -ArgumentList "XilinxISE" -$EnableDebug -and (Write-Host " Import-Module $PSScriptRoot\shared.psm1 -Verbose:`$$false -Debug:`$$false -ArgumentList @(`"Xilinx ISE`", `"$WorkingDir`")" -ForegroundColor DarkGray ) | Out-Null -Import-Module $PSScriptRoot\shared.psm1 -Verbose:$false -ArgumentList @("Xilinx ISE", "$WorkingDir") - -# Display help if no command was selected -$Help = $Help -or (-not ($All -or $Unisim -or $Simprim -or $Unimacro -or $CoreLib -or $Clean)) - -if ($Help) -{ Get-Help $MYINVOCATION.MyCommand.Path -Detailed - Exit-CompileScript -} -if ($All) -{ $Unisim = $true - $Simprim = $true - $Unimacro = $true - $CoreLib = $true - $SecureIP = $true -} - -function Get-XilinxISEDirectory -{ if (Test-Path env:XILINX) - { return $XILINX + "\" + (Get-VendorToolSourceDirectory) } - else - { $EnvSourceDir = "" - foreach ($Drive in Get-PSDrive -PSProvider 'FileSystem') - { $Path = $Drive.Name + ":\" + "Xilinx" - if (Test-Path $Path -PathType Container) - { foreach ($Major in 14..12) - { foreach ($Minor in 7..1) - { $Dir = $Path + "\" + $Major + "." + $Minor + "\ISE_DS" - if (Test-Path $Dir -PathType Container) - { $EnvSourceDir = $Dir + "\" + (Get-VendorToolSourceDirectory) - return $EnvSourceDir - } - } - } - } - } - } -} - -$SourceDirectory = Get-SourceDirectory $Source (Get-XilinxISEDirectory) -$DestinationDirectory = Get-DestinationDirectory $Output -$GHDLBinary = Get-GHDLBinary $GHDL - -# create "Altera" directory and change to it -New-DestinationDirectory $DestinationDirectory -cd $DestinationDirectory - -if ($VHDL2008) -{ Write-Host "Not all Xilinx primitives are VHDL-2008 compatible! Setting HaltOnError to FALSE." -ForegroundColor Red - $HaltOnError = $false -} -$VHDLVersion,$VHDLStandard,$VHDLFlavor = Get-VHDLVariables $VHDL93 $VHDL2008 - -# define global GHDL Options -$Analyze_Parameters = @( - "-fexplicit", - "-frelaxed-rules", - "--mb-comments", - "-Wbinding" -) -if (-not $EnableDebug) -{ $Analyze_Parameters += @( - "-Wno-hide" - ) -} -if (-not ($EnableVerbose -or $EnableDebug)) -{ $Analyze_Parameters += @( - "-Wno-library", - "-Wno-others", - "-Wno-static" - ) -} -$Analyze_Parameters += @( - "--ieee=$VHDLFlavor", - "--no-vital-checks", - "--std=$VHDLStandard", - "-P$DestinationDirectory" -) - -# extract data from configuration -# $SourceDir = $InstallationDirectory["AlteraQuartus"] + "\quartus\eda\sim_lib" - -$StopCompiling = $false -$ErrorCount = 0 - - -# Cleanup directories -# ============================================================================== -if ($Clean) -{ Write-Host "[ERROR]: '-Clean' is not implemented!" -ForegroundColor Red - Exit-CompileScript -1 - - Write-Host "Cleaning up vendor directory ..." -ForegroundColor Yellow - rm *.cf -} - - -# Library UniSim -# ============================================================================== -# compile unisim packages -if ((-not $StopCompiling) -and $Unisim) -{ $Library = "unisim" - $Files = @( - "unisims\unisim_VPKG.vhd", - "unisims\unisim_VCOMP.vhd" - ) - $SourceFiles = $Files | % { "$SourceDirectory\$_" } - - $ErrorCount += Start-PackageCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug - $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0) -} - -# compile unisim primitives -if ((-not $StopCompiling) -and $Unisim) -{ $Library = "unisim" - $SourceFiles = dir "$SourceDirectory\unisims\primitive\*.vhd*" - - $ErrorCount += Start-PrimitiveCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug - $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0) -} - -# compile unisim secureip primitives -if ((-not $StopCompiling) -and $Unisim -and $SecureIP) -{ $Library = "secureip" - $SourceFiles = dir "$SourceDirectory\unisims\secureip\*.vhd*" - - $ErrorCount += Start-PrimitiveCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug - $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0) -} - -# Library UNIMACRO -# ============================================================================== -# compile unimacro packages -if ((-not $StopCompiling) -and $Unimacro) -{ $Library = "unimacro" - $Files = @( - "unimacro\unimacro_VCOMP.vhd" - ) - $SourceFiles = $Files | % { "$SourceDirectory\$_" } - - $ErrorCount += Start-PackageCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug - $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0) -} - -# compile unimacro macros -if ((-not $StopCompiling) -and $Unimacro) -{ $Library = "unimacro" - $SourceFiles = dir "$SourceDirectory\unimacro\*_MACRO.vhd*" - - $ErrorCount += Start-PrimitiveCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug - $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0) -} - -# Library SIMPRIM -# ============================================================================== -# compile simprim packages -if ((-not $StopCompiling) -and $Simprim) -{ $Library = "simprim" - $Files = ( - "simprims\simprim_Vpackage.vhd", - "simprims\simprim_Vcomponents.vhd" - ) - $SourceFiles = $Files | % { "$SourceDirectory\$_" } - - $ErrorCount += Start-PackageCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug - $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0) -} - -# compile simprim primitives -if ((-not $StopCompiling) -and $Simprim) -{ $Library = "simprim" - $SourceFiles = dir "$SourceDirectory\simprims\primitive\other\*.vhd*" - - $ErrorCount += Start-PrimitiveCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug - $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0) -} - -# compile simprim secureip primitives -if ((-not $StopCompiling) -and $Simprim -and $SecureIP) -{ $Library = "secureip" - $SourceFiles = dir "$SourceDirectory\simprims\secureip\other\*.vhd*" - - $ErrorCount += Start-PrimitiveCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug - $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0) -} - -# Library XilinxCoreLib -# ============================================================================== -# compile CoreLib primitives -if ((-not $StopCompiling) -and $CoreLib) -{ $Library = "xilinxcorelib" - - $AnalyzeFile = "$SourceDirectory\XilinxCoreLib\vhdl_analyze_order" - if (-not (Test-Path $AnalyzeFile -PathType Leaf)) - { Write-Host "[ERROR]: Analyze file '$AnalyzeFile' not found!" - Exit-CompileScript -1 - } - - $AnalyzeOrder = Get-Content $AnalyzeFile -Encoding Ascii - $SourceFiles = @() - foreach ($line in $AnalyzeOrder) - { if (-not ($line.StartsWith("#") -or ($line -eq ""))) - { $SourceFiles += "$SourceDirectory\XilinxCoreLib\$line" } - } - - $ErrorCount += Start-PrimitiveCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug - $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0) -} - -Write-Host "--------------------------------------------------------------------------------" -Write-Host "Compiling Xilinx ISE libraries " -NoNewline -if ($ErrorCount -gt 0) -{ Write-Host "[FAILED]" -ForegroundColor Red } -else -{ Write-Host "[SUCCESSFUL]" -ForegroundColor Green } - -Exit-CompileScript |