aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/vendors/compile-lattice.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/vendors/compile-lattice.ps1')
-rw-r--r--libraries/vendors/compile-lattice.ps1394
1 files changed, 0 insertions, 394 deletions
diff --git a/libraries/vendors/compile-lattice.ps1 b/libraries/vendors/compile-lattice.ps1
deleted file mode 100644
index ef8d1b59a..000000000
--- a/libraries/vendors/compile-lattice.ps1
+++ /dev/null
@@ -1,394 +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 Lattice Diamond for GHDL on Windows.
-#
-# .DESCRIPTION
-# This CmdLet:
-# (1) creates a subdirectory in the current working directory
-# (2) compiles all Lattice Diamond simulation libraries and packages
-# o Lattice device libraries:
-# - EC, ECP, ECP2, ECP3, ECP5U
-# - LPTM, LPTM2
-# - MachXO, MachXO2, MachXO3L, MachXO3D
-# - SC, SCM
-# - XP, XP2
-#
-[CmdletBinding()]
-param(
- # Show the embedded help page(s)
- [switch]$Help = $false,
-
- # Compile all libraries and packages.
- [switch]$All = $false,
-
- # Compile the Lattice EC device libraries
- [switch]$ec = $false,
- # Compile the Lattice ECP device libraries
- [switch]$ecp = $false,
- # Compile the Lattice ECP2 device libraries
- [switch]$ecp2 = $false,
- # Compile the Lattice ECP3 device libraries
- [switch]$ecp3 = $false,
- # Compile the Lattice ECP5U device libraries
- [switch]$ecp5u = $false,
-
- # Compile the Lattice LPTM device libraries
- [switch]$lptm = $false,
- # Compile the Lattice LPTM2 device libraries
- [switch]$lptm2 = $false,
-
- # Compile the Lattice MachXO device libraries
- [switch]$MachXO = $false,
- # Compile the Lattice MachXO2 device libraries
- [switch]$MachXO2 = $false,
- # Compile the Lattice MachXO3L device libraries
- [switch]$MachXO3L = $false,
- # Compile the Lattice MachXO3D device libraries
- [switch]$MachXO3D = $false,
-
- # Compile the Lattice SC device libraries
- [switch]$sc = $false,
- # Compile the Lattice SCM device libraries
- [switch]$scm = $false,
-
- # Compile the Lattice XP device libraries
- [switch]$xp = $false,
- # Compile the Lattice XP2 device libraries
- [switch]$xp2 = $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 `"LatticeDiamond`"" -ForegroundColor DarkGray ) | Out-Null
-Import-Module $PSScriptRoot\config.psm1 -Verbose:$false -ArgumentList "LatticeDiamond"
-$EnableDebug -and (Write-Host " Import-Module $PSScriptRoot\shared.psm1 -Verbose:`$$false -Debug:`$$false -ArgumentList @(`"Lattice Diamond`", `"$WorkingDir`")" -ForegroundColor DarkGray ) | Out-Null
-Import-Module $PSScriptRoot\shared.psm1 -Verbose:$false -ArgumentList @("Lattice Diamond", "$WorkingDir")
-
-# Display help if no command was selected
-$Help = $Help -or (-not ($All -or
- ($ec -or $ecp -or $ecp2 -or $ecp3 -or $ecp5u) -or
- ($lptm -or $lptm2) -or
- ($MachXO -or $MachXO2 -or $MachXO3L -or $MachXO3D) -or
- ($sc -or $scm) -or
- ($xp -or $xp2) -or
- $Clean))
-
-if ($Help)
-{ Get-Help $MYINVOCATION.MyCommand.Path -Detailed
- Exit-CompileScript
-}
-if ($All)
-{ $ec = $true
- $ecp = $true
- $ecp2 = $true
- $ecp3 = $true
- $ecp5u = $true
- $lptm = $true
- $lptm2 = $true
- $MachXO = $true
- $MachXO2 = $true
- $MachXO3L = $true
- $MachXO3D = $true
- $sc = $true
- $scm = $true
- $xp = $true
- $xp2 = $true
-}
-
-function Get-LatticeDiamondDirectory
-{ if (Test-Path env:FOUNDRY)
- { return $FOUNDRY + "\..\" + (Get-VendorToolSourceDirectory) }
- else
- { $EnvSourceDir = ""
- foreach ($Drive in Get-PSDrive -PSProvider 'FileSystem')
- { $Path = $Drive.Name + ":\" + "Lattice\Diamond"
- if (Test-Path $Path -PathType Container)
- { foreach ($Major in 4..3)
- { foreach ($Minor in 9..0)
- { $Dir = $Path + "\" + $Major + "." + $Minor + "_x64"
- if (Test-Path $Dir -PathType Container)
- { $EnvSourceDir = $Dir + "\" + (Get-VendorToolSourceDirectory)
- return $EnvSourceDir
- }
- }
- }
- }
- }
- }
-}
-
-$SourceDirectory = Get-SourceDirectory $Source (Get-LatticeDiamondDirectory)
-$DestinationDirectory = Get-DestinationDirectory $Output
-$GHDLBinary = Get-GHDLBinary $GHDL
-
-# create "Lattice" directory and change to it
-New-DestinationDirectory $DestinationDirectory
-cd $DestinationDirectory
-
-$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"
-)
-
-$StopCompiling = $false
-$ErrorCount = 0
-
-$FileLists = @{
- "ec" = @("ORCA_CMB.vhd", "ORCA_SEQ.vhd", "ORCACOMP.vhd", "ORCA_LUT.vhd", "ORCA_MISC.vhd", "ORCA_CNT.vhd", "ORCA_IO.vhd", "ORCA_MEM.vhd");
- "ecp" = @("ORCA_CMB.vhd", "ORCA_SEQ.vhd", "ORCACOMP.vhd", "ORCA_LUT.vhd", "ORCA_MISC.vhd", "ORCA_CNT.vhd", "ORCA_IO.vhd", "ORCA_MEM.vhd");
- "ecp2" = @("ECP2_CMB.vhd", "ECP2_SEQ.vhd", "ECP2COMP.vhd", "ECP2_CNT.vhd", "ECP2_IO.vhd", "ECP2_LUT.vhd", "ECP2_MEM.vhd", "ECP2_MISC.vhd", "ECP2_MULT.vhd", "ECP2_SL.vhd");
- "ecp3" = @("ECP3_CMB.vhd", "ECP3_SEQ.vhd", "ECP3COMP.vhd", "ECP3_CNT.vhd", "ECP3_IO.vhd", "ECP3_LUT.vhd", "ECP3_MEM.vhd", "ECP3_MISC.vhd", "ECP3_MULT.vhd", "ECP3_SL.vhd");
- "ecp5u" = @("ECP5U_CMB.vhd", "ECP5U_SEQ.vhd", "ECP5UCOMP.vhd", "ECP5U_IO.vhd", "ECP5U_LUT.vhd", "ECP5U_MEM.vhd", "ECP5U_MISC.vhd", "ECP5U_SL.vhd", "gsr_pur_assign.vhd");
- "lptm" = @("MACHXO_CMB.vhd", "MACHXO_SEQ.vhd", "MACHXOCOMP.vhd", "MACHXO_CNT.vhd", "MACHXO_IO.vhd", "MACHXO_LUT.vhd", "MACHXO_MEM.vhd", "MACHXO_MISC.vhd");
- "lptm2" = @("MACHXO2_CMB.vhd", "MACHXO2_SEQ.vhd", "MACHXO2COMP.vhd", "gsr_pur_assign.vhd", "MACHXO2_CNT.vhd", "MACHXO2_IO.vhd", "MACHXO2_LUT.vhd", "MACHXO2_MEM.vhd", "MACHXO2_MISC.vhd");
- "machxo" = @("MACHXO_CMB.vhd", "MACHXO_SEQ.vhd", "MACHXOCOMP.vhd", "MACHXO_CNT.vhd", "MACHXO_IO.vhd", "MACHXO_LUT.vhd", "MACHXO_MEM.vhd", "MACHXO_MISC.vhd");
- "machxo2" = @("MACHXO2_CMB.vhd", "MACHXO2_SEQ.vhd", "MACHXO2COMP.vhd", "MACHXO2_CNT.vhd", "gsr_pur_assign.vhd", "MACHXO2_IO.vhd", "MACHXO2_LUT.vhd", "MACHXO2_MEM.vhd", "MACHXO2_MISC.vhd");
- "machxo3l" = @("MACHXO3L_CMB.vhd", "MACHXO3L_SEQ.vhd", "MACHXO3LCOMP.vhd", "gsr_pur_assign.vhd", "MACHXO3L_CNT.vhd", "MACHXO3L_IO.vhd", "MACHXO3L_LUT.vhd", "MACHXO3L_MEM.vhd", "MACHXO3L_MISC.vhd");
- "machxo3d" = @("MACHXO3D_CMB.vhd", "MACHXO3D_SEQ.vhd", "MACHXO3DCOMP.vhd", "gsr_pur_assign.vhd", "MACHXO3D_CNT.vhd", "MACHXO3D_IO.vhd", "MACHXO3D_LUT.vhd", "MACHXO3D_MEM.vhd", "MACHXO3D_MISC.vhd");
- "sc" = @("ORCA_CMB.vhd", "ORCA_SEQ.vhd", "ORCACOMP.vhd", "ORCA_CNT.vhd", "ORCA_IO.vhd", "ORCA_MEM.vhd", "ORCA_MIS.vhd", "ORCA_SL.vhd");
- "scm" = @("ORCA_CMB.vhd", "ORCA_SEQ.vhd", "ORCACOMP.vhd", "ORCA_CNT.vhd", "ORCA_IO.vhd", "ORCA_MEM.vhd", "ORCA_MIS.vhd", "ORCA_SL.vhd");
- "xp" = @("ORCA_CMB.vhd", "ORCA_SEQ.vhd", "ORCACOMP.vhd", "ORCA_LUT.vhd", "ORCA_MISC.vhd", "ORCA_CNT.vhd", "ORCA_IO.vhd", "ORCA_MEM.vhd");
- "xp2" = @("XP2_CMB.vhd", "XP2_SEQ.vhd", "XP2COMP.vhd", "XP2_CNT.vhd", "XP2_IO.vhd", "XP2_LUT.vhd", "XP2_MEM.vhd", "XP2_MISC.vhd", "XP2_MULT.vhd", "XP2_SL.vhd")
-}
-
-# 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
-}
-
-
-# Lattice EC library
-# ==============================================================================
-if ((-not $StopCompiling) -and $ec)
-{ $Library = "ec"
- $SourceFiles = $FileLists[$Library] | % { "$SourceDirectory\$Library\src\$_" }
-
- $ErrorCount += Start-PackageCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug
- $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0)
-}
-
-# Lattice ECP library
-# ==============================================================================
-if ((-not $StopCompiling) -and $ecp)
-{ $Library = "ecp"
- $SourceFiles = $FileLists[$Library] | % { "$SourceDirectory\$Library\src\$_" }
-
- $ErrorCount += Start-PackageCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug
- $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0)
-}
-
-# Lattice ECP2 library
-# ==============================================================================
-if ((-not $StopCompiling) -and $ecp2)
-{ $Library = "ecp2"
- $SourceFiles = $FileLists[$Library] | % { "$SourceDirectory\$Library\src\$_" }
-
- $ErrorCount += Start-PackageCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug
- $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0)
-}
-
-# Lattice ECP3 library
-# ==============================================================================
-if ((-not $StopCompiling) -and $ecp3)
-{ $Library = "ecp3"
- $SourceFiles = $FileLists[$Library] | % { "$SourceDirectory\$Library\src\$_" }
-
- $ErrorCount += Start-PackageCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug
- $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0)
-}
-
-# Lattice ECP5U library
-# ==============================================================================
-if ((-not $StopCompiling) -and $ecp5u)
-{ $Library = "ecp5u"
- $SourceFiles = $FileLists[$Library] | % { "$SourceDirectory\$Library\src\$_" }
-
- $ErrorCount += Start-PackageCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug
- $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0)
-}
-
-# Lattice LPTM library
-# ==============================================================================
-if ((-not $StopCompiling) -and $lptm)
-{ $Library = "lptm"
- $SourceFiles = $FileLists[$Library] | % { "$SourceDirectory\$Library\src\$_" }
-
- $ErrorCount += Start-PackageCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug
- $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0)
-}
-
-# Lattice LPTM2 library
-# ==============================================================================
-if ((-not $StopCompiling) -and $lptm2)
-{ $Library = "lptm2"
- $SourceFiles = $FileLists[$Library] | % { "$SourceDirectory\$Library\src\$_" }
-
- $ErrorCount += Start-PackageCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug
- $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0)
-}
-
-# Lattice MachXO library
-# ==============================================================================
-if ((-not $StopCompiling) -and $MachXO)
-{ $Library = "MachXO"
- $SourceFiles = $FileLists[$Library] | % { "$SourceDirectory\$Library\src\$_" }
-
- $ErrorCount += Start-PackageCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug
- $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0)
-}
-
-# Lattice MachXO2 library
-# ==============================================================================
-if ((-not $StopCompiling) -and $MachXO2)
-{ $Library = "MachXO2"
- $SourceFiles = $FileLists[$Library] | % { "$SourceDirectory\$Library\src\$_" }
-
- $ErrorCount += Start-PackageCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug
- $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0)
-}
-
-# Lattice MachXO3L library
-# ==============================================================================
-if ((-not $StopCompiling) -and $machxo3l)
-{ $Library = "machxo3l"
- $SourceFiles = $FileLists[$Library] | % { "$SourceDirectory\$Library\src\$_" }
-
- $ErrorCount += Start-PackageCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug
- $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0)
-}
-
-# Lattice MachXO3D library
-# ==============================================================================
-if ((-not $StopCompiling) -and $machxo3d)
-{ $Library = "machxo3d"
- $SourceFiles = $FileLists[$Library] | % { "$SourceDirectory\$Library\src\$_" }
-
- $ErrorCount += Start-PackageCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug
- $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0)
-}
-
-# Lattice SC library
-# ==============================================================================
-if ((-not $StopCompiling) -and $sc)
-{ $Library = "sc"
- $SourceFiles = $FileLists[$Library] | % { "$SourceDirectory\$Library\src\$_" }
-
- $ErrorCount += Start-PackageCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug
- $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0)
-}
-
-# Lattice SCM library
-# ==============================================================================
-if ((-not $StopCompiling) -and $scm)
-{ $Library = "scm"
- $SourceFiles = $FileLists[$Library] | % { "$SourceDirectory\$Library\src\$_" }
-
- $ErrorCount += Start-PackageCompilation $GHDLBinary $Analyze_Parameters $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug
- $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0)
-}
-
-# Lattice XP library
-# ==============================================================================
-if ((-not $StopCompiling) -and $xp)
-{ $Library = "xp"
- $SourceFiles = $FileLists[$Library] | % { "$SourceDirectory\$Library\src\$_" }
-
- $ErrorCount += Start-PackageCompilation $GHDLBinary $GHDLOptions $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug
- $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0)
-}
-
-# Lattice XP2 library
-# ==============================================================================
-if ((-not $StopCompiling) -and $xp2)
-{ $Library = "xp2"
- $SourceFiles = $FileLists[$Library] | % { "$SourceDirectory\$Library\src\$_" }
-
- $ErrorCount += Start-PackageCompilation $GHDLBinary $GHDLOptions $DestinationDirectory $Library $VHDLVersion $SourceFiles $SuppressWarnings $HaltOnError -Verbose:$EnableVerbose -Debug:$EnableDebug
- $StopCompiling = $HaltOnError -and ($ErrorCount -ne 0)
-}
-
-Write-Host "--------------------------------------------------------------------------------"
-Write-Host "Compiling Lattice libraries " -NoNewline
-if ($ErrorCount -gt 0)
-{ Write-Host "[FAILED]" -ForegroundColor Red }
-else
-{ Write-Host "[SUCCESSFUL]" -ForegroundColor Green }
-
-Exit-CompileScript