從ASIC到FPGA的轉(zhuǎn)換系統(tǒng)時(shí)鐘設(shè)計(jì)方案


從ASIC到FPGA的轉(zhuǎn)換系統(tǒng)時(shí)鐘設(shè)計(jì)方案
在集成電路設(shè)計(jì)中,ASIC(Application-Specific Integrated Circuit,專用集成電路)和FPGA(Field-Programmable Gate Array,現(xiàn)場可編程門陣列)是兩種重要的實(shí)現(xiàn)方式。ASIC設(shè)計(jì)具有高性能、低功耗的特點(diǎn),但開發(fā)周期長、成本高;而FPGA則具有開發(fā)周期短、靈活性高的優(yōu)勢,適合用于原型驗(yàn)證和快速迭代。因此,將ASIC設(shè)計(jì)轉(zhuǎn)換為FPGA原型驗(yàn)證是許多設(shè)計(jì)團(tuán)隊(duì)在開發(fā)過程中的重要步驟。本文將詳細(xì)探討從ASIC到FPGA轉(zhuǎn)換中的系統(tǒng)時(shí)鐘設(shè)計(jì)方案,包括主控芯片型號、在設(shè)計(jì)中的作用以及詳細(xì)型號介紹。
一、ASIC與FPGA的時(shí)鐘系統(tǒng)差異
物理結(jié)構(gòu)差異
ASIC和FPGA的物理結(jié)構(gòu)不同,ASIC是基于標(biāo)準(zhǔn)單元庫設(shè)計(jì)的,而FPGA則是基于廠商提供的宏單元模塊(如查找表)構(gòu)建的。這種差異導(dǎo)致ASIC設(shè)計(jì)代碼在轉(zhuǎn)換為FPGA代碼時(shí)需要進(jìn)行一定的修改和轉(zhuǎn)換。
時(shí)鐘資源差異
ASIC:ASIC設(shè)計(jì)中通常使用布局布線工具來放置時(shí)鐘樹,并利用代工廠提供的PLL(Phase-Locked Loop,鎖相環(huán))進(jìn)行時(shí)鐘設(shè)計(jì)。時(shí)鐘網(wǎng)絡(luò)復(fù)雜,且需要精確控制時(shí)鐘偏移。
FPGA:FPGA中通常已經(jīng)配置了一定數(shù)量的PLL或MMCM(Mixed-Mode Clock Manager,混合模式時(shí)鐘管理器)宏單元,并有針對時(shí)鐘優(yōu)化的全局時(shí)鐘網(wǎng)絡(luò)。全局時(shí)鐘網(wǎng)絡(luò)可以保證相同的時(shí)鐘沿到達(dá)芯片內(nèi)部每一個(gè)觸發(fā)器的延遲時(shí)間差異可以忽略不計(jì)。
二、時(shí)鐘轉(zhuǎn)換設(shè)計(jì)步驟
寄存器傳輸級(RTL)代碼修改
在進(jìn)行FPGA原型驗(yàn)證之前,首先需要對ASIC設(shè)計(jì)的RTL代碼進(jìn)行修改,以適應(yīng)FPGA的時(shí)鐘資源。這包括刪除或替換ASIC中特有的時(shí)鐘管理模塊,如PLL,以及調(diào)整時(shí)鐘網(wǎng)絡(luò)的布局。
FPGA器件映射
使用映射工具根據(jù)設(shè)置的約束條件對RTL代碼進(jìn)行邏輯優(yōu)化,并針對選定的FPGA器件的基本單元映射生成網(wǎng)表。在這一步驟中,時(shí)鐘網(wǎng)絡(luò)也會被映射到FPGA的全局時(shí)鐘資源上。
布局布線
在布局布線階段,會生成配置文件和時(shí)序報(bào)告等信息。如果時(shí)序不能滿足約束條件,可以通過軟件報(bào)告時(shí)序文件來確認(rèn)關(guān)鍵路徑,并進(jìn)行時(shí)序優(yōu)化。優(yōu)化方法包括修改約束條件或修改RTL代碼。
時(shí)鐘單元轉(zhuǎn)換
PLL/MMCM轉(zhuǎn)換:ASIC設(shè)計(jì)中的PLL需要轉(zhuǎn)換為FPGA中的PLL或MMCM。這通常需要對端口的細(xì)微修改,并確保時(shí)鐘信號的約束條件得到滿足。
門控時(shí)鐘轉(zhuǎn)換:ASIC設(shè)計(jì)中的門控時(shí)鐘電路在FPGA中可能不適用,因?yàn)镕PGA的時(shí)鐘網(wǎng)絡(luò)是專用的低延遲網(wǎng)絡(luò)。因此,需要將門控時(shí)鐘通過某種方式映射到FPGA芯片的專用時(shí)鐘資源上,如使用時(shí)鐘使能結(jié)構(gòu)或多路選擇器。
存儲單元轉(zhuǎn)換
ASIC中的存儲單元通常用代工廠所提供的Memory Compiler來定制,而FPGA廠商已經(jīng)提供了經(jīng)過驗(yàn)證并優(yōu)化的存儲單元。因此,需要將ASIC中的存儲單元代碼轉(zhuǎn)換為FPGA中的存儲單元IP核,并在設(shè)計(jì)文件中進(jìn)行替換。
三、主控芯片型號及其在設(shè)計(jì)中的作用
Xilinx FPGA
型號:Xilinx公司的FPGA產(chǎn)品系列包括Artix、Kintex、Virtex等,每個(gè)系列下又有多個(gè)具體型號,如Virtex-7、Kintex-7等。
作用:Xilinx FPGA以其高性能、大容量和豐富的時(shí)鐘資源而著稱。在ASIC到FPGA的轉(zhuǎn)換過程中,Xilinx FPGA可以作為原型驗(yàn)證平臺,快速驗(yàn)證ASIC設(shè)計(jì)的正確性和性能。其豐富的時(shí)鐘資源(如PLL、MMCM、BUFG/BUFR、BUFGMUX等)使得時(shí)鐘設(shè)計(jì)更加靈活和高效。
Intel(Altera)FPGA
型號:Intel(原Altera)公司的FPGA產(chǎn)品系列包括Cyclone、Stratix等,每個(gè)系列下也有多個(gè)具體型號,如Stratix-10、Cyclone-10等。
作用:Intel FPGA以其低功耗、高性能和可編程性而廣泛應(yīng)用于各種領(lǐng)域。在ASIC到FPGA的轉(zhuǎn)換過程中,Intel FPGA同樣可以作為原型驗(yàn)證平臺,提供靈活的時(shí)鐘設(shè)計(jì)和豐富的I/O資源。
Lattice FPGA
型號:Lattice公司的FPGA產(chǎn)品系列包括ECP、MachXO等,每個(gè)系列下也有多個(gè)具體型號,如ECP3、MachXO2等。
作用:Lattice FPGA以其低功耗、小尺寸和低成本而著稱。雖然其性能可能不如Xilinx和Intel FPGA,但在某些對功耗和尺寸有嚴(yán)格要求的場合下,Lattice FPGA仍然是一個(gè)不錯(cuò)的選擇。在ASIC到FPGA的轉(zhuǎn)換過程中,Lattice FPGA同樣可以用于原型驗(yàn)證,但可能需要對時(shí)鐘設(shè)計(jì)進(jìn)行更多的優(yōu)化和調(diào)整。
四、詳細(xì)型號介紹及其在設(shè)計(jì)中的作用
Xilinx Virtex-7 FPGA
型號:XC7V2000T-2FFG1156C
作用:Virtex-7系列FPGA是Xilinx公司推出的一款高性能、大容量的FPGA產(chǎn)品。它采用了先進(jìn)的28nm工藝制程,提供了高達(dá)200萬個(gè)邏輯單元和12.5Tb/s的帶寬。在ASIC到FPGA的轉(zhuǎn)換過程中,XC7V2000T-2FFG1156C可以作為原型驗(yàn)證平臺,支持復(fù)雜的時(shí)鐘設(shè)計(jì)和高速數(shù)據(jù)傳輸。其豐富的時(shí)鐘資源(如24個(gè)PLL和MMCM)使得時(shí)鐘設(shè)計(jì)更加靈活和高效。
Intel Stratix-10 FPGA
型號:10AS1200N3F45I3SG
作用:Stratix-10系列FPGA是Intel公司推出的一款高性能、低功耗的FPGA產(chǎn)品。它采用了先進(jìn)的10nm工藝制程,提供了高達(dá)1200萬個(gè)邏輯單元和4.5Tb/s的帶寬。在ASIC到FPGA的轉(zhuǎn)換過程中,10AS1200N3F45I3SG可以作為原型驗(yàn)證平臺,支持高速數(shù)據(jù)傳輸和復(fù)雜的時(shí)鐘設(shè)計(jì)。其豐富的I/O資源和可編程性使得設(shè)計(jì)更加靈活和高效。
Lattice ECP3 FPGA
型號:LFE3-128EA-6FN484C
作用:ECP3系列FPGA是Lattice公司推出的一款低功耗、小尺寸的FPGA產(chǎn)品。它采用了先進(jìn)的40nm工藝制程,提供了高達(dá)128個(gè)邏輯單元和2.5Gb/s的帶寬。雖然其性能可能不如Xilinx和Intel FPGA,但在某些對功耗和尺寸有嚴(yán)格要求的場合下,LFE3-128EA-6FN484C仍然是一個(gè)不錯(cuò)的選擇。在ASIC到FPGA的轉(zhuǎn)換過程中,它可以作為原型驗(yàn)證平臺,支持基本的時(shí)鐘設(shè)計(jì)和數(shù)據(jù)傳輸。
五、時(shí)鐘設(shè)計(jì)優(yōu)化策略
簡化時(shí)鐘網(wǎng)絡(luò)
在ASIC到FPGA的轉(zhuǎn)換過程中,應(yīng)盡量簡化時(shí)鐘網(wǎng)絡(luò),減少時(shí)鐘路徑上的掃描和測試邏輯。這有助于降低時(shí)鐘偏移和提高系統(tǒng)性能。
避免時(shí)鐘路徑上的組合邏輯
在FPGA設(shè)計(jì)中,應(yīng)避免將組合邏輯放在時(shí)鐘通路上,因?yàn)檫@會降低時(shí)鐘性能并可能帶來建立保持時(shí)間的問題。應(yīng)將組合邏輯從時(shí)鐘通路“搬移”到數(shù)據(jù)通路上,或使用時(shí)鐘使能結(jié)構(gòu)來達(dá)到同樣的功能。
使用高性能綜合工具
使用高性能的綜合工具(如Synopsys的Synplify Pro/Premier)可以自動(dòng)進(jìn)行門控時(shí)鐘轉(zhuǎn)換和其他時(shí)鐘優(yōu)化。這些工具可以識別并處理復(fù)雜的時(shí)鐘結(jié)構(gòu),提高時(shí)鐘設(shè)計(jì)的效率和準(zhǔn)確性。
充分測試FPGA存儲器的行為級模型
在ASIC到FPGA的轉(zhuǎn)換過程中,應(yīng)充分測試FPGA存儲器的行為級模型,以確保其性能和穩(wěn)定性。這包括測試存儲器的讀寫速度、數(shù)據(jù)一致性和功耗等方面。
考慮使用外部時(shí)鐘源
在某些情況下,可能需要使用外部時(shí)鐘源來提供穩(wěn)定的時(shí)鐘信號。這有助于降低FPGA內(nèi)部的時(shí)鐘偏移和抖動(dòng),提高系統(tǒng)性能。
六、結(jié)論
從ASIC到FPGA的轉(zhuǎn)換是一個(gè)復(fù)雜而重要的過程,其中時(shí)鐘設(shè)計(jì)是關(guān)鍵的一環(huán)。通過合理的時(shí)鐘轉(zhuǎn)換和優(yōu)化策略,可以確保FPGA原型驗(yàn)證平臺的性能和穩(wěn)定性,為后續(xù)的ASIC設(shè)計(jì)提供有力的支持。在選擇主控芯片型號時(shí),應(yīng)根據(jù)具體的設(shè)計(jì)需求和資源限制進(jìn)行選擇,以確保設(shè)計(jì)的可行性和高效性。
以上內(nèi)容詳細(xì)探討了從ASIC到FPGA轉(zhuǎn)換中的系統(tǒng)時(shí)鐘設(shè)計(jì)方案,包括主控芯片型號、在設(shè)計(jì)中的作用以及詳細(xì)型號介紹。希望這些內(nèi)容能夠?yàn)槟脑O(shè)計(jì)工作提供有益的參考和借鑒。
責(zé)任編輯:David
【免責(zé)聲明】
1、本文內(nèi)容、數(shù)據(jù)、圖表等來源于網(wǎng)絡(luò)引用或其他公開資料,版權(quán)歸屬原作者、原發(fā)表出處。若版權(quán)所有方對本文的引用持有異議,請聯(lián)系拍明芯城(marketing@iczoom.com),本方將及時(shí)處理。
2、本文的引用僅供讀者交流學(xué)習(xí)使用,不涉及商業(yè)目的。
3、本文內(nèi)容僅代表作者觀點(diǎn),拍明芯城不對內(nèi)容的準(zhǔn)確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨(dú)立判斷做出的,請讀者明確相關(guān)結(jié)果。
4、如需轉(zhuǎn)載本方擁有版權(quán)的文章,請聯(lián)系拍明芯城(marketing@iczoom.com)注明“轉(zhuǎn)載原因”。未經(jīng)允許私自轉(zhuǎn)載拍明芯城將保留追究其法律責(zé)任的權(quán)利。
拍明芯城擁有對此聲明的最終解釋權(quán)。