Merge branch 'master' into develop-v5

This commit is contained in:
Wilson Snyder 2022-06-19 15:22:09 -04:00
commit e7ca4a69e3
25 changed files with 1192 additions and 1019 deletions

17
Changes
View File

@ -19,7 +19,14 @@ Verilator 5.001 devel
clocks are now simulated correctly (#3278, #3384). [Geza Lore, Shunyao CAD]
Verilator 4.223 devel
Verilator 4.225 devel
==========================
**Minor:**
Verilator 4.224 2022-06-19
==========================
**Major:**
@ -30,16 +37,24 @@ Verilator 4.223 devel
* Add -f<optimization> options to replace -O<letter> options (#3436).
* Changed --no-merge-const-pool to -fno-merge-const-pool (#3436).
* Changed --no-decoration to remove output whitespace (#3460). [Kamil Rakoczy]
* Support compile time trace signal selection with tracing_on/off (#3323). [Shunyao CAD]
* Support non-ANSI interface port declarations (#3439). [Geza Lore, Shunyao CAD]
* Support concat assignment to packed array (#3446).
* Improve conditional merging optimization (#3125). [Geza Lore, Shunyao CAD]
* Define VM_TRACE_VCD when tracing in VCD format. [Geza Lore, Shunyao CAD]
* Add assert when VerilatedContext is mis-deleted (#3121). [Rupert Swarbrick]
* Internal prep work towards timing control. [Krzysztof Bieganski]
* Fix hang with large case statement optimization (#3405). [Mike Urbach]
* Fix UNOPTFLAT warning from initial static var (#3406). [Kamil Rakoczy]
* Fix compile error when enable VL_LEAK_CHECKS (#3411). [HungMingWu]
* Fix cmake rules to support higher-level targets (#3377) (#3386). [Martin Stadler]
* Fix BLKANDNBLK on $readmem/$writemem (#3379). [Alex Solomatnikov]
* Fix 'with' operator with type casting (#3387). [xiak95]
* Fix incorrect conditional merging (#3409). [Raynard Qiao]
* Fix passing VL_TRACE_FST_WRITER_THREAD in CMake build. [Geza Lore, Shunyao CAD]
* Fix compile error under strict C++11 mode (#3463). [Kevin Kiningham]
* Fix public unpacked input ports (#3465). [Todd Strader]
Verilator 4.222 2022-05-02

View File

@ -5,14 +5,14 @@
# General Public License Version 3 or the Perl Artistic License Version 2.0.
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
# When releasing, also update header of Changes file
# and commit using "devel release" or "Version bump" message
# Then 'make maintainer-dist'
#AC_INIT([Verilator],[#.### YYYY-MM-DD])
#AC_INIT([Verilator],[#.### devel])
AC_INIT([Verilator],[5.001 devel],
[https://verilator.org],
[verilator],[https://verilator.org])
# When releasing, also update header of Changes file
# and commit using "devel release" or "Version bump" message
# Then 'make maintainer-dist'
AC_CONFIG_HEADERS(src/config_build.h)
AC_CONFIG_FILES(Makefile src/Makefile src/Makefile_obj include/verilated.mk include/verilated_config.h verilator.pc verilator-config.cmake verilator-config-version.cmake)

View File

@ -456,6 +456,8 @@ Summary:
.. option:: -fno-merge-cond
.. option:: -fno-merge-cond-motion
.. option:: -fno-merge-const-pool
.. option:: -fno-reloop

View File

@ -125,6 +125,7 @@ Those developing Verilator itself may also want these (see internals.rst):
::
sudo apt-get install gdb graphviz cmake clang clang-format-11 gprof lcov
sudo apt-get install yapf3
sudo pip3 install sphinx sphinx_rtd_theme sphinxcontrib-spelling breathe
cpan install Pod::Perldoc
cpan install Parallel::Forker

View File

@ -2034,11 +2034,12 @@ private:
return Default;
}
template <typename T_Node> constexpr static void checkTypeParameter() {
template <typename T_Node> constexpr static bool checkTypeParameter() {
static_assert(!std::is_const<T_Node>::value,
"Type parameter 'T_Node' should not be const qualified");
static_assert(std::is_base_of<AstNode, T_Node>::value,
"Type parameter 'T_Node' must be a subtype of AstNode");
return true;
}
public:
@ -2048,25 +2049,25 @@ public:
// operation function in 'foreach' should be completely predictable by branch target caches in
// modern CPUs, while it is basically unpredictable for VNVisitor.
template <typename T_Node> void foreach (std::function<void(T_Node*)> f) {
checkTypeParameter<T_Node>();
static_assert(checkTypeParameter<T_Node>(), "Invalid type parameter 'T_Node'");
foreachImpl<T_Node, /* VisitNext: */ false>(this, f);
}
// Same as above, but for 'const' nodes
template <typename T_Node> void foreach (std::function<void(const T_Node*)> f) const {
checkTypeParameter<T_Node>();
static_assert(checkTypeParameter<T_Node>(), "Invalid type parameter 'T_Node'");
foreachImpl<const T_Node, /* VisitNext: */ false>(this, f);
}
// Same as 'foreach' but also follows 'this->nextp()'
template <typename T_Node> void foreachAndNext(std::function<void(T_Node*)> f) {
checkTypeParameter<T_Node>();
static_assert(checkTypeParameter<T_Node>(), "Invalid type parameter 'T_Node'");
foreachImpl<T_Node, /* VisitNext: */ true>(this, f);
}
// Same as 'foreach' but also follows 'this->nextp()'
template <typename T_Node> void foreachAndNext(std::function<void(const T_Node*)> f) const {
checkTypeParameter<T_Node>();
static_assert(checkTypeParameter<T_Node>(), "Invalid type parameter 'T_Node'");
foreachImpl<const T_Node, /* VisitNext: */ true>(this, f);
}
@ -2075,13 +2076,13 @@ public:
// present. Traversal is performed in some arbitrary order and is terminated as soon as the
// result can be determined.
template <typename T_Node> bool exists(std::function<bool(T_Node*)> p) {
checkTypeParameter<T_Node>();
static_assert(checkTypeParameter<T_Node>(), "Invalid type parameter 'T_Node'");
return predicateImpl<T_Node, /* Default: */ false, /* VisitNext: */ false>(this, p);
}
// Same as above, but for 'const' nodes
template <typename T_Node> void exists(std::function<bool(const T_Node*)> p) const {
checkTypeParameter<T_Node>();
static_assert(checkTypeParameter<T_Node>(), "Invalid type parameter 'T_Node'");
return predicateImpl<const T_Node, /* Default: */ false, /* VisitNext: */ false>(this, p);
}
@ -2090,13 +2091,13 @@ public:
// present. Traversal is performed in some arbitrary order and is terminated as soon as the
// result can be determined.
template <typename T_Node> bool forall(std::function<bool(T_Node*)> p) {
checkTypeParameter<T_Node>();
static_assert(checkTypeParameter<T_Node>(), "Invalid type parameter 'T_Node'");
return predicateImpl<T_Node, /* Default: */ true, /* VisitNext: */ false>(this, p);
}
// Same as above, but for 'const' nodes
template <typename T_Node> void forall(std::function<bool(const T_Node*)> p) const {
checkTypeParameter<T_Node>();
static_assert(checkTypeParameter<T_Node>(), "Invalid type parameter 'T_Node'");
return predicateImpl<const T_Node, /* Default: */ true, /* VisitNext: */ false>(this, p);
}

View File

@ -94,6 +94,7 @@ private:
bool m_inDly = false; // True in delayed assignments
bool m_inLoop = false; // True in for loops
bool m_inInitial = false; // True in static initializers and initial blocks
bool m_ignoreBlkAndNBlk = false; // Suppress delayed assignment BLKANDNBLK
using VarMap = std::map<const std::pair<AstNodeModule*, std::string>, AstVar*>;
VarMap m_modVarMap; // Table of new var names created under module
VDouble0 m_statSharedSet; // Statistic tracking
@ -105,6 +106,7 @@ private:
void markVarUsage(AstNodeVarRef* nodep, bool blocking) {
// Ignore if warning is disabled on this reference (used by V3Force).
if (nodep->fileline()->warnIsOff(V3ErrorCode::BLKANDNBLK)) return;
if (m_ignoreBlkAndNBlk) return;
if (blocking) nodep->user5(true);
AstVarScope* const vscp = nodep->varScopep();
// UINFO(4, " MVU " << blocking << " " << nodep << endl);
@ -517,6 +519,13 @@ private:
}
}
virtual void visit(AstNodeReadWriteMem* nodep) override {
VL_RESTORER(m_ignoreBlkAndNBlk);
m_ignoreBlkAndNBlk = true; // $readmem/$writemem often used in mem models
// so we will suppress BLKANDNBLK warnings
iterateChildren(nodep);
}
virtual void visit(AstNodeFor* nodep) override { // LCOV_EXCL_LINE
nodep->v3fatalSrc(
"For statements should have been converted to while statements in V3Begin");

View File

@ -800,6 +800,10 @@ class EmitVPrefixedFormatter final : public V3OutFormatter {
}
}
virtual void putsOutput(const char* strg) override {
for (const char* cp = strg; *cp; cp++) putcOutput(*cp);
}
public:
void prefixFl(FileLine* fl) { m_prefixFl = fl; }
FileLine* prefixFl() const { return m_prefixFl; }

View File

@ -700,6 +700,10 @@ int V3OutFormatter::endLevels(const char* strg) {
}
void V3OutFormatter::puts(const char* strg) {
if (!v3Global.opt.decoration()) {
putsOutput(strg);
return;
}
if (m_prependIndent && strg[0] != '\n') {
putsNoTracking(indentSpaces(endLevels(strg)));
m_prependIndent = false;
@ -759,13 +763,8 @@ void V3OutFormatter::puts(const char* strg) {
break;
case '(':
indentInc();
if (v3Global.opt.decoration()) {
// Line up continuation with open paren, plus one indent
m_parenVec.push(m_column);
} else {
// Line up continuation with block+1
m_parenVec.push(m_indentLevel * m_blockIndent);
}
// Line up continuation with open paren, plus one indent
m_parenVec.push(m_column);
break;
case ')':
if (!m_parenVec.empty()) m_parenVec.pop();
@ -806,6 +805,7 @@ void V3OutFormatter::putBreakExpr() {
// Add a line break if too wide
void V3OutFormatter::putBreak() {
if (!v3Global.opt.decoration()) return;
if (!m_nobreak) {
// char s[1000]; sprintf(s, "{%d,%d}", m_column, m_parenVec.top()); putsNoTracking(s);
if (exceededWidth()) {
@ -824,11 +824,19 @@ void V3OutFormatter::putsQuoted(const string& strg) {
putcNoTracking('"');
}
void V3OutFormatter::putsNoTracking(const string& strg) {
if (!v3Global.opt.decoration()) {
putsOutput(strg.c_str());
return;
}
// Don't track {}'s, probably because it's a $display format string
for (const char c : strg) putcNoTracking(c);
}
void V3OutFormatter::putcNoTracking(char chr) {
if (!v3Global.opt.decoration()) {
putcOutput(chr);
return;
}
switch (chr) {
case '\n':
m_lineno++;

View File

@ -176,6 +176,7 @@ public:
// CALLBACKS - MUST OVERRIDE
virtual void putcOutput(char chr) = 0;
virtual void putsOutput(const char* str) = 0;
};
//============================================================================
@ -193,6 +194,7 @@ public:
private:
// CALLBACKS
virtual void putcOutput(char chr) override { fputc(chr, m_fp); }
virtual void putsOutput(const char* str) override { fputs(str, m_fp); }
};
class V3OutCFile VL_NOT_FINAL : public V3OutFile {

View File

@ -311,8 +311,8 @@ private:
// code will be emitted.
UINFO(9, "assign to public and unpacked: " << nodep << endl);
m_modp->addStmtp(
new AstAssignW(flp, new AstVarRef(flp, exprvarrefp->varp(), VAccess::WRITE),
new AstVarRef(flp, nodep, VAccess::READ)));
new AstAssignW{flp, new AstVarRef{flp, nodep, VAccess::WRITE},
new AstVarRef{flp, exprvarrefp->varp(), VAccess::READ}});
} else if (nodep->isIfaceRef()) {
m_modp->addStmtp(
new AstAssignVarScope(flp, new AstVarRef(flp, nodep, VAccess::WRITE),

View File

@ -218,10 +218,10 @@ public:
void lifeToAbove() {
// Any varrefs under a if/else branch affect statements outside and after the if/else
if (!m_aboveLifep) v3fatalSrc("Pushing life when already at the top level");
for (LifeMap::iterator it = m_map.begin(); it != m_map.end(); ++it) {
AstVarScope* const nodep = it->first;
for (auto& itr : m_map) {
AstVarScope* const nodep = itr.first;
m_aboveLifep->complexAssignFind(nodep);
if (it->second.everSet()) {
if (itr.second.everSet()) {
// Record there may be an assignment, so we don't constant propagate across the if.
complexAssignFind(nodep);
} else {
@ -235,14 +235,14 @@ public:
// life1p->lifeDump();
// life2p->lifeDump();
AstNode::user1ClearTree(); // user1p() used on entire tree
for (LifeMap::iterator it = life1p->m_map.begin(); it != life1p->m_map.end(); ++it) {
for (auto& itr : life1p->m_map) {
// When the if branch sets a var before it's used, mark that variable
if (it->second.setBeforeUse()) it->first->user1(1);
if (itr.second.setBeforeUse()) itr.first->user1(1);
}
for (LifeMap::iterator it = life2p->m_map.begin(); it != life2p->m_map.end(); ++it) {
for (auto& itr : life2p->m_map) {
// When the else branch sets a var before it's used
AstVarScope* const nodep = it->first;
if (it->second.setBeforeUse() && nodep->user1()) {
AstVarScope* const nodep = itr.first;
if (itr.second.setBeforeUse() && nodep->user1()) {
// Both branches set the var, we can remove the assignment before the IF.
UINFO(4, "DUALBRANCH " << nodep << endl);
const auto itab = m_map.find(nodep);
@ -251,14 +251,15 @@ public:
}
// this->lifeDump();
}
void clear() { m_map.clear(); }
// DEBUG
void lifeDump() {
UINFO(5, " LifeMap:" << endl);
for (LifeMap::iterator it = m_map.begin(); it != m_map.end(); ++it) {
UINFO(5, " Ent: " << (it->second.setBeforeUse() ? "[F] " : " ") << it->first
for (const auto& itr : m_map) {
UINFO(5, " Ent: " << (itr.second.setBeforeUse() ? "[F] " : " ") << itr.first
<< endl);
if (it->second.assignp()) { //
UINFO(5, " Ass: " << it->second.assignp() << endl);
if (itr.second.assignp()) { //
UINFO(5, " Ass: " << itr.second.assignp() << endl);
}
}
}
@ -283,6 +284,10 @@ private:
// METHODS
VL_DEBUG_FUNC; // Declare debug()
void setNoopt() {
m_noopt = true;
m_lifep->clear();
}
// VISITORS
virtual void visit(AstVarRef* nodep) override {
@ -386,13 +391,12 @@ private:
// Just don't optimize blocks with labels; they're rare - so far.
LifeBlock* const prevLifep = m_lifep;
LifeBlock* const bodyLifep = new LifeBlock(prevLifep, m_statep);
const bool prev_noopt = m_noopt;
{
VL_RESTORER(m_noopt);
m_lifep = bodyLifep;
m_noopt = true;
setNoopt();
iterateAndNextNull(nodep->stmtsp());
m_lifep = prevLifep;
m_noopt = prev_noopt;
}
UINFO(4, " joinjump" << endl);
// For the next assignments, clear any variables that were read or written in the block

View File

@ -477,10 +477,12 @@ private:
AstNode* currp = m_workQueuep->front();
m_workQueuep->pop();
// Analyse sub-tree list for code motion
// Analyse sub-tree list for code motion and conditional merging
CodeMotionAnalysisVisitor::analyze(currp, stmtProperties);
// Perform the code motion within the whole sub-tree list
currp = CodeMotionOptimizeVisitor::optimize(currp, stmtProperties);
if (v3Global.opt.fMergeCondMotion()) {
currp = CodeMotionOptimizeVisitor::optimize(currp, stmtProperties);
}
// Merge conditionals in the whole sub-tree list (this might create new work items)
iterateAndNextNull(currp);

View File

@ -1097,6 +1097,7 @@ void V3Options::parseOptsList(FileLine* fl, const string& optdir, int argc, char
DECL_OPTION("-flife-post", FOnOff, &m_fLifePost);
DECL_OPTION("-flocalize", FOnOff, &m_fLocalize);
DECL_OPTION("-fmerge-cond", FOnOff, &m_fMergeCond);
DECL_OPTION("-fmerge-cond-motion", FOnOff, &m_fMergeCondMotion);
DECL_OPTION("-fmerge-const-pool", FOnOff, &m_fMergeConstPool);
DECL_OPTION("-freloop", FOnOff, &m_fReloop);
DECL_OPTION("-freorder", FOnOff, &m_fReorder);

View File

@ -353,7 +353,8 @@ private:
bool m_fLifePost; // main switch: -fno-life-post: delayed assignment elimination
bool m_fLocalize; // main switch: -fno-localize: convert temps to local variables
bool m_fMergeCond; // main switch: -fno-merge-cond: merge conditionals
bool m_fMergeConstPool = true; // main switch: --fmerge-const-pool
bool m_fMergeCondMotion = true; // main switch: -fno-merge-cond-motion: perform code motion
bool m_fMergeConstPool = true; // main switch: -fno-merge-const-pool
bool m_fReloop; // main switch: -fno-reloop: reform loops
bool m_fReorder; // main switch: -fno-reorder: reorder assignments in blocks
bool m_fSplit; // main switch: -fno-split: always assignment splitting
@ -585,6 +586,7 @@ public:
bool fLifePost() const { return m_fLifePost; }
bool fLocalize() const { return m_fLocalize; }
bool fMergeCond() const { return m_fMergeCond; }
bool fMergeCondMotion() const { return m_fMergeCondMotion; }
bool fMergeConstPool() const { return m_fMergeConstPool; }
bool fReloop() const { return m_fReloop; }
bool fReorder() const { return m_fReorder; }

View File

@ -15,142 +15,142 @@ extern "C" {
#endif
// DPI EXPORTS
extern void e_array_2_state_1(svBitVecVal* x);
extern void e_array_2_state_128(svBitVecVal* x);
extern void e_array_2_state_32(svBitVecVal* x);
extern void e_array_2_state_33(svBitVecVal* x);
extern void e_array_2_state_64(svBitVecVal* x);
extern void e_array_2_state_65(svBitVecVal* x);
extern void e_array_4_state_1(svLogicVecVal* x);
extern void e_array_4_state_128(svLogicVecVal* x);
extern void e_array_4_state_32(svLogicVecVal* x);
extern void e_array_4_state_33(svLogicVecVal* x);
extern void e_array_4_state_64(svLogicVecVal* x);
extern void e_array_4_state_65(svLogicVecVal* x);
extern void e_bit(svBit* x);
extern void e_bit_t(svBit* x);
extern void e_byte(char* x);
extern void e_byte_t(char* x);
extern void e_byte_unsigned(unsigned char* x);
extern void e_byte_unsigned_t(unsigned char* x);
extern void e_chandle(void** x);
extern void e_chandle_t(void** x);
extern void e_int(int* x);
extern void e_int_t(int* x);
extern void e_int_unsigned(unsigned int* x);
extern void e_int_unsigned_t(unsigned int* x);
extern void e_integer(svLogicVecVal* x);
extern void e_integer_t(svLogicVecVal* x);
extern void e_logic(svLogic* x);
extern void e_logic_t(svLogic* x);
extern void e_longint(long long* x);
extern void e_longint_t(long long* x);
extern void e_longint_unsigned(unsigned long long* x);
extern void e_longint_unsigned_t(unsigned long long* x);
extern void e_real(double* x);
extern void e_real_t(double* x);
extern void e_shortint(short* x);
extern void e_shortint_t(short* x);
extern void e_shortint_unsigned(unsigned short* x);
extern void e_shortint_unsigned_t(unsigned short* x);
extern void e_string(const char** x);
extern void e_string_t(const char** x);
extern void e_struct_2_state_1(svBitVecVal* x);
extern void e_struct_2_state_128(svBitVecVal* x);
extern void e_struct_2_state_32(svBitVecVal* x);
extern void e_struct_2_state_33(svBitVecVal* x);
extern void e_struct_2_state_64(svBitVecVal* x);
extern void e_struct_2_state_65(svBitVecVal* x);
extern void e_struct_4_state_1(svLogicVecVal* x);
extern void e_struct_4_state_128(svLogicVecVal* x);
extern void e_struct_4_state_32(svLogicVecVal* x);
extern void e_struct_4_state_33(svLogicVecVal* x);
extern void e_struct_4_state_64(svLogicVecVal* x);
extern void e_struct_4_state_65(svLogicVecVal* x);
extern void e_time(svLogicVecVal* x);
extern void e_time_t(svLogicVecVal* x);
extern void e_union_2_state_1(svBitVecVal* x);
extern void e_union_2_state_128(svBitVecVal* x);
extern void e_union_2_state_32(svBitVecVal* x);
extern void e_union_2_state_33(svBitVecVal* x);
extern void e_union_2_state_64(svBitVecVal* x);
extern void e_union_2_state_65(svBitVecVal* x);
extern void e_union_4_state_1(svLogicVecVal* x);
extern void e_union_4_state_128(svLogicVecVal* x);
extern void e_union_4_state_32(svLogicVecVal* x);
extern void e_union_4_state_33(svLogicVecVal* x);
extern void e_union_4_state_64(svLogicVecVal* x);
extern void e_union_4_state_65(svLogicVecVal* x);
// DPI EXPORTS
extern void e_array_2_state_1(svBitVecVal* x);
extern void e_array_2_state_128(svBitVecVal* x);
extern void e_array_2_state_32(svBitVecVal* x);
extern void e_array_2_state_33(svBitVecVal* x);
extern void e_array_2_state_64(svBitVecVal* x);
extern void e_array_2_state_65(svBitVecVal* x);
extern void e_array_4_state_1(svLogicVecVal* x);
extern void e_array_4_state_128(svLogicVecVal* x);
extern void e_array_4_state_32(svLogicVecVal* x);
extern void e_array_4_state_33(svLogicVecVal* x);
extern void e_array_4_state_64(svLogicVecVal* x);
extern void e_array_4_state_65(svLogicVecVal* x);
extern void e_bit(svBit* x);
extern void e_bit_t(svBit* x);
extern void e_byte(char* x);
extern void e_byte_t(char* x);
extern void e_byte_unsigned(unsigned char* x);
extern void e_byte_unsigned_t(unsigned char* x);
extern void e_chandle(void** x);
extern void e_chandle_t(void** x);
extern void e_int(int* x);
extern void e_int_t(int* x);
extern void e_int_unsigned(unsigned int* x);
extern void e_int_unsigned_t(unsigned int* x);
extern void e_integer(svLogicVecVal* x);
extern void e_integer_t(svLogicVecVal* x);
extern void e_logic(svLogic* x);
extern void e_logic_t(svLogic* x);
extern void e_longint(long long* x);
extern void e_longint_t(long long* x);
extern void e_longint_unsigned(unsigned long long* x);
extern void e_longint_unsigned_t(unsigned long long* x);
extern void e_real(double* x);
extern void e_real_t(double* x);
extern void e_shortint(short* x);
extern void e_shortint_t(short* x);
extern void e_shortint_unsigned(unsigned short* x);
extern void e_shortint_unsigned_t(unsigned short* x);
extern void e_string(const char** x);
extern void e_string_t(const char** x);
extern void e_struct_2_state_1(svBitVecVal* x);
extern void e_struct_2_state_128(svBitVecVal* x);
extern void e_struct_2_state_32(svBitVecVal* x);
extern void e_struct_2_state_33(svBitVecVal* x);
extern void e_struct_2_state_64(svBitVecVal* x);
extern void e_struct_2_state_65(svBitVecVal* x);
extern void e_struct_4_state_1(svLogicVecVal* x);
extern void e_struct_4_state_128(svLogicVecVal* x);
extern void e_struct_4_state_32(svLogicVecVal* x);
extern void e_struct_4_state_33(svLogicVecVal* x);
extern void e_struct_4_state_64(svLogicVecVal* x);
extern void e_struct_4_state_65(svLogicVecVal* x);
extern void e_time(svLogicVecVal* x);
extern void e_time_t(svLogicVecVal* x);
extern void e_union_2_state_1(svBitVecVal* x);
extern void e_union_2_state_128(svBitVecVal* x);
extern void e_union_2_state_32(svBitVecVal* x);
extern void e_union_2_state_33(svBitVecVal* x);
extern void e_union_2_state_64(svBitVecVal* x);
extern void e_union_2_state_65(svBitVecVal* x);
extern void e_union_4_state_1(svLogicVecVal* x);
extern void e_union_4_state_128(svLogicVecVal* x);
extern void e_union_4_state_32(svLogicVecVal* x);
extern void e_union_4_state_33(svLogicVecVal* x);
extern void e_union_4_state_64(svLogicVecVal* x);
extern void e_union_4_state_65(svLogicVecVal* x);
// DPI IMPORTS
extern void check_exports();
extern void i_array_2_state_1(svBitVecVal* x);
extern void i_array_2_state_128(svBitVecVal* x);
extern void i_array_2_state_32(svBitVecVal* x);
extern void i_array_2_state_33(svBitVecVal* x);
extern void i_array_2_state_64(svBitVecVal* x);
extern void i_array_2_state_65(svBitVecVal* x);
extern void i_array_4_state_1(svLogicVecVal* x);
extern void i_array_4_state_128(svLogicVecVal* x);
extern void i_array_4_state_32(svLogicVecVal* x);
extern void i_array_4_state_33(svLogicVecVal* x);
extern void i_array_4_state_64(svLogicVecVal* x);
extern void i_array_4_state_65(svLogicVecVal* x);
extern void i_bit(svBit* x);
extern void i_bit_t(svBit* x);
extern void i_byte(char* x);
extern void i_byte_t(char* x);
extern void i_byte_unsigned(unsigned char* x);
extern void i_byte_unsigned_t(unsigned char* x);
extern void i_chandle(void** x);
extern void i_chandle_t(void** x);
extern void i_int(int* x);
extern void i_int_t(int* x);
extern void i_int_unsigned(unsigned int* x);
extern void i_int_unsigned_t(unsigned int* x);
extern void i_integer(svLogicVecVal* x);
extern void i_integer_t(svLogicVecVal* x);
extern void i_logic(svLogic* x);
extern void i_logic_t(svLogic* x);
extern void i_longint(long long* x);
extern void i_longint_t(long long* x);
extern void i_longint_unsigned(unsigned long long* x);
extern void i_longint_unsigned_t(unsigned long long* x);
extern void i_real(double* x);
extern void i_real_t(double* x);
extern void i_shortint(short* x);
extern void i_shortint_t(short* x);
extern void i_shortint_unsigned(unsigned short* x);
extern void i_shortint_unsigned_t(unsigned short* x);
extern void i_string(const char** x);
extern void i_string_t(const char** x);
extern void i_struct_2_state_1(svBitVecVal* x);
extern void i_struct_2_state_128(svBitVecVal* x);
extern void i_struct_2_state_32(svBitVecVal* x);
extern void i_struct_2_state_33(svBitVecVal* x);
extern void i_struct_2_state_64(svBitVecVal* x);
extern void i_struct_2_state_65(svBitVecVal* x);
extern void i_struct_4_state_1(svLogicVecVal* x);
extern void i_struct_4_state_128(svLogicVecVal* x);
extern void i_struct_4_state_32(svLogicVecVal* x);
extern void i_struct_4_state_33(svLogicVecVal* x);
extern void i_struct_4_state_64(svLogicVecVal* x);
extern void i_struct_4_state_65(svLogicVecVal* x);
extern void i_time(svLogicVecVal* x);
extern void i_time_t(svLogicVecVal* x);
extern void i_union_2_state_1(svBitVecVal* x);
extern void i_union_2_state_128(svBitVecVal* x);
extern void i_union_2_state_32(svBitVecVal* x);
extern void i_union_2_state_33(svBitVecVal* x);
extern void i_union_2_state_64(svBitVecVal* x);
extern void i_union_2_state_65(svBitVecVal* x);
extern void i_union_4_state_1(svLogicVecVal* x);
extern void i_union_4_state_128(svLogicVecVal* x);
extern void i_union_4_state_32(svLogicVecVal* x);
extern void i_union_4_state_33(svLogicVecVal* x);
extern void i_union_4_state_64(svLogicVecVal* x);
extern void i_union_4_state_65(svLogicVecVal* x);
// DPI IMPORTS
extern void check_exports();
extern void i_array_2_state_1(svBitVecVal* x);
extern void i_array_2_state_128(svBitVecVal* x);
extern void i_array_2_state_32(svBitVecVal* x);
extern void i_array_2_state_33(svBitVecVal* x);
extern void i_array_2_state_64(svBitVecVal* x);
extern void i_array_2_state_65(svBitVecVal* x);
extern void i_array_4_state_1(svLogicVecVal* x);
extern void i_array_4_state_128(svLogicVecVal* x);
extern void i_array_4_state_32(svLogicVecVal* x);
extern void i_array_4_state_33(svLogicVecVal* x);
extern void i_array_4_state_64(svLogicVecVal* x);
extern void i_array_4_state_65(svLogicVecVal* x);
extern void i_bit(svBit* x);
extern void i_bit_t(svBit* x);
extern void i_byte(char* x);
extern void i_byte_t(char* x);
extern void i_byte_unsigned(unsigned char* x);
extern void i_byte_unsigned_t(unsigned char* x);
extern void i_chandle(void** x);
extern void i_chandle_t(void** x);
extern void i_int(int* x);
extern void i_int_t(int* x);
extern void i_int_unsigned(unsigned int* x);
extern void i_int_unsigned_t(unsigned int* x);
extern void i_integer(svLogicVecVal* x);
extern void i_integer_t(svLogicVecVal* x);
extern void i_logic(svLogic* x);
extern void i_logic_t(svLogic* x);
extern void i_longint(long long* x);
extern void i_longint_t(long long* x);
extern void i_longint_unsigned(unsigned long long* x);
extern void i_longint_unsigned_t(unsigned long long* x);
extern void i_real(double* x);
extern void i_real_t(double* x);
extern void i_shortint(short* x);
extern void i_shortint_t(short* x);
extern void i_shortint_unsigned(unsigned short* x);
extern void i_shortint_unsigned_t(unsigned short* x);
extern void i_string(const char** x);
extern void i_string_t(const char** x);
extern void i_struct_2_state_1(svBitVecVal* x);
extern void i_struct_2_state_128(svBitVecVal* x);
extern void i_struct_2_state_32(svBitVecVal* x);
extern void i_struct_2_state_33(svBitVecVal* x);
extern void i_struct_2_state_64(svBitVecVal* x);
extern void i_struct_2_state_65(svBitVecVal* x);
extern void i_struct_4_state_1(svLogicVecVal* x);
extern void i_struct_4_state_128(svLogicVecVal* x);
extern void i_struct_4_state_32(svLogicVecVal* x);
extern void i_struct_4_state_33(svLogicVecVal* x);
extern void i_struct_4_state_64(svLogicVecVal* x);
extern void i_struct_4_state_65(svLogicVecVal* x);
extern void i_time(svLogicVecVal* x);
extern void i_time_t(svLogicVecVal* x);
extern void i_union_2_state_1(svBitVecVal* x);
extern void i_union_2_state_128(svBitVecVal* x);
extern void i_union_2_state_32(svBitVecVal* x);
extern void i_union_2_state_33(svBitVecVal* x);
extern void i_union_2_state_64(svBitVecVal* x);
extern void i_union_2_state_65(svBitVecVal* x);
extern void i_union_4_state_1(svLogicVecVal* x);
extern void i_union_4_state_128(svLogicVecVal* x);
extern void i_union_4_state_32(svLogicVecVal* x);
extern void i_union_4_state_33(svLogicVecVal* x);
extern void i_union_4_state_64(svLogicVecVal* x);
extern void i_union_4_state_65(svLogicVecVal* x);
#ifdef __cplusplus
}

View File

@ -15,171 +15,171 @@ extern "C" {
#endif
// DPI EXPORTS
extern void e_bit121_0d(svBitVecVal* val);
extern void e_bit121_1d(svBitVecVal* val);
extern void e_bit121_2d(svBitVecVal* val);
extern void e_bit121_3d(svBitVecVal* val);
extern void e_bit1_0d(svBit* val);
extern void e_bit1_1d(svBit* val);
extern void e_bit1_2d(svBit* val);
extern void e_bit1_3d(svBit* val);
extern void e_bit7_0d(svBitVecVal* val);
extern void e_bit7_1d(svBitVecVal* val);
extern void e_bit7_2d(svBitVecVal* val);
extern void e_bit7_3d(svBitVecVal* val);
extern void e_byte_0d(char* val);
extern void e_byte_1d(char* val);
extern void e_byte_2d(char* val);
extern void e_byte_3d(char* val);
extern void e_byte_unsigned_0d(unsigned char* val);
extern void e_byte_unsigned_1d(unsigned char* val);
extern void e_byte_unsigned_2d(unsigned char* val);
extern void e_byte_unsigned_3d(unsigned char* val);
extern void e_chandle_0d(void** val);
extern void e_chandle_1d(void** val);
extern void e_chandle_2d(void** val);
extern void e_chandle_3d(void** val);
extern void e_int_0d(int* val);
extern void e_int_1d(int* val);
extern void e_int_2d(int* val);
extern void e_int_3d(int* val);
extern void e_int_unsigned_0d(unsigned int* val);
extern void e_int_unsigned_1d(unsigned int* val);
extern void e_int_unsigned_2d(unsigned int* val);
extern void e_int_unsigned_3d(unsigned int* val);
extern void e_integer_0d(svLogicVecVal* val);
extern void e_integer_1d(svLogicVecVal* val);
extern void e_integer_2d(svLogicVecVal* val);
extern void e_integer_3d(svLogicVecVal* val);
extern void e_logic121_0d(svLogicVecVal* val);
extern void e_logic121_1d(svLogicVecVal* val);
extern void e_logic121_2d(svLogicVecVal* val);
extern void e_logic121_3d(svLogicVecVal* val);
extern void e_logic1_0d(svLogic* val);
extern void e_logic1_1d(svLogic* val);
extern void e_logic1_2d(svLogic* val);
extern void e_logic1_3d(svLogic* val);
extern void e_logic7_0d(svLogicVecVal* val);
extern void e_logic7_1d(svLogicVecVal* val);
extern void e_logic7_2d(svLogicVecVal* val);
extern void e_logic7_3d(svLogicVecVal* val);
extern void e_longint_0d(long long* val);
extern void e_longint_1d(long long* val);
extern void e_longint_2d(long long* val);
extern void e_longint_3d(long long* val);
extern void e_longint_unsigned_0d(unsigned long long* val);
extern void e_longint_unsigned_1d(unsigned long long* val);
extern void e_longint_unsigned_2d(unsigned long long* val);
extern void e_longint_unsigned_3d(unsigned long long* val);
extern void e_pack_struct_0d(svLogicVecVal* val);
extern void e_pack_struct_1d(svLogicVecVal* val);
extern void e_pack_struct_2d(svLogicVecVal* val);
extern void e_pack_struct_3d(svLogicVecVal* val);
extern void e_real_0d(double* val);
extern void e_real_1d(double* val);
extern void e_real_2d(double* val);
extern void e_real_3d(double* val);
extern void e_shortint_0d(short* val);
extern void e_shortint_1d(short* val);
extern void e_shortint_2d(short* val);
extern void e_shortint_3d(short* val);
extern void e_shortint_unsigned_0d(unsigned short* val);
extern void e_shortint_unsigned_1d(unsigned short* val);
extern void e_shortint_unsigned_2d(unsigned short* val);
extern void e_shortint_unsigned_3d(unsigned short* val);
extern void e_string_0d(const char** val);
extern void e_string_1d(const char** val);
extern void e_string_2d(const char** val);
extern void e_string_3d(const char** val);
extern void e_time_0d(svLogicVecVal* val);
extern void e_time_1d(svLogicVecVal* val);
extern void e_time_2d(svLogicVecVal* val);
extern void e_time_3d(svLogicVecVal* val);
// DPI EXPORTS
extern void e_bit121_0d(svBitVecVal* val);
extern void e_bit121_1d(svBitVecVal* val);
extern void e_bit121_2d(svBitVecVal* val);
extern void e_bit121_3d(svBitVecVal* val);
extern void e_bit1_0d(svBit* val);
extern void e_bit1_1d(svBit* val);
extern void e_bit1_2d(svBit* val);
extern void e_bit1_3d(svBit* val);
extern void e_bit7_0d(svBitVecVal* val);
extern void e_bit7_1d(svBitVecVal* val);
extern void e_bit7_2d(svBitVecVal* val);
extern void e_bit7_3d(svBitVecVal* val);
extern void e_byte_0d(char* val);
extern void e_byte_1d(char* val);
extern void e_byte_2d(char* val);
extern void e_byte_3d(char* val);
extern void e_byte_unsigned_0d(unsigned char* val);
extern void e_byte_unsigned_1d(unsigned char* val);
extern void e_byte_unsigned_2d(unsigned char* val);
extern void e_byte_unsigned_3d(unsigned char* val);
extern void e_chandle_0d(void** val);
extern void e_chandle_1d(void** val);
extern void e_chandle_2d(void** val);
extern void e_chandle_3d(void** val);
extern void e_int_0d(int* val);
extern void e_int_1d(int* val);
extern void e_int_2d(int* val);
extern void e_int_3d(int* val);
extern void e_int_unsigned_0d(unsigned int* val);
extern void e_int_unsigned_1d(unsigned int* val);
extern void e_int_unsigned_2d(unsigned int* val);
extern void e_int_unsigned_3d(unsigned int* val);
extern void e_integer_0d(svLogicVecVal* val);
extern void e_integer_1d(svLogicVecVal* val);
extern void e_integer_2d(svLogicVecVal* val);
extern void e_integer_3d(svLogicVecVal* val);
extern void e_logic121_0d(svLogicVecVal* val);
extern void e_logic121_1d(svLogicVecVal* val);
extern void e_logic121_2d(svLogicVecVal* val);
extern void e_logic121_3d(svLogicVecVal* val);
extern void e_logic1_0d(svLogic* val);
extern void e_logic1_1d(svLogic* val);
extern void e_logic1_2d(svLogic* val);
extern void e_logic1_3d(svLogic* val);
extern void e_logic7_0d(svLogicVecVal* val);
extern void e_logic7_1d(svLogicVecVal* val);
extern void e_logic7_2d(svLogicVecVal* val);
extern void e_logic7_3d(svLogicVecVal* val);
extern void e_longint_0d(long long* val);
extern void e_longint_1d(long long* val);
extern void e_longint_2d(long long* val);
extern void e_longint_3d(long long* val);
extern void e_longint_unsigned_0d(unsigned long long* val);
extern void e_longint_unsigned_1d(unsigned long long* val);
extern void e_longint_unsigned_2d(unsigned long long* val);
extern void e_longint_unsigned_3d(unsigned long long* val);
extern void e_pack_struct_0d(svLogicVecVal* val);
extern void e_pack_struct_1d(svLogicVecVal* val);
extern void e_pack_struct_2d(svLogicVecVal* val);
extern void e_pack_struct_3d(svLogicVecVal* val);
extern void e_real_0d(double* val);
extern void e_real_1d(double* val);
extern void e_real_2d(double* val);
extern void e_real_3d(double* val);
extern void e_shortint_0d(short* val);
extern void e_shortint_1d(short* val);
extern void e_shortint_2d(short* val);
extern void e_shortint_3d(short* val);
extern void e_shortint_unsigned_0d(unsigned short* val);
extern void e_shortint_unsigned_1d(unsigned short* val);
extern void e_shortint_unsigned_2d(unsigned short* val);
extern void e_shortint_unsigned_3d(unsigned short* val);
extern void e_string_0d(const char** val);
extern void e_string_1d(const char** val);
extern void e_string_2d(const char** val);
extern void e_string_3d(const char** val);
extern void e_time_0d(svLogicVecVal* val);
extern void e_time_1d(svLogicVecVal* val);
extern void e_time_2d(svLogicVecVal* val);
extern void e_time_3d(svLogicVecVal* val);
// DPI IMPORTS
extern void check_exports();
extern void* get_non_null();
extern void i_bit121_0d(svBitVecVal* val);
extern void i_bit121_1d(svBitVecVal* val);
extern void i_bit121_2d(svBitVecVal* val);
extern void i_bit121_3d(svBitVecVal* val);
extern void i_bit1_0d(svBit* val);
extern void i_bit1_1d(svBit* val);
extern void i_bit1_2d(svBit* val);
extern void i_bit1_3d(svBit* val);
extern void i_bit7_0d(svBitVecVal* val);
extern void i_bit7_1d(svBitVecVal* val);
extern void i_bit7_2d(svBitVecVal* val);
extern void i_bit7_3d(svBitVecVal* val);
extern void i_byte_0d(char* val);
extern void i_byte_1d(char* val);
extern void i_byte_2d(char* val);
extern void i_byte_3d(char* val);
extern void i_byte_unsigned_0d(unsigned char* val);
extern void i_byte_unsigned_1d(unsigned char* val);
extern void i_byte_unsigned_2d(unsigned char* val);
extern void i_byte_unsigned_3d(unsigned char* val);
extern void i_chandle_0d(void** val);
extern void i_chandle_1d(void** val);
extern void i_chandle_2d(void** val);
extern void i_chandle_3d(void** val);
extern void i_int_0d(int* val);
extern void i_int_1d(int* val);
extern void i_int_2d(int* val);
extern void i_int_3d(int* val);
extern void i_int_unsigned_0d(unsigned int* val);
extern void i_int_unsigned_1d(unsigned int* val);
extern void i_int_unsigned_2d(unsigned int* val);
extern void i_int_unsigned_3d(unsigned int* val);
extern void i_integer_0d(svLogicVecVal* val);
extern void i_integer_1d(svLogicVecVal* val);
extern void i_integer_2d(svLogicVecVal* val);
extern void i_integer_3d(svLogicVecVal* val);
extern void i_logic121_0d(svLogicVecVal* val);
extern void i_logic121_1d(svLogicVecVal* val);
extern void i_logic121_2d(svLogicVecVal* val);
extern void i_logic121_3d(svLogicVecVal* val);
extern void i_logic1_0d(svLogic* val);
extern void i_logic1_1d(svLogic* val);
extern void i_logic1_2d(svLogic* val);
extern void i_logic1_3d(svLogic* val);
extern void i_logic7_0d(svLogicVecVal* val);
extern void i_logic7_1d(svLogicVecVal* val);
extern void i_logic7_2d(svLogicVecVal* val);
extern void i_logic7_3d(svLogicVecVal* val);
extern void i_longint_0d(long long* val);
extern void i_longint_1d(long long* val);
extern void i_longint_2d(long long* val);
extern void i_longint_3d(long long* val);
extern void i_longint_unsigned_0d(unsigned long long* val);
extern void i_longint_unsigned_1d(unsigned long long* val);
extern void i_longint_unsigned_2d(unsigned long long* val);
extern void i_longint_unsigned_3d(unsigned long long* val);
extern void i_pack_struct_0d(svLogicVecVal* val);
extern void i_pack_struct_1d(svLogicVecVal* val);
extern void i_pack_struct_2d(svLogicVecVal* val);
extern void i_pack_struct_3d(svLogicVecVal* val);
extern void i_real_0d(double* val);
extern void i_real_1d(double* val);
extern void i_real_2d(double* val);
extern void i_real_3d(double* val);
extern void i_shortint_0d(short* val);
extern void i_shortint_1d(short* val);
extern void i_shortint_2d(short* val);
extern void i_shortint_3d(short* val);
extern void i_shortint_unsigned_0d(unsigned short* val);
extern void i_shortint_unsigned_1d(unsigned short* val);
extern void i_shortint_unsigned_2d(unsigned short* val);
extern void i_shortint_unsigned_3d(unsigned short* val);
extern void i_string_0d(const char** val);
extern void i_string_1d(const char** val);
extern void i_string_2d(const char** val);
extern void i_string_3d(const char** val);
extern void i_time_0d(svLogicVecVal* val);
extern void i_time_1d(svLogicVecVal* val);
extern void i_time_2d(svLogicVecVal* val);
extern void i_time_3d(svLogicVecVal* val);
// DPI IMPORTS
extern void check_exports();
extern void* get_non_null();
extern void i_bit121_0d(svBitVecVal* val);
extern void i_bit121_1d(svBitVecVal* val);
extern void i_bit121_2d(svBitVecVal* val);
extern void i_bit121_3d(svBitVecVal* val);
extern void i_bit1_0d(svBit* val);
extern void i_bit1_1d(svBit* val);
extern void i_bit1_2d(svBit* val);
extern void i_bit1_3d(svBit* val);
extern void i_bit7_0d(svBitVecVal* val);
extern void i_bit7_1d(svBitVecVal* val);
extern void i_bit7_2d(svBitVecVal* val);
extern void i_bit7_3d(svBitVecVal* val);
extern void i_byte_0d(char* val);
extern void i_byte_1d(char* val);
extern void i_byte_2d(char* val);
extern void i_byte_3d(char* val);
extern void i_byte_unsigned_0d(unsigned char* val);
extern void i_byte_unsigned_1d(unsigned char* val);
extern void i_byte_unsigned_2d(unsigned char* val);
extern void i_byte_unsigned_3d(unsigned char* val);
extern void i_chandle_0d(void** val);
extern void i_chandle_1d(void** val);
extern void i_chandle_2d(void** val);
extern void i_chandle_3d(void** val);
extern void i_int_0d(int* val);
extern void i_int_1d(int* val);
extern void i_int_2d(int* val);
extern void i_int_3d(int* val);
extern void i_int_unsigned_0d(unsigned int* val);
extern void i_int_unsigned_1d(unsigned int* val);
extern void i_int_unsigned_2d(unsigned int* val);
extern void i_int_unsigned_3d(unsigned int* val);
extern void i_integer_0d(svLogicVecVal* val);
extern void i_integer_1d(svLogicVecVal* val);
extern void i_integer_2d(svLogicVecVal* val);
extern void i_integer_3d(svLogicVecVal* val);
extern void i_logic121_0d(svLogicVecVal* val);
extern void i_logic121_1d(svLogicVecVal* val);
extern void i_logic121_2d(svLogicVecVal* val);
extern void i_logic121_3d(svLogicVecVal* val);
extern void i_logic1_0d(svLogic* val);
extern void i_logic1_1d(svLogic* val);
extern void i_logic1_2d(svLogic* val);
extern void i_logic1_3d(svLogic* val);
extern void i_logic7_0d(svLogicVecVal* val);
extern void i_logic7_1d(svLogicVecVal* val);
extern void i_logic7_2d(svLogicVecVal* val);
extern void i_logic7_3d(svLogicVecVal* val);
extern void i_longint_0d(long long* val);
extern void i_longint_1d(long long* val);
extern void i_longint_2d(long long* val);
extern void i_longint_3d(long long* val);
extern void i_longint_unsigned_0d(unsigned long long* val);
extern void i_longint_unsigned_1d(unsigned long long* val);
extern void i_longint_unsigned_2d(unsigned long long* val);
extern void i_longint_unsigned_3d(unsigned long long* val);
extern void i_pack_struct_0d(svLogicVecVal* val);
extern void i_pack_struct_1d(svLogicVecVal* val);
extern void i_pack_struct_2d(svLogicVecVal* val);
extern void i_pack_struct_3d(svLogicVecVal* val);
extern void i_real_0d(double* val);
extern void i_real_1d(double* val);
extern void i_real_2d(double* val);
extern void i_real_3d(double* val);
extern void i_shortint_0d(short* val);
extern void i_shortint_1d(short* val);
extern void i_shortint_2d(short* val);
extern void i_shortint_3d(short* val);
extern void i_shortint_unsigned_0d(unsigned short* val);
extern void i_shortint_unsigned_1d(unsigned short* val);
extern void i_shortint_unsigned_2d(unsigned short* val);
extern void i_shortint_unsigned_3d(unsigned short* val);
extern void i_string_0d(const char** val);
extern void i_string_1d(const char** val);
extern void i_string_2d(const char** val);
extern void i_string_3d(const char** val);
extern void i_time_0d(svLogicVecVal* val);
extern void i_time_1d(svLogicVecVal* val);
extern void i_time_2d(svLogicVecVal* val);
extern void i_time_3d(svLogicVecVal* val);
#ifdef __cplusplus
}

View File

@ -15,142 +15,142 @@ extern "C" {
#endif
// DPI EXPORTS
extern void e_array_2_state_1(const svBitVecVal* i);
extern void e_array_2_state_128(const svBitVecVal* i);
extern void e_array_2_state_32(const svBitVecVal* i);
extern void e_array_2_state_33(const svBitVecVal* i);
extern void e_array_2_state_64(const svBitVecVal* i);
extern void e_array_2_state_65(const svBitVecVal* i);
extern void e_array_4_state_1(const svLogicVecVal* i);
extern void e_array_4_state_128(const svLogicVecVal* i);
extern void e_array_4_state_32(const svLogicVecVal* i);
extern void e_array_4_state_33(const svLogicVecVal* i);
extern void e_array_4_state_64(const svLogicVecVal* i);
extern void e_array_4_state_65(const svLogicVecVal* i);
extern void e_bit(svBit i);
extern void e_bit_t(svBit i);
extern void e_byte(char i);
extern void e_byte_t(char i);
extern void e_byte_unsigned(unsigned char i);
extern void e_byte_unsigned_t(unsigned char i);
extern void e_chandle(void* i);
extern void e_chandle_t(void* i);
extern void e_int(int i);
extern void e_int_t(int i);
extern void e_int_unsigned(unsigned int i);
extern void e_int_unsigned_t(unsigned int i);
extern void e_integer(const svLogicVecVal* i);
extern void e_integer_t(const svLogicVecVal* i);
extern void e_logic(svLogic i);
extern void e_logic_t(svLogic i);
extern void e_longint(long long i);
extern void e_longint_t(long long i);
extern void e_longint_unsigned(unsigned long long i);
extern void e_longint_unsigned_t(unsigned long long i);
extern void e_real(double i);
extern void e_real_t(double i);
extern void e_shortint(short i);
extern void e_shortint_t(short i);
extern void e_shortint_unsigned(unsigned short i);
extern void e_shortint_unsigned_t(unsigned short i);
extern void e_string(const char* i);
extern void e_string_t(const char* i);
extern void e_struct_2_state_1(const svBitVecVal* i);
extern void e_struct_2_state_128(const svBitVecVal* i);
extern void e_struct_2_state_32(const svBitVecVal* i);
extern void e_struct_2_state_33(const svBitVecVal* i);
extern void e_struct_2_state_64(const svBitVecVal* i);
extern void e_struct_2_state_65(const svBitVecVal* i);
extern void e_struct_4_state_1(const svLogicVecVal* i);
extern void e_struct_4_state_128(const svLogicVecVal* i);
extern void e_struct_4_state_32(const svLogicVecVal* i);
extern void e_struct_4_state_33(const svLogicVecVal* i);
extern void e_struct_4_state_64(const svLogicVecVal* i);
extern void e_struct_4_state_65(const svLogicVecVal* i);
extern void e_time(const svLogicVecVal* i);
extern void e_time_t(const svLogicVecVal* i);
extern void e_union_2_state_1(const svBitVecVal* i);
extern void e_union_2_state_128(const svBitVecVal* i);
extern void e_union_2_state_32(const svBitVecVal* i);
extern void e_union_2_state_33(const svBitVecVal* i);
extern void e_union_2_state_64(const svBitVecVal* i);
extern void e_union_2_state_65(const svBitVecVal* i);
extern void e_union_4_state_1(const svLogicVecVal* i);
extern void e_union_4_state_128(const svLogicVecVal* i);
extern void e_union_4_state_32(const svLogicVecVal* i);
extern void e_union_4_state_33(const svLogicVecVal* i);
extern void e_union_4_state_64(const svLogicVecVal* i);
extern void e_union_4_state_65(const svLogicVecVal* i);
// DPI EXPORTS
extern void e_array_2_state_1(const svBitVecVal* i);
extern void e_array_2_state_128(const svBitVecVal* i);
extern void e_array_2_state_32(const svBitVecVal* i);
extern void e_array_2_state_33(const svBitVecVal* i);
extern void e_array_2_state_64(const svBitVecVal* i);
extern void e_array_2_state_65(const svBitVecVal* i);
extern void e_array_4_state_1(const svLogicVecVal* i);
extern void e_array_4_state_128(const svLogicVecVal* i);
extern void e_array_4_state_32(const svLogicVecVal* i);
extern void e_array_4_state_33(const svLogicVecVal* i);
extern void e_array_4_state_64(const svLogicVecVal* i);
extern void e_array_4_state_65(const svLogicVecVal* i);
extern void e_bit(svBit i);
extern void e_bit_t(svBit i);
extern void e_byte(char i);
extern void e_byte_t(char i);
extern void e_byte_unsigned(unsigned char i);
extern void e_byte_unsigned_t(unsigned char i);
extern void e_chandle(void* i);
extern void e_chandle_t(void* i);
extern void e_int(int i);
extern void e_int_t(int i);
extern void e_int_unsigned(unsigned int i);
extern void e_int_unsigned_t(unsigned int i);
extern void e_integer(const svLogicVecVal* i);
extern void e_integer_t(const svLogicVecVal* i);
extern void e_logic(svLogic i);
extern void e_logic_t(svLogic i);
extern void e_longint(long long i);
extern void e_longint_t(long long i);
extern void e_longint_unsigned(unsigned long long i);
extern void e_longint_unsigned_t(unsigned long long i);
extern void e_real(double i);
extern void e_real_t(double i);
extern void e_shortint(short i);
extern void e_shortint_t(short i);
extern void e_shortint_unsigned(unsigned short i);
extern void e_shortint_unsigned_t(unsigned short i);
extern void e_string(const char* i);
extern void e_string_t(const char* i);
extern void e_struct_2_state_1(const svBitVecVal* i);
extern void e_struct_2_state_128(const svBitVecVal* i);
extern void e_struct_2_state_32(const svBitVecVal* i);
extern void e_struct_2_state_33(const svBitVecVal* i);
extern void e_struct_2_state_64(const svBitVecVal* i);
extern void e_struct_2_state_65(const svBitVecVal* i);
extern void e_struct_4_state_1(const svLogicVecVal* i);
extern void e_struct_4_state_128(const svLogicVecVal* i);
extern void e_struct_4_state_32(const svLogicVecVal* i);
extern void e_struct_4_state_33(const svLogicVecVal* i);
extern void e_struct_4_state_64(const svLogicVecVal* i);
extern void e_struct_4_state_65(const svLogicVecVal* i);
extern void e_time(const svLogicVecVal* i);
extern void e_time_t(const svLogicVecVal* i);
extern void e_union_2_state_1(const svBitVecVal* i);
extern void e_union_2_state_128(const svBitVecVal* i);
extern void e_union_2_state_32(const svBitVecVal* i);
extern void e_union_2_state_33(const svBitVecVal* i);
extern void e_union_2_state_64(const svBitVecVal* i);
extern void e_union_2_state_65(const svBitVecVal* i);
extern void e_union_4_state_1(const svLogicVecVal* i);
extern void e_union_4_state_128(const svLogicVecVal* i);
extern void e_union_4_state_32(const svLogicVecVal* i);
extern void e_union_4_state_33(const svLogicVecVal* i);
extern void e_union_4_state_64(const svLogicVecVal* i);
extern void e_union_4_state_65(const svLogicVecVal* i);
// DPI IMPORTS
extern void check_exports();
extern void i_array_2_state_1(const svBitVecVal* i);
extern void i_array_2_state_128(const svBitVecVal* i);
extern void i_array_2_state_32(const svBitVecVal* i);
extern void i_array_2_state_33(const svBitVecVal* i);
extern void i_array_2_state_64(const svBitVecVal* i);
extern void i_array_2_state_65(const svBitVecVal* i);
extern void i_array_4_state_1(const svLogicVecVal* i);
extern void i_array_4_state_128(const svLogicVecVal* i);
extern void i_array_4_state_32(const svLogicVecVal* i);
extern void i_array_4_state_33(const svLogicVecVal* i);
extern void i_array_4_state_64(const svLogicVecVal* i);
extern void i_array_4_state_65(const svLogicVecVal* i);
extern void i_bit(svBit i);
extern void i_bit_t(svBit i);
extern void i_byte(char i);
extern void i_byte_t(char i);
extern void i_byte_unsigned(unsigned char i);
extern void i_byte_unsigned_t(unsigned char i);
extern void i_chandle(void* i);
extern void i_chandle_t(void* i);
extern void i_int(int i);
extern void i_int_t(int i);
extern void i_int_unsigned(unsigned int i);
extern void i_int_unsigned_t(unsigned int i);
extern void i_integer(const svLogicVecVal* i);
extern void i_integer_t(const svLogicVecVal* i);
extern void i_logic(svLogic i);
extern void i_logic_t(svLogic i);
extern void i_longint(long long i);
extern void i_longint_t(long long i);
extern void i_longint_unsigned(unsigned long long i);
extern void i_longint_unsigned_t(unsigned long long i);
extern void i_real(double i);
extern void i_real_t(double i);
extern void i_shortint(short i);
extern void i_shortint_t(short i);
extern void i_shortint_unsigned(unsigned short i);
extern void i_shortint_unsigned_t(unsigned short i);
extern void i_string(const char* i);
extern void i_string_t(const char* i);
extern void i_struct_2_state_1(const svBitVecVal* i);
extern void i_struct_2_state_128(const svBitVecVal* i);
extern void i_struct_2_state_32(const svBitVecVal* i);
extern void i_struct_2_state_33(const svBitVecVal* i);
extern void i_struct_2_state_64(const svBitVecVal* i);
extern void i_struct_2_state_65(const svBitVecVal* i);
extern void i_struct_4_state_1(const svLogicVecVal* i);
extern void i_struct_4_state_128(const svLogicVecVal* i);
extern void i_struct_4_state_32(const svLogicVecVal* i);
extern void i_struct_4_state_33(const svLogicVecVal* i);
extern void i_struct_4_state_64(const svLogicVecVal* i);
extern void i_struct_4_state_65(const svLogicVecVal* i);
extern void i_time(const svLogicVecVal* i);
extern void i_time_t(const svLogicVecVal* i);
extern void i_union_2_state_1(const svBitVecVal* i);
extern void i_union_2_state_128(const svBitVecVal* i);
extern void i_union_2_state_32(const svBitVecVal* i);
extern void i_union_2_state_33(const svBitVecVal* i);
extern void i_union_2_state_64(const svBitVecVal* i);
extern void i_union_2_state_65(const svBitVecVal* i);
extern void i_union_4_state_1(const svLogicVecVal* i);
extern void i_union_4_state_128(const svLogicVecVal* i);
extern void i_union_4_state_32(const svLogicVecVal* i);
extern void i_union_4_state_33(const svLogicVecVal* i);
extern void i_union_4_state_64(const svLogicVecVal* i);
extern void i_union_4_state_65(const svLogicVecVal* i);
// DPI IMPORTS
extern void check_exports();
extern void i_array_2_state_1(const svBitVecVal* i);
extern void i_array_2_state_128(const svBitVecVal* i);
extern void i_array_2_state_32(const svBitVecVal* i);
extern void i_array_2_state_33(const svBitVecVal* i);
extern void i_array_2_state_64(const svBitVecVal* i);
extern void i_array_2_state_65(const svBitVecVal* i);
extern void i_array_4_state_1(const svLogicVecVal* i);
extern void i_array_4_state_128(const svLogicVecVal* i);
extern void i_array_4_state_32(const svLogicVecVal* i);
extern void i_array_4_state_33(const svLogicVecVal* i);
extern void i_array_4_state_64(const svLogicVecVal* i);
extern void i_array_4_state_65(const svLogicVecVal* i);
extern void i_bit(svBit i);
extern void i_bit_t(svBit i);
extern void i_byte(char i);
extern void i_byte_t(char i);
extern void i_byte_unsigned(unsigned char i);
extern void i_byte_unsigned_t(unsigned char i);
extern void i_chandle(void* i);
extern void i_chandle_t(void* i);
extern void i_int(int i);
extern void i_int_t(int i);
extern void i_int_unsigned(unsigned int i);
extern void i_int_unsigned_t(unsigned int i);
extern void i_integer(const svLogicVecVal* i);
extern void i_integer_t(const svLogicVecVal* i);
extern void i_logic(svLogic i);
extern void i_logic_t(svLogic i);
extern void i_longint(long long i);
extern void i_longint_t(long long i);
extern void i_longint_unsigned(unsigned long long i);
extern void i_longint_unsigned_t(unsigned long long i);
extern void i_real(double i);
extern void i_real_t(double i);
extern void i_shortint(short i);
extern void i_shortint_t(short i);
extern void i_shortint_unsigned(unsigned short i);
extern void i_shortint_unsigned_t(unsigned short i);
extern void i_string(const char* i);
extern void i_string_t(const char* i);
extern void i_struct_2_state_1(const svBitVecVal* i);
extern void i_struct_2_state_128(const svBitVecVal* i);
extern void i_struct_2_state_32(const svBitVecVal* i);
extern void i_struct_2_state_33(const svBitVecVal* i);
extern void i_struct_2_state_64(const svBitVecVal* i);
extern void i_struct_2_state_65(const svBitVecVal* i);
extern void i_struct_4_state_1(const svLogicVecVal* i);
extern void i_struct_4_state_128(const svLogicVecVal* i);
extern void i_struct_4_state_32(const svLogicVecVal* i);
extern void i_struct_4_state_33(const svLogicVecVal* i);
extern void i_struct_4_state_64(const svLogicVecVal* i);
extern void i_struct_4_state_65(const svLogicVecVal* i);
extern void i_time(const svLogicVecVal* i);
extern void i_time_t(const svLogicVecVal* i);
extern void i_union_2_state_1(const svBitVecVal* i);
extern void i_union_2_state_128(const svBitVecVal* i);
extern void i_union_2_state_32(const svBitVecVal* i);
extern void i_union_2_state_33(const svBitVecVal* i);
extern void i_union_2_state_64(const svBitVecVal* i);
extern void i_union_2_state_65(const svBitVecVal* i);
extern void i_union_4_state_1(const svLogicVecVal* i);
extern void i_union_4_state_128(const svLogicVecVal* i);
extern void i_union_4_state_32(const svLogicVecVal* i);
extern void i_union_4_state_33(const svLogicVecVal* i);
extern void i_union_4_state_64(const svLogicVecVal* i);
extern void i_union_4_state_65(const svLogicVecVal* i);
#ifdef __cplusplus
}

View File

@ -15,171 +15,171 @@ extern "C" {
#endif
// DPI EXPORTS
extern void e_bit121_0d(const svBitVecVal* val);
extern void e_bit121_1d(const svBitVecVal* val);
extern void e_bit121_2d(const svBitVecVal* val);
extern void e_bit121_3d(const svBitVecVal* val);
extern void e_bit1_0d(svBit val);
extern void e_bit1_1d(const svBit* val);
extern void e_bit1_2d(const svBit* val);
extern void e_bit1_3d(const svBit* val);
extern void e_bit7_0d(const svBitVecVal* val);
extern void e_bit7_1d(const svBitVecVal* val);
extern void e_bit7_2d(const svBitVecVal* val);
extern void e_bit7_3d(const svBitVecVal* val);
extern void e_byte_0d(char val);
extern void e_byte_1d(const char* val);
extern void e_byte_2d(const char* val);
extern void e_byte_3d(const char* val);
extern void e_byte_unsigned_0d(unsigned char val);
extern void e_byte_unsigned_1d(const unsigned char* val);
extern void e_byte_unsigned_2d(const unsigned char* val);
extern void e_byte_unsigned_3d(const unsigned char* val);
extern void e_chandle_0d(void* val);
extern void e_chandle_1d(const void** val);
extern void e_chandle_2d(const void** val);
extern void e_chandle_3d(const void** val);
extern void e_int_0d(int val);
extern void e_int_1d(const int* val);
extern void e_int_2d(const int* val);
extern void e_int_3d(const int* val);
extern void e_int_unsigned_0d(unsigned int val);
extern void e_int_unsigned_1d(const unsigned int* val);
extern void e_int_unsigned_2d(const unsigned int* val);
extern void e_int_unsigned_3d(const unsigned int* val);
extern void e_integer_0d(const svLogicVecVal* val);
extern void e_integer_1d(const svLogicVecVal* val);
extern void e_integer_2d(const svLogicVecVal* val);
extern void e_integer_3d(const svLogicVecVal* val);
extern void e_logic121_0d(const svLogicVecVal* val);
extern void e_logic121_1d(const svLogicVecVal* val);
extern void e_logic121_2d(const svLogicVecVal* val);
extern void e_logic121_3d(const svLogicVecVal* val);
extern void e_logic1_0d(svLogic val);
extern void e_logic1_1d(const svLogic* val);
extern void e_logic1_2d(const svLogic* val);
extern void e_logic1_3d(const svLogic* val);
extern void e_logic7_0d(const svLogicVecVal* val);
extern void e_logic7_1d(const svLogicVecVal* val);
extern void e_logic7_2d(const svLogicVecVal* val);
extern void e_logic7_3d(const svLogicVecVal* val);
extern void e_longint_0d(long long val);
extern void e_longint_1d(const long long* val);
extern void e_longint_2d(const long long* val);
extern void e_longint_3d(const long long* val);
extern void e_longint_unsigned_0d(unsigned long long val);
extern void e_longint_unsigned_1d(const unsigned long long* val);
extern void e_longint_unsigned_2d(const unsigned long long* val);
extern void e_longint_unsigned_3d(const unsigned long long* val);
extern void e_pack_struct_0d(const svLogicVecVal* val);
extern void e_pack_struct_1d(const svLogicVecVal* val);
extern void e_pack_struct_2d(const svLogicVecVal* val);
extern void e_pack_struct_3d(const svLogicVecVal* val);
extern void e_real_0d(double val);
extern void e_real_1d(const double* val);
extern void e_real_2d(const double* val);
extern void e_real_3d(const double* val);
extern void e_shortint_0d(short val);
extern void e_shortint_1d(const short* val);
extern void e_shortint_2d(const short* val);
extern void e_shortint_3d(const short* val);
extern void e_shortint_unsigned_0d(unsigned short val);
extern void e_shortint_unsigned_1d(const unsigned short* val);
extern void e_shortint_unsigned_2d(const unsigned short* val);
extern void e_shortint_unsigned_3d(const unsigned short* val);
extern void e_string_0d(const char* val);
extern void e_string_1d(const char** val);
extern void e_string_2d(const char** val);
extern void e_string_3d(const char** val);
extern void e_time_0d(const svLogicVecVal* val);
extern void e_time_1d(const svLogicVecVal* val);
extern void e_time_2d(const svLogicVecVal* val);
extern void e_time_3d(const svLogicVecVal* val);
// DPI EXPORTS
extern void e_bit121_0d(const svBitVecVal* val);
extern void e_bit121_1d(const svBitVecVal* val);
extern void e_bit121_2d(const svBitVecVal* val);
extern void e_bit121_3d(const svBitVecVal* val);
extern void e_bit1_0d(svBit val);
extern void e_bit1_1d(const svBit* val);
extern void e_bit1_2d(const svBit* val);
extern void e_bit1_3d(const svBit* val);
extern void e_bit7_0d(const svBitVecVal* val);
extern void e_bit7_1d(const svBitVecVal* val);
extern void e_bit7_2d(const svBitVecVal* val);
extern void e_bit7_3d(const svBitVecVal* val);
extern void e_byte_0d(char val);
extern void e_byte_1d(const char* val);
extern void e_byte_2d(const char* val);
extern void e_byte_3d(const char* val);
extern void e_byte_unsigned_0d(unsigned char val);
extern void e_byte_unsigned_1d(const unsigned char* val);
extern void e_byte_unsigned_2d(const unsigned char* val);
extern void e_byte_unsigned_3d(const unsigned char* val);
extern void e_chandle_0d(void* val);
extern void e_chandle_1d(const void** val);
extern void e_chandle_2d(const void** val);
extern void e_chandle_3d(const void** val);
extern void e_int_0d(int val);
extern void e_int_1d(const int* val);
extern void e_int_2d(const int* val);
extern void e_int_3d(const int* val);
extern void e_int_unsigned_0d(unsigned int val);
extern void e_int_unsigned_1d(const unsigned int* val);
extern void e_int_unsigned_2d(const unsigned int* val);
extern void e_int_unsigned_3d(const unsigned int* val);
extern void e_integer_0d(const svLogicVecVal* val);
extern void e_integer_1d(const svLogicVecVal* val);
extern void e_integer_2d(const svLogicVecVal* val);
extern void e_integer_3d(const svLogicVecVal* val);
extern void e_logic121_0d(const svLogicVecVal* val);
extern void e_logic121_1d(const svLogicVecVal* val);
extern void e_logic121_2d(const svLogicVecVal* val);
extern void e_logic121_3d(const svLogicVecVal* val);
extern void e_logic1_0d(svLogic val);
extern void e_logic1_1d(const svLogic* val);
extern void e_logic1_2d(const svLogic* val);
extern void e_logic1_3d(const svLogic* val);
extern void e_logic7_0d(const svLogicVecVal* val);
extern void e_logic7_1d(const svLogicVecVal* val);
extern void e_logic7_2d(const svLogicVecVal* val);
extern void e_logic7_3d(const svLogicVecVal* val);
extern void e_longint_0d(long long val);
extern void e_longint_1d(const long long* val);
extern void e_longint_2d(const long long* val);
extern void e_longint_3d(const long long* val);
extern void e_longint_unsigned_0d(unsigned long long val);
extern void e_longint_unsigned_1d(const unsigned long long* val);
extern void e_longint_unsigned_2d(const unsigned long long* val);
extern void e_longint_unsigned_3d(const unsigned long long* val);
extern void e_pack_struct_0d(const svLogicVecVal* val);
extern void e_pack_struct_1d(const svLogicVecVal* val);
extern void e_pack_struct_2d(const svLogicVecVal* val);
extern void e_pack_struct_3d(const svLogicVecVal* val);
extern void e_real_0d(double val);
extern void e_real_1d(const double* val);
extern void e_real_2d(const double* val);
extern void e_real_3d(const double* val);
extern void e_shortint_0d(short val);
extern void e_shortint_1d(const short* val);
extern void e_shortint_2d(const short* val);
extern void e_shortint_3d(const short* val);
extern void e_shortint_unsigned_0d(unsigned short val);
extern void e_shortint_unsigned_1d(const unsigned short* val);
extern void e_shortint_unsigned_2d(const unsigned short* val);
extern void e_shortint_unsigned_3d(const unsigned short* val);
extern void e_string_0d(const char* val);
extern void e_string_1d(const char** val);
extern void e_string_2d(const char** val);
extern void e_string_3d(const char** val);
extern void e_time_0d(const svLogicVecVal* val);
extern void e_time_1d(const svLogicVecVal* val);
extern void e_time_2d(const svLogicVecVal* val);
extern void e_time_3d(const svLogicVecVal* val);
// DPI IMPORTS
extern void check_exports();
extern void* get_non_null();
extern void i_bit121_0d(const svBitVecVal* val);
extern void i_bit121_1d(const svBitVecVal* val);
extern void i_bit121_2d(const svBitVecVal* val);
extern void i_bit121_3d(const svBitVecVal* val);
extern void i_bit1_0d(svBit val);
extern void i_bit1_1d(const svBit* val);
extern void i_bit1_2d(const svBit* val);
extern void i_bit1_3d(const svBit* val);
extern void i_bit7_0d(const svBitVecVal* val);
extern void i_bit7_1d(const svBitVecVal* val);
extern void i_bit7_2d(const svBitVecVal* val);
extern void i_bit7_3d(const svBitVecVal* val);
extern void i_byte_0d(char val);
extern void i_byte_1d(const char* val);
extern void i_byte_2d(const char* val);
extern void i_byte_3d(const char* val);
extern void i_byte_unsigned_0d(unsigned char val);
extern void i_byte_unsigned_1d(const unsigned char* val);
extern void i_byte_unsigned_2d(const unsigned char* val);
extern void i_byte_unsigned_3d(const unsigned char* val);
extern void i_chandle_0d(void* val);
extern void i_chandle_1d(const void** val);
extern void i_chandle_2d(const void** val);
extern void i_chandle_3d(const void** val);
extern void i_int_0d(int val);
extern void i_int_1d(const int* val);
extern void i_int_2d(const int* val);
extern void i_int_3d(const int* val);
extern void i_int_unsigned_0d(unsigned int val);
extern void i_int_unsigned_1d(const unsigned int* val);
extern void i_int_unsigned_2d(const unsigned int* val);
extern void i_int_unsigned_3d(const unsigned int* val);
extern void i_integer_0d(const svLogicVecVal* val);
extern void i_integer_1d(const svLogicVecVal* val);
extern void i_integer_2d(const svLogicVecVal* val);
extern void i_integer_3d(const svLogicVecVal* val);
extern void i_logic121_0d(const svLogicVecVal* val);
extern void i_logic121_1d(const svLogicVecVal* val);
extern void i_logic121_2d(const svLogicVecVal* val);
extern void i_logic121_3d(const svLogicVecVal* val);
extern void i_logic1_0d(svLogic val);
extern void i_logic1_1d(const svLogic* val);
extern void i_logic1_2d(const svLogic* val);
extern void i_logic1_3d(const svLogic* val);
extern void i_logic7_0d(const svLogicVecVal* val);
extern void i_logic7_1d(const svLogicVecVal* val);
extern void i_logic7_2d(const svLogicVecVal* val);
extern void i_logic7_3d(const svLogicVecVal* val);
extern void i_longint_0d(long long val);
extern void i_longint_1d(const long long* val);
extern void i_longint_2d(const long long* val);
extern void i_longint_3d(const long long* val);
extern void i_longint_unsigned_0d(unsigned long long val);
extern void i_longint_unsigned_1d(const unsigned long long* val);
extern void i_longint_unsigned_2d(const unsigned long long* val);
extern void i_longint_unsigned_3d(const unsigned long long* val);
extern void i_pack_struct_0d(const svLogicVecVal* val);
extern void i_pack_struct_1d(const svLogicVecVal* val);
extern void i_pack_struct_2d(const svLogicVecVal* val);
extern void i_pack_struct_3d(const svLogicVecVal* val);
extern void i_real_0d(double val);
extern void i_real_1d(const double* val);
extern void i_real_2d(const double* val);
extern void i_real_3d(const double* val);
extern void i_shortint_0d(short val);
extern void i_shortint_1d(const short* val);
extern void i_shortint_2d(const short* val);
extern void i_shortint_3d(const short* val);
extern void i_shortint_unsigned_0d(unsigned short val);
extern void i_shortint_unsigned_1d(const unsigned short* val);
extern void i_shortint_unsigned_2d(const unsigned short* val);
extern void i_shortint_unsigned_3d(const unsigned short* val);
extern void i_string_0d(const char* val);
extern void i_string_1d(const char** val);
extern void i_string_2d(const char** val);
extern void i_string_3d(const char** val);
extern void i_time_0d(const svLogicVecVal* val);
extern void i_time_1d(const svLogicVecVal* val);
extern void i_time_2d(const svLogicVecVal* val);
extern void i_time_3d(const svLogicVecVal* val);
// DPI IMPORTS
extern void check_exports();
extern void* get_non_null();
extern void i_bit121_0d(const svBitVecVal* val);
extern void i_bit121_1d(const svBitVecVal* val);
extern void i_bit121_2d(const svBitVecVal* val);
extern void i_bit121_3d(const svBitVecVal* val);
extern void i_bit1_0d(svBit val);
extern void i_bit1_1d(const svBit* val);
extern void i_bit1_2d(const svBit* val);
extern void i_bit1_3d(const svBit* val);
extern void i_bit7_0d(const svBitVecVal* val);
extern void i_bit7_1d(const svBitVecVal* val);
extern void i_bit7_2d(const svBitVecVal* val);
extern void i_bit7_3d(const svBitVecVal* val);
extern void i_byte_0d(char val);
extern void i_byte_1d(const char* val);
extern void i_byte_2d(const char* val);
extern void i_byte_3d(const char* val);
extern void i_byte_unsigned_0d(unsigned char val);
extern void i_byte_unsigned_1d(const unsigned char* val);
extern void i_byte_unsigned_2d(const unsigned char* val);
extern void i_byte_unsigned_3d(const unsigned char* val);
extern void i_chandle_0d(void* val);
extern void i_chandle_1d(const void** val);
extern void i_chandle_2d(const void** val);
extern void i_chandle_3d(const void** val);
extern void i_int_0d(int val);
extern void i_int_1d(const int* val);
extern void i_int_2d(const int* val);
extern void i_int_3d(const int* val);
extern void i_int_unsigned_0d(unsigned int val);
extern void i_int_unsigned_1d(const unsigned int* val);
extern void i_int_unsigned_2d(const unsigned int* val);
extern void i_int_unsigned_3d(const unsigned int* val);
extern void i_integer_0d(const svLogicVecVal* val);
extern void i_integer_1d(const svLogicVecVal* val);
extern void i_integer_2d(const svLogicVecVal* val);
extern void i_integer_3d(const svLogicVecVal* val);
extern void i_logic121_0d(const svLogicVecVal* val);
extern void i_logic121_1d(const svLogicVecVal* val);
extern void i_logic121_2d(const svLogicVecVal* val);
extern void i_logic121_3d(const svLogicVecVal* val);
extern void i_logic1_0d(svLogic val);
extern void i_logic1_1d(const svLogic* val);
extern void i_logic1_2d(const svLogic* val);
extern void i_logic1_3d(const svLogic* val);
extern void i_logic7_0d(const svLogicVecVal* val);
extern void i_logic7_1d(const svLogicVecVal* val);
extern void i_logic7_2d(const svLogicVecVal* val);
extern void i_logic7_3d(const svLogicVecVal* val);
extern void i_longint_0d(long long val);
extern void i_longint_1d(const long long* val);
extern void i_longint_2d(const long long* val);
extern void i_longint_3d(const long long* val);
extern void i_longint_unsigned_0d(unsigned long long val);
extern void i_longint_unsigned_1d(const unsigned long long* val);
extern void i_longint_unsigned_2d(const unsigned long long* val);
extern void i_longint_unsigned_3d(const unsigned long long* val);
extern void i_pack_struct_0d(const svLogicVecVal* val);
extern void i_pack_struct_1d(const svLogicVecVal* val);
extern void i_pack_struct_2d(const svLogicVecVal* val);
extern void i_pack_struct_3d(const svLogicVecVal* val);
extern void i_real_0d(double val);
extern void i_real_1d(const double* val);
extern void i_real_2d(const double* val);
extern void i_real_3d(const double* val);
extern void i_shortint_0d(short val);
extern void i_shortint_1d(const short* val);
extern void i_shortint_2d(const short* val);
extern void i_shortint_3d(const short* val);
extern void i_shortint_unsigned_0d(unsigned short val);
extern void i_shortint_unsigned_1d(const unsigned short* val);
extern void i_shortint_unsigned_2d(const unsigned short* val);
extern void i_shortint_unsigned_3d(const unsigned short* val);
extern void i_string_0d(const char* val);
extern void i_string_1d(const char** val);
extern void i_string_2d(const char** val);
extern void i_string_3d(const char** val);
extern void i_time_0d(const svLogicVecVal* val);
extern void i_time_1d(const svLogicVecVal* val);
extern void i_time_2d(const svLogicVecVal* val);
extern void i_time_3d(const svLogicVecVal* val);
#ifdef __cplusplus
}

View File

@ -15,142 +15,142 @@ extern "C" {
#endif
// DPI EXPORTS
extern void e_array_2_state_1(svBitVecVal* o);
extern void e_array_2_state_128(svBitVecVal* o);
extern void e_array_2_state_32(svBitVecVal* o);
extern void e_array_2_state_33(svBitVecVal* o);
extern void e_array_2_state_64(svBitVecVal* o);
extern void e_array_2_state_65(svBitVecVal* o);
extern void e_array_4_state_1(svLogicVecVal* o);
extern void e_array_4_state_128(svLogicVecVal* o);
extern void e_array_4_state_32(svLogicVecVal* o);
extern void e_array_4_state_33(svLogicVecVal* o);
extern void e_array_4_state_64(svLogicVecVal* o);
extern void e_array_4_state_65(svLogicVecVal* o);
extern void e_bit(svBit* o);
extern void e_bit_t(svBit* o);
extern void e_byte(char* o);
extern void e_byte_t(char* o);
extern void e_byte_unsigned(unsigned char* o);
extern void e_byte_unsigned_t(unsigned char* o);
extern void e_chandle(void** o);
extern void e_chandle_t(void** o);
extern void e_int(int* o);
extern void e_int_t(int* o);
extern void e_int_unsigned(unsigned int* o);
extern void e_int_unsigned_t(unsigned int* o);
extern void e_integer(svLogicVecVal* o);
extern void e_integer_t(svLogicVecVal* o);
extern void e_logic(svLogic* o);
extern void e_logic_t(svLogic* o);
extern void e_longint(long long* o);
extern void e_longint_t(long long* o);
extern void e_longint_unsigned(unsigned long long* o);
extern void e_longint_unsigned_t(unsigned long long* o);
extern void e_real(double* o);
extern void e_real_t(double* o);
extern void e_shortint(short* o);
extern void e_shortint_t(short* o);
extern void e_shortint_unsigned(unsigned short* o);
extern void e_shortint_unsigned_t(unsigned short* o);
extern void e_string(const char** o);
extern void e_string_t(const char** o);
extern void e_struct_2_state_1(svBitVecVal* o);
extern void e_struct_2_state_128(svBitVecVal* o);
extern void e_struct_2_state_32(svBitVecVal* o);
extern void e_struct_2_state_33(svBitVecVal* o);
extern void e_struct_2_state_64(svBitVecVal* o);
extern void e_struct_2_state_65(svBitVecVal* o);
extern void e_struct_4_state_1(svLogicVecVal* o);
extern void e_struct_4_state_128(svLogicVecVal* o);
extern void e_struct_4_state_32(svLogicVecVal* o);
extern void e_struct_4_state_33(svLogicVecVal* o);
extern void e_struct_4_state_64(svLogicVecVal* o);
extern void e_struct_4_state_65(svLogicVecVal* o);
extern void e_time(svLogicVecVal* o);
extern void e_time_t(svLogicVecVal* o);
extern void e_union_2_state_1(svBitVecVal* o);
extern void e_union_2_state_128(svBitVecVal* o);
extern void e_union_2_state_32(svBitVecVal* o);
extern void e_union_2_state_33(svBitVecVal* o);
extern void e_union_2_state_64(svBitVecVal* o);
extern void e_union_2_state_65(svBitVecVal* o);
extern void e_union_4_state_1(svLogicVecVal* o);
extern void e_union_4_state_128(svLogicVecVal* o);
extern void e_union_4_state_32(svLogicVecVal* o);
extern void e_union_4_state_33(svLogicVecVal* o);
extern void e_union_4_state_64(svLogicVecVal* o);
extern void e_union_4_state_65(svLogicVecVal* o);
// DPI EXPORTS
extern void e_array_2_state_1(svBitVecVal* o);
extern void e_array_2_state_128(svBitVecVal* o);
extern void e_array_2_state_32(svBitVecVal* o);
extern void e_array_2_state_33(svBitVecVal* o);
extern void e_array_2_state_64(svBitVecVal* o);
extern void e_array_2_state_65(svBitVecVal* o);
extern void e_array_4_state_1(svLogicVecVal* o);
extern void e_array_4_state_128(svLogicVecVal* o);
extern void e_array_4_state_32(svLogicVecVal* o);
extern void e_array_4_state_33(svLogicVecVal* o);
extern void e_array_4_state_64(svLogicVecVal* o);
extern void e_array_4_state_65(svLogicVecVal* o);
extern void e_bit(svBit* o);
extern void e_bit_t(svBit* o);
extern void e_byte(char* o);
extern void e_byte_t(char* o);
extern void e_byte_unsigned(unsigned char* o);
extern void e_byte_unsigned_t(unsigned char* o);
extern void e_chandle(void** o);
extern void e_chandle_t(void** o);
extern void e_int(int* o);
extern void e_int_t(int* o);
extern void e_int_unsigned(unsigned int* o);
extern void e_int_unsigned_t(unsigned int* o);
extern void e_integer(svLogicVecVal* o);
extern void e_integer_t(svLogicVecVal* o);
extern void e_logic(svLogic* o);
extern void e_logic_t(svLogic* o);
extern void e_longint(long long* o);
extern void e_longint_t(long long* o);
extern void e_longint_unsigned(unsigned long long* o);
extern void e_longint_unsigned_t(unsigned long long* o);
extern void e_real(double* o);
extern void e_real_t(double* o);
extern void e_shortint(short* o);
extern void e_shortint_t(short* o);
extern void e_shortint_unsigned(unsigned short* o);
extern void e_shortint_unsigned_t(unsigned short* o);
extern void e_string(const char** o);
extern void e_string_t(const char** o);
extern void e_struct_2_state_1(svBitVecVal* o);
extern void e_struct_2_state_128(svBitVecVal* o);
extern void e_struct_2_state_32(svBitVecVal* o);
extern void e_struct_2_state_33(svBitVecVal* o);
extern void e_struct_2_state_64(svBitVecVal* o);
extern void e_struct_2_state_65(svBitVecVal* o);
extern void e_struct_4_state_1(svLogicVecVal* o);
extern void e_struct_4_state_128(svLogicVecVal* o);
extern void e_struct_4_state_32(svLogicVecVal* o);
extern void e_struct_4_state_33(svLogicVecVal* o);
extern void e_struct_4_state_64(svLogicVecVal* o);
extern void e_struct_4_state_65(svLogicVecVal* o);
extern void e_time(svLogicVecVal* o);
extern void e_time_t(svLogicVecVal* o);
extern void e_union_2_state_1(svBitVecVal* o);
extern void e_union_2_state_128(svBitVecVal* o);
extern void e_union_2_state_32(svBitVecVal* o);
extern void e_union_2_state_33(svBitVecVal* o);
extern void e_union_2_state_64(svBitVecVal* o);
extern void e_union_2_state_65(svBitVecVal* o);
extern void e_union_4_state_1(svLogicVecVal* o);
extern void e_union_4_state_128(svLogicVecVal* o);
extern void e_union_4_state_32(svLogicVecVal* o);
extern void e_union_4_state_33(svLogicVecVal* o);
extern void e_union_4_state_64(svLogicVecVal* o);
extern void e_union_4_state_65(svLogicVecVal* o);
// DPI IMPORTS
extern void check_exports();
extern void i_array_2_state_1(svBitVecVal* o);
extern void i_array_2_state_128(svBitVecVal* o);
extern void i_array_2_state_32(svBitVecVal* o);
extern void i_array_2_state_33(svBitVecVal* o);
extern void i_array_2_state_64(svBitVecVal* o);
extern void i_array_2_state_65(svBitVecVal* o);
extern void i_array_4_state_1(svLogicVecVal* o);
extern void i_array_4_state_128(svLogicVecVal* o);
extern void i_array_4_state_32(svLogicVecVal* o);
extern void i_array_4_state_33(svLogicVecVal* o);
extern void i_array_4_state_64(svLogicVecVal* o);
extern void i_array_4_state_65(svLogicVecVal* o);
extern void i_bit(svBit* o);
extern void i_bit_t(svBit* o);
extern void i_byte(char* o);
extern void i_byte_t(char* o);
extern void i_byte_unsigned(unsigned char* o);
extern void i_byte_unsigned_t(unsigned char* o);
extern void i_chandle(void** o);
extern void i_chandle_t(void** o);
extern void i_int(int* o);
extern void i_int_t(int* o);
extern void i_int_unsigned(unsigned int* o);
extern void i_int_unsigned_t(unsigned int* o);
extern void i_integer(svLogicVecVal* o);
extern void i_integer_t(svLogicVecVal* o);
extern void i_logic(svLogic* o);
extern void i_logic_t(svLogic* o);
extern void i_longint(long long* o);
extern void i_longint_t(long long* o);
extern void i_longint_unsigned(unsigned long long* o);
extern void i_longint_unsigned_t(unsigned long long* o);
extern void i_real(double* o);
extern void i_real_t(double* o);
extern void i_shortint(short* o);
extern void i_shortint_t(short* o);
extern void i_shortint_unsigned(unsigned short* o);
extern void i_shortint_unsigned_t(unsigned short* o);
extern void i_string(const char** o);
extern void i_string_t(const char** o);
extern void i_struct_2_state_1(svBitVecVal* o);
extern void i_struct_2_state_128(svBitVecVal* o);
extern void i_struct_2_state_32(svBitVecVal* o);
extern void i_struct_2_state_33(svBitVecVal* o);
extern void i_struct_2_state_64(svBitVecVal* o);
extern void i_struct_2_state_65(svBitVecVal* o);
extern void i_struct_4_state_1(svLogicVecVal* o);
extern void i_struct_4_state_128(svLogicVecVal* o);
extern void i_struct_4_state_32(svLogicVecVal* o);
extern void i_struct_4_state_33(svLogicVecVal* o);
extern void i_struct_4_state_64(svLogicVecVal* o);
extern void i_struct_4_state_65(svLogicVecVal* o);
extern void i_time(svLogicVecVal* o);
extern void i_time_t(svLogicVecVal* o);
extern void i_union_2_state_1(svBitVecVal* o);
extern void i_union_2_state_128(svBitVecVal* o);
extern void i_union_2_state_32(svBitVecVal* o);
extern void i_union_2_state_33(svBitVecVal* o);
extern void i_union_2_state_64(svBitVecVal* o);
extern void i_union_2_state_65(svBitVecVal* o);
extern void i_union_4_state_1(svLogicVecVal* o);
extern void i_union_4_state_128(svLogicVecVal* o);
extern void i_union_4_state_32(svLogicVecVal* o);
extern void i_union_4_state_33(svLogicVecVal* o);
extern void i_union_4_state_64(svLogicVecVal* o);
extern void i_union_4_state_65(svLogicVecVal* o);
// DPI IMPORTS
extern void check_exports();
extern void i_array_2_state_1(svBitVecVal* o);
extern void i_array_2_state_128(svBitVecVal* o);
extern void i_array_2_state_32(svBitVecVal* o);
extern void i_array_2_state_33(svBitVecVal* o);
extern void i_array_2_state_64(svBitVecVal* o);
extern void i_array_2_state_65(svBitVecVal* o);
extern void i_array_4_state_1(svLogicVecVal* o);
extern void i_array_4_state_128(svLogicVecVal* o);
extern void i_array_4_state_32(svLogicVecVal* o);
extern void i_array_4_state_33(svLogicVecVal* o);
extern void i_array_4_state_64(svLogicVecVal* o);
extern void i_array_4_state_65(svLogicVecVal* o);
extern void i_bit(svBit* o);
extern void i_bit_t(svBit* o);
extern void i_byte(char* o);
extern void i_byte_t(char* o);
extern void i_byte_unsigned(unsigned char* o);
extern void i_byte_unsigned_t(unsigned char* o);
extern void i_chandle(void** o);
extern void i_chandle_t(void** o);
extern void i_int(int* o);
extern void i_int_t(int* o);
extern void i_int_unsigned(unsigned int* o);
extern void i_int_unsigned_t(unsigned int* o);
extern void i_integer(svLogicVecVal* o);
extern void i_integer_t(svLogicVecVal* o);
extern void i_logic(svLogic* o);
extern void i_logic_t(svLogic* o);
extern void i_longint(long long* o);
extern void i_longint_t(long long* o);
extern void i_longint_unsigned(unsigned long long* o);
extern void i_longint_unsigned_t(unsigned long long* o);
extern void i_real(double* o);
extern void i_real_t(double* o);
extern void i_shortint(short* o);
extern void i_shortint_t(short* o);
extern void i_shortint_unsigned(unsigned short* o);
extern void i_shortint_unsigned_t(unsigned short* o);
extern void i_string(const char** o);
extern void i_string_t(const char** o);
extern void i_struct_2_state_1(svBitVecVal* o);
extern void i_struct_2_state_128(svBitVecVal* o);
extern void i_struct_2_state_32(svBitVecVal* o);
extern void i_struct_2_state_33(svBitVecVal* o);
extern void i_struct_2_state_64(svBitVecVal* o);
extern void i_struct_2_state_65(svBitVecVal* o);
extern void i_struct_4_state_1(svLogicVecVal* o);
extern void i_struct_4_state_128(svLogicVecVal* o);
extern void i_struct_4_state_32(svLogicVecVal* o);
extern void i_struct_4_state_33(svLogicVecVal* o);
extern void i_struct_4_state_64(svLogicVecVal* o);
extern void i_struct_4_state_65(svLogicVecVal* o);
extern void i_time(svLogicVecVal* o);
extern void i_time_t(svLogicVecVal* o);
extern void i_union_2_state_1(svBitVecVal* o);
extern void i_union_2_state_128(svBitVecVal* o);
extern void i_union_2_state_32(svBitVecVal* o);
extern void i_union_2_state_33(svBitVecVal* o);
extern void i_union_2_state_64(svBitVecVal* o);
extern void i_union_2_state_65(svBitVecVal* o);
extern void i_union_4_state_1(svLogicVecVal* o);
extern void i_union_4_state_128(svLogicVecVal* o);
extern void i_union_4_state_32(svLogicVecVal* o);
extern void i_union_4_state_33(svLogicVecVal* o);
extern void i_union_4_state_64(svLogicVecVal* o);
extern void i_union_4_state_65(svLogicVecVal* o);
#ifdef __cplusplus
}

View File

@ -15,171 +15,171 @@ extern "C" {
#endif
// DPI EXPORTS
extern void e_bit121_0d(svBitVecVal* val);
extern void e_bit121_1d(svBitVecVal* val);
extern void e_bit121_2d(svBitVecVal* val);
extern void e_bit121_3d(svBitVecVal* val);
extern void e_bit1_0d(svBit* val);
extern void e_bit1_1d(svBit* val);
extern void e_bit1_2d(svBit* val);
extern void e_bit1_3d(svBitVecVal* val);
extern void e_bit7_0d(svBitVecVal* val);
extern void e_bit7_1d(svBitVecVal* val);
extern void e_bit7_2d(svBitVecVal* val);
extern void e_bit7_3d(svBitVecVal* val);
extern void e_byte_0d(char* val);
extern void e_byte_1d(char* val);
extern void e_byte_2d(char* val);
extern void e_byte_3d(char* val);
extern void e_byte_unsigned_0d(unsigned char* val);
extern void e_byte_unsigned_1d(unsigned char* val);
extern void e_byte_unsigned_2d(unsigned char* val);
extern void e_byte_unsigned_3d(unsigned char* val);
extern void e_chandle_0d(void** val);
extern void e_chandle_1d(void** val);
extern void e_chandle_2d(void** val);
extern void e_chandle_3d(void** val);
extern void e_int_0d(int* val);
extern void e_int_1d(int* val);
extern void e_int_2d(int* val);
extern void e_int_3d(int* val);
extern void e_int_unsigned_0d(unsigned int* val);
extern void e_int_unsigned_1d(unsigned int* val);
extern void e_int_unsigned_2d(unsigned int* val);
extern void e_int_unsigned_3d(unsigned int* val);
extern void e_integer_0d(svLogicVecVal* val);
extern void e_integer_1d(svLogicVecVal* val);
extern void e_integer_2d(svLogicVecVal* val);
extern void e_integer_3d(svLogicVecVal* val);
extern void e_logic121_0d(svLogicVecVal* val);
extern void e_logic121_1d(svLogicVecVal* val);
extern void e_logic121_2d(svLogicVecVal* val);
extern void e_logic121_3d(svLogicVecVal* val);
extern void e_logic1_0d(svLogic* val);
extern void e_logic1_1d(svLogic* val);
extern void e_logic1_2d(svLogic* val);
extern void e_logic1_3d(svLogicVecVal* val);
extern void e_logic7_0d(svLogicVecVal* val);
extern void e_logic7_1d(svLogicVecVal* val);
extern void e_logic7_2d(svLogicVecVal* val);
extern void e_logic7_3d(svLogicVecVal* val);
extern void e_longint_0d(long long* val);
extern void e_longint_1d(long long* val);
extern void e_longint_2d(long long* val);
extern void e_longint_3d(long long* val);
extern void e_longint_unsigned_0d(unsigned long long* val);
extern void e_longint_unsigned_1d(unsigned long long* val);
extern void e_longint_unsigned_2d(unsigned long long* val);
extern void e_longint_unsigned_3d(unsigned long long* val);
extern void e_pack_struct_0d(svLogicVecVal* val);
extern void e_pack_struct_1d(svLogicVecVal* val);
extern void e_pack_struct_2d(svLogicVecVal* val);
extern void e_pack_struct_3d(svLogicVecVal* val);
extern void e_real_0d(double* val);
extern void e_real_1d(double* val);
extern void e_real_2d(double* val);
extern void e_real_3d(double* val);
extern void e_shortint_0d(short* val);
extern void e_shortint_1d(short* val);
extern void e_shortint_2d(short* val);
extern void e_shortint_3d(short* val);
extern void e_shortint_unsigned_0d(unsigned short* val);
extern void e_shortint_unsigned_1d(unsigned short* val);
extern void e_shortint_unsigned_2d(unsigned short* val);
extern void e_shortint_unsigned_3d(unsigned short* val);
extern void e_string_0d(const char** val);
extern void e_string_1d(const char** val);
extern void e_string_2d(const char** val);
extern void e_string_3d(const char** val);
extern void e_time_0d(svLogicVecVal* val);
extern void e_time_1d(svLogicVecVal* val);
extern void e_time_2d(svLogicVecVal* val);
extern void e_time_3d(svLogicVecVal* val);
// DPI EXPORTS
extern void e_bit121_0d(svBitVecVal* val);
extern void e_bit121_1d(svBitVecVal* val);
extern void e_bit121_2d(svBitVecVal* val);
extern void e_bit121_3d(svBitVecVal* val);
extern void e_bit1_0d(svBit* val);
extern void e_bit1_1d(svBit* val);
extern void e_bit1_2d(svBit* val);
extern void e_bit1_3d(svBitVecVal* val);
extern void e_bit7_0d(svBitVecVal* val);
extern void e_bit7_1d(svBitVecVal* val);
extern void e_bit7_2d(svBitVecVal* val);
extern void e_bit7_3d(svBitVecVal* val);
extern void e_byte_0d(char* val);
extern void e_byte_1d(char* val);
extern void e_byte_2d(char* val);
extern void e_byte_3d(char* val);
extern void e_byte_unsigned_0d(unsigned char* val);
extern void e_byte_unsigned_1d(unsigned char* val);
extern void e_byte_unsigned_2d(unsigned char* val);
extern void e_byte_unsigned_3d(unsigned char* val);
extern void e_chandle_0d(void** val);
extern void e_chandle_1d(void** val);
extern void e_chandle_2d(void** val);
extern void e_chandle_3d(void** val);
extern void e_int_0d(int* val);
extern void e_int_1d(int* val);
extern void e_int_2d(int* val);
extern void e_int_3d(int* val);
extern void e_int_unsigned_0d(unsigned int* val);
extern void e_int_unsigned_1d(unsigned int* val);
extern void e_int_unsigned_2d(unsigned int* val);
extern void e_int_unsigned_3d(unsigned int* val);
extern void e_integer_0d(svLogicVecVal* val);
extern void e_integer_1d(svLogicVecVal* val);
extern void e_integer_2d(svLogicVecVal* val);
extern void e_integer_3d(svLogicVecVal* val);
extern void e_logic121_0d(svLogicVecVal* val);
extern void e_logic121_1d(svLogicVecVal* val);
extern void e_logic121_2d(svLogicVecVal* val);
extern void e_logic121_3d(svLogicVecVal* val);
extern void e_logic1_0d(svLogic* val);
extern void e_logic1_1d(svLogic* val);
extern void e_logic1_2d(svLogic* val);
extern void e_logic1_3d(svLogicVecVal* val);
extern void e_logic7_0d(svLogicVecVal* val);
extern void e_logic7_1d(svLogicVecVal* val);
extern void e_logic7_2d(svLogicVecVal* val);
extern void e_logic7_3d(svLogicVecVal* val);
extern void e_longint_0d(long long* val);
extern void e_longint_1d(long long* val);
extern void e_longint_2d(long long* val);
extern void e_longint_3d(long long* val);
extern void e_longint_unsigned_0d(unsigned long long* val);
extern void e_longint_unsigned_1d(unsigned long long* val);
extern void e_longint_unsigned_2d(unsigned long long* val);
extern void e_longint_unsigned_3d(unsigned long long* val);
extern void e_pack_struct_0d(svLogicVecVal* val);
extern void e_pack_struct_1d(svLogicVecVal* val);
extern void e_pack_struct_2d(svLogicVecVal* val);
extern void e_pack_struct_3d(svLogicVecVal* val);
extern void e_real_0d(double* val);
extern void e_real_1d(double* val);
extern void e_real_2d(double* val);
extern void e_real_3d(double* val);
extern void e_shortint_0d(short* val);
extern void e_shortint_1d(short* val);
extern void e_shortint_2d(short* val);
extern void e_shortint_3d(short* val);
extern void e_shortint_unsigned_0d(unsigned short* val);
extern void e_shortint_unsigned_1d(unsigned short* val);
extern void e_shortint_unsigned_2d(unsigned short* val);
extern void e_shortint_unsigned_3d(unsigned short* val);
extern void e_string_0d(const char** val);
extern void e_string_1d(const char** val);
extern void e_string_2d(const char** val);
extern void e_string_3d(const char** val);
extern void e_time_0d(svLogicVecVal* val);
extern void e_time_1d(svLogicVecVal* val);
extern void e_time_2d(svLogicVecVal* val);
extern void e_time_3d(svLogicVecVal* val);
// DPI IMPORTS
extern void check_exports();
extern void* get_non_null();
extern void i_bit121_0d(svBitVecVal* val);
extern void i_bit121_1d(svBitVecVal* val);
extern void i_bit121_2d(svBitVecVal* val);
extern void i_bit121_3d(svBitVecVal* val);
extern void i_bit1_0d(svBit* val);
extern void i_bit1_1d(svBit* val);
extern void i_bit1_2d(svBit* val);
extern void i_bit1_3d(svBit* val);
extern void i_bit7_0d(svBitVecVal* val);
extern void i_bit7_1d(svBitVecVal* val);
extern void i_bit7_2d(svBitVecVal* val);
extern void i_bit7_3d(svBitVecVal* val);
extern void i_byte_0d(char* val);
extern void i_byte_1d(char* val);
extern void i_byte_2d(char* val);
extern void i_byte_3d(char* val);
extern void i_byte_unsigned_0d(unsigned char* val);
extern void i_byte_unsigned_1d(unsigned char* val);
extern void i_byte_unsigned_2d(unsigned char* val);
extern void i_byte_unsigned_3d(unsigned char* val);
extern void i_chandle_0d(void** val);
extern void i_chandle_1d(void** val);
extern void i_chandle_2d(void** val);
extern void i_chandle_3d(void** val);
extern void i_int_0d(int* val);
extern void i_int_1d(int* val);
extern void i_int_2d(int* val);
extern void i_int_3d(int* val);
extern void i_int_unsigned_0d(unsigned int* val);
extern void i_int_unsigned_1d(unsigned int* val);
extern void i_int_unsigned_2d(unsigned int* val);
extern void i_int_unsigned_3d(unsigned int* val);
extern void i_integer_0d(svLogicVecVal* val);
extern void i_integer_1d(svLogicVecVal* val);
extern void i_integer_2d(svLogicVecVal* val);
extern void i_integer_3d(svLogicVecVal* val);
extern void i_logic121_0d(svLogicVecVal* val);
extern void i_logic121_1d(svLogicVecVal* val);
extern void i_logic121_2d(svLogicVecVal* val);
extern void i_logic121_3d(svLogicVecVal* val);
extern void i_logic1_0d(svLogic* val);
extern void i_logic1_1d(svLogic* val);
extern void i_logic1_2d(svLogic* val);
extern void i_logic1_3d(svLogic* val);
extern void i_logic7_0d(svLogicVecVal* val);
extern void i_logic7_1d(svLogicVecVal* val);
extern void i_logic7_2d(svLogicVecVal* val);
extern void i_logic7_3d(svLogicVecVal* val);
extern void i_longint_0d(long long* val);
extern void i_longint_1d(long long* val);
extern void i_longint_2d(long long* val);
extern void i_longint_3d(long long* val);
extern void i_longint_unsigned_0d(unsigned long long* val);
extern void i_longint_unsigned_1d(unsigned long long* val);
extern void i_longint_unsigned_2d(unsigned long long* val);
extern void i_longint_unsigned_3d(unsigned long long* val);
extern void i_pack_struct_0d(svLogicVecVal* val);
extern void i_pack_struct_1d(svLogicVecVal* val);
extern void i_pack_struct_2d(svLogicVecVal* val);
extern void i_pack_struct_3d(svLogicVecVal* val);
extern void i_real_0d(double* val);
extern void i_real_1d(double* val);
extern void i_real_2d(double* val);
extern void i_real_3d(double* val);
extern void i_shortint_0d(short* val);
extern void i_shortint_1d(short* val);
extern void i_shortint_2d(short* val);
extern void i_shortint_3d(short* val);
extern void i_shortint_unsigned_0d(unsigned short* val);
extern void i_shortint_unsigned_1d(unsigned short* val);
extern void i_shortint_unsigned_2d(unsigned short* val);
extern void i_shortint_unsigned_3d(unsigned short* val);
extern void i_string_0d(const char** val);
extern void i_string_1d(const char** val);
extern void i_string_2d(const char** val);
extern void i_string_3d(const char** val);
extern void i_time_0d(svLogicVecVal* val);
extern void i_time_1d(svLogicVecVal* val);
extern void i_time_2d(svLogicVecVal* val);
extern void i_time_3d(svLogicVecVal* val);
// DPI IMPORTS
extern void check_exports();
extern void* get_non_null();
extern void i_bit121_0d(svBitVecVal* val);
extern void i_bit121_1d(svBitVecVal* val);
extern void i_bit121_2d(svBitVecVal* val);
extern void i_bit121_3d(svBitVecVal* val);
extern void i_bit1_0d(svBit* val);
extern void i_bit1_1d(svBit* val);
extern void i_bit1_2d(svBit* val);
extern void i_bit1_3d(svBit* val);
extern void i_bit7_0d(svBitVecVal* val);
extern void i_bit7_1d(svBitVecVal* val);
extern void i_bit7_2d(svBitVecVal* val);
extern void i_bit7_3d(svBitVecVal* val);
extern void i_byte_0d(char* val);
extern void i_byte_1d(char* val);
extern void i_byte_2d(char* val);
extern void i_byte_3d(char* val);
extern void i_byte_unsigned_0d(unsigned char* val);
extern void i_byte_unsigned_1d(unsigned char* val);
extern void i_byte_unsigned_2d(unsigned char* val);
extern void i_byte_unsigned_3d(unsigned char* val);
extern void i_chandle_0d(void** val);
extern void i_chandle_1d(void** val);
extern void i_chandle_2d(void** val);
extern void i_chandle_3d(void** val);
extern void i_int_0d(int* val);
extern void i_int_1d(int* val);
extern void i_int_2d(int* val);
extern void i_int_3d(int* val);
extern void i_int_unsigned_0d(unsigned int* val);
extern void i_int_unsigned_1d(unsigned int* val);
extern void i_int_unsigned_2d(unsigned int* val);
extern void i_int_unsigned_3d(unsigned int* val);
extern void i_integer_0d(svLogicVecVal* val);
extern void i_integer_1d(svLogicVecVal* val);
extern void i_integer_2d(svLogicVecVal* val);
extern void i_integer_3d(svLogicVecVal* val);
extern void i_logic121_0d(svLogicVecVal* val);
extern void i_logic121_1d(svLogicVecVal* val);
extern void i_logic121_2d(svLogicVecVal* val);
extern void i_logic121_3d(svLogicVecVal* val);
extern void i_logic1_0d(svLogic* val);
extern void i_logic1_1d(svLogic* val);
extern void i_logic1_2d(svLogic* val);
extern void i_logic1_3d(svLogic* val);
extern void i_logic7_0d(svLogicVecVal* val);
extern void i_logic7_1d(svLogicVecVal* val);
extern void i_logic7_2d(svLogicVecVal* val);
extern void i_logic7_3d(svLogicVecVal* val);
extern void i_longint_0d(long long* val);
extern void i_longint_1d(long long* val);
extern void i_longint_2d(long long* val);
extern void i_longint_3d(long long* val);
extern void i_longint_unsigned_0d(unsigned long long* val);
extern void i_longint_unsigned_1d(unsigned long long* val);
extern void i_longint_unsigned_2d(unsigned long long* val);
extern void i_longint_unsigned_3d(unsigned long long* val);
extern void i_pack_struct_0d(svLogicVecVal* val);
extern void i_pack_struct_1d(svLogicVecVal* val);
extern void i_pack_struct_2d(svLogicVecVal* val);
extern void i_pack_struct_3d(svLogicVecVal* val);
extern void i_real_0d(double* val);
extern void i_real_1d(double* val);
extern void i_real_2d(double* val);
extern void i_real_3d(double* val);
extern void i_shortint_0d(short* val);
extern void i_shortint_1d(short* val);
extern void i_shortint_2d(short* val);
extern void i_shortint_3d(short* val);
extern void i_shortint_unsigned_0d(unsigned short* val);
extern void i_shortint_unsigned_1d(unsigned short* val);
extern void i_shortint_unsigned_2d(unsigned short* val);
extern void i_shortint_unsigned_3d(unsigned short* val);
extern void i_string_0d(const char** val);
extern void i_string_1d(const char** val);
extern void i_string_2d(const char** val);
extern void i_string_3d(const char** val);
extern void i_time_0d(svLogicVecVal* val);
extern void i_time_1d(svLogicVecVal* val);
extern void i_time_2d(svLogicVecVal* val);
extern void i_time_3d(svLogicVecVal* val);
#ifdef __cplusplus
}

View File

@ -15,76 +15,76 @@ extern "C" {
#endif
// DPI EXPORTS
extern svBitVecVal e_array_2_state_1();
extern svBitVecVal e_array_2_state_32();
extern svBit e_bit();
extern svBit e_bit_t();
extern char e_byte();
extern char e_byte_t();
extern unsigned char e_byte_unsigned();
extern unsigned char e_byte_unsigned_t();
extern void* e_chandle();
extern void* e_chandle_t();
extern int e_int();
extern int e_int_t();
extern unsigned int e_int_unsigned();
extern unsigned int e_int_unsigned_t();
extern svLogic e_logic();
extern svLogic e_logic_t();
extern long long e_longint();
extern long long e_longint_t();
extern unsigned long long e_longint_unsigned();
extern unsigned long long e_longint_unsigned_t();
extern double e_real();
extern double e_real_t();
extern short e_shortint();
extern short e_shortint_t();
extern unsigned short e_shortint_unsigned();
extern unsigned short e_shortint_unsigned_t();
extern const char* e_string();
extern const char* e_string_t();
extern svBitVecVal e_struct_2_state_1();
extern svBitVecVal e_struct_2_state_32();
extern svBitVecVal e_union_2_state_1();
extern svBitVecVal e_union_2_state_32();
extern void e_void();
// DPI EXPORTS
extern svBitVecVal e_array_2_state_1();
extern svBitVecVal e_array_2_state_32();
extern svBit e_bit();
extern svBit e_bit_t();
extern char e_byte();
extern char e_byte_t();
extern unsigned char e_byte_unsigned();
extern unsigned char e_byte_unsigned_t();
extern void* e_chandle();
extern void* e_chandle_t();
extern int e_int();
extern int e_int_t();
extern unsigned int e_int_unsigned();
extern unsigned int e_int_unsigned_t();
extern svLogic e_logic();
extern svLogic e_logic_t();
extern long long e_longint();
extern long long e_longint_t();
extern unsigned long long e_longint_unsigned();
extern unsigned long long e_longint_unsigned_t();
extern double e_real();
extern double e_real_t();
extern short e_shortint();
extern short e_shortint_t();
extern unsigned short e_shortint_unsigned();
extern unsigned short e_shortint_unsigned_t();
extern const char* e_string();
extern const char* e_string_t();
extern svBitVecVal e_struct_2_state_1();
extern svBitVecVal e_struct_2_state_32();
extern svBitVecVal e_union_2_state_1();
extern svBitVecVal e_union_2_state_32();
extern void e_void();
// DPI IMPORTS
extern void check_exports();
extern svBitVecVal i_array_2_state_1();
extern svBitVecVal i_array_2_state_32();
extern svBit i_bit();
extern svBit i_bit_t();
extern char i_byte();
extern char i_byte_t();
extern unsigned char i_byte_unsigned();
extern unsigned char i_byte_unsigned_t();
extern void* i_chandle();
extern void* i_chandle_t();
extern int i_int();
extern int i_int_t();
extern unsigned int i_int_unsigned();
extern unsigned int i_int_unsigned_t();
extern svLogic i_logic();
extern svLogic i_logic_t();
extern long long i_longint();
extern long long i_longint_t();
extern unsigned long long i_longint_unsigned();
extern unsigned long long i_longint_unsigned_t();
extern double i_real();
extern double i_real_t();
extern short i_shortint();
extern short i_shortint_t();
extern unsigned short i_shortint_unsigned();
extern unsigned short i_shortint_unsigned_t();
extern const char* i_string();
extern const char* i_string_t();
extern svBitVecVal i_struct_2_state_1();
extern svBitVecVal i_struct_2_state_32();
extern svBitVecVal i_union_2_state_1();
extern svBitVecVal i_union_2_state_32();
extern void i_void();
// DPI IMPORTS
extern void check_exports();
extern svBitVecVal i_array_2_state_1();
extern svBitVecVal i_array_2_state_32();
extern svBit i_bit();
extern svBit i_bit_t();
extern char i_byte();
extern char i_byte_t();
extern unsigned char i_byte_unsigned();
extern unsigned char i_byte_unsigned_t();
extern void* i_chandle();
extern void* i_chandle_t();
extern int i_int();
extern int i_int_t();
extern unsigned int i_int_unsigned();
extern unsigned int i_int_unsigned_t();
extern svLogic i_logic();
extern svLogic i_logic_t();
extern long long i_longint();
extern long long i_longint_t();
extern unsigned long long i_longint_unsigned();
extern unsigned long long i_longint_unsigned_t();
extern double i_real();
extern double i_real_t();
extern short i_shortint();
extern short i_shortint_t();
extern unsigned short i_shortint_unsigned();
extern unsigned short i_shortint_unsigned_t();
extern const char* i_string();
extern const char* i_string_t();
extern svBitVecVal i_struct_2_state_1();
extern svBitVecVal i_struct_2_state_32();
extern svBitVecVal i_union_2_state_1();
extern svBitVecVal i_union_2_state_32();
extern void i_void();
#ifdef __cplusplus
}

View File

@ -0,0 +1,34 @@
#!/usr/bin/env perl
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
#
# Copyright 2022 by Geza Lore. This program is free software; you
# can redistribute it and/or modify it under the terms of either the GNU
# Lesser General Public License Version 3 or the Perl Artistic License
# Version 2.0.
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
scenarios(vlt_all => 1);
top_filename("t/t_merge_cond.v");
compile(
verilator_flags2 => ["-unroll-count 64", "--stats", "-fno-merge-cond-motion"],
);
execute(
check_finished => 1,
);
if ($Self->{vlt}) {
# Note, with vltmt this might be split differently, so only checking vlt
file_grep($Self->{stats}, qr/Optimizations, MergeCond merges\s+(\d+)/i,
10);
file_grep($Self->{stats}, qr/Optimizations, MergeCond merged items\s+(\d+)/i,
580);
file_grep($Self->{stats}, qr/Optimizations, MergeCond longest merge\s+(\d+)/i,
64);
}
ok(1);
1;

View File

@ -0,0 +1,18 @@
#!/usr/bin/env perl
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
#
# Copyright 2022 by Todd Strader. This program is free software; you
# can redistribute it and/or modify it under the terms of either the GNU
# Lesser General Public License Version 3 or the Perl Artistic License
# Version 2.0.
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
scenarios(
vlt => 1,
);
compile();
execute();
ok(1);
1;

View File

@ -0,0 +1,55 @@
// DESCRIPTION: Verilator: Verilog Test module
// This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2022 by Todd Strader.
// SPDX-License-Identifier: CC0-1.0
module sub (
output logic [31:0] sub_s1up_out[0:0] /* verilator public_flat_rw */,
input logic sub_clk,
input logic [31:0] sub_s1up_in[0:0] /* verilator public_flat_rw */
);
// Evaluate clock edges
always @(posedge sub_clk) begin
sub_s1up_out <= sub_s1up_in;
end
endmodule
module t (/*AUTOARG*/
// Inputs
clk
);
input clk;
integer cyc = 0;
logic [31:0] s1up_in[1];
logic [31:0] s1up_out[1];
sub the_sub (
.sub_s1up_in (s1up_in),
.sub_s1up_out (s1up_out),
.sub_clk (clk));
always_comb s1up_in[0] = cyc;
always @(posedge clk) begin
cyc <= cyc + 1;
if (cyc == 10) begin
if (s1up_out[0] != 9) begin
$display("%%Error: got %0d instead of 9", s1up_out);
$stop;
end
if (the_sub.sub_s1up_in[0] != 10) begin
$display("%%Error: the_sub.sub_s1up_in was %0d instead of 10", the_sub.sub_s1up_in[0]);
$stop;
end
$display("final cycle = %0d", cyc);
$write("*-* All Finished *-*\n");
$finish;
end
end
endmodule

View File

@ -6,22 +6,37 @@
`define STRINGIFY(x) `"x`"
module t;
module t(/*AUTOARG*/
// Inputs
clk
);
input clk;
int cyc;
reg [5:0] assoc_c[int];
reg [95:0] assoc_w[int];
initial begin
assoc_c[300] = 10; // See if clearing must happen first
$readmemb("t/t_sys_readmem_b.mem", assoc_c);
$display("assoc_c=%p", assoc_c);
$writememh({`STRINGIFY(`TEST_OBJ_DIR),"/t_sys_writemem_c_b.mem"}, assoc_c);
$readmemb("t/t_sys_readmem_b.mem", assoc_w);
// Not conditional with TEST_VERBOSE as found bug with wide display
$display("assoc_w=%p", assoc_w);
$writememh({`STRINGIFY(`TEST_OBJ_DIR),"/t_sys_writemem_w_h.mem"}, assoc_w);
$write("*-* All Finished *-*\n");
$finish;
always_ff @ (posedge clk) begin
cyc <= cyc + 1;
if (cyc == 1) begin
assoc_c[300] <= 10; // See if clearing must happen first
// Also checks no BLKANDNBLK due to readmem/writemem
end
else if (cyc == 2) begin
$readmemb("t/t_sys_readmem_b.mem", assoc_c);
$display("assoc_c=%p", assoc_c);
$writememh({`STRINGIFY(`TEST_OBJ_DIR),"/t_sys_writemem_c_b.mem"}, assoc_c);
end
else if (cyc == 3) begin
$readmemb("t/t_sys_readmem_b.mem", assoc_w);
// Not conditional with TEST_VERBOSE as found bug with wide display
$display("assoc_w=%p", assoc_w);
$writememh({`STRINGIFY(`TEST_OBJ_DIR),"/t_sys_writemem_w_h.mem"}, assoc_w);
end
else if (cyc == 4) begin
$write("*-* All Finished *-*\n");
$finish;
end
end
endmodule