vhdl - 读取 OUT 端口进行调试

标签 vhdl

我有一个 FIFO,它的接口(interface)看起来像这样:

entity fifo is
    port (
    CLK               : IN  std_logic := '0';
    DIN               : IN  std_logic_vector(31 DOWNTO 0);
    ALMOST_EMPTY      : OUT std_logic;
    ALMOST_FULL       : OUT std_logic;
    DOUT              : OUT std_logic_vector(31 DOWNTO 0);
    ...
    WR_ACK            : OUT std_logic
);
end fifo;

这个接口(interface)是给定的,我不能改变它。现在的问题是,出于调试目的,我想查看写入和读取 FIFO 的内容。换句话说,理想情况下我想分配两个调试 FIFO 的输入和输出值,即。

  DBG_FIFO_IN  <= DIN;
  DBG_FIFO_OUT <= DOUT;

由于显而易见的原因,第二个作业给了我以下错误信息:

[exec] ERROR:HDLParsers:1401 - 无法读取模式 OUT 的对象 DOUT。

所以我想知道是否有任何方法可以将 DOUT 值分配给我的调试符号。给定了接口(interface),所以我不能让DOUT成为inout信号。

非常感谢有用的评论!

最佳答案

您必须将 fifo 输出分配给您可以读取的本地信号,然后将该信号分配给输出(或同时分配它们):

DBG_FIFO_OUT <= (your logic here);
DOUT         <= DBG_FIFO_OUT;

DBG_FIFO_OUT <= (your logic here);
DOUT         <= (your logic here);

关于vhdl - 读取 OUT 端口进行调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4106908/

相关文章:

vhdl - VHDL 中具有 2 个时钟的 FIFO

vhdl - 如何在 FPGA 中实现无限循环?

vhdl - FLI 需要 Cocotb VHDL

tcl - 如何通过 TCL 访问 ModelSim 中的 VHDL 信号属性?

vhdl - 如何在报告语句中将字符串与整数连接起来?

vhdl - 将多维 systemverilog 端口连接到 vhdl 模块

floating-point - 使用 Altera Quartus II 将 *.vhdl 编译成库

vhdl - 等待语句必须包含带 UNTIL 关键字的条件子句

求平方根的VHDL代码?

simulation - 通过modelsim进行vhdl模拟的VCD转储。如何?