【问题标题】:VHDL-2008 external names: reference verilog net?VHDL-2008 外部名称:参考verilog net?
【发布时间】:2019-01-16 09:08:08
【问题描述】:

是否可以使用 VHDL-2008 分层引用/外部名称来引用 Verilog 网络? Questa Sim (10.6c) 停止模拟并显示以下错误消息:

vsim-8509:“dut_i.my_net”的对象类“SIGNAL”与表示对象的“net”类不同。

这是失败的 VHDL 代码:

alias my_alias is << signal dut_i.my_net : std_logic >>;

【问题讨论】:

  • 这超出了 VHDL 的范围,因为 LRM 中没有定义跨语言兼容性。这是一个依赖于工具的问题。 my_net 如何在 verilog 中声明?从技术上讲,verilog 中的所有内容都是一个变量(也许试试这个而不是信号)对于跨语言访问,您可能仅限于使用信号py。
  • 在这种情况下,my_net 是 Verilog 模块的输出(在下一个层次结构中未连接/打开)。使用“变量”而不是“信号”会导致类似的错误。
  • 那么我建议阅读signal spy(其他供应商也提供类似的包,但它们都是专有的)。

标签: vhdl verilog questasim


【解决方案1】:

根据 Questa 用户手册:

Questa SIM 支持 IEEE 1076-2008 标准“外部名称”语法 这允许您从 VHDL 到 VHDL 进行分层引用。 目前,这些引用可以跨越 Verilog 边界,但它们 必须以 VHDL 开头和结尾。

因此,答案是否定的。

Questa 确实提供了一组 Signal Spy 程序来通过字符串名称访问您的 Verilog 信号。您还必须打开优化可见性以访问这些信号,因为字符串直到运行时才被解析。

【讨论】:

  • 10.6d 用户手册,第 10 章混合语言仿真,使用通用设计库分离编译器,使用分层引用。
猜你喜欢
  • 2017-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-09
  • 1970-01-01
  • 2016-02-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多