在Place & Route布局布線流程中雙擊【View/Edit Routed Design(FPGA Editor)】選項(xiàng),出現(xiàn)圖1所示的界面。在布局布線流程中運(yùn)行底層編輯器與映射(Map)流程中執(zhí)行的結(jié)果是有區(qū)別的,其中包含所有布線的詳細(xì)信息。
圖1 FPGA底層編輯器界面
(1)建立一個(gè)新的設(shè)計(jì)或打開一個(gè)原有設(shè)計(jì),在建立一個(gè)新設(shè)計(jì)之前,需先關(guān)閉已打開的設(shè)計(jì)。
■在菜單欄中選擇【File】→(New】命令建立一個(gè)新的設(shè)計(jì),在【Design File】文本框中輸入demo文件名,選擇器件類型為XC3S500E-4-FG320。物理約束文件保留默認(rèn)路徑和文件名,如圖2所示,單擊【OK】按鈕。
圖2 建立一個(gè)新的底層編輯器文件
■在菜單欄中選擇【File】→【Open】命令打開一個(gè)己有的設(shè)計(jì),輸入.ncd和物理約束.pcf文件。在【Edit Mode】選頊組可以選擇【Read Only】、【No Logic Changes】和【Read Write】單選按鈕。建議選擇【Read Write】單項(xiàng)按鈕,以便修改。單擊【OK】按鈕。
■選擇【Save】或【Save As...】命令,保存設(shè)計(jì)或設(shè)計(jì)宏(.NMC)。
(2)增加或刪除元件、網(wǎng)線、引腳及通道。對于需要修改已經(jīng)存在的設(shè)計(jì)時(shí),如果不能在【Array】窗口中操作,則選擇【File】→【Main Properties...】命令,選擇【Edit Mode】選項(xiàng)組中【Read Write】的單選按鈕。
■在【Array】窗口中選擇一個(gè)空位,以便增加一個(gè)新的部件。
■選擇【Edit】→【Add】命令,在所選擇空位上的部件將變成有效(空位的顏色發(fā)生變化)。
■將指定的器件引腳增加到網(wǎng)絡(luò)列表中,在【Array】窗口中選擇一個(gè)有效的器件引腳。選擇【List】窗口后,選擇【Edit】→【Add】 :命令,將該引腳添加到列表中。
■刪除部件后,該部件將從列表中消失,而且在該部件上的所有網(wǎng)線將失去布線路由。在【Array】窗口中選擇一個(gè)需要?jiǎng)h除的部件,選擇【 Edit】→【 Cut】命令,刪除部件。
■刪除通道(Path)后,所有該通道上的約束也將去掉。選擇【List】窗口后,指定需要?jiǎng)h除的通道,從右邊的用戶控制欄選擇【Deletel】刪除所選內(nèi)容。
(3)創(chuàng)建和使用宏(Macros)。當(dāng)增加一個(gè)宏時(shí),同時(shí)將該宏和宏的庫文件例化,并加入到設(shè)計(jì)文件中。在設(shè)計(jì)中可以包含多個(gè)相同的宏,但需有不同的名稱。此外,這些宏只能包含在同一個(gè)系列器件中,如Spartan-3E或Virtex-5系列器件。對于相同的宏,可以進(jìn)行復(fù)制。
■建立一個(gè)新的宏庫文件:選擇【File】→【New】選項(xiàng),可建立一個(gè)新的宏。在【Hord Macro File 】文本框中輸入“demo_macro”作為文件名,選擇器件類型為XC3S500E-4-FG320,
如圖3所示,然后單擊【OK】按鈕。
圖3 建立一個(gè)宏
■增加—個(gè)宏:在【Array】窗口中選擇一個(gè)空位,該空位必須滿足宏的所有條件,宏文件的擴(kuò)展名為.NMC。選擇【Edit 】→【Add Macro...】選項(xiàng),輸入宏的名稱和文件名。
■將一個(gè)外部引腳加入到宏庫文件中:打開一個(gè)宏文件,選擇【 Edit】→【Add Macro External Pin.】,選項(xiàng),為宏增加一個(gè)引腳。
■在菜單欄中選擇【Edit】→【Swap】選項(xiàng),可以移動宏或部件。
(4)布局和布線(Place & Route)。
■ 自動放置一個(gè)部件或宏:在【List】窗口中選擇【Unplaced Components】選項(xiàng),顯示未放置的器件。選擇【Tools】→【Place,→【Auto Place】選項(xiàng),將自動布局所選擇的器件;如果選擇【Tools】→【 Place 】→【Auto Place All...】選項(xiàng),將自動布局所有的器件
■在【List】窗口中選擇【Unplaced Macros】選項(xiàng),顯示未放置的宏。選擇【Tools】→【Place】→【Auto Place】選項(xiàng), 自動布局所選擇的宏。
■ 自動布線:自動布線完成新增的引腳、網(wǎng)線、宏及部件之間的連線。首先在【Array窗口選擇需要布線的目標(biāo),或在【List】窗口中選擇【Unrouted Nets】選項(xiàng)。選擇【Tools】→【Route】→【Auto Route】選項(xiàng),將完成自動布線。如果選擇【Tools】→【Route 】 →【 Auto Route All】選項(xiàng),自動完成所有的布線。
在自動布線時(shí),可以選擇多個(gè)參數(shù),選擇【Tools】→【 Route】→【Auto Route Setup…】選項(xiàng),出現(xiàn)圖4所示的【Auto Route Setup】對話框。
圖4 【Auto Route Setup】對話框
【Auto Route Design】選項(xiàng)組中的選項(xiàng)用于設(shè)計(jì)的自動布線,選擇【Tirnespec Driven】單選按鈕,在自動布線時(shí)匹配時(shí)序約束。對超出時(shí)序約束參數(shù)范圍以外的路徑,將不進(jìn)行布線;選擇【Resource Driven】單選按鈕,在自動布線時(shí)少用資源,該選項(xiàng)為默認(rèn)值?!続uto RouteSelection】選項(xiàng)組中選擇用于自動布線的細(xì)節(jié),如網(wǎng)線、部件及引腳。選擇【Delay Driven】單選按鈕,在自動布線時(shí)選擇盡可能快的路徑策略;選擇【 Resource Driven】單選按鈕在自動布線選擇最少的資源策略,該選項(xiàng)為默認(rèn)值。
【Allow Pin Swap】復(fù)選框用于為自動布線選擇是否允許進(jìn)行引腳交換,以保證更好地利用內(nèi)部的資源。
■手動布局:在【List】窗口中選擇未布局的元件【Unplaced Component】選項(xiàng),然后選擇【Tools】一【Place】→(Manual Place】選項(xiàng)進(jìn)行手動布局。
■手動布線:手動布線可以實(shí)現(xiàn)引腳連線、宏連線和通道布線等,選擇連線的源。然后選擇【Tools】→【Route】→【Manual Route】選項(xiàng),完成手動布線。
■ 斷開連線:選擇需要?jiǎng)h除連線,選擇【Tools】→【Route】→【Unroute】→【Unroute All】選項(xiàng)刪除所選全部連線。
(5)探點(diǎn)(Probes)、邏輯單元(Components)及引腳(Pins)的使用和編輯。
■在【Array】窗口中雙擊需要編輯的邏輯單元,打開【Block】窗口,如圖2-29所示。單擊位于窗口右邊控制欄中的【editblock】按鈕,可以對部件內(nèi)部的基本單元(LUT、MUX及flip-flop等)、輸入/輸出標(biāo)準(zhǔn)及出現(xiàn)在窗口中的所有邏輯資源進(jìn)行編輯。如果選擇【Block】窗口中的【F=】圖標(biāo)【Show/Hide Attributes】,將出現(xiàn)函數(shù)方程編輯窗口??梢跃庉嬤壿嫼瘮?shù)表達(dá)式,同樣能夠修改邏輯內(nèi)部并設(shè)置塊存儲器的初始化數(shù)據(jù)。編輯完成后,單擊【Apply】按鈕。在【Block】窗口中通過不同顏色能夠看出內(nèi)部邏輯資源的使用情況。
圖5【Block】窗口
注意:如果需要在底層編輯器中編輯邏輯,布局和布線,需留意編輯模式的設(shè)置 【Read Only】模式的設(shè)置?!綬ead Only】模式允許修改和保存,包括邏輯的組合、布線及布局;【No Logic Changes】模式允許布局和布線,但不能允許修改邏輯的組合,添加和刪除線,以及重新編輯邏輯單元.
來源:ks991次