国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

RTL綜合中FPGA片上RAM工藝映射

2016-12-09 06:35:14張東曉
電子學(xué)報 2016年11期
關(guān)鍵詞:管腳存儲器端口

李 艷,張東曉,于 芳

(1.中國科學(xué)院微電子研究所,北京 100029; 2.北京飄石科技有限公司,北京 100080)

?

RTL綜合中FPGA片上RAM工藝映射

李 艷1,張東曉2,于 芳1

(1.中國科學(xué)院微電子研究所,北京 100029; 2.北京飄石科技有限公司,北京 100080)

RAM(Random-Access-Memory,隨機(jī)存儲器)是FPGA(Field Programmable Gate Arrays)片上最重要的宏單元之一,RTL(Register-Transfer-Level)綜合對FPGA開發(fā)中RAM的有效利用起至關(guān)重要作用.本文針對RTL綜合中RAM源描述和目標(biāo)結(jié)構(gòu)多樣化帶來的技術(shù)難題,提出了一種RAM工藝映射方法,即建立工藝無關(guān)的RAM統(tǒng)一模型,在模型基礎(chǔ)上通過建模、模式匹配、造價計算、綁定四步實現(xiàn).該方法應(yīng)用于RTL綜合,可以將多種RAM源描述有效地映射到最佳類型和數(shù)量的FPGA片上RAM資源.實驗數(shù)據(jù)表明采用該方法實現(xiàn)的RAM工藝映射效果和主流FPGA綜合工具——Synplify和XST相當(dāng),該模塊已經(jīng)集成在自主開發(fā)的RTL綜合工具——Hqsyn中并實現(xiàn)商用.

現(xiàn)場可編程門陣列;寄存器傳輸級綜合;片上隨即存儲器;工藝映射

1 引言

FPGA廣泛地應(yīng)用在各種電子系統(tǒng)中,幾乎所有系統(tǒng)均涉及大數(shù)據(jù)量處理和存儲,當(dāng)前主流FPGA廠商如Altera、Xilinx、Lattice等公司的FPGA芯片都內(nèi)嵌片上RAM資源,片上RAM已經(jīng)成為大規(guī)模FPGA至關(guān)重要的結(jié)構(gòu)[1].FPGA設(shè)計流程包括RTL綜合、布局布線、碼流產(chǎn)生,其中RTL綜合作為設(shè)計流程中的第一步,對整個電路實現(xiàn)的性能起著至關(guān)重要的作用,特別在決定RAM資源的有效利用方面起關(guān)鍵作用.

至今,對于RAM存儲器的綜合研究,在學(xué)術(shù)界,研究主要分為三個分支:第一分支主要研究存儲器的高級綜合[2,3],著眼于高級綜合中的多層次存儲器架構(gòu)生成,主要面向ASIC(Application Specific Integrated Circuit),探討生成何種RAM描述,而沒有涉及具體實現(xiàn);第二分支主要研究RTL級存儲器翻譯轉(zhuǎn)化成邏輯存儲器[4~8],沒有工藝映射的研究;第三分支主要研究邏輯存儲器映射到基于目標(biāo)工藝庫的存儲器,即存儲器的工藝映射[9~13],本文的工作屬于該分支.其中[9~12]研究不同面積規(guī)模的邏輯存儲器到目標(biāo)存儲器的映射,不考慮讀寫類型等工作模式,[13]研究的存儲器工藝映射涉及不同種類、不同面積規(guī)模的目標(biāo)存儲器的映射,但種類只包含端口有無讀寫功能,實用性不強(qiáng).本文提出的存儲器工藝映射主要面向?qū)嵱脭?shù)字電路中的RAM存儲器,涵蓋各種類型和各種面積規(guī)模的存儲器,并且重點在類型上做系統(tǒng)研究,類型主要包括:(1)分布式RAM[14](Distributed-RAM,DRAM)和塊式RAM[14](Block-RAM,BRAM);(2)單端口[14](Single-Port)RAM和雙端口[14](Dual-Port)RAM;(3)RAM端口的讀寫操作,即只有讀、只有寫、有讀有寫;(4)端口工作模式,即讀模式、寫模式、寫讀模式;(5)端口管腳類型;(6)RAM存儲規(guī)模等.在工業(yè)界,F(xiàn)PGA片上RAM的工藝映射已廣泛集成于FPGA RTL綜合工具中,這類技術(shù)被國外Synopsis、Xilinx等少數(shù)幾家國外公司所壟斷,用戶只能獲得RAM RTL級描述的用戶手冊信息[15,16]具體映射實現(xiàn)的技術(shù)實現(xiàn)細(xì)節(jié)不公開.

本文在調(diào)研學(xué)術(shù)理論、RAM各種類型特點和多家FPGA綜合工具的基礎(chǔ)上,針對RAM工藝映射中多源和多目標(biāo)帶來的技術(shù)難題,提出基于Verilog HDL語言描述的RAM工藝映射技術(shù)和實現(xiàn)方案——Rsyn,采用C++語言實現(xiàn),最終實現(xiàn)多種RAM源描述有效地映射到最佳類型和數(shù)量的FPGA片上RAM資源,產(chǎn)生EDIF(Electronic Design Interchange Format)格式的電路網(wǎng)表,其正確性在Xilinx的多個系列FPGA上得到充分驗證,Rsyn已經(jīng)集成在自主開發(fā)的RTL綜合工具——Hqsyn,并實現(xiàn)商用.

2 技術(shù)難點

RAM工藝映射的技術(shù)難點主要在于RAM源描述的多樣性、FPGA片上RAM的多模式以及由此造成的多源RAM匹配對多目標(biāo)RAM映射困難.

FPGA片上RAM(下文RAM均指FPGA片上RAM),主要分為兩類:DRAM和BRAM,圖1所示為Xilinx Virtex2 FPGA器件上RAM資源的分布情況[14],DRAM分布在邏輯單元中,用邏輯單元內(nèi)部結(jié)構(gòu)實現(xiàn),BRAM是FPGA片上專有單元.

DRAM和BRAM分別具有不同的特性,包括端口數(shù)量、端口有無讀寫操作、端口工作模式,即讀模式、寫模式、寫讀(read-during-write)模式,管腳類型(如圖1左圖中RAM的WE、WCLK、D、A0等),以及存儲規(guī)模等,每一種RAM都是可以由這幾種特征描述.其中最為復(fù)雜的是寫讀模式,用于控制RAM處于寫入狀態(tài)時讀端口數(shù)據(jù)與存儲單元數(shù)據(jù)以及寫數(shù)據(jù)之間的關(guān)系,主要分為先讀(read-first)、先寫(write-first)、保持(no-change)三種模式[15].

表1 兩個端口RAM讀寫操作模式表

表1是針對端口數(shù)為2、只考慮端口讀寫操作的可能RAM類型,表中顯示共有20種RAM結(jié)構(gòu).如果考慮工作模式、同步異步、不同管腳類型、存儲規(guī)模,以及交叉端口的寫讀模式[17]等情況,則可能的結(jié)構(gòu)類型更多,實現(xiàn)難度會更大.上文介紹目標(biāo)RAM的多樣性和復(fù)雜性,同樣RAM源描述方面,一種功能結(jié)構(gòu)的RAM可以有多種不同的描述方式,以圖2為例,圖中上部分是用Verilog HDL語言描述的三種不同RAM源描述,它們功能等價,均描述了讀寫模式為“先寫”的RAM.

實現(xiàn)上述“先寫”RAM源描述的RAM結(jié)構(gòu)也有多種選擇,圖中下部分的三種結(jié)構(gòu)是針對功能等價的“先寫”RAM的三種不同實現(xiàn)方式,而圖例中一個“先寫”模式的RAM源描述到目標(biāo)結(jié)構(gòu)的實現(xiàn)就有9種不同的映射匹配目標(biāo),如果考慮端口讀寫操作、同步異步、不同管腳類型、存儲規(guī)模,以及交叉端口的寫讀模式,匹配的目標(biāo)RAM會有更多種結(jié)構(gòu).

3 RAM的工藝映射

針對第2節(jié)提出的技術(shù)難點,提出解決方法:建立工藝無關(guān)的RAM統(tǒng)一模型.該模型統(tǒng)合了RAM的各種特征,以便于實現(xiàn)包含建模、模式匹配、造價計算、綁定等步驟的RAM工藝映射.

3.1 工藝無關(guān)的RAM模型

各種電子應(yīng)用系統(tǒng)的RAM結(jié)構(gòu)可以抽象成包括Memory Array,Write block,Read block,Write control,Read control,Write address,Read address,Write data和Read data模塊的電路,基于此,對于多樣性RAM源描述,可建立圖3所示的識別數(shù)據(jù)結(jié)構(gòu)模型,實現(xiàn)去多樣性目的.該數(shù)據(jù)結(jié)構(gòu)會轉(zhuǎn)化成圖4工藝映射統(tǒng)一結(jié)構(gòu)模型.圖4模型與工藝無關(guān),是RAM工藝映射實現(xiàn)的關(guān)鍵,涵蓋常用RAM結(jié)構(gòu).統(tǒng)一模型中RAM的特征通過表2中六個關(guān)鍵性特征屬性描述,即端口模式、管腳類型、地址模式、寫模式、讀模式和寫讀模式,各種源和目標(biāo)RAM結(jié)構(gòu)都從該六種屬性描述.

源RAM經(jīng)過Rsyn的識別建模,可以轉(zhuǎn)化成統(tǒng)一模型的數(shù)據(jù)結(jié)構(gòu),目標(biāo)RAM(庫單元中的RAM)描述也基于統(tǒng)一模型的數(shù)據(jù)結(jié)構(gòu),這樣保存了源RAM和目標(biāo)RAM轉(zhuǎn)化成的數(shù)據(jù)結(jié)構(gòu)都是統(tǒng)一模型的子集.不同種源和目標(biāo)RAM就可以按照特征配置,有相同的RAM標(biāo)準(zhǔn)模型結(jié)構(gòu),使得復(fù)雜的RAM工藝映射成為可能.

表2 RAM工藝映射模板特征表

引入該模型使得源RAM和目標(biāo)RAM的多樣、多模式統(tǒng)一化,進(jìn)而使RAM工藝映射難題得以解決.由于該模型與工藝無關(guān),基于不同系列FPGA器件RAM的工藝映射,只需把器件RAM結(jié)構(gòu)按照圖4統(tǒng)一模型結(jié)構(gòu)描述庫文件,就可以實現(xiàn)面向各種不同F(xiàn)PGA的移植.以Xilinx Virtex、Virtex2系列FPGA的RAM映射為例.Virtex2系列FPGA的RAM與Virtex的RAM有相同的端口模式、管腳類型、地址模式、寫模式、寫讀模式,唯一不同的是Virtex的RAM只有先寫工作模式,而Virtex2的RAM有先寫、先讀、保持三種工作模式,這點在工藝映射庫文件中,通過寫讀工作模式屬性設(shè)定.這樣識別出的RAM結(jié)構(gòu)按照其各RAM特征屬性,便可以映射到庫中RAM.

3.2 RAM工藝映射實現(xiàn)

工藝映射過程主要分為建模、模式匹配、造價計算、綁定等四個步驟,下面依次介紹四個步驟,其中建模是整個過程的核心,也是本文的介紹重點.

3.2.1 建模

建模是通過分析源RAM(srcRAM)結(jié)構(gòu)和相關(guān)邏輯特征,建立RAM統(tǒng)一模型的過程,主要包括預(yù)處理、端口壓縮、規(guī)模判斷、建模和后處理五個步驟,算法實現(xiàn)的偽代碼如下:

其中1~4行是預(yù)處理,1~3行是端口壓縮,4行是規(guī)模判斷,5~12建模,13是后處理.

1~3行端口壓縮,在工藝映射前,從Verilog HDL中識別出的RAM存在多個端口情況,其RAM功能可能只是單端口或者是雙端口RAM,為此可以按照地址控制和讀寫操作特點,合并多端口為單端口或雙端口,這樣可以達(dá)到RAM工藝映射、提高RAM資源利用率的效果.

第4行是規(guī)模判斷,判斷映射目標(biāo)選擇DRAM還是BRAM的過程,目的是為了使源RAM映射到最佳類型和數(shù)量的FPGA片上RAM資源.由于多個DRAM加額外邏輯可以實現(xiàn)和BRAM一樣的功能,因此源RAM既可以映射到BRAM,也可映射到DRAM加輔助邏輯,但是這兩種映射方案在電路性能和片上資源利用率方面均有所不同,因此需要合理選擇映射目標(biāo),以避免大規(guī)模RAM采用DRAM造成FPGA片上邏輯資源浪費,性能降低;又或者小規(guī)模RAM采用BRAM造成BRAM資源浪費的問題.具體實現(xiàn)主要是篩選出可以用BRAM實現(xiàn)的大規(guī)模RAM,以目標(biāo)器件FPGA中BRAM的存儲空間(tgtSize)作為篩選標(biāo)準(zhǔn),當(dāng)srcRAM的存儲空間小于tgtSize時,用DRAM實現(xiàn),不經(jīng)過下面的建模處理;反之,經(jīng)過下面建模處理,用BRAM實現(xiàn).

其中5~12行是建模的核心算法,依次遍歷源RAM的每一個端口,按照RAM的三種工作模式——write-first、read-first、no-change作為建模處理的三個主分支,而后考慮管腳類型、地址模式、寫模式、讀模式的特征,把源RAM和可能相關(guān)邏輯單元重構(gòu)為統(tǒng)一模型結(jié)構(gòu).以圖2中提到多目標(biāo)映射的單端口同步讀且write-first工作模式為例說明的建模原理,設(shè)定三個例子中RAM的存儲規(guī)模都是4096X4(地址深度X數(shù)據(jù)位寬),如圖4,第一步先從直譯出的電路網(wǎng)表中識別出某種模式的RAM以及相關(guān)聯(lián)邏輯單元.圖2中雖然write-first2和write-first3的描述不同,但是直接翻譯出的電路結(jié)構(gòu)相同,所以三個描述歸為兩種.然后建模,源RAM和相關(guān)邏輯單元結(jié)構(gòu),從端口模式、管腳類型、地址模式、寫模式、讀模式和寫讀模式六個方面,通過結(jié)構(gòu)重組、配置成RAM統(tǒng)一模型,如圖5,把源RAM和相關(guān)的寄存器、與門、選擇器邏輯單元重構(gòu)為右圖結(jié)構(gòu).

第13行的后處理過程主要處理一些不滿足第5~12行處理要求,但又不能直接映射到FPGA片上RAM的情況,比如一個規(guī)模小的RAM,兩個端口寫同步,讀異步,讀端口連接寄存器,這類RAM和連接的寄存器單元由于RAM規(guī)模較小,只能放在后處理,即通過統(tǒng)一模型重構(gòu),再實現(xiàn)工藝映射.

3.2.2 模式匹配

模式匹配是指配置成RAM統(tǒng)一模型結(jié)構(gòu)的源RAM,按照RAM六個特征屬性,在工藝映射庫中選擇屬性匹配的RAM庫單元作為目標(biāo)RAM的過程.工藝映射庫中包含某系列FPGA片上的各種RAM單元,為源RAM提供映射目標(biāo)RAM單元,其中映射庫中的RAM單元都以RAM統(tǒng)一模型描述.匹配過程包括:精準(zhǔn)匹配、模糊匹配.匹配原理公式如下:

Source(pm,pt,adm,w,r,wr)<= Target(pm,pt,adm,w,r,wr);

其中pm、pt、adm、w、r、wr分別表示RAM的端口模式、管腳類型、地址模式、寫模式、讀模式、寫讀模式,Source()和Target()分別表示源RAM和目標(biāo)RAM模式匹配函數(shù),包含了精準(zhǔn)匹配和模糊匹配.精準(zhǔn)匹配要求目標(biāo)RAM的管腳類型、地址模式、寫模式、讀模式、寫讀模式等特征和源RAM的完全一致.模糊匹配則需要目標(biāo)RAM特征和源RAM的特征滿足包含關(guān)系.在匹配的過程中,先執(zhí)行精準(zhǔn)匹配,對于不滿足精準(zhǔn)匹配的情況,才進(jìn)行模糊匹配.以圖6所示為例,先精準(zhǔn)匹配,得到單端口、同步讀、先寫的RAM4096X1、RAM2048X2、RAM1024X4可以匹配,單端口、異步讀RAMD16X1不匹配,再通過模糊匹配得到雙端口、同步讀、先寫的RAM1024X4也可以匹配,最后得到在映射工藝庫中共有4個目標(biāo)RAM滿足匹配條件.

3.2.3 造價計算與綁定

如圖6所示,由于經(jīng)模式匹配后,映射庫中仍存在4種可以匹配源RAM的目標(biāo)RAM單元,因此需要進(jìn)一步找到最優(yōu)匹配的目標(biāo)RAM單元,以達(dá)到FPGA片上RAM資源的高利用率.實現(xiàn)方法:采用造價計算算法,計算出源RAM映射到每一個匹配目標(biāo)RAM需要付出的造價值,經(jīng)比較后,選取需要付出最小造價的目標(biāo)RAM作為最優(yōu)映射目標(biāo).造價計算公式如下:

cost=T(area)*(sWid/tWid)*(sDep/tDep)+f(MUX)+f(FF);

公式中,T(area)表示采用目標(biāo)RAM實現(xiàn)所需要占用FPGA的面積;sWid、sDep、tWid、tDep分別代表源RAM與目標(biāo)RAM的數(shù)據(jù)寬度和存儲空間數(shù)量;f(MUX)和f(FF)兩個函數(shù)表示造價值的補(bǔ)償因子;f(MUX)是針對源RAM深度大于目標(biāo)RAM而言的,這類RAM需要經(jīng)過拆分才可以映射到目標(biāo)RAM中,因拆分產(chǎn)生的地址邏輯MUX(Multiplexer,選擇器)需要計入考慮;f(FF)是針對同步讀的源RAM映射到異步讀的目標(biāo)RAM而言的,這種情況下需要增加新的FF(Flip-Flop,觸發(fā)器)實現(xiàn)源RAM的同步讀功能,所增加的FF面積同樣需計入考慮.

圖7中,源RAM為RAM4096X4,匹配中的4個cost值分別為:

cost(RAM4096X1)=4096*(4/1)*(4096/4096)=16384

cost(RAM2048X2)=4096*(4/2)*(4096/2048)+16(f(MUX))=16400

cost(RAM1024X4)=4096*(4/4)*(4096/1024)+32(f(MUX))=16416

cost(雙端口RAM1024X4)=2*(4096*(4/4)*(4096/1024)+32(f(MUX)))=32382

經(jīng)造價計算后,RAM4096X1被選取為最優(yōu)映射目標(biāo).

綁定指將源RAM的連接和屬性綁定到最優(yōu)目標(biāo)RAM單元上的過程,如果需要分裂的,則按照地址和數(shù)據(jù)寬度分裂源RAM,以保證既可以映射到目標(biāo)RAM中,又可以達(dá)到對RAM資源使用率最小.如圖8所示,需要把源RAM分裂成4個,分別綁定到4個并聯(lián)的最優(yōu)匹配——RAM4096X1.

4 驗證分析

驗證在Linux系統(tǒng)下進(jìn)行,同時嵌入到圖9的自動化測試平臺中,最終輸出比較結(jié)果,如表3.對比實驗的目標(biāo)器件為Xilinx Virtex和Virtex2[14]系列芯片,是項目支持的器件.對比實驗的測試用例為OC Verilog[18]測試集中抽取的10個用例,均采用Verilog HDL語言描述,含有不同結(jié)構(gòu)的RAM描述,LUT數(shù)占用規(guī)模在幾千到幾萬不等.本文提出的工藝映射方法實現(xiàn)為Rsyn,參與對比的綜合工具分別為Synplify-pro2012和Xilinx的XST10.1(其中XST10.1是Xilinx ISE軟件系列中能支持Virtex及Virtex2器件的最高版本).

表3 Rsyn與Synplify和XST的RAM工藝映射效果對比列表

表3顯示Synplify、XST、Rsyn綜合處理RAM的效果對比情況,Rsyn實現(xiàn)RAM工藝映射和Synplify效果相同;10個和XST實現(xiàn)RAM工藝映射效果相同,其中對于reed-solomon-decoder和tiny-tate-bilinear-pairing-911,XST分別比Rsyn多產(chǎn)生7個和1個RAMB,是用來實現(xiàn)ROM功能的.

表4是面向Virtex和Virtex2系列FPGA的RAM工藝映射結(jié)果對比表.由于Virtex的BRAM是4Kb規(guī)模,且只有先寫工作模式,而Virtex2的BRAM是16Kb規(guī)模、有先寫、先讀、保持等工作模式,因此實現(xiàn)的結(jié)果有差別,如表4所示,reed-solomon-codec-generator、reed-solomon-decoder、aquarius-perf、spimaster和ethmac中的存儲模塊,在virtex器件中用DRAM實現(xiàn);而在Virtex2中用BRAM實現(xiàn).sdc-fifo中的存儲模塊,在virtex器件不支持;而在Virtex2中,可以用BRAM實現(xiàn).本文的RAM工藝映射技術(shù)可以適用到不同廠商、不同系列FPGA中的RAM,如Altera和Xilinx,Virtex、Virtex2、Virtex7等,只需要更新某FPGA中RAM各種工作模式在工藝映射庫中的描述.

表4 面向Virtex和Virtex2 FPGA器件的RAM工藝映射對比表

5 總結(jié)

針對實用電子系統(tǒng)存儲器和其描述多樣性帶來的RTL綜合實現(xiàn)困難,且關(guān)鍵技術(shù)壟斷在幾家國外公司而不公開的現(xiàn)狀,本文提出并系統(tǒng)介紹了RTL綜合中FPGA片上RAM工藝映射方法,建立了一套工藝無關(guān)的RAM統(tǒng)一模型,把各種源和目標(biāo)RAM按照端口模式、管腳類型、地址模式、寫模式、讀模式和寫讀模式配置到統(tǒng)一RAM模型上,解決了多種模式的源RAM映射到多種模式目標(biāo)RAM的難題,該模塊已經(jīng)集成在自主開發(fā)的Hqsyn綜合工具中,并已經(jīng)商用,具有較高實用價值.實驗結(jié)果驗證了本方法的有效性,即在產(chǎn)生RAM性能方面,可以和主流綜合工具——Synplify和XST處于接近水平.本文驗證是通過Xilinx,Virtex、Virtex2,系列FPGA提到的RAM工藝映射技術(shù)可以適用到不同廠商、不同系列FPGA中的RAM,如Altera和Xilinx,Virtex、Virtex2、Virtex7等,只需要更新某FPGA中各種工作模式的RAM在工藝映射庫中的描述即可.

[1]Steven J E.Wilton.Heterogeneous technology mapping for area reduction in FPGA’s with embedded memory arrays[A].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems[C].San Jose CA US:IEEE Trans,2000.19:56-68.

[2]M Milford,J McAllister.Valved dataflow for FPGA memory hierarchy synthesis[A].IEEE International Conference on Acoustics,Speech and Signal Processing[C].Kyoto Japan:IEEE Press,2012.1645-1648.

[3]Wang Yuxin,Zhang Peng,Cheng Xu,Jason Cong.An integrated and automated memory optimization flow for FPGA behavioral synthesis[A].Asia and SouthPacific Design Automation Conference-ASP-DAC[C].Sydney,Australia:IEEEPress,2012.257-262.

[4]T Kim,Liu C.Utilization of multiport memories for hierarchical data streams[A].ACM/IEEE Design Automation Conference[C].Dallas,Texas,US:IEEE Trans,1993.298-302.

[5]L Ramachandran,D Gajski,V Chaiyakul.An algorithm for array variable clustering[A].European Design and Test Conference[C].Paris France:EDAC,1994.262-266.

[6]P Marwedel,B Landwehr.Exploitarion of component information in a RAM-based architectural synthesis system[A].Logic and Architectural Synthesis,G.Saucier(Ed.)[D].Chapman & Hall Britain,1995.1-11.

[7]P Lippens,J Van Meerbergen,W Verhaegh,A Van Der Werf.Allocation of multiport memories for hierarchical data streams[A].Proceedings of the IEEE International Conference on Computer-Aided Design[C].Santa Clara,CA US:IEEE Trans,1993.728-735.

[8]F Balasa,F Catthoor,H De Man.Data-driven memory allocation for multi-dimensional signal processing systems[A].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems[C].San Jose CA US:IEEE Trans,1994.31-34.

[9]D Karchmer,J Rose.Definition and solution of the memory packing problem for field-programmable systems[A].IEEE/ACM International Conference On Computer-aided Design[C].San Jose CA US:IEEE Trans,1994.20-26.

[10]H Schmit,D Thomas.Array mapping in behavioral synthesis[A].Proceedings of the 8th international symposium on System synthesis[C].Cannes,France:ACM,1995.90-95.

[11]周海峰,林爭輝.RTL級綜合中存儲器工藝映射算法的研究[J].微電子報,2001,31(6):410-413.

Zhou Haifeng,Lin Zhenghui.Memory mapping algorithms in synthesis[J].Microelectronics,2001,31(6):410-413.(in Chinese)

[12]S Bakshi,D Gajski.A memory selection algorithm for high-performance pipelines[A].Proceedings of the conference on European design automation[C].Los Alamitos,CA,US:IEEE Computer Society,1995.124-129.

[13]P K Jha,N D Dutt.Library mapping for memory[A].Proceedings of 1997 European Design and Test Conference[C].Washington,DC,US:IEEE Computer Society,1997.288.

[14]Xilinx,Inc.Datasheet:Virtex-II and Virtex-IIE FPGA Family[M].San Jose,CA,US,2008.

[15]Synopsis,Inc.Datasheet:Synplify Reference Manual[M].Mountain Veiw,CA,U.S.2012.

[16]Xilinx,Inc.Datasheet:XST Reference Manual[M].San Jose,CA,US,2008.

[17]Altera,Inc.User Guide:Internal Memory (RAM and ROM)[M].San Jose,CA,US,2013.

[18]Verilog hdl and VHDL opencores[M/OL].http://opencores.org/projects.2010-08.

李 艷 女,1981年出生于內(nèi)蒙古巴彥淖爾市,博士研究生,助理研究員,主要研究領(lǐng)域為FPGA架構(gòu)和FPGA EDA的設(shè)計.

E-mail:liyan-ic@163.com

張東曉 男,1972年出生,北京人,博士,F(xiàn)PGA EDA領(lǐng)域?qū)<?,主要研究領(lǐng)域為EDA、VHDL/Verilog Hdl語言、高級綜合和相關(guān)算法;2007年作為CEO,聯(lián)合創(chuàng)辦北京飄石科技有限公司,從事FPGA軟件開發(fā)與服務(wù),提供通用平臺化FPGA軟件解決方案,目前已經(jīng)被國內(nèi)多家FPGA單位所使用.

E-mail:zdx@uptops.com.cn

Technology Mapping of FPGA on-Chip-RAM in RTL Synthesis

LI Yan1,ZHANG Dong-xiao2,YU Fang1

(1.InstituteofMicroelectronicsofChineseAcademyofSciences,Beijing100029,China;2.UptopsDesignTechnologies,Inc.,Beijing100080,China)

RAM is one of the most important macro-cells of FPGA,and RTL synthesis plays a critical role on the effective use of RAM resources in FPGA development.For the difficulty of multi-resources and multi-targets in RAM technology mapping of RTL synthesis,this paper presents a method of technology mapping for FPGA on-chip RAM.In this method,an unified technology-independent RAM model is proposed,and based on this model,RAM technology mapping is performed through a series of steps,including model set-up,mode-matching,cost calculation,and binding.When applied in RTL synthesis,this method is capable of mapping various styles of RAM RTL descriptions into the most appropriate type and number of FPGA on-chip RAM resources.Experimental result shows that this method achieves comparable RAM mapping results as the mainstream FPGA RTL synthesis tools-Synplify and XST,this technology has been integrated into the self-developed RTL synthesis-Hqsyn and has been applied into the FPGA market.

FPGA(Field Programmable Gate Arrays);RTL(Register-Transfer-Level)synthesis;on-chip RAM;technology mapping

2015-03-17;

2015-06-25;責(zé)任編輯:馬蘭英

國家重大專項02專項(No.Y1GZ212002)

TN47

A

0372-2112 (2016)11-2660-08

??學(xué)報URL:http://www.ejournal.org.cn

10.3969/j.issn.0372-2112.2016.11.014

猜你喜歡
管腳存儲器端口
靜態(tài)隨機(jī)存儲器在軌自檢算法
一種端口故障的解決方案
端口阻塞與優(yōu)先級
基于圖像處理的異型電子元器件管腳偏移誤差檢測方法研究
CMOS數(shù)字IC管腳電容的估算與測量
初識電腦端口
電腦迷(2015年6期)2015-05-30 08:52:42
生成樹協(xié)議實例探討
存儲器——安格爾(墨西哥)▲
基于Nand Flash的高速存儲器結(jié)構(gòu)設(shè)計
HC08芯片JVT測試方法的探究
電子測試(2013年22期)2013-09-26 06:03:52
榆中县| 赤城县| 公主岭市| 汾西县| 科技| 潢川县| 平凉市| 苍山县| 家居| 高平市| 通州市| 内乡县| 五河县| 河南省| 呼玛县| 白城市| 通化市| 桃园市| 屯留县| 乌鲁木齐市| 焉耆| 临漳县| 海淀区| 宜州市| 建阳市| 正定县| 上蔡县| 定西市| 兴化市| 水富县| 鞍山市| 贵定县| 朝阳县| 巴塘县| 西青区| 高邮市| 大悟县| 巴南区| 陆河县| 广德县| 颍上县|