-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathOsvvmSettingsDefault.tcl
More file actions
189 lines (167 loc) · 7.6 KB
/
OsvvmSettingsDefault.tcl
File metadata and controls
189 lines (167 loc) · 7.6 KB
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
# File Name: OsvvmSettingsDefault.tcl
# Purpose: Scripts for running simulations
# Revision: OSVVM MODELS STANDARD VERSION
#
# Maintainer: Jim Lewis email: [email protected]
# Contributor(s):
# Jim Lewis email: [email protected]
#
# Description
# Sets the defaults for the OSVVM Scripts
# Primarily settings that can be overridden in OsvvmSettingsLocal.tcl
#
# Developed by:
# SynthWorks Design Inc.
# VHDL Training Classes
# OSVVM Methodology and Model Library
# 11898 SW 128th Ave. Tigard, Or 97223
# http://www.SynthWorks.com
#
# Revision History:
# Date Version Description
# 04/2024 2024.03 Renamed to OsvvmSettingsDefault.tcl
# 05/2022 2022.05 Refactored to move variable settings from OsvvmProjectScripts
# 02/2022 2022.02 Added call to SetTranscriptType to make HTML the default transcript
# 2/2021 2021.02 Refactored Default Settings from StartUp.tcl
#
#
# This file is part of OSVVM.
#
# Copyright (c) 2021 - 2025 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.
#
#
# DO NOT CHANGE THESE SETTINGS
# This file is overwritten with each new release.
# Instead, create a OsvvmSettingsLocal.tcl and change them there.
# If you do not have a OsvvmSettingsLocal.tcl,
# copy OsvvmSettingsLocal_example.tcl to OsvvmSettingsLocal.tcl
#
# OSVVM Variable Defaults
namespace eval ::osvvm {
#
# Initialize internal settings -- Do not change these
#
# CurrentWorkingDirectory is a relative path to the scripts currently running
variable CurrentWorkingDirectory ""
# CurrentSimulationDirectory is an absolute path to the simulation directory (for reports and such)
# ** Note it is intentionally different from InvalidDirectory
variable CurrentSimulationDirectory "Invalid Initial Path !@#$%^&*()+=|><| Should be replaced By CheckWorkingDir" ;# **
#
# Directory structure and results file management
#
# OsvvmTempOutputDirectory is where temporary OSVVM output goes.
# Caution: If you change the value of OsvvmTempOutputDirectory, you must rerun OsvvmLibraries/osvvm/osvvm.pro
# Files only remain in this directory when a tool does not complete correctly
variable OutputBaseDirectory "" ; # Container for all OSVVM ouput
# variable OsvvmTempOutputSubdirectory "OsvvmTemp"
# variable OsvvmTempOutputSubdirectory "OsvvmTemp_${ToolNameVersion}" ; # Temporary directory name. Renamed by BuildName
variable OsvvmTempOutputSubdirectory "OsvvmTemp_${ToolName}"
# variable LogSubdirectory "logs/${ToolNameVersion}" ;# note ToolNameVersion not available here any more
variable LogSubdirectory "logs" ; # With build directories does not need $ToolNameVersion. Was "logs/${ToolNameVersion}"
variable ReportsSubdirectory "reports" ; # Directory scripts put reports into.
variable ResultsSubdirectory "results" ; # Directory for files opened by TranscriptOpen
variable CoverageSubdirectory "CodeCoverage"
variable InvalidDirectory "Invalid Directory !@#$%^&*()+=|><|"
variable InvalidLibraryDirectory $InvalidDirectory
variable VhdlLibraryParentDirectory $InvalidDirectory
# variable VhdlLibraryParentDirectory [pwd] ; # use local directory
variable VhdlLibraryDirectory "VHDL_LIBS"
variable VhdlLibrarySubdirectory "${ToolNameVersion}"
variable HtmlThemeSubdirectory ${ReportsSubdirectory}
# OsvvmSettingsSubdirectory
# Location for package local and generated package bodies
# Settings are relative to $OsvvmLibraries/osvvm if SettingsAreRelativeToSimulationDirectory is false
variable SettingsAreRelativeToSimulationDirectory "false"
variable OsvvmSettingsSubdirectory ""
#
# TCL Error signaling during a build
# If statements make the persistent with running StartUp
#
if {![info exists FailOnBuildErrors]} {
variable FailOnBuildErrors "false"
}
if {![info exists FailOnReportErrors]} {
variable FailOnReportErrors "false"
}
if {![info exists FailOnTestCaseErrors]} {
variable FailOnTestCaseErrors "false"
}
if {![info exists FailOnEmptyTestSuite]} {
variable FailOnEmptyTestSuite "true"
}
variable GenerateOsvvmReports "true"
#
# Stop Counts for Failures seen by Analyze and Simulate
# Value 0 is special to mean, don't stop
# Otherwise Errors >= ErrorsStopCount, stop the build.
#
variable AnalyzeErrorStopCount 0
variable SimulateErrorStopCount 0
#
# Generate HTML transcripts if TranscriptExtension = "html".
# Text based log files are always created
#
variable TranscriptExtension "html" ;# Generate log and html transcripts
variable CreateSimScripts "false" ;# Create a script with every simulator command run during this session
variable CreateOsvvmOutput "false" ;# Text file with just OSVVM output
#
# Requirements Tracking settings
#
# USE_SUM_OF_GOALS
# when false, uses maximum goal - good when merging in specification which provides the maximum goal which is divided across teests
# when true, uses sum of goals - good when not merging the specification and need to sum up goals to get the total
variable USE_SUM_OF_GOALS "false" ;# when false, uses maximum
# variable USE_SUM_OF_GOALS "true" ;# when true uses sum of goals
#
# VHDL Simulation Settings
#
variable DefaultVHDLVersion "2008" ; # OSVVM requires > 2008. Valid values 1993, 2002, 2008, 2019
variable SimulateTimeUnits "ps"
variable DefaultLibraryName "DefaultLib"
#
# Default Code Coverage Options
#
variable CoverageEnable "true"
variable CoverageAnalyzeEnable "false"
variable CoverageSimulateEnable "false"
variable CoverageAnalyzeOptions [vendor_SetCoverageAnalyzeDefaults]
variable CoverageSimulateOptions [vendor_SetCoverageSimulateDefaults]
#
# Simulation Controls
#
variable SimulateInteractive "false"
variable DebugIsSet "false"
variable Debug "false"
variable LogSignalsIsSet "false"
variable LogSignals "false"
variable OpenBuildHtmlFile "false"
variable SaveWaves "false"
variable SimulateInteractive "false"
#
# VHDL File Viewer Controls
#
variable VhdlFileViewerPrefix "" ;# viewer = html browser.
# variable VhdlFileViewerPrefix "vscode://file/" ;# viewer = vscode. Set in OsvvmSettingsLocal.tcl
#
# OsvvmDeveloper Controls
#
variable TclDebug "false"
variable ReportDebug "false"
variable OsvvmDevDeriveArchitectures "false"
#
# Second Top
#
variable SecondSimulationTopLevel ""
}