當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于0.13微米CMOS工藝下平臺(tái)式FPGA中可重構(gòu)RAM模塊的一種設(shè)計(jì)方法

1. 引言
   
        對(duì)于需要大的片上存儲(chǔ)器的各種不同的應(yīng)用,FPGA 需要提供可重構(gòu)且可串聯(lián)的存儲(chǔ)器陣列。通過不同的配置選擇,嵌入式存儲(chǔ)器陣列可以被合并從而達(dá)到位寬或字深的擴(kuò)展并且可以作為單端口,雙端口存儲(chǔ)器,只讀存儲(chǔ)器,F(xiàn)IFO,大的查找表或移位寄存器,每種應(yīng)用都支持不同的數(shù)據(jù)寬度和高度。
        在本文中我們?cè)O(shè)計(jì)的嵌入式存儲(chǔ)器是一個(gè)可配置的同步16Kb模塊。如圖1所示,每個(gè)存儲(chǔ)器模塊有兩個(gè)獨(dú)立的端口,它們的結(jié)構(gòu)和工作模式完全對(duì)稱,并且支持雙端口工作模式。每個(gè)端口都有自己的時(shí)鐘信號(hào),時(shí)鐘使能信號(hào),寫信號(hào)。雖然對(duì)每個(gè)端口的操作是完全同步且獨(dú)立于另一個(gè)端口的,但是可以通過外面的電路連接擴(kuò)展數(shù)據(jù)位寬或地址寬度。當(dāng)寫允許信號(hào)WEN為低,EN為高時(shí),存儲(chǔ)器模塊讀取地址確定的存儲(chǔ)單元的數(shù)據(jù),當(dāng)WEN和EN同時(shí)為高時(shí),輸入總線上的數(shù)據(jù)被寫入存儲(chǔ)單元。在存儲(chǔ)器模塊被用于流水線邏輯中的情況下,根據(jù)數(shù)據(jù)路徑邏輯獲取存儲(chǔ)器數(shù)據(jù)時(shí)不同的需要,每個(gè)存儲(chǔ)器模塊的寫數(shù)據(jù)過程可以配置成三種工作模式。根據(jù)不同的配置,輸出數(shù)據(jù)總線上的數(shù)據(jù)可以隨輸入數(shù)據(jù)同時(shí)更新,或者一個(gè)時(shí)鐘周期后更新,或者保持不變。
       每個(gè)存儲(chǔ)器模塊都支持多種配置方式,可以配置成以下各種工作模式:16Kx1, 8Kx2, 4Kx4, 2Kx8, 1Kx16 and 512x32。一個(gè)可重構(gòu)的正交開關(guān)矩陣用于連接輸入/輸出與外部數(shù)據(jù)總線。存儲(chǔ)器模塊可以配置成只讀存儲(chǔ)器。只讀存儲(chǔ)器的數(shù)據(jù)在配置過程通過第三個(gè)端口確定,也即下面講到的存儲(chǔ)單元的C端口。在配置過程,該配置端口支持讀寫操作。
        一種全新的存儲(chǔ)單元的設(shè)計(jì)方法以及實(shí)現(xiàn)各種配置的電路設(shè)計(jì)方法將會(huì)重點(diǎn)介紹。最后將給出Nanosim的仿真結(jié)果。

    500)this.style.width=500;" border="0" />

                
   
           圖1. 存儲(chǔ)器模塊                     圖2 三端口存儲(chǔ)單元
                    
2. 存儲(chǔ)器模塊的設(shè)計(jì)

2.1 存儲(chǔ)單元的設(shè)計(jì)
 當(dāng)存儲(chǔ)器模塊配置為只讀存儲(chǔ)器時(shí),只讀存儲(chǔ)器的內(nèi)容必須要在FPGA的配置過程予以定義,在有些情況下還需要對(duì)存儲(chǔ)器模塊的內(nèi)容予以初始化,所以存儲(chǔ)單元需要提供一個(gè)端口專門用于存儲(chǔ)器內(nèi)容的定義或初始化。我們的存儲(chǔ)單元采用的是一個(gè)三端口的結(jié)構(gòu),其中兩個(gè)端口用于片上邏輯,第三個(gè)端口用于片外邏輯。片外即第三個(gè)端口用于只讀存儲(chǔ)器或查找表的內(nèi)容定義或靜態(tài)存儲(chǔ)器的內(nèi)容初始化,也可用于存儲(chǔ)器測(cè)試中的驗(yàn)證。如圖2所示,存儲(chǔ)單元實(shí)際上是一對(duì)交叉耦合的反相器,通過三對(duì)NMOS與三個(gè)端的位線(bitline)連接,三個(gè)端的字線分別控制各端的NMOS導(dǎo)通與否。A,B端用于片上邏輯的讀寫操作,而C端作為配置端只在配置過程中應(yīng)用。A,B兩端口的位線為垂直走向,字線為水平走向,而配置端C端恰好相反,其位線為水平走向,字線為垂直走向,原因在于在FPGA的配置過程中 ,配置數(shù)據(jù)按列送入FPGA[4][5]。這種存儲(chǔ)器單元結(jié)構(gòu)同時(shí)滿足了實(shí)現(xiàn)存儲(chǔ)器模塊的片外配置功能和片上功能的需要。
2.2 位線結(jié)構(gòu)
  A,B兩端口的位線結(jié)構(gòu)用于正常的讀寫操作,下圖3給出了此位線結(jié)構(gòu)。一列存儲(chǔ)單元(256個(gè))共用一對(duì)位線,它們?cè)谧x/寫過程的開始前被預(yù)充電至vdd,然后被選中的存儲(chǔ)單元驅(qū)動(dòng)(讀過程)或被輸入緩沖器驅(qū)動(dòng)(寫過程)。在讀過程中靈敏放大器被其使能信號(hào)觸發(fā)以放大位線上的差分信號(hào),然后其單輸出數(shù)據(jù)經(jīng)過緩沖器被驅(qū)動(dòng)經(jīng)過列選擇器,再經(jīng)過總線選擇開關(guān)矩陣,最后到達(dá)輸出數(shù)據(jù)總線。靈敏放大器用于將小信號(hào)的差分輸入(位線電壓)放大為大信號(hào)的單端輸出。如圖3.B所示我們采用了一種鎖存型靈敏放大器,它的兩個(gè)輸出經(jīng)過一個(gè)改進(jìn)緩沖器以單端輸出,這種靈敏放大器結(jié)構(gòu)簡(jiǎn)單,驅(qū)動(dòng)能力強(qiáng),建立時(shí)間短,有效地縮短了存儲(chǔ)器的讀取時(shí)間,提高了性能[1],[2]。

2.3 配置電路的設(shè)計(jì)
 如前所述,存儲(chǔ)器模塊可以配置成以下存儲(chǔ)器結(jié)構(gòu):16Kx1, 8Kx2, 4Kx4, 2Kx8, 1Kx16 以及512x32,配置電路就是能夠?qū)崿F(xiàn)這些配置的邏輯。組成配置電路的就是上面提到的列選擇器和總線選擇開關(guān)矩陣。通過對(duì)列選擇器和總線選擇開關(guān)矩陣的配置,可以實(shí)現(xiàn)以上各種存儲(chǔ)器結(jié)構(gòu),以及讀過程中的三種輸出模式。[!--empirenews.page--]
存儲(chǔ)器模塊的存儲(chǔ)單元陣列采用的是256x64的結(jié)構(gòu),即每列為256個(gè)存儲(chǔ)單元,每行為64個(gè)存儲(chǔ)單元。讀操作過程中,由于我們能夠?qū)崿F(xiàn)的最大位寬的存儲(chǔ)器結(jié)構(gòu)為512x32,所以在預(yù)充電電路與靈敏放大器之間我們加入了一個(gè)2選1的選擇器,這樣進(jìn)入靈敏放大器的位線有32對(duì),32個(gè)靈敏放大器是必需的。 32位數(shù)據(jù)從靈敏放大器輸出后就進(jìn)入輸出列選擇器,如圖5(a)所示,我們用到了五個(gè)二選一的選擇器,各由一位地址選擇,同時(shí)其工作狀態(tài)由配置信息控制,各選擇器的輸出按照配置信息或者提供相應(yīng)結(jié)構(gòu)的數(shù)據(jù)或者被置為高阻態(tài)。被選出的數(shù)據(jù)經(jīng)過輸出總線選擇開關(guān)矩陣,最后到達(dá)數(shù)據(jù)總線。在寫操作過程中,數(shù)據(jù)總線上的輸入數(shù)據(jù)首先進(jìn)入輸入總線選擇開關(guān)矩陣(與輸出總線選擇開關(guān)矩陣相似),然后進(jìn)入輸入列選擇器(與輸出列選擇器相似,圖5(b)所示),輸入列選擇器的輸出經(jīng)過緩沖器后(圖3.a中DW, DWN)被直接寫入選中的存儲(chǔ)單元。

          500)this.style.width=500;" border="0" />                                                                                                                                                                                     
 圖 3. 位線結(jié)   (a) 讀列選擇器   (b) 寫列選擇器                                                             圖4 .讀/寫列選擇器    
    
                                                                                                         
2.4 存儲(chǔ)器模塊的體系結(jié)構(gòu)
 圖5給出了存儲(chǔ)器模塊的總體結(jié)構(gòu)[3]。每個(gè)存儲(chǔ)器模塊的存儲(chǔ)單元陣列被分為兩部分,分別為256x32,即每列256個(gè)存儲(chǔ)單元,每行32個(gè)存儲(chǔ)單元[6],[7]。A,B兩端口分別擁有獨(dú)自的行譯碼器,預(yù)充電電路,靈敏放大器,輸入/輸出列選擇器,輸入/輸出總線選擇開關(guān)矩陣,時(shí)鐘產(chǎn)生器以及輸入輸出緩沖電路。預(yù)充電電路用于在讀操作前將耦合位線預(yù)充至某一相同電壓值。行譯碼器采用兩級(jí)譯碼,從而提高讀寫操作速度。時(shí)鐘產(chǎn)生器用來產(chǎn)生內(nèi)部時(shí)鐘以控制譯碼器,靈敏放大器,多路選擇器,預(yù)充電電路以及輸入輸出寄存器[3]。

3. 讀寫操作仿真結(jié)果  
關(guān)鍵路徑我們選擇位于位線結(jié)構(gòu)頂端的存儲(chǔ)單元,對(duì)該存儲(chǔ)單元的讀寫操作反映了最壞情況下的延時(shí)[4]。由于存儲(chǔ)器模塊可以配置為不同的結(jié)構(gòu),所以各種結(jié)構(gòu)的關(guān)鍵路徑長(zhǎng)度并不相等,顯然512x32這種結(jié)構(gòu)中數(shù)據(jù)經(jīng)過最少的選擇器,所以關(guān)鍵路徑最短,而16kx1結(jié)構(gòu)的關(guān)鍵路徑最長(zhǎng),因?yàn)閿?shù)據(jù)要經(jīng)過最多的選擇器。我們對(duì)這兩種關(guān)鍵路徑做了重點(diǎn)仿真,這也足以反應(yīng)存儲(chǔ)器模塊的性能。     
我們用Synoposys的工具Nanosim針對(duì)各種讀寫操作基于0.13微米CMOS工藝做了詳細(xì)的仿真。圖7給出了512x32 和16Kx1這兩種工作模式下的關(guān)鍵路徑上的讀取時(shí)間。時(shí)鐘上升沿到數(shù)據(jù)讀出有效之間的延時(shí)分別是1.4ns和2.5ns,讀取時(shí)間不同的原因在于對(duì)于不同的工作模式數(shù)據(jù)經(jīng)過的關(guān)鍵路徑的長(zhǎng)短不同,512x32模式下經(jīng)過的關(guān)鍵路徑最短,而16Kx1模式下關(guān)鍵路徑最長(zhǎng),所以這兩種模式之間的各種模式下的讀取時(shí)間在1.4ns和2.5ns之間。

       500)this.style.width=500;" border="0" />                                                                              
                                                                                                                                                                          
         圖 6. 存儲(chǔ)器模塊體系結(jié)構(gòu)            圖 7.存儲(chǔ)器讀取操作的仿真結(jié)果
                                                                                                    
4. 結(jié)論  
本文介紹了基于0.13微米CMOS工藝下平臺(tái)式FPGA中可重構(gòu)RAM模塊的一種設(shè)計(jì)方法。該RAM模塊是一個(gè)16Kb的高速低功耗可重構(gòu)模塊,通過不同的配置信息,可以實(shí)現(xiàn)多種功能。重點(diǎn)介紹了一種用于可重構(gòu)靜態(tài)存儲(chǔ)器的全新的存儲(chǔ)器單元電路結(jié)構(gòu)以及實(shí)現(xiàn)該靜態(tài)存儲(chǔ)器各種重構(gòu)功能的電路結(jié)構(gòu)。仿真結(jié)果表明我們?cè)O(shè)計(jì)的該存儲(chǔ)器模塊能夠很好的實(shí)現(xiàn)各種重構(gòu)功能,而且速度高,功耗較低。
本文作者創(chuàng)新觀點(diǎn):本文所設(shè)計(jì)的存儲(chǔ)器采用了一種新穎的三端口存儲(chǔ)單元,同時(shí)在外圍電路采用了可配置的列選擇器,從而可以通過不同的配置信息把存儲(chǔ)器配置到多種工作模式,該存儲(chǔ)器具備了良好的可重構(gòu)性能。

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉