首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

XilinxIP核_block_memory_generator

XilinxIP核_block_memory_generator

Xilinx公司提供了大量的存儲器資源,包括了內嵌的塊存儲器、分布式存儲器以及16位的移位寄存器。利用這些資源可以生成深度、位寬可配置的RAM、 ROM、FIFO以及移位寄存器等存儲邏輯。其中,塊存儲器是硬件存儲器,不占用任何邏輯資源,其餘兩類都是Xilinx專有的存儲結構,由FPGA芯片的查找表和觸發器資源構建的,每個查找表可構成16 1位的分布式存儲器或移位寄存器。一般來講,塊存儲器是寶貴的資源,通常用於大數據量的應用場合,而其餘兩類用於小數據量環境。
1.塊存儲器的組成和功能介紹
在Xilinx FPGA中,塊RAM是按照列來排列的,這样保證了每個CLB單元周圍都有比較接近的塊RAM用於存儲和交換數據。與塊RAM接近的是硬核乘加單元,這样不僅有利於提高乘法的運算速度,還能形成微處理器的雛形,在數字信號處理領域非常實用。例如,在Spartan 3E系列芯片中,塊RAM分布於整個芯片的邊緣,其外部一般有兩列CLB,如圖4-120所示,可直接對輸入數據進行大規模緩存以及數據同步操作,便於實現各種邏輯操作。


圖4-120 Spartan3E系統芯片中塊RAM的分布圖

塊RAM幾乎是FPGA器件中除了邏輯資源之外用得最多的功能塊,Xilinx的主流 FPGA芯片內部都集成了數量不等的塊RAM硬核資源,速度可以達到數百兆赫茲,不會占用額外的CLB資源,而且可以在ISE環境的IP核生成器中靈活地對RAM進行配置,構成單端口RAM、簡單雙口RAM、真正雙口RAM、ROM(在RAM中存入初值)和FIFO等應用模式,如圖4-121所示。同時,還可以將多個塊RAM通過同步端口連接起來構成容量更大的塊RAM。


圖4-121 塊RAM組合操作示意圖
1)單端口RAM模式
單端口RAM的模型如圖4-122所示,只有一個時钟源CLK,WE为寫使能信號,EN为單口RAM使能信號,SSR为清零信號,ADDR为地址信號,DI和DO分別为寫入和讀出數據信號。


圖4-122 Xilinx單端塊RAM的示意模型
單端口RAM模式支持非同時的讀寫操作。同時每個塊RAM可以被分为兩部分,分別實現兩個獨立的單端口RAM。需要注意的是,當要實現兩個獨立的單端口RAM模塊時,首先要保證每個模塊所占用的存儲空間小於塊RAM存儲空間的1/2。在單端口RAM配置中,輸出只在 read-during-write模式有效,即只有在寫操作有效時,寫入到RAM的數據才能被讀出。當輸出寄存器被旁路時,新數據在其被寫入時的時钟上升沿有效。
2)簡單的雙端口RAM
簡單雙端口RAM模型如圖4-123所示,圖中上邊的端口只寫,下邊的端口只讀,因此這種RAM也被稱为偽雙端口RAM(Pseudo Dual Port RAM)。這種簡單雙端口RAM模式也支持同時的讀寫操作。


圖4-123 Xilinx簡單雙端口塊RAM的示意模型
塊RAM支持不同的端口寬度設置,允許讀端口寬度與寫端口寬度不同。這一特性有着廣泛地應用,例如:不同總線寬度的並串轉換器等。在簡單雙端口RAM模式中,塊RAM具有一個寫使能信號wren和一個讀使能信號rden,當rden为高電平時,讀操作有效。當讀使能信號無效時,當前數據被保存在輸出端口。當讀操作和寫操作同時對同一個地址單元時,簡單雙口RAM的輸出或者是不確定值,或者是存儲在此地址單元的原來的數據。
3)真正雙端口RAM模式
真正雙端口RAM模型如圖4-124所示,圖中上邊的端口A和下邊的端口B都支持讀寫操作,WEA、WEB信號为高時進行寫操作,低为讀操作。同時它支持兩個端口讀寫操作的任何組合:兩個同時讀操作、兩個端口同時寫操作或者在兩個不同的時钟下一個端口執行寫操作,另一個端口執行讀操作。
继承事业,薪火相传
返回列表