新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ASIC設(shè)計(jì)轉(zhuǎn)FPGA時(shí)需要注意的幾點(diǎn)

ASIC設(shè)計(jì)轉(zhuǎn)FPGA時(shí)需要注意的幾點(diǎn)

作者: 時(shí)間:2017-10-13 來源:網(wǎng)絡(luò) 收藏

原型驗(yàn)證和其他驗(yàn)證方法是不同的,任何一種其他驗(yàn)證方法都是ASIC驗(yàn)證中的一個(gè)環(huán)節(jié),而驗(yàn)證卻是一個(gè)過程。由于與ASIC在結(jié)構(gòu)、性能上各不相同,ASIC是基于標(biāo)準(zhǔn)單元庫,FPGA用的是廠商提供的宏單元模塊,因此首先要進(jìn)行寄存器傳輸級(jí)(RTL)代碼的修改。然后進(jìn)行FPGA器件映射,映射工具根據(jù)設(shè)置的約束條件對(duì)RTL代碼進(jìn)行邏輯優(yōu)化,并針對(duì)選定的FPGA器件的基本單元映射生成網(wǎng)表。接著進(jìn)行布局布線,生成配置文件和時(shí)序報(bào)告等信息。當(dāng)時(shí)序能滿足約束條件時(shí),就可以利用配置文件進(jìn)行下載。如果時(shí)序不能滿足約束,可通過軟件報(bào)告時(shí)序文件來確認(rèn)關(guān)鍵路徑,進(jìn)行時(shí)序優(yōu)化??梢酝ㄟ^修改約束條件,或者修改RTL代碼來滿足要求。

本文引用地址:http://butianyuan.cn/article/201710/365650.htm

需要轉(zhuǎn)換的代碼

存儲(chǔ)單元

存儲(chǔ)單元是必須進(jìn)行代碼轉(zhuǎn)換的,ASIC中的存儲(chǔ)單元通常用代工廠所提供的Memory Compiler來定制,它可以生成.gsp、.v等文件。.v文件只用來做功能仿真,通常不能綜合。而最后流片時(shí),只需將標(biāo)準(zhǔn)提供給代工廠。如果直接將ASIC代碼中的存儲(chǔ)單元作為FPGA的輸入,通常綜合器是綜合不出來的,即使能綜合出來,也要花費(fèi)很長時(shí)間,并且資源消耗多、性能不好。而FPGA廠商其實(shí)已經(jīng)提供了經(jīng)過驗(yàn)證并優(yōu)化的存儲(chǔ)單元。因此存儲(chǔ)單元要進(jìn)行代碼轉(zhuǎn)換。

時(shí)鐘單元

數(shù)字電路中,時(shí)鐘是整個(gè)電路最重要、最特殊的信號(hào)。在ASIC中,用布局布線工具來放置時(shí)鐘樹,利用代工廠提供的PLL進(jìn)行時(shí)鐘設(shè)計(jì)。FPGA中通常已經(jīng)配置一定數(shù)量的PLL宏單元,并有針對(duì)時(shí)鐘優(yōu)化的全局時(shí)鐘網(wǎng)絡(luò),一般是經(jīng)過FPGA的特定全局時(shí)鐘管腳進(jìn)入FPGA內(nèi)部,后經(jīng)過全局時(shí)鐘BUF適配到全局時(shí)鐘網(wǎng)絡(luò)的,這樣的時(shí)鐘網(wǎng)絡(luò)可以保證相同的時(shí)鐘沿到達(dá)芯片內(nèi)部每一個(gè)觸發(fā)器的延遲時(shí)間差異是可以忽略不計(jì)的。因此時(shí)鐘單元也是需要進(jìn)行轉(zhuǎn)換的。

增加流水

由于實(shí)現(xiàn)結(jié)構(gòu)上的不同,FPGA器件內(nèi)部的單元延時(shí)遠(yuǎn)大于ASIC的基本門單元延時(shí)。導(dǎo)致在同樣設(shè)計(jì)的情況下,ASIC可以滿足其時(shí)序,而FPGA有可能無法滿足。為了驗(yàn)證的需要,修改ASIC代碼實(shí)現(xiàn)FPGA原型時(shí),對(duì)ASIC實(shí)現(xiàn)的流水結(jié)構(gòu)在FPGA實(shí)現(xiàn)時(shí)需要適當(dāng)增加流水。比如在一個(gè)很長的組合邏輯路徑中加入寄存器。

同步設(shè)計(jì)

在FPGA設(shè)計(jì)中,同步設(shè)計(jì)是應(yīng)該遵循的重要原則。異步設(shè)計(jì)容易導(dǎo)致電路處于亞穩(wěn)態(tài),產(chǎn)生毛刺。當(dāng)從ASIC設(shè)計(jì)轉(zhuǎn)向FPGA設(shè)計(jì)時(shí),應(yīng)該進(jìn)行仔細(xì)的同步。具體體現(xiàn)在主時(shí)鐘選取、功能模塊的統(tǒng)一復(fù)位、同步時(shí)序電路設(shè)計(jì)。在FPGA設(shè)計(jì)中要使用時(shí)鐘使能代替門控時(shí)鐘。在ASIC的設(shè)計(jì)中,為了減少功耗,使用門控時(shí)鐘(clock gaTIng),門控時(shí)鐘的結(jié)構(gòu)如圖2所示。當(dāng)寫有效時(shí),數(shù)據(jù)才寫進(jìn)存儲(chǔ)器,那么只有寫有效時(shí),寄存器才會(huì)發(fā)生翻轉(zhuǎn),這樣可以減少功耗。



關(guān)鍵詞: FPGA

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉