Verilator 可以创建类层次结构吗?

Posted

技术标签:

【中文标题】Verilator 可以创建类层次结构吗?【英文标题】:Can Verilator create a class hierarchy? 【发布时间】:2019-01-06 16:21:14 【问题描述】:

一般Verilator提问:

当我指定具有多个模块的分层 Verilog 设计时,拆分为多个文件,然后设计是否总是扁平化为 single c++ 类,或者Verilator 是否有可能通过为每个模块创建一个类来保留层次结构单独的模块?

【问题讨论】:

我有同样的问题,我正在使用 --cc 根据文档(veripool.org/ftp/verilator_doc.pdf,第 31 页)应该为每个文件创建 prefixeach_verilog_module.cpp & .h C++ 文件模块,但它没有。我还尝试使用 --public 强制:/*verilator public_module*/ [...] 指示模块不应内联 [...] 以便 C 代码可以访问该模块。 [...] 使用 --public 开关时也为所有模块设置。但它也不会创建类。 【参考方案1】:

添加// verilator public 将生成单独的类。还有一个 SystemVerilog DPI-C,可让您通过 C 访问内部线路。

【讨论】:

我正在使用 --public,它不会生成单独的类 :( 知道我做错了什么吗? @AlexandreDumont 尝试在 verilog 代码中添加 /*verilator public*/ 而不是 option --public

以上是关于Verilator 可以创建类层次结构吗?的主要内容,如果未能解决你的问题,请参考以下文章

基类只有一个派生类可以吗?

这种使用模板对类层次结构进行函数重载的方式安全吗?

过深的 C++ 类层次结构会导致堆栈溢出吗?

在 Scala 中使用案例类创建层次结构

根据类型层次结构创建映射函数

如何构建遗传算法类层次结构?