高性能FPGA中的BRAM模塊設計論文
第 1 章 緒 論

1.1 FPGA 的發(fā)展及優(yōu)勢
現場(chǎng)可編程邏輯門(mén)陣列(FPGA)是繼可編程陣列邏輯(PAL),門(mén)陣列邏輯(GAL)和電可編程邏輯器件(EPLD)等可編程器件之后的產(chǎn)物[2]。作為一種半定制器件,它經(jīng)常被用戶(hù)使用,通過(guò)編程控制達到所需要的邏輯功能[8]。相對于專(zhuān)用集成電路(ASIC),它的優(yōu)點(diǎn)如下:設計靈活:FPGA 芯片具有豐富的可編程邏輯資源且支持多種 I/O 接口及封裝,使得其設計可以應對多種市場(chǎng)需求[7]。
易于使用:FPGA 有配套的 EDA 軟件,能夠自動(dòng)完成原有 ASIC 設計所必需的芯片后端設計;這樣,開(kāi)發(fā)工程師就不需要再去了解過(guò)多的芯片后端設計知識,可以節省大部分的精力而投入到產(chǎn)品的功能設計中去。研發(fā)周期短:在用 FPGA 實(shí)現產(chǎn)品功能設計時(shí),幾乎不用后端設計,也不需要流片生產(chǎn),因此基于 FPGA 的電子設計研發(fā)周期大約為 6-12 個(gè)月。相比于 ASIC 的研發(fā)周期(14-24 個(gè)月),平均節省了一半的研發(fā)時(shí)間。研發(fā)風(fēng)險。篎PGA 的現場(chǎng)可編程性可以及時(shí)修改系統設計的缺陷和錯誤,規避了ASIC 由于設計失敗而必須重新流片的風(fēng)險。研發(fā)投入。汉 ASIC 相比,基于 FPGA 的設計沒(méi)有昂貴的 EDA 工具使用費用,和ASIC 設計所需要的人工費,因此可以大大減少研發(fā)投入。
1.2 FPGA 的國內外發(fā)展現狀
1.2.1 國外研究情況
國外 FPGA 技術(shù)起步早,發(fā)展快,其電路規模已達到上千萬(wàn)門(mén)。作為 FPGA 產(chǎn)業(yè)中的兩大霸主,Altera 和 Xilinx 已經(jīng)擁有 65nm 工藝的高性能 FPGA 器件。它們都采用基于 LUT 的可編程邏輯單元;其中 Xilinx 的 Virtex-5 系列 FPGA 產(chǎn)品能達到 550MHz 的工作頻率,Altera 的 Stratix 系列 FPGA 產(chǎn)品的工作速度已達 600MHz。如此高性能的 FPGA 內部擁有大量的可編程邏輯資源且集成了許多軟核和硬核,以方便用戶(hù)使用[11]。
1.2.2 國內研究現狀
在國內市場(chǎng)中,FPGA 的競爭力很是強大,而且應用前景也非常廣泛。但是由于國內關(guān)于 FPGA 芯片技術(shù)的研究發(fā)展時(shí)間并不長(cháng),與國外 FPGA 如火如荼的發(fā)展速度相比,還是處于發(fā)展,甚至起步階段;國內除了少數公司和一些院校研究單位對 FPGA 內部的部分結構進(jìn)行了研究且取得了一些研究成果之外,別的方面成果甚少。另外,國外對于可編程器件方面關(guān)鍵技術(shù)的壟斷也使得我國 FPGA 技術(shù)發(fā)展緩慢。即便如此,FPGA在中國已經(jīng)如雨后春筍般慢慢興起,并努力在此領(lǐng)域實(shí)現突破和長(cháng)足發(fā)展。雖然在技術(shù)和水平上和國外差距甚大,但是與以往中國 FPGA 芯片界的情況相比,國內已經(jīng)有了比較先進(jìn)的工藝技術(shù)和理論基礎,為自主設計和實(shí)現 FPGA 奠定了基礎。
第 2 章 FPGA 的基本架構
2.1 可配置邏輯單元(CLB)
CLB(Configurable Logic Block),即:可編程邏輯單元,它的基本結構是邏輯單元(LC)。一個(gè) LC 包括:4 輸入函數發(fā)生器,存儲器和進(jìn)位邏輯;每個(gè) CLB 包含 4 個(gè) LC 和一些邏輯電路[11]。圖 2-3 展示了 CLB 的整體結構。函數發(fā)生器是由 4 輸入查找表(LUT)實(shí)現的,除了可用作函數發(fā)生器,還可以是16x1bit 同步 RAM[12];由同一對在同一單元中的 LUTs 片可組成一個(gè) 16x2bit 或者 32x1bit的同步 RAM;也可以形成一個(gè) 16x1bit 的雙端口的 RAM;每個(gè) LC 單元的存儲部分可配置為 D 觸發(fā)器或鎖存器。
圖 2-2 為 FPGA 芯片的模塊布局示意圖。,各功能模塊以陣列的形式較為規則地分布在整個(gè)芯片上,每個(gè)模塊的四周為布線(xiàn)通道。
該芯片包含以下功能模塊:邏輯模塊 由查找表、寄存器等組成的單元模塊,是最基本的功能模塊,配置完成后可以實(shí)現多種不同的邏輯功能。
存儲器模塊,即本論文的研究對象,用來(lái)存儲大量的數據資源。它具有多種不同的功能模式,可以通過(guò)特定的配置方式來(lái)實(shí)現。ALU 模塊 如乘法器,用于涉及到數據處理方面的問(wèn)題。
IO 模塊 連接 FPGA 和外部電路,分布在 FPGA 的四條邊上。時(shí)鐘管理模塊 通常由全數字時(shí)鐘鎖相環(huán)和時(shí)鐘數組成,為全芯片提供低偏移、低抖動(dòng)的多種分頻和移相時(shí)鐘。
布線(xiàn)通道模塊 作為 FPGA 實(shí)現“可編程”的關(guān)鍵,按走向和功能可以列為橫向,縱向和轉換通道。他們分布在其他功能模塊的四周,將各模塊互連起來(lái)。
........
2.2 可編程連線(xiàn)資源
FPGA 提供多種可編程的連線(xiàn)資源,通過(guò)軟件的配合優(yōu)化長(cháng)路徑,使其延時(shí)盡可能最小,從而使系統性能達到最優(yōu)。FPGA 內部的可編程連線(xiàn)資源分為可編程布線(xiàn)矩陣、可分割長(cháng)線(xiàn)、長(cháng)線(xiàn)和短線(xiàn)?删幊滩季(xiàn)矩陣又包括許多種,如通用布線(xiàn)、專(zhuān)用布線(xiàn)、全局布線(xiàn)等等[5]。布線(xiàn)通道由兩個(gè)模塊組成:開(kāi)關(guān)和連線(xiàn);相鄰的連線(xiàn)之間只能通過(guò)開(kāi)關(guān)連通。FPGA 的結構是陣列式的,布線(xiàn)通道水平和垂直地分布在模塊之間。
........
2.3 輸入輸出模塊(IOB)
FPGA 芯片中的 IOB 單元可以支持像 PCI、LVTTL、LVCMOS2 等多種端口的信號標準。其結構如下圖 2-4 所示,每個(gè) IOB 結構都包括 3 個(gè)寄存器單元、一個(gè)輸入緩沖器、一個(gè)輸出緩沖三態(tài) buf、上拉/下拉電阻和 weak-keeper 電路。
作為 IOB 的寄存器單元,可以被配置成為 D 觸發(fā)器或者鎖存器。在 IOB 單元中,三個(gè)寄存器單元共享一個(gè)時(shí)鐘信號(CLK);一個(gè)置位/復位信號(SR),每個(gè)觸發(fā)器的此信號可以被獨立配置成同步置位/復位和異步置位/復位[5];分別有獨立的時(shí)鐘使能信號(CE)。IOB 的輸入路徑中的緩沖器可以將輸入信號通過(guò)觸發(fā)器或直接送到內部電路,觸發(fā)器的輸入端還包括一個(gè)可配置的延時(shí)單元[13],它的作用是用來(lái)消除 PAD 到 PAD 之間的時(shí)間差;我們還可以通過(guò)配置輸入緩沖器,使其匹配任何標準的低電壓信號。
IOB 的輸出路徑中有一個(gè)三態(tài)輸出緩沖器,與輸入路徑中的緩沖器一樣,它既可以從電路的內部直接接收信號,也可以從 IOB 輸出端的觸發(fā)器接收信號,然后再輸出;此三態(tài)緩沖器的控制信號也具有以上的兩種來(lái)源渠道;而且,經(jīng)過(guò)觸發(fā)器的三態(tài)控制信號可以作為同步的使能和非使能信號。
........
第 3 章 FPGA 中 BRAM 模塊的電路設計 ........11
3.1 設計流程 .......11
3.2 設計實(shí)現原理 ...11
3.3 18-Kb BRAM 的整體結構劃分...18
3.4 本章小結 .......19
第 4 章 BRAM 各模塊電路的設計與實(shí)現 .......20
4.1 輸出端數據位寬配置的電路設計和實(shí)現 .....20
4.2 輸入端的數據位寬配置的設計和實(shí)現 .......24
4.3 字線(xiàn)譯碼電路的設計 ...29
4.4 BRAM 的存儲單元設計 ........31
4.5 外圍電路設計 ...36
4.6 時(shí)序控制生成電路設計 .......39
4.7 本章小結 .......44
第 5 章 可配置存儲器各模塊功能仿真和驗證........45
5.1 可配置存儲器各功能模塊的仿真 .....45
5.2 BRAM 整體電路仿真 ....50
第 5 章 可配置存儲器各模塊功能仿真和驗證
電路設計的整個(gè)過(guò)程是伴隨著(zhù)仿真進(jìn)行的,首先我們可以通過(guò)仿真來(lái)驗證設計出來(lái)的電路是否達到預期情況,其次也可以用仿真的結果來(lái)指導我們對電路進(jìn)行補充和修改,從而可以獲得更好的性能。
對于存儲器模塊來(lái)說(shuō),其中很多的功能模塊對信號的時(shí)序和幅度都要求比較嚴格,所以,需要對局部模塊和整體模塊進(jìn)行逐步的仿真和驗證。在對電路做整體仿真時(shí),我們采用的方法是將設計出來(lái)的 BRAM 電路級模塊轉換成為 dut 行為級模塊,然后通過(guò) Modelsim 仿真工具進(jìn)行仿真驗證。由于此 dut 模塊是由BRAM 的電路級提取而來(lái),所以它的結果完全可以用來(lái)驗證我們設計電路的正確與否。
以下驗證模塊三種不同工作模式的整體仿真結果。從圖中可以看出,在寫(xiě)使能信號有效時(shí),數據在時(shí)鐘上升沿被寫(xiě)入對應的地址單元;與此同時(shí),輸出端的數據卻保持原數據不變,直至 wea 使能信號變?yōu)?0 之后,輸出端才開(kāi)始輸出對應地址的數據,在此有必要說(shuō)明,在輸出“保持模式”下,不支持校驗位的選擇,所以選擇輸入數據為 16 位。
.......
結論
本論文首先介紹了 FPGA 的發(fā)展,以及與專(zhuān)用芯片相比的優(yōu)勢所在,國內外現狀對比得出 FPGA 芯片自主研究的意義重大;對片上存儲器和它的發(fā)展現狀進(jìn)行了介紹,引出本課題的研究?jì)热菔?FPGA 芯片上的可配置存儲器設計。本論文的目的是設計一款基于 130nmCMOS 工藝的 FPGA 芯片中的嵌入式存儲器模塊。通過(guò)對有關(guān) FPGA 芯片資料的調研,結合本項目芯片的設計要求,提出了存儲器模塊的設計指標:總量為 18Kb;完全獨立雙端口且每個(gè)端口支持 6 種數據組織形式(16Kx1、8Kx2、4Kx4、2Kx9、1Kx18、512x36),支持校驗位;每個(gè)端口支持三種數據寫(xiě)入模式;控制信號的極性可以被選擇。
其中,該存儲器區別于普通存儲器的主要地方就在于它的可配置性,也是該課題的創(chuàng )新之處。主要工作是嵌入式存儲器模塊的電路設計和仿真。結合設計指標和對設計流程的理解,采用結構和層次化的方法完成了整個(gè)模塊的電路設計
。重點(diǎn)實(shí)現了存儲器模塊位寬的可配置性,以及存儲器讀寫(xiě)過(guò)程中時(shí)序控制電路的設計。在讀寫(xiě)過(guò)程中,采用脈沖控制的方式通過(guò)減小控制讀寫(xiě)的信號脈寬,降低了整個(gè)電路的功耗。
在設計中采用 Hspice對單個(gè)存儲單元的讀寫(xiě)進(jìn)行了仿真,通過(guò)調節器件的尺寸得到最佳的工作波形;在位寬可配置模塊設計的部分則采用了 VCS 仿真工具,通過(guò)位寬控制信號的改變和不同位寬數據的輸入來(lái)驗證其功能的正確性。對 BRAM 整體電路的仿真,則采用了 modelsim 仿真工具,主要通過(guò)三種不同的讀寫(xiě)模式對整體電路進(jìn)行了功能仿真?膳渲么鎯ζ鞒松鲜鰧(shí)現的功能外,還可以通過(guò)設計進(jìn)一步地增加一些附加的功能,比如流水線(xiàn)輸出和集成 FIFO 的實(shí)現。目前還需要對芯片的電路結構進(jìn)行進(jìn)一步的學(xué)習和深入研究。
參考文獻(略)
【高性能FPGA中的BRAM模塊設計論文】相關(guān)文章:
計算機輔助工業(yè)設計模塊化教學(xué)建設論文04-07
設計報告論文07-18
建筑設計論文10-18
藝術(shù)設計論文09-27
【薦】建筑設計論文10-21
畢業(yè)設計論文評語(yǔ)12-10
畢業(yè)設計論文評語(yǔ)11-24
生活中的哲學(xué)論文1000字范文11-13