英特尔Agilex® 7嵌入式存储器用户指南

ID 683241
日期 4/10/2023
Public
文档目录

4.3.8. FIFO同步清零和异步清零效果

FIFO Intel® FPGA IP核支持同步清零(sclr)和异步清零(aclr)信号,具体取决于FIFO模式。
对于不同的FIFO配置,这些信号的作用各不相同。SCFIFO支持同步和异步信号,而DCFIFO支持异步清零信号和与写入和读取时钟同步的异步清零信号。
注: 对于 英特尔Agilex® 7 器件,必须在上电后,置位aclrsclr,以保证正确运行。
表 46.  SCFIFO中的同步清零和异步清零
模式 同步清零(sclr) 25 异步清零(aclr)
Effects on status ports fullalmost_full信号解除置位。
emptyalmost_empty信号置位。
复位usedw标志。
Commencement of effects upon assertion 在时钟的上升沿 立即(q输出除外)
Effects on the q output for normal output modes 读指针复位并指向第一个数据位置。如果q输出未寄存,输出显示SCFIFO的第一个数据字;否则,q输出保持其先前的值。 q输出保持其之前的值。
Effects on the q output for show-ahead output modes 读指针复位并指向第一个数据位置。如果q输出未寄存,则输出仅在一个时钟周期内保持其先前值,并在下一个时钟上升沿显示SCFIFO的第一个数据字。26

否则,q输出保持其先前的值。

如果q输出未寄存,则输出显示SCFIFO的第一个数据字,从第一个时钟上升沿开始。

否则,q输出将保持其先前值。

表 47.  DCFIFO中的异步清零
模式 异步清零(aclr) aclr (与写时钟同步) 27 28 aclr(与读时钟同步) 29 30
Effects on status ports wrfull信号解除置位。 写入域被清零的同时wrfull信号被置位,通常是在aclr输入的异步释放后需要三个写时钟周期。 读取域清零的同时rdempty信号被置位,通常是在aclr输入的异步释放后需要三个读时钟周期。
rdfull信号解除置位。
wremptyrdempty信号置位。
复位wrusedwrdusedw标志。
Commencement of effects upon assertion 立即。
Effects on the q output for normal output modes 31 如果未寄存,则输出保持不变。如果端口被寄存,则将其清零。
Effects on the q output for show-ahead output modes 如果未寄存,则输出显示'X'。如果端口被寄存,则将其清零。
25 sclr或者aclr信号置位时,读指针和写指针复位为零。
26 复位后显示的第一个数据字不是有效的Show-ahead数据。它反映的是读指针指向的数据,因为q输出未寄存。要获得有效的Show-ahead数据,请在复位后执行有效的写入。
27 DCFIFO在写时钟上升沿退出复位后(aclr信号解除置位的瞬间), wrreq信号必须为低电平,以避免写操作和复位之间出现竞争条件。如果不能保证设计中避免出现该竞争情况,则aclr信号需要与写时钟同步。可在FIFO参数编辑器中设置Add circuit to synchronize 'aclr' input with 'wrclk'选项或者将WRITE_ACLR_SYNCH参数设置成ON来实现该目的。
28 即使aclr信号与写时钟同步,置位aclr信号仍会异步影响所有状态标志。
29 DCFIFO在读时钟上升沿退出复位时(aclr信号解除置位的瞬间),rdreq信号必须为低电平,以避免读和复位之间的竞争情况。如果无法保证设计中避免出现该情况,需要将aclr信号与读时钟同步。可在FIFO参数编辑器中设置Add circuit to synchronize 'aclr' input with 'rdclk'选项,或将READ_ACLR_SYNCH参数设置为ON来完成该目标。
30 即使aclr信号同步到读时钟,置位aclr信号仍然会同步影响所有状态标志。
31 对于 英特尔Agilex® 7系列, ,DCFIFO仅支持Normal模式下的已寄存q输出和Show-ahead模式下的未寄存q输出。