MAX 10嵌入式存储器用户指南

ID 683431
日期 11/02/2015
Public
文档目录

9.1. MAX® 10器件的FIFO IP内核信号

表 29.  FIFO IP内核输入信号
信号 需要 说明
clock Yes 正边沿触发时钟。
wrclk Yes 正边沿触发时钟。 同步以下端口:
  • data
  • wrreq
  • wrfull
  • wrempty
  • wrusedw
rdclk Yes 正边沿触发时钟。 同步以下端口:
  • q
  • rdreq
  • rdfull
  • rdempty
  • rdusedw
data Yes wrreq信号被置位时,保持数据被写入FIFO IP内核。

如果手动例化FIFO IP内核,那么确保端口宽度等于How wide should the FIFO be?参数。

wrreq Yes 置位该信号以请求写操作。

确保满足以下条件:

  • full (对于SCFIFO模式中的FIFO IP内核)或wrfull (对于DCFIFO模式中的FIFO IP内核)端口为高电平时,不要置位wrreq信号。使能上溢保护电路或打开 Disable overflow checking. Writing to a full FIFO will corrupt contents参数,以便FIFO IP内核在满时可以自动禁用wrreq信号。
  • wrreq信号必须根据fullwrfull信号满足功能时序要求。
  • 置低aclr信号期间不要置位wrreq信号。当wrreq端口被设置为高电平时, 违反这一要求会造成aclr信号下降沿和write时钟上升沿之间的争用状态。
rdreq Yes 置位该信号来请求一个读操作。rdreq信号在正常同步FIFO模式和show-ahead mode同步FIFO模式中表现不同。

确保满足以下条件:

  • empty(对于SCFIFO模式中的FIFO IP内核)或rdempty (对于DCFIFO模式中的FIFO IP内核)端口为高电平时,不要置位rdreq信号。使能下溢保护电路或打开Disable underflow checking. Reading from an empty FIFO will corrupt contents参数,以便 FIFO IP内核在空时可以自动禁用rdreq信号。

rdreq信号必须根据emptyrdempty信号满足功能时序要求。

sclr No 置位该信号,以清除所有输出状态端口,但对于q输出的影响可能根据不同的FIFO配置而有所不同。aclr信号没有必须的最小有效周期保持数。
aclr No
表 30.  FIFO IP内核输出信号
信号 需要 说明
q   显示了来自读请求操作的数据读取。在SCFIFO和DCFIFO模式中,q端口的宽度必须等于data端口的宽度。如果您手动例化IP,确保端口宽度等于How wide should the FIFO be?参数。在DCFIFO_MIXED_WIDTHS模式中,q端口的宽度可以不同于data端口的宽度。如果您手动实例化IP,确保q端口的宽度等于Use a different output width参数。IP支持宽的写端口以及窄的读端口,反之亦然。然而,宽度比率由RAM模块的类型限制,并且在一般情况下为2的幂数。
full No 当置位时,FIFO IP内核被认为满。当FIFO IP内核满时不要执行写请求操作。一般情况下 信号是wrfull信号的延迟版本。然而rdfull信号用作一个组合输出,而不是wrfull信号的派生版本。因此,必须总是参考wrfull端口,以确保有效的写请求操作是否可以被执行,而不考虑目标器件。
wrfull
rdfull
empty No 当置位时,FIFO IP内核被认为空。当FIFO IP内核为空时不要执行读请求操作。一般情况下,wrempty信号是rdempty信号的延迟版本。然而wrempty信号用作一个组合输出,而不是rdempty信号的派生版本。因此,必须总是参考rdempty端口,以确保有效读请求操作是否可以被执行,而不考虑目标器件。
wrempty
rdempty
almost_full No usedw信号大于或等于Almost full参数时被置位。它被用作full信号的前期指示
almost_empty No usedw信号小于Almost empty参数时被置位。它被用作empty信号的前期指示。
usedw No 显示了存储在FIFO中的字的数量。如果您在SCFIFO或DCFIFO模式中手动例化FIFO IP内核,那么确保端口宽度等于usedw[]参数。在DCFIFO_MIXED_WIDTH模式中,wrusedwrdusedw端口的宽度必须分别等于usedw[]Use a different output width参数。
wrusedw
rdusedw