-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathVendorScripts_Sigasi.tcl
More file actions
150 lines (130 loc) · 4.35 KB
/
VendorScripts_Sigasi.tcl
File metadata and controls
150 lines (130 loc) · 4.35 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
# File Name: VendorScripts_Sigasi.tcl
# Purpose: Scripts for running simulations in Sigasi
# Revision: OSVVM MODELS STANDARD VERSION
#
# Maintainer: Jim Lewis email: jim@synthworks.com
# Contributor(s):
# Lieven Lemiengre email:lieven.lemiengre@sigasi.com
#
# Description
# Tcl procedures with the intent of making running
# compiling and simulations tool independent
#
# 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
# 02/2026 2025.09 Initial version for Sigasi Visual HDL
#
#
# This file is part of OSVVM.
#
# Copyright (c) 2018 - 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.
#
# -------------------------------------------------
# Tool Settings
#
variable ToolType "ide"
variable ToolVendor "Sigasi"
variable ToolName "Sigasi"
variable ToolVersion "Visual-HDL"
variable ToolNameVersion ${ToolName}-${ToolVersion}
variable simulator $ToolName ; # Variable simulator is deprecated. Use ToolName instead
if {[info exists ::env(OSVVM_VHDL_TARGET)] && $::env(OSVVM_VHDL_TARGET) >= 2019} {
SetVHDLVersion 2019
variable Supports2019Interface "true"
} else {
SetVHDLVersion 2008
}
set ::osvvm::GenerateOsvvmReports "false"
proc CallbackBefore_Build { Path_Or_File } {
}
# -------------------------------------------------
# Library
#
proc vendor_library {LibraryName PathToLib} {
}
proc vendor_LinkLibrary {LibraryName PathToLib} {
}
proc vendor_UnlinkLibrary {LibraryName PathToLib} {
}
# -------------------------------------------------
# analyze
#
proc vendor_analyze_vhdl {LibraryName FileName args} {
variable VhdlVersion
set AnalyzeOptions [concat -${VhdlVersion} -work ${LibraryName} {*}${args} ${FileName}]
vcom {*}$AnalyzeOptions
}
proc vendor_analyze_verilog {LibraryName FileName args} {
set AnalyzeOptions [concat [CreateVerilogLibraryParams "-L "] -work ${LibraryName} {*}${args} ${FileName}]
vlog {*}$AnalyzeOptions
}
# -------------------------------------------------
# End Previous Simulation
#
proc vendor_end_previous_simulation {} {
# Sigasi does not run simulations, so nothing to do here
}
# -------------------------------------------------
# vendor_simulate
#
proc vendor_simulate {LibraryName LibraryUnit args} {
variable SimulateTimeUnits
set SimulateOptions [concat -t $SimulateTimeUnits -lib ${LibraryName} ${LibraryUnit} {*}${args} {*}${::osvvm::GenericOptions}]
if {[info exists ::env(SIGASI_COMPILATION_LOG)]} {
set logFileDir [file dirname $::env(SIGASI_COMPILATION_LOG)]
set logFileName [file join $logFileDir "osvvm_simulation.log"]
set fh [open $logFileName a]
puts $fh "vsim {*}$SimulateOptions"
close $fh
}
vsim {*}$SimulateOptions
}
# -------------------------------------------------
# vendor_CreateSimulateDoFile
#
proc vendor_CreateSimulateDoFile {LibraryUnit ScriptFileName} {
# Sigasi does not run simulations, so nothing to do here
}
# -------------------------------------------------
proc vendor_generic {Name Value} {
return "-g${Name}=${Value}"
}
# -------------------------------------------------
# SetCoverageAnalyzeOptions
# SetCoverageCoverageOptions
#
proc vendor_SetCoverageAnalyzeDefaults {} {
# Sigasi does not handle coverage
}
proc vendor_SetCoverageSimulateDefaults {} {
# Sigasi does not handle coverage
}
# -------------------------------------------------
# Coverage - Not supported in Sigasi
#
proc vendor_MergeCodeCoverage {TestSuiteName CoverageDirectory BuildName} {
}
proc vendor_ReportCodeCoverage {TestSuiteName CodeCoverageDirectory} {
}
proc vendor_GetCoverageFileName {TestName} {
return ""
}