aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/vendors/compile-xilinx-ise.ps1
diff options
context:
space:
mode:
authorumarcor <unai.martinezcorral@ehu.eus>2021-01-21 00:07:40 +0100
committerumarcor <unai.martinezcorral@ehu.eus>2021-01-21 01:41:16 +0100
commit67fc67033cc356b7874d67b42698c5391dfdbf98 (patch)
tree4c3ff74236c8486fdb36d98a07fbf4f56de83062 /libraries/vendors/compile-xilinx-ise.ps1
parent12d669cb9c048d09a0e103a6123cfe0a4aad0800 (diff)
downloadghdl-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.ps1308
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