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