aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/vendors/config.psm1
blob: a58b2c4a19d1d13c18d451c029536b3a8ea8bcd0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# ==============================================================================
#  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
# Configuration files to store settings and installation directories for 3rd party tools..
#
# .DESCRIPTION
# This configuaration file stores settings for pre-compile scripts, so scripts
# can be called with less command line arguments.
#
[CmdletBinding()]
param(
	[Parameter(Mandatory=$true)][string]$VendorToolName
)

$Module_VendorToolName = $VendorToolName

# Configure your tools here. Use absolute paths, without trailing directory
# delimiter. Empty strings indicate not installed tools
$Settings = @{
	"AlteraQuartus" =		@{
		"InstallationDirectory" = "";								# "C:\Altera\16.0\quartus";
		"SourceDirectory" =       "eda\sim_lib";
		"DestinationDirectory" =  "altera"
	};
	"IntelQuartus" =		@{
		"InstallationDirectory" = "";								# "C:\IntelFPGA\20.1\quartus";
		"SourceDirectory" =       "eda\sim_lib";
		"DestinationDirectory" =  "intel"
	};
	"LatticeDiamond" =	@{
		"InstallationDirectory" = "";								# "C:\Lattice\Diamond\3.10_x64";
		"SourceDirectory" =       "cae_library\simulation\vhdl";
		"DestinationDirectory" =  "lattice"
	};
	"OSVVM" =						@{
		"InstallationDirectory" = "";								# "C:\git\GitHub\OSVVM";
		"SourceDirectory" =       ".";
		"DestinationDirectory" =  "."
	};
	"UVVM" =						@{
		"InstallationDirectory" = "";								# "C:\git\GitHub\UVVM";
		"SourceDirectory" =       ".";
		"DestinationDirectory" =  "."
	};
	"XilinxISE" =				@{
		"InstallationDirectory" = "";								# "C:\Xilinx\14.7\ISE_DS";
		"SourceDirectory" =       "ISE\vhdl\src";
		"DestinationDirectory" =  "xilinx-ise"
	};
	"XilinxVivado" =		@{
		"InstallationDirectory" = "";								# "C:\Xilinx\Vivado\2020.2";
		"SourceDirectory" =       "data\vhdl\src";
		"DestinationDirectory" =  "xilinx-vivado"
	}
}


function Get-VendorToolInstallationDirectory
{	<#
		.SYNOPSIS
		Undocumented

		.DESCRIPTION
		Undocumented
	#>
	return $Settings[$Module_VendorToolName]["InstallationDirectory"]
}

function Get-VendorToolSourceDirectory
{	<#
		.SYNOPSIS
		Undocumented

		.DESCRIPTION
		Undocumented
	#>
	return $Settings[$Module_VendorToolName]["SourceDirectory"]
}

function Get-VendorToolDestinationDirectory
{	<#
		.SYNOPSIS
		Undocumented

		.DESCRIPTION
		Undocumented
	#>
	return $Settings[$Module_VendorToolName]["DestinationDirectory"]
}

Export-ModuleMember -Function 'Get-VendorToolInstallationDirectory'
Export-ModuleMember -Function 'Get-VendorToolSourceDirectory'
Export-ModuleMember -Function 'Get-VendorToolDestinationDirectory'