forked from OSVVM/OSVVM
-
Notifications
You must be signed in to change notification settings - Fork 0
/
osvvm.pro
194 lines (169 loc) · 5.7 KB
/
osvvm.pro
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
# File Name: osvvm.pro
# Revision: STANDARD VERSION
#
# Maintainer: Jim Lewis email: [email protected]
# Contributor(s):
# Jim Lewis [email protected]
#
#
# Description:
# Script to compile the OSVVM library
#
# Developed for:
# SynthWorks Design Inc.
# VHDL Training Classes
# 11898 SW 128th Ave. Tigard, Or 97223
# http://www.SynthWorks.com
#
# Revision History:
# Date Version Description
# 7/2024 2024.07 Added signed, unsigned, and integer_vector scoreboards
# 3/2024 2024.03 Updated to handle Xilinx issues
# 5/2023 2023.05 Added BurstCoveragePkg
# 4/2023 2023.04 Updated handling of OsvvmScriptSettingsPkg since it
# is now two pieces with deferred constants
# 1/2023 2023.01 Added OsvvmScriptSettingsPkg and script to create it.
# 8/2022 2022.08 Added MemorySupportPkg and MemoryGenericPkg
# 10/2021 2021.10 Added ReportPkg
# 6/2021 2021.06 Updated for release
# 1/2020 2020.01 Updated Licenses to Apache
# 11/2016 2016.11 Compile Script for OSVVM
#
#
# This file is part of OSVVM.
#
# Copyright (c) 2016 - 2023 by SynthWorks Design Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
if {$::osvvm::ToolName eq "RivieraPRO"} {
RemoveLibrary osvvm
}
library osvvm
# Analyze package declarations
analyze IfElsePkg.vhd
analyze OsvvmScriptSettingsPkg.vhd ; # package declaration. See end for package body
analyze OsvvmSettingsPkg.vhd
if {!$::osvvm::ToolSupportsDeferredConstants} {
# work around path for tools that do not support deferred constants
set SettingsDirectory [FindOsvvmSettingsDirectory]
if {[FileExists $SettingsDirectory/OsvvmScriptSettingsPkg_local.vhd]} {
analyze $SettingsDirectory/OsvvmScriptSettingsPkg_local.vhd
} else {
# Generate the file if possible
set GeneratedPkg [CreateOsvvmScriptSettingsPkg $SettingsDirectory]
puts "GeneratedPkg = $GeneratedPkg"
if {[FileExists $GeneratedPkg]} {
analyze $GeneratedPkg
} else {
analyze OsvvmScriptSettingsPkg_default.vhd
}
}
if {[FileExists $SettingsDirectory/OsvvmSettingsPkg_local.vhd]} {
analyze $SettingsDirectory/OsvvmSettingsPkg_local.vhd
} else {
analyze OsvvmSettingsPkg_default.vhd
}
}
analyze TextUtilPkg.vhd
analyze ResolutionPkg.vhd
analyze NamePkg.vhd
analyze OsvvmGlobalPkg.vhd
# Compile VendorCovApiPkg_Aldec.vhd for RivieraPro and ActiveHDL, otherwise compile VendorCovApiPkg.vhd
if {$::osvvm::ToolVendor eq "Aldec"} {
analyze VendorCovApiPkg_Aldec.vhd
} else {
analyze VendorCovApiPkg.vhd
}
analyze TranscriptPkg.vhd
if {$::osvvm::VhdlVersion >= 2019} {
analyze FileLinePathPkg.vhd
analyze LanguageSupport2019Pkg.vhd
} else {
analyze deprecated/FileLinePathPkg_c.vhd
analyze deprecated/LanguageSupport2019Pkg_c.vhd
}
analyze AlertLogPkg.vhd
analyze TbUtilPkg.vhd
analyze NameStorePkg.vhd
analyze MessageListPkg.vhd
# PT based MessagePkg replaced by List based MessageListPkg
# analyze MessagePkg.vhd
analyze SortListPkg_int.vhd
analyze RandomBasePkg.vhd
analyze RandomPkg.vhd
# RandomProcedurePkg is a temporary and is used by CoveragePkg
# Likely will be replaced when VHDL-2019 support is good.
analyze RandomProcedurePkg.vhd
analyze CoveragePkg.vhd
analyze DelayCoveragePkg.vhd
if {[string compare $::osvvm::ClockResetVersion "2024.05"] == 1} {
analyze ClockResetPkg.vhd
} else {
analyze deprecated/ClockResetPkg_2024_05.vhd
}
analyze ResizePkg.vhd
if {$::osvvm::ToolSupportsGenericPackages} {
analyze ScoreboardGenericPkg.vhd
analyze ScoreboardPkg_slv.vhd
analyze ScoreboardPkg_int.vhd
analyze ScoreboardPkg_signed.vhd
analyze ScoreboardPkg_unsigned.vhd
analyze ScoreboardPkg_IntV.vhd
} else {
analyze deprecated/ScoreboardPkg_slv_c.vhd
analyze deprecated/ScoreboardPkg_int_c.vhd
analyze deprecated/ScoreboardPkg_signed_c.vhd
analyze deprecated/ScoreboardPkg_unsigned_c.vhd
analyze deprecated/ScoreboardPkg_IntV_c.vhd
}
analyze MemorySupportPkg.vhd
if {$::osvvm::ToolSupportsGenericPackages} {
if {$::osvvm::ToolName ne "XSIM"} {
analyze MemoryGenericPkg.vhd
} else {
analyze deprecated/MemoryGenericPkg_xilinx.vhd
}
analyze MemoryPkg.vhd
} else {
analyze deprecated/MemoryPkg_c.vhd
analyze deprecated/MemoryPkg_orig_c.vhd
}
analyze ReportPkg.vhd
analyze OsvvmTypesPkg.vhd
if {$::osvvm::ToolSupportsDeferredConstants} {
set SettingsDirectory [FindOsvvmSettingsDirectory]
if {[FileExists $SettingsDirectory/OsvvmScriptSettingsPkg_local.vhd]} {
analyze $SettingsDirectory/OsvvmScriptSettingsPkg_local.vhd
} else {
# Generate the file if possible
set GeneratedPkg [CreateOsvvmScriptSettingsPkg $SettingsDirectory]
puts "GeneratedPkg = $GeneratedPkg"
if {[FileExists $GeneratedPkg]} {
analyze $GeneratedPkg
} else {
analyze OsvvmScriptSettingsPkg_default.vhd
}
}
if {[FileExists $SettingsDirectory/OsvvmSettingsPkg_local.vhd]} {
analyze $SettingsDirectory/OsvvmSettingsPkg_local.vhd
} else {
analyze OsvvmSettingsPkg_default.vhd
}
}
if {$::osvvm::VhdlVersion >= 2019} {
analyze RandomPkg2019.vhd
} else {
analyze deprecated/RandomPkg2019_c.vhd
}
analyze OsvvmContext.vhd