我有一个FIFO,其接口看起来像这样:

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;


该接口已给出,我无法更改。现在的事情是,出于调试目的,我想看看对FIFO的写入和读取内容。换句话说,理想情况下,我想分配两个调试FIFO的输入和输出值,即。

  DBG_FIFO_IN  <= DIN;
  DBG_FIFO_OUT <= DOUT;


出于明显的原因,第二次分配给我以下错误消息:

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

所以我想知道是否有任何方法可以将DOUT值赋给调试符号。给定了接口,所以我不能使DOUT为inout信号。

非常感谢您的有用评论!

最佳答案

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

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


要么

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

08-17 11:52