利用SmartCompile和賽靈思的設(shè)計(jì)工具進(jìn)行設(shè)計(jì)保存(07-100)
在FPGA環(huán)境下,設(shè)計(jì)保存實(shí)施比較復(fù)雜,需要保存的事項(xiàng)包括:一項(xiàng)設(shè)計(jì)的HDL描述、一個(gè)模塊的綜合網(wǎng)表、約束文件內(nèi)的布局信息,以及在局部比特文件中的配置數(shù)據(jù)。賽靈思集成軟件環(huán)境ISE 9.1i 軟件以新的SmartCompile 技術(shù)為特色,其中包含兩種新的方法:SmartGuide和Partitions,這兩種方法可以保存像布局或布線這樣的設(shè)計(jì)執(zhí)行數(shù)據(jù),并且可以減少解決問(wèn)題所花費(fèi)的時(shí)間。
本文引用地址:http://m.butianyuan.cn/article/81756.htmSmartGuide采用命名和拓樸匹配技術(shù)來(lái)識(shí)別一個(gè)FPGA設(shè)計(jì)中相對(duì)于以前的實(shí)現(xiàn)還沒(méi)有發(fā)生改變的各個(gè)部分。在新的和已修改過(guò)的設(shè)計(jì)被重新實(shí)現(xiàn)時(shí),設(shè)計(jì)中匹配元器件得到了保存。
Partitions 采用的技術(shù)中,F(xiàn)PGA 設(shè)計(jì)的模塊實(shí)例被自動(dòng)分析,接著,與以前的模塊實(shí)現(xiàn)比較,確定該模塊實(shí)例是最新的還是過(guò)時(shí)的。如果Partition 是過(guò)時(shí)的,它也完全可以重新實(shí)現(xiàn)且不發(fā)生保存。如果Partition是最新的,它可從以前的實(shí)現(xiàn)中被嚴(yán)格地復(fù)制且(從綜合網(wǎng)表通過(guò)布線)完整地保存布局和布線運(yùn)行時(shí)間。
SmartGuide如何運(yùn)作?
SmartGuide工作在像查找表(LUT)和觸發(fā)器這樣的FPGA中最低級(jí)的物理單元上。這些單元及其連通性被依次匹配和保存。
要成功引導(dǎo)的第一步是對(duì)已經(jīng)作出較小變更的設(shè)計(jì)綜合一個(gè)一致的網(wǎng)表。例如,減法器等式regAB=(A"B),可以被綜合成Msub_sub0001的邏輯名稱。下一個(gè)減數(shù)就稱為Msub_sub0002,并且依此類推。在引入新減數(shù)的設(shè)計(jì)中的任何變更都可能造成設(shè)計(jì)中所有減數(shù)的重新命名。為了解決這個(gè)問(wèn)題,像Synplicity 公司的Synplify和Synplify Pro以及賽靈思公司的XST這樣的綜合工具,已經(jīng)改變了邏輯命名的慣例。利用這些工具,無(wú)論用戶有沒(méi)有對(duì)RTL進(jìn)行變更或進(jìn)行了小的變更,邏輯命名從一個(gè)綜合運(yùn)行到下一個(gè)綜合都變得更加可以預(yù)測(cè)。按照以上的實(shí)例, 減法邏輯就被命名為Msub_regAB_sub0001。通過(guò)采用在邏輯中的寄存器名,就能防止改變到其它的減數(shù)。
綜合命名慣例的另一項(xiàng)增強(qiáng)措施是以本地而不是全局上下文為基礎(chǔ)。在RTL出現(xiàn)小的變化以及設(shè)計(jì)沿著非關(guān)鍵路徑重新綜合時(shí),這可能有所幫助。在綜合之后,與非關(guān)鍵時(shí)序路徑相關(guān)的邏輯被修改,而機(jī)器給未改變邏輯產(chǎn)生的實(shí)例名稱保持不變。綜合網(wǎng)表變化被本地化到網(wǎng)表內(nèi)的已修改的或新的邏輯。最優(yōu)化一向是可復(fù)制的,這是因?yàn)樗鼈円员镜剡壿嫗榛A(chǔ)。例如,作為最優(yōu)化過(guò)程的一個(gè)部分,Synplicity的 Synplify/Pro目前創(chuàng)建路徑組(path groups),它是被分別最優(yōu)化的各個(gè)邏輯組。當(dāng)邏輯在非關(guān)鍵時(shí)序路徑上優(yōu)化時(shí),只有受影響的路徑組被改變,以最小化對(duì)綜合網(wǎng)表的影響。
在生成綜合網(wǎng)表后,ISE 9.1i中的實(shí)現(xiàn)工具會(huì)處理網(wǎng)表,并把它轉(zhuǎn)換成針對(duì)特定FPGA 架構(gòu)的經(jīng)布局和布線的設(shè)計(jì)。在匹配過(guò)程中會(huì)發(fā)生引導(dǎo),所有的元器件以匹配元器件名稱為基礎(chǔ)被引導(dǎo)。如果一個(gè)元器件在目前的實(shí)現(xiàn)和引導(dǎo)設(shè)計(jì)中都有相同的名稱,那么,該元器件就能被成功地引導(dǎo)。該元器件可能有不同的LUT方程式或引在生成綜合網(wǎng)表后,ISE 9.1i中的實(shí)現(xiàn)工具會(huì)處理網(wǎng)表,并把它轉(zhuǎn)換成針對(duì)特定FPGA 架構(gòu)的經(jīng)布局和布線的設(shè)計(jì)。在匹配過(guò)程中會(huì)發(fā)生引導(dǎo),所有的元器件以匹配元器件名稱為基礎(chǔ)被引導(dǎo)。如果一個(gè)元器件在目前的實(shí)現(xiàn)和引導(dǎo)設(shè)計(jì)中都有相同的名稱,那么,該元器件就能被成功地引導(dǎo)。該元器件可能有不同的LUT方程式或引腳,并仍可以成功地被引導(dǎo)。
如果在當(dāng)前實(shí)現(xiàn)和引導(dǎo)設(shè)計(jì)中的源和負(fù)載引腳是相同的,就能對(duì)網(wǎng)絡(luò)進(jìn)行引導(dǎo)。這消除了對(duì)兩次實(shí)現(xiàn)之間的網(wǎng)絡(luò)名稱要保持一致的依賴。它也極大地增加了成功引導(dǎo)網(wǎng)絡(luò)的機(jī)率。
如圖1所示,例如,LUT4的邏輯等式已經(jīng)被修改。LUT4將被引導(dǎo),因?yàn)榧词顾倪壿嫷仁绞遣煌模南嚓P(guān)名稱也沒(méi)有被改變。LUT4和LUT2 之間的布線將被引導(dǎo),這是因?yàn)長(zhǎng)UT4 和 LUT2之間的連通性沒(méi)有被修改。
評(píng)論