Skip to content

Commit 10c466e

Browse files
authored
Merge pull request #80 from lievenlemiengre/dev
A VendorScript to connect Osvvm pro build system to Sigasi
2 parents bf348fb + 1a262a9 commit 10c466e

File tree

1 file changed

+150
-0
lines changed

1 file changed

+150
-0
lines changed

VendorScripts_Sigasi.tcl

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
# File Name: VendorScripts_Sigasi.tcl
2+
# Purpose: Scripts for running simulations in Sigasi
3+
# Revision: OSVVM MODELS STANDARD VERSION
4+
#
5+
# Maintainer: Jim Lewis email: jim@synthworks.com
6+
# Contributor(s):
7+
# Lieven Lemiengre email:lieven.lemiengre@sigasi.com
8+
#
9+
# Description
10+
# Tcl procedures with the intent of making running
11+
# compiling and simulations tool independent
12+
#
13+
# Developed by:
14+
# SynthWorks Design Inc.
15+
# VHDL Training Classes
16+
# OSVVM Methodology and Model Library
17+
# 11898 SW 128th Ave. Tigard, Or 97223
18+
# http://www.SynthWorks.com
19+
#
20+
# Revision History:
21+
# Date Version Description
22+
# 02/2026 2025.09 Initial version for Sigasi Visual HDL
23+
#
24+
#
25+
# This file is part of OSVVM.
26+
#
27+
# Copyright (c) 2018 - 2025 by SynthWorks Design Inc.
28+
#
29+
# Licensed under the Apache License, Version 2.0 (the "License");
30+
# you may not use this file except in compliance with the License.
31+
# You may obtain a copy of the License at
32+
#
33+
# https://www.apache.org/licenses/LICENSE-2.0
34+
#
35+
# Unless required by applicable law or agreed to in writing, software
36+
# distributed under the License is distributed on an "AS IS" BASIS,
37+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
38+
# See the License for the specific language governing permissions and
39+
# limitations under the License.
40+
#
41+
42+
# -------------------------------------------------
43+
# Tool Settings
44+
#
45+
variable ToolType "ide"
46+
variable ToolVendor "Sigasi"
47+
variable ToolName "Sigasi"
48+
variable ToolVersion "Visual-HDL"
49+
variable ToolNameVersion ${ToolName}-${ToolVersion}
50+
variable simulator $ToolName ; # Variable simulator is deprecated. Use ToolName instead
51+
52+
if {[info exists ::env(OSVVM_VHDL_TARGET)] && $::env(OSVVM_VHDL_TARGET) >= 2019} {
53+
SetVHDLVersion 2019
54+
variable Supports2019Interface "true"
55+
} else {
56+
SetVHDLVersion 2008
57+
}
58+
set ::osvvm::GenerateOsvvmReports "false"
59+
60+
61+
proc CallbackBefore_Build { Path_Or_File } {
62+
}
63+
64+
# -------------------------------------------------
65+
# Library
66+
#
67+
proc vendor_library {LibraryName PathToLib} {
68+
}
69+
proc vendor_LinkLibrary {LibraryName PathToLib} {
70+
}
71+
proc vendor_UnlinkLibrary {LibraryName PathToLib} {
72+
}
73+
74+
# -------------------------------------------------
75+
# analyze
76+
#
77+
proc vendor_analyze_vhdl {LibraryName FileName args} {
78+
variable VhdlVersion
79+
80+
set AnalyzeOptions [concat -${VhdlVersion} -work ${LibraryName} {*}${args} ${FileName}]
81+
vcom {*}$AnalyzeOptions
82+
}
83+
84+
proc vendor_analyze_verilog {LibraryName FileName args} {
85+
set AnalyzeOptions [concat [CreateVerilogLibraryParams "-L "] -work ${LibraryName} {*}${args} ${FileName}]
86+
vlog {*}$AnalyzeOptions
87+
}
88+
89+
# -------------------------------------------------
90+
# End Previous Simulation
91+
#
92+
proc vendor_end_previous_simulation {} {
93+
# Sigasi does not run simulations, so nothing to do here
94+
}
95+
96+
# -------------------------------------------------
97+
# vendor_simulate
98+
#
99+
proc vendor_simulate {LibraryName LibraryUnit args} {
100+
variable SimulateTimeUnits
101+
102+
set SimulateOptions [concat -t $SimulateTimeUnits -lib ${LibraryName} ${LibraryUnit} {*}${args} {*}${::osvvm::GenericOptions}]
103+
104+
if {[info exists ::env(SIGASI_COMPILATION_LOG)]} {
105+
set logFileDir [file dirname $::env(SIGASI_COMPILATION_LOG)]
106+
set logFileName [file join $logFileDir "osvvm_simulation.log"]
107+
set fh [open $logFileName a]
108+
puts $fh "vsim {*}$SimulateOptions"
109+
close $fh
110+
}
111+
112+
vsim {*}$SimulateOptions
113+
}
114+
115+
# -------------------------------------------------
116+
# vendor_CreateSimulateDoFile
117+
#
118+
proc vendor_CreateSimulateDoFile {LibraryUnit ScriptFileName} {
119+
# Sigasi does not run simulations, so nothing to do here
120+
}
121+
122+
# -------------------------------------------------
123+
proc vendor_generic {Name Value} {
124+
return "-g${Name}=${Value}"
125+
}
126+
127+
# -------------------------------------------------
128+
# SetCoverageAnalyzeOptions
129+
# SetCoverageCoverageOptions
130+
#
131+
proc vendor_SetCoverageAnalyzeDefaults {} {
132+
# Sigasi does not handle coverage
133+
}
134+
135+
proc vendor_SetCoverageSimulateDefaults {} {
136+
# Sigasi does not handle coverage
137+
}
138+
139+
# -------------------------------------------------
140+
# Coverage - Not supported in Sigasi
141+
#
142+
proc vendor_MergeCodeCoverage {TestSuiteName CoverageDirectory BuildName} {
143+
}
144+
145+
proc vendor_ReportCodeCoverage {TestSuiteName CodeCoverageDirectory} {
146+
}
147+
148+
proc vendor_GetCoverageFileName {TestName} {
149+
return ""
150+
}

0 commit comments

Comments
 (0)