ASIC 和FPGA芯片的內(nèi)核之間最大的不同莫過(guò)于時(shí)鐘結(jié)構(gòu),。ASIC設(shè)計(jì)需要采用諸如時(shí)鐘樹綜合,、時(shí)鐘延遲匹配等方式對(duì)整個(gè)時(shí)鐘結(jié)構(gòu)進(jìn)行處理,但是 FPGA設(shè)計(jì)則完全不必,。因?yàn)楹笳哂袃?nèi)建的時(shí)鐘資源:鎖相環(huán),、頻率綜合器、移相器,,以及具有低延遲特性的專用時(shí)鐘布線網(wǎng)絡(luò),。ASIC芯片的時(shí)鐘設(shè)計(jì)具有更大的靈活性,但FPGA芯片內(nèi)建的時(shí)鐘資源則能簡(jiǎn)化設(shè)計(jì),。正是因?yàn)閮烧叩牟煌?,帶?lái)了移植上的諸多麻煩。
ASIC設(shè)計(jì)中的時(shí)鐘樹結(jié)構(gòu),,需要映射到FPGA芯片的專用時(shí)鐘資源中,,以及原型驗(yàn)證平臺(tái)的不同F(xiàn)PGA芯片中。
一顆FPGA芯片的專用時(shí)鐘資源是有限的,,以Virtex-6LX760芯片也只有18個(gè) MMCM時(shí)鐘資源模塊,。這對(duì)于大部分FPGA設(shè)計(jì)來(lái)講已經(jīng)足夠了,但是對(duì)于具有大量時(shí)鐘樹資源的ASIC設(shè)計(jì)來(lái)講,,往往還是不夠使用,。FPGA芯片的另外一個(gè)限制是同一個(gè)時(shí)鐘域所能容納的全局時(shí)鐘資源有限。
門控時(shí)鐘
在ASIC設(shè)計(jì)中,常常采用門控時(shí)鐘技術(shù)來(lái)降低整個(gè)芯片的低耗,。圖1顯示了使用門控時(shí)鐘技術(shù)的電路:時(shí)鐘clk通過(guò)信號(hào)en1和en2進(jìn)入組合邏輯后,,驅(qū)動(dòng)后續(xù)的兩個(gè)寄存器。
從上述電路可以看出,,當(dāng)信號(hào)en1和en2的某種組合關(guān)系使得clk信號(hào)無(wú)法向后傳遞時(shí),,兩個(gè)寄存器將停止工作,因此也不會(huì)消費(fèi)功耗,。
但是如果將ASIC設(shè)計(jì)中的門控時(shí)鐘電路直接映射到FPGA芯片中,,則會(huì)帶來(lái)整體的性能甚至穩(wěn)定性的下降。其根本原因在于FPGA芯片采用的是專用的低延遲時(shí)鐘網(wǎng)絡(luò),,只有整個(gè)時(shí)鐘系統(tǒng)運(yùn)行在該網(wǎng)絡(luò)時(shí),,才能達(dá)到最高的性能。而通過(guò)組合邏輯的門控時(shí)鐘信號(hào)運(yùn)行在普通的布線資源上,,這將大大的降低其性能,甚至帶來(lái)建立保持時(shí)間的問(wèn)題,。因此必須將門控時(shí)鐘通過(guò)某種方式映射到FPGA芯片的專用時(shí)鐘資源上,,而不是簡(jiǎn)單得代碼移植。
門控時(shí)鐘的轉(zhuǎn)換
對(duì)門控時(shí)鐘進(jìn)行轉(zhuǎn)換,,就是要把時(shí)鐘網(wǎng)絡(luò)上的組合邏輯“刪掉”,,將所有時(shí)序邏輯的時(shí)鐘驅(qū)動(dòng)端口直接鏈接在FPGA芯片的專用時(shí)鐘資源上。
其中一個(gè)方法就是將組合邏輯從時(shí)鐘通路‘搬移’到數(shù)據(jù)通路上,,這種方式可以通過(guò)圖2中的多路選擇器來(lái)實(shí)現(xiàn),。
或者可以采用時(shí)鐘使能的結(jié)構(gòu)達(dá)到同樣的功能,如圖3所示,。
設(shè)計(jì)工具對(duì)門控時(shí)鐘的轉(zhuǎn)換
Synopsys公司的Synplify Pro/Premier是高性能FPGA邏輯綜合工具,,可以自動(dòng)地進(jìn)行門控時(shí)鐘轉(zhuǎn)換。當(dāng)然轉(zhuǎn)換是有一定條件的:必須是帶有組合邏輯的門控時(shí)鐘結(jié)構(gòu),;時(shí)鐘必須要有確定的約束條件,;門控時(shí)鐘所驅(qū)動(dòng)的時(shí)序邏輯電路不能是黑盒子。
前面提到的門控時(shí)鐘轉(zhuǎn)換電路都比較簡(jiǎn)單,,在實(shí)際的設(shè)計(jì)中,,門控時(shí)鐘的組合邏輯也許會(huì)很復(fù)雜,所驅(qū)動(dòng)的后續(xù)電路不僅僅有寄存器,,還有 BRAM和DSP模塊等時(shí)序邏輯,。因此即便是Synplify pro/Premier這樣的高性能綜合器也可能有無(wú)法自動(dòng)處理的電路結(jié)構(gòu),仍然需要手動(dòng)修改,。
時(shí)刻使能
對(duì)于ASIC設(shè)計(jì)中的時(shí)鐘使能電路,,沒有必要做任何的轉(zhuǎn)換工作。因此FPGA芯片內(nèi)部的各種時(shí)序邏輯電路(包括寄存器、BRAM和DSP48模塊)本身就帶有時(shí)鐘使能輸入端口,,因此綜合工具可以做到完美的自動(dòng)映射,。
時(shí)鐘管理單元的映射
ASIC設(shè)計(jì)中的大部分時(shí)鐘管理模塊(如PLL),僅僅需要對(duì)端口的細(xì)微修改就可以直接映射到FPGA對(duì)應(yīng)的資源上,。Xilinx的FPGA芯片提供了豐富的可配置時(shí)鐘資源:DCM,,PLL,MMCM,,BUFG/BUFR,,BUFGMUX,等等,。
更多信息可以來(lái)這里獲取==>>電子技術(shù)應(yīng)用-AET<<