數據延時線(Delay Line)在數字信號處理中具有廣泛的應用,例如FIR濾波器設計中就會需要用到數據延時線。實際上,在絕大部分的Pipeline設計中都會需要用到數據延時。本文介紹一種基于EBR(Embedded Block RAM,Xilinx叫做BRAM,Altera叫做Embedded memory)的數據延時的實現方法。
如下圖所示:
將EBR配置為單端口的RAM(即RAM_DQ),其中,Write Mode配置為Read before write。即同時對同一地址進行讀寫操作時,將首先讀取出改地址空間的原有數據,然后在將新的數據寫入到該地址空間中。如下圖所示:
此模式下的波形圖為:
假定計數器模為4,并將WE信號接高電平,RAM的初始值為0,則相應的時序圖如下圖所示:
在第一幀地址內,從0號地址讀出的數據為0,再將數據A寫入0號地址中,從1號地址讀出的數據為0,再將數據B寫入1號地址。類似的,數據C和數據D分別被寫入到2號地址和3號地址中。在第二幀地址內,從0號地址讀取出的數據即為在第一幀地址內寫入的數據A,類似的,從1~3號地址中讀出的數據分別為B,C和D。由于我們使能了輸出寄存器,所以從輸入端DIN到輸出端DOUT一共有5級時鐘周期的Latency。
-
濾波器
+關注
關注
161文章
7860瀏覽量
178931 -
數字信號
+關注
關注
2文章
982瀏覽量
47663
原文標題:【精品博文】一種借助EBR實現數據延時的方法
文章出處:【微信號:ChinaAET,微信公眾號:電子技術應用ChinaAET】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論