LogicLock優(yōu)化技術(shù)_第1頁
LogicLock優(yōu)化技術(shù)_第2頁
LogicLock優(yōu)化技術(shù)_第3頁
LogicLock優(yōu)化技術(shù)_第4頁
LogicLock優(yōu)化技術(shù)_第5頁
已閱讀5頁,還剩144頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 第第5章章 LogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 5.1 LogicLock技術(shù)的基本內(nèi)容技術(shù)的基本內(nèi)容 5.2 未用未用LogicLock的數(shù)字濾波器設(shè)計(jì)的數(shù)字濾波器設(shè)計(jì) 5.3 應(yīng)用邏輯鎖定技術(shù)應(yīng)用邏輯鎖定技術(shù) 5.4 頂層設(shè)計(jì)優(yōu)化頂層設(shè)計(jì)優(yōu)化 第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 5.1 LogicLock技術(shù)的基本內(nèi)容技術(shù)的基本內(nèi)容 5.1.1 LogicLock技術(shù)解決系統(tǒng)設(shè)計(jì)優(yōu)化 有FPGA開發(fā)經(jīng)驗(yàn)的人都會(huì)有這樣的體會(huì):原來在硬件測試上十分成功的FPGA設(shè)計(jì),在源代碼并沒有任何改變的

2、情況下,僅僅是增加了一點(diǎn)與原程序毫不相干的電路描述,或甚至只改變了某個(gè)端口信號(hào)的引腳鎖定位置,結(jié)果在綜合適配后,原來設(shè)計(jì)的硬件性能將大為下降,如速度降低了,有時(shí)甚至無法正常工作。 第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 這時(shí),如果比較改變?cè)O(shè)計(jì)前后的Floorplan圖,會(huì)發(fā)現(xiàn)芯片內(nèi)部資源的使用情況發(fā)生了巨大的變化。這表明,即使對(duì)原設(shè)計(jì)作極小的改變(更不用說對(duì)適配約束條件的改變),都會(huì)使適配器對(duì)原設(shè)計(jì)的布線(Routing)和布局(Placing)策略作大幅改變和調(diào)整。同時(shí),當(dāng)設(shè)計(jì)規(guī)模比較大時(shí),人為很難直接介入布線/布局的優(yōu)化。 第第5 5章章 LogicLockL

3、ogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 對(duì)于由許多基本電路模塊構(gòu)建成的頂層系統(tǒng)的FPGA開發(fā),類似的問題將更加突出。例如,原來某一基本模塊的FPGA硬件測試十分成功,包括工作性能、速度以及資源利用率等,但當(dāng)將這些基本模塊連接到一個(gè)頂層設(shè)計(jì)后,即使在同一FPGA中進(jìn)行測試,也常發(fā)現(xiàn)各模塊以及總系統(tǒng)的性能有所下降甚至出現(xiàn)無法工作的情況。事實(shí)上,如果能在設(shè)計(jì)基本模塊時(shí),就固定其布線/布局的原方案,即使在頂層文件的總體適配時(shí),也不改變?cè)瓉砘灸K的布線/布局及其原來的優(yōu)化方案,就能很好地解決上述棘手的問題。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 對(duì)此,Quartus II提供了

4、一個(gè)優(yōu)秀的設(shè)計(jì)技術(shù),即邏輯鎖定技術(shù)。使用這一技術(shù),可以將設(shè)計(jì)好的電路系統(tǒng)或某一底層模塊約束到FPGA中某個(gè)指定的區(qū)域上,并固定原來的布線/布局方案。這樣一來,對(duì)于一項(xiàng)較大設(shè)計(jì)中的某一底層模塊,不但在頂層的軟件描述上是一個(gè)子模塊(如例2-1),而且在FPGA芯片的總體適配中,此模塊在硬件上便類似于ASIC設(shè)計(jì)中的一個(gè)標(biāo)準(zhǔn)模塊,始終能保持自己原來的布線/布局方案,從而在任何大系統(tǒng)中都能保持原有的電路性能,就像一個(gè)被調(diào)用的獨(dú)立的元件一樣,不會(huì)由于頂層系統(tǒng)布線/布局的改變而改變基本模塊的布線/布局結(jié)構(gòu)了。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 有了邏輯鎖定技術(shù),面對(duì)大系統(tǒng)

5、的設(shè)計(jì),工程師們就可以將構(gòu)成大系統(tǒng)的各模塊進(jìn)行分別設(shè)計(jì),分別優(yōu)化他們的布線/布局;適配約束,逐個(gè)地使它們分別獲得最佳的工作性能,逐個(gè)優(yōu)化并鎖定它們的布線/布局方案;最后把它們連在一起形成性能優(yōu)良的頂層系統(tǒng)。顯然,邏輯設(shè)計(jì)鎖定技術(shù)是SOPC單片系統(tǒng)優(yōu)化設(shè)計(jì)及IP核成功拼裝應(yīng)用的有力保證。 大規(guī)模系統(tǒng)的設(shè)計(jì)本身就已十分困難,而對(duì)大規(guī)模系統(tǒng)的優(yōu)化將更加困難。優(yōu)化工作在增加或更改內(nèi)部設(shè)計(jì)元件時(shí)要進(jìn)行大量的修改工作。 第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 一般地,對(duì)付復(fù)雜的大系統(tǒng)的設(shè)計(jì)的方法有: (1) 使用模型設(shè)計(jì)、層次設(shè)計(jì)或遞增設(shè)計(jì)方法; (2) 使用好的EDA工具,

6、使得整個(gè)設(shè)計(jì)和優(yōu)化更容易; (3) 使用已經(jīng)優(yōu)化好的IP核; (4) 使用先前已優(yōu)化好的被鎖定了布局/布線的設(shè)計(jì)模塊。 比較圖5-1所示的FPGA的傳統(tǒng)設(shè)計(jì)流程與使用了邏輯鎖定(LogiclLock Methodology)優(yōu)化技術(shù)的流程可以發(fā)現(xiàn), 第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 兩種設(shè)計(jì)流程都是把整個(gè)設(shè)計(jì)系統(tǒng)分成若干個(gè)模塊(這些模塊可以是一個(gè)單獨(dú)的電路功能塊,或是電路中的部分元件,或是部分設(shè)計(jì)層次),在對(duì)每一模塊單獨(dú)設(shè)計(jì)好后,再把它們拼起來形成一個(gè)完整的系統(tǒng)。所不同的是,前者將系統(tǒng)中的各模塊分別設(shè)計(jì),并集成為系統(tǒng),然后對(duì)整個(gè)系統(tǒng)進(jìn)行優(yōu)化和測試;而后者則將

7、系統(tǒng)中的各模塊分別設(shè)計(jì)和優(yōu)化,并保持優(yōu)化結(jié)果,最后進(jìn)行模塊集成和系統(tǒng)測試。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-1 FPGA的傳統(tǒng)設(shè)計(jì)流程與使用了邏輯鎖定優(yōu)化技術(shù)的流程的比較設(shè)計(jì)、優(yōu)化和仿真測試仿真測試仿真測試優(yōu)化模塊集成模塊集成設(shè)計(jì)FPGA傳統(tǒng)設(shè)計(jì)流程LogicLock設(shè)計(jì)流程第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 如上所述,在傳統(tǒng)設(shè)計(jì)流程中常常發(fā)生的情況是,對(duì)于每個(gè)模塊來說,它們都能滿足設(shè)計(jì)要求(良好的功能和速度指標(biāo)等),但當(dāng)將它們合成系統(tǒng)后,卻不能達(dá)到原來的要求了。即使有時(shí)有的模塊的功能滿足要求,但當(dāng)修改其它模塊后,整體

8、編譯后會(huì)導(dǎo)致其它模塊性能的改變,甚至下降。這是由于在傳統(tǒng)設(shè)計(jì)流程中,EDA工具并不會(huì)對(duì)系統(tǒng)中的各模塊單獨(dú)優(yōu)化及單獨(dú)布局/布線。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) Quartus II的LogicLock技術(shù)則能很好地解決這一問題。它能很容易地完成對(duì)每一模塊的設(shè)計(jì)、測試和優(yōu)化,再將這些模塊集成為一個(gè)系統(tǒng),進(jìn)行系統(tǒng)優(yōu)化設(shè)計(jì),同時(shí)又能很好地保持原來已設(shè)計(jì)好的每一單個(gè)模塊的優(yōu)化特性。當(dāng)把這些模塊集成為一個(gè)系統(tǒng)后,只需對(duì)模塊之間的邏輯行為進(jìn)行優(yōu)化就可以了。顯然,LogicLock技術(shù)通過允許設(shè)計(jì)者自主地控制特定模塊在FPGA中指定的區(qū)域中的布線與布局,以及單獨(dú)的優(yōu)化,并

9、能在更高層次的設(shè)計(jì)中保留模塊原有的性能特點(diǎn),從而大大加強(qiáng)了DSP的SOC設(shè)計(jì)的優(yōu)秀性能和靈活性。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 5.1.2 LogicLock的基本內(nèi)容 使用LogicLock設(shè)計(jì)流程,首先要求建立邏輯鎖定區(qū)域,這就是設(shè)計(jì)模塊放置的區(qū)域,即所謂的LogicLock區(qū)。其中應(yīng)包含能完成此模塊電路構(gòu)成的邏輯資源,如邏輯宏單元LCs、ESBs、EABs等。一旦確定了這個(gè)區(qū)域,Quartus II就會(huì)把指定模塊適配在這個(gè)區(qū)域中。 設(shè)定LogicLock區(qū)域的方法有3種:第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 使用Tcl

10、腳本命令; 使用Quartus II的Floorplan編輯器; 使用LogicLock窗。 LogicLock區(qū)域的特性主要有兩個(gè)標(biāo)志:“大小”和“位置”?!按笮 笔侵复藚^(qū)域的高和寬,其單位不是距離而是邏輯單元;而“位置”是指在目標(biāo)器件中鎖定區(qū)域在Floorplan圖上所處的位置。區(qū)域的位置狀態(tài)有兩種:“鎖定”狀態(tài)和“浮動(dòng)”狀態(tài)。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 如果區(qū)域是浮動(dòng)的,則由Quartus II在優(yōu)化過程中確定具體位置所在。如果區(qū)域的大小設(shè)定為“自動(dòng)”,Quartus II將自動(dòng)調(diào)整大小,以便將設(shè)計(jì)模塊正好能放進(jìn)此區(qū)域中。區(qū)域是一個(gè)長方區(qū)域,區(qū)域

11、的起點(diǎn)定義為左頂角處,位置狀態(tài)定義為“鎖定”和“浮動(dòng)”,大小定義為“自動(dòng)”和“固定”兩種,表5-1給出了詳細(xì)說明。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 表5-1 鎖定區(qū)域分區(qū)類型 位 置大 小說 明浮動(dòng)自動(dòng)這是邏輯鎖定約束條件中最靈活的一種,在適配中Quartus II自動(dòng)根據(jù)優(yōu)化情況確定最終的鎖定區(qū)域的大小與位置浮動(dòng)固定這種方式中是假設(shè)定義的鎖定區(qū)域的大小是合理的,否則不利于邏輯資源的有效利用鎖定固定這種約束條件具有最小的靈活性,由設(shè)計(jì)者確定鎖定區(qū)域的一切具體情況第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 5.1.3 鎖定區(qū)域的基本方

12、式 如果將一個(gè)基本模塊鎖定于一個(gè)區(qū)域中并進(jìn)行了成功的適配后,還要將其使用于更高層次的設(shè)計(jì)中,設(shè)計(jì)者對(duì)于此模塊的鎖定方式有兩種選擇:第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 1. 僅鎖定區(qū)域的大小和位置(包括選取表5-1中的任何一種方式) 在這種情況下,Quartus II在頂層設(shè)計(jì)的適配中,只負(fù)責(zé)將原模塊放置在所定義的鎖定區(qū)域中,而在此區(qū)域中,此模塊的電路放置不固定,即只能保證在更高層的設(shè)計(jì)鎖定區(qū)域的大小和位置不變,但不保證原模塊在此鎖定區(qū)域中的電路的布線/布局方式不變,從而無法保證在此后的更高層設(shè)計(jì)適配后模塊的電路性能不變。第第5 5章章 LogicLockLog

13、icLock優(yōu)化技術(shù)優(yōu)化技術(shù) 2. 對(duì)原鎖定區(qū)域的模塊電路布線/布局信息進(jìn)行“反注”(Back-annotate) 通過“背注”操作,Quartus II根據(jù)背注信息完全鎖定在指定的LogicLock區(qū)域中該模塊電路中各元件的電路結(jié)構(gòu)的確定位置。即能很好地保持在鎖定區(qū)域中各電路元素的適配位置,從而在當(dāng)將此模塊集成到高層乃至頂層設(shè)計(jì)適配后,能最大程度地保持此鎖定模塊原來的工作性能。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 較好的設(shè)計(jì)方法可以這樣:為了確保鎖定區(qū)域中的電路模塊優(yōu)化后其特性不致在以后的高層設(shè)計(jì)適配中發(fā)生改變,同時(shí)高層設(shè)計(jì)適配中又有較好的靈活性,以利于系統(tǒng)級(jí)

14、適配的優(yōu)化,可以首先將模塊在鎖定區(qū)域中的電路設(shè)置的基本元件的布線/布局固定下來,從而不僅鎖定了邏輯區(qū)域,同時(shí)也鎖定了模塊的電路性能,然后在高層的設(shè)計(jì)中令含有此模塊的鎖定區(qū)域?yàn)楦?dòng)狀態(tài)。這樣以來,在Quartus II對(duì)高層的設(shè)計(jì)將各模塊統(tǒng)一進(jìn)行適配和優(yōu)化中,為各模塊找到了最合適的位置,從而有利于頂層系統(tǒng)的優(yōu)化。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 在系統(tǒng)適配中,雖然原設(shè)計(jì)模塊的鎖定區(qū)域是浮動(dòng)的,但在該區(qū)域中構(gòu)成該模塊的電路元件與該區(qū)域的相對(duì)位置是不變的。因此,只要高層電路系統(tǒng)的適配與原低層模塊的鎖定適配是在同一系列的FPGA中,就能保證原模塊的性能不變。 此外,

15、這種保持了原特性的浮動(dòng)模塊的作用類似一個(gè)已優(yōu)化好的獨(dú)立的電路元件,它不僅能作為原高層設(shè)計(jì)中的一個(gè)電路模塊,還能進(jìn)行多模塊例化(同模塊復(fù)制,或能移植到其它電路系統(tǒng)中)。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 這種方式產(chǎn)生的“電路元件”與僅僅以VHDL設(shè)計(jì)實(shí)體代碼構(gòu)成的“元件”是不一樣的。前者是一個(gè)成熟的、已優(yōu)化好的電路模塊,只要在同種系列的目標(biāo)器件中實(shí)現(xiàn),不論是單獨(dú)使用,還是用作更大系統(tǒng)的一個(gè)例化元件,都能保證原模塊的技術(shù)性能不變;而后者不具有這樣的特性,因?yàn)楹笳呒词乖谕幌盗械哪繕?biāo)器件中,由于不同的外部條件和不同的高層次設(shè)計(jì),或由于頂層設(shè)計(jì)的微小改變,它們都會(huì)表現(xiàn)

16、出不同的電路特性。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 假如一個(gè)子區(qū)域是浮動(dòng)狀態(tài)的,Quartus II就會(huì)在優(yōu)化過程中為此子區(qū)域在母區(qū)域中確定一個(gè)合適的位置;假如一個(gè)子區(qū)域是鎖定狀態(tài)的,Quartus II也將保持子區(qū)域在母區(qū)域中的相對(duì)位置不變。 設(shè)計(jì)者必須注意,邏輯鎖定區(qū)域的層次與工程設(shè)計(jì)的層次概念是不同的。前者是一組定義了“母子”關(guān)系的鎖定區(qū)域,這個(gè)區(qū)域只能由Quartus II的區(qū)域鎖定工具劃定邏輯布局位置間的關(guān)系,而后者則不同。后者反映的是設(shè)計(jì)源代碼中的結(jié)構(gòu)層次,以及模塊間的例化關(guān)系。一般地,LogicLock區(qū)域不一定反映設(shè)計(jì)中的邏輯層次。第第5 5

17、章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-2和圖5-3是兩個(gè)不同的設(shè)計(jì)層次示例,其中圖5-2的頂層設(shè)計(jì)是B,它包含兩個(gè)模塊:IP核與A模塊。設(shè)計(jì)者是在定義了設(shè)計(jì)層次后再確定邏輯鎖定層次的。邏輯鎖定設(shè)計(jì)中,可以先建立一個(gè)LogicLock母模塊區(qū)域,將頂層設(shè)計(jì)B定義于此區(qū)域中,然后建立兩個(gè)子區(qū)域,把IP模塊和A模塊分別設(shè)定放置在兩個(gè)子區(qū)域中。這樣以來,鎖定區(qū)域的劃分正好反映了設(shè)計(jì)的層次。 但是,設(shè)計(jì)者也可以將IP核模塊放在主區(qū)域中,而把頂層設(shè)計(jì)B放在子區(qū)域中,并將模塊A中的部分內(nèi)容放在這個(gè)子區(qū)域中,這當(dāng)然也不失為一種鎖定區(qū)域的定義方法。但最佳的區(qū)域定義應(yīng)根據(jù)模塊組織情況及

18、電路的特性來具體確定。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-2 模塊設(shè)計(jì)層次 AIP核B第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-3 層次化設(shè)計(jì)流程AIP核BCEEFG第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 5.1.5 LogicLock技術(shù)的不同應(yīng)用流程 如上所述,在傳統(tǒng)的設(shè)計(jì)流程中,同樣一個(gè)模塊在單獨(dú)適配與在頂層設(shè)計(jì)中適配,其性能有可能不一樣。為了解決這個(gè)問題,LogicLock提供了一種增量適配方法,步驟如下: 1) 由邏輯綜合器產(chǎn)生“原子級(jí)”網(wǎng)表文件。 原子級(jí)網(wǎng)表文件就是該文件中以最基

19、本的元件(如與門、非門、觸發(fā)器等)和基本連線方式表達(dá)的工程設(shè)計(jì)。所謂“原子級(jí)”就是指底層基本邏輯文件在原子級(jí)網(wǎng)表文件中,所有的“原子”的結(jié)構(gòu)與名稱(如某邏輯門)是不會(huì)隨著對(duì)系統(tǒng)的編譯適配而改變的。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 2) 使用LogicLock設(shè)置確定設(shè)計(jì)模塊在鎖定區(qū)域中的具體放置位置模塊在該區(qū)域中的特性以信號(hào)節(jié)點(diǎn)的設(shè)置和層次安排。原子級(jí)網(wǎng)表的名稱規(guī)定了信號(hào)節(jié)點(diǎn)的設(shè)置。于是,在含有這些模塊的頂層設(shè)計(jì)編譯適配中,Quartus II將完全遵循原模塊中的所有約束條件。在以下敘述的模塊化、層次化、增量法和分組法的所有設(shè)計(jì)流程中,都將使用上述保持模塊特

20、性的方式進(jìn)行適配。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 1. 模塊化設(shè)計(jì)流程 以圖5-2為例,這里顯示的是一個(gè)模塊化的設(shè)計(jì)流程。頂層設(shè)計(jì)B僅僅是對(duì)IP和A作了例化,即B只是確定了這兩個(gè)子模塊的連接關(guān)系,沒有其它的邏輯設(shè)計(jì)內(nèi)容。設(shè)計(jì)者可以首先分別對(duì)這兩個(gè)底層模塊進(jìn)行優(yōu)化(主要對(duì)A模塊,因?yàn)镮P核是一個(gè)已被優(yōu)化了的設(shè)計(jì)),以便在頂層設(shè)計(jì)中保持原有的優(yōu)化特性。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 具體方法是,在層次化設(shè)計(jì)中,設(shè)計(jì)者首先將IP核與A模塊設(shè)定為工程,然后再分別對(duì)各工程進(jìn)行設(shè)計(jì)和優(yōu)化。優(yōu)化中利用邏輯鎖定技術(shù)將各模塊放置在Log

21、icLock區(qū)域中,或放在設(shè)計(jì)者決定的鎖定區(qū)域中的某個(gè)鎖定層次中,分別使各模塊在自己的鎖定區(qū)域中優(yōu)化,以便滿足原設(shè)計(jì)的要求。然后,設(shè)計(jì)者將這些優(yōu)化并鎖定了區(qū)域的設(shè)計(jì)模塊所對(duì)應(yīng)的原子級(jí)網(wǎng)表文件輸入到頂層系統(tǒng)B中,接著由Quartus II在B中確定此2模塊的鎖定位置(區(qū)域)。最后,設(shè)計(jì)者就可以對(duì)整個(gè)系統(tǒng)進(jìn)行編譯和測試了。 第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 2. 層次化設(shè)計(jì)流程 LogicLock技術(shù)允許層次化的設(shè)計(jì)流程。圖5-3是一個(gè)層次設(shè)計(jì)流程的示例,其中包含模塊D、E和F。模塊E還包含來自圖5-2的模塊B。如果模塊D對(duì)于整個(gè)系統(tǒng)的性能并不很重要,那么可以首

22、先使用硬件描述語言描述這個(gè)模塊的功能,而在設(shè)計(jì)中不必專門對(duì)此項(xiàng)設(shè)計(jì)規(guī)定什么布線/布局的約束信息。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 如果已經(jīng)確定模塊E和F的性能對(duì)于總系統(tǒng)來說比較重要,設(shè)計(jì)者就可以分別對(duì)它們進(jìn)行優(yōu)化設(shè)計(jì)。考慮到模塊E是由多個(gè)模塊層次構(gòu)成的,而模塊F比較簡單,設(shè)計(jì)者可以首先對(duì)模塊F進(jìn)行邏輯鎖定、優(yōu)化設(shè)計(jì)和適配,并得到對(duì)應(yīng)于F的原子級(jí)網(wǎng)表文件。 為了獲得模塊E的原子級(jí)網(wǎng)表文件,需要分兩步來走:第一步,先按上節(jié)方法獲得B的原子級(jí)網(wǎng)表文件,然后將此網(wǎng)表連同C輸入模塊E中;第二步,對(duì)E進(jìn)行優(yōu)化設(shè)計(jì),最后將E的網(wǎng)表文件連同G和F輸入進(jìn)頂層設(shè)計(jì)G中進(jìn)行全系統(tǒng)

23、設(shè)計(jì)。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 3. 增量法設(shè)計(jì)流程 邏輯鎖定技術(shù)使得增量法設(shè)計(jì)流程方便、有效。如圖5-4所示,頂層設(shè)計(jì)G含有4個(gè)模塊,設(shè)計(jì)一開始就可以從頂層設(shè)計(jì)入手,但可以逐個(gè)加入模塊進(jìn)行區(qū)域鎖定、優(yōu)化和布局/布線。完成以后,再加入下一個(gè)模塊。如前所述,由于對(duì)每一模塊都使用了鎖定技術(shù),所以,當(dāng)在頂層中加入新模塊后,原來已存在的模塊的性能不會(huì)由于整個(gè)系統(tǒng)的編譯、綜合和適配優(yōu)化而有所改變。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-4 增量法設(shè)計(jì)流程 GDEFH第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)

24、優(yōu)化技術(shù) 4. 分組法設(shè)計(jì)流程 分組法設(shè)計(jì)流程就是允許設(shè)計(jì)者為系統(tǒng)模塊布置建立一個(gè)Floorplan(如圖5-5),由不同的工程師分別設(shè)計(jì)各子模塊,最后由系統(tǒng)工程師完成集成設(shè)計(jì)。具體步驟如下: (1) 將設(shè)計(jì)系統(tǒng)分成模塊A、B和C。 (2) 通過例化模塊A、B和C建立一個(gè)頂層設(shè)計(jì)工程,此頂層設(shè)計(jì)中規(guī)定各模塊間的連接關(guān)系,并設(shè)定工程的時(shí)序要求和布局約束。如果設(shè)計(jì)者知道每一模塊的邏輯資源占用的大致情況,則可將每一模塊放置在各自定義的邏輯鎖定區(qū)域中。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) (3) 為每一模塊單獨(dú)設(shè)定一個(gè)工程,并且對(duì)每一工程使用系統(tǒng)級(jí)的設(shè)計(jì)中給定的設(shè)置(包

25、括優(yōu)化要求的設(shè)置)。 (4) 分別綜合、編譯適配和優(yōu)化這些模塊,并仿真測試這些模塊的性能,了解是否達(dá)到最初的要求。 (5) 如果必要,可以增加一些邏輯鎖定的約束條件,以便能在總的系統(tǒng)設(shè)計(jì)中保持這些模塊的優(yōu)化結(jié)果。 (6) 一旦完成對(duì)單個(gè)模塊的設(shè)計(jì),就將這些模塊連同設(shè)定的約束條件輸入頂層設(shè)計(jì)中。 (7) 最后由系統(tǒng)工程師完成對(duì)頂層設(shè)計(jì)進(jìn)行總體的編譯和仿真。 第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-5 分組設(shè)計(jì)流程 工程師1A系統(tǒng)工程師工程師2B工程師3C第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 5.1.6 系統(tǒng)性能強(qiáng)化策略 事實(shí)上,

26、邏輯鎖定技術(shù)也能直接改善系統(tǒng)的性能,即這些系統(tǒng)并不必按如前所述的由多個(gè)模塊組成。對(duì)于這種系統(tǒng),Quartus II的邏輯鎖定功能通過合理組織放置和固定系統(tǒng)電路中的基本元件,同樣能優(yōu)化系統(tǒng)的性能。利用邏輯鎖定技術(shù)實(shí)現(xiàn)這一目的的方法,就是所謂的系統(tǒng)性能強(qiáng)化策略。這一策略的有效性取決于系統(tǒng)特定的電路結(jié)構(gòu)特點(diǎn)。 具體策略如下(定義鎖定區(qū)域的原則):第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) (1) 如果電路結(jié)構(gòu)與設(shè)計(jì)層次十分相似,鎖定區(qū)域就可以根據(jù)設(shè)計(jì)層次來設(shè)定。通常,這些設(shè)計(jì)系統(tǒng)是由關(guān)系十分緊密的模塊構(gòu)成的,而且其中每一模塊的構(gòu)成邏輯是獨(dú)立的,模塊間的信號(hào)聯(lián)系是由良好的通信

27、界面實(shí)現(xiàn)的。 (2) 根據(jù)關(guān)鍵通道路徑來定義鎖定區(qū)域。一般地,這些通道路徑比較長,且跨越多個(gè)其它模塊。這要確保被鎖定的節(jié)點(diǎn)在關(guān)鍵路徑上,或者模塊包含關(guān)鍵路徑。這種設(shè)計(jì)策略能達(dá)到改善系統(tǒng)性能的目的。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) (3) 為了降低電路連接處的延時(shí)以及連線的密度,可以將具有高扇出和高扇入的電路結(jié)構(gòu)設(shè)定為鎖定區(qū)域。這往往是一種有效的方法。 由上可見,利用邏輯鎖定技術(shù)是可以選擇多種方式的??蓡为?dú)對(duì)各個(gè)模塊進(jìn)行優(yōu)化鎖定再集成,也可以將所有的模塊一開始就集成在頂層系統(tǒng),再根據(jù)結(jié)構(gòu)情況進(jìn)行鎖定優(yōu)化。第第5 5章章 LogicLockLogicLock優(yōu)化

28、技術(shù)優(yōu)化技術(shù) 在實(shí)際設(shè)計(jì)中,可以根據(jù)具體情況使用不同類型的鎖定技術(shù)和鎖定流程或是混合方法進(jìn)行系統(tǒng)適配和布局/布線的控制,達(dá)到優(yōu)化的目的。但一般最好將鎖定區(qū)域定義為自動(dòng)大小和浮動(dòng)位置,這樣,Quartus II就能在適配中為系統(tǒng)設(shè)計(jì),為鎖定區(qū)域找到最合適的高寬尺寸和定位。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 如果各模塊是在單獨(dú)鎖定、優(yōu)化后輸入頂層設(shè)計(jì)的,就可以按照上述的4個(gè)設(shè)計(jì)流程來進(jìn)行系統(tǒng)設(shè)計(jì)。需要注意的是,對(duì)于每一優(yōu)化的模塊而設(shè)定的邏輯鎖定的各項(xiàng)設(shè)置包含兩個(gè)重要內(nèi)容:一是邏輯鎖定區(qū)域的信息;二是“背注”后的所謂原子級(jí)網(wǎng)表的信息。第第5 5章章 LogicLoc

29、kLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 另一種利用邏輯鎖定技術(shù)進(jìn)行優(yōu)化設(shè)計(jì)的方法,就是以上提到的不經(jīng)過對(duì)底層單個(gè)模塊進(jìn)行單獨(dú)鎖定優(yōu)化,而是直接從頂層系統(tǒng)出發(fā),根據(jù)具體結(jié)構(gòu)情況確定鎖定部分后進(jìn)行優(yōu)化。這種方法可使Quartus II將某些特定的節(jié)點(diǎn)放在鎖定區(qū)域中,并可在器件中定義為浮動(dòng)而允許Quartus II在適配中可移動(dòng)。利用這種方法,設(shè)計(jì)者可以將來自不同模塊的電路元素(節(jié)點(diǎn)、元件、連線)放在鎖定區(qū)域中,最后由Quartus II對(duì)整個(gè)系統(tǒng)進(jìn)行優(yōu)化設(shè)計(jì)。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 熟悉Max+plusII的讀者會(huì)發(fā)現(xiàn)LogicLock區(qū)域十分類似于Ma

30、x+plusII中的“打包”(Cliques)。因?yàn)榇虬试SLCs(邏輯宏單元)組合在一起應(yīng)用。設(shè)定鎖定區(qū)域?yàn)椤白詣?dòng)”時(shí),就類似于Max+plusII中稱為“最佳打包”(Best Clique)的功能設(shè)置。而標(biāo)志著對(duì)“行”與“列”的鎖定區(qū)域的固定大小則類似于行或列的打包。此外,LogicLock區(qū)域也類似于“定制區(qū)域”的概念。因?yàn)橐粋€(gè)可定義的區(qū)域可以被設(shè)定為實(shí)體和節(jié)點(diǎn)。因此,如果LogicLock區(qū)域的位置是鎖定的,則這個(gè)區(qū)域便類似于一個(gè)定制區(qū)域(Custom regin)。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 5.1.7 鎖定區(qū)域的移植與再利用 邏輯鎖定技術(shù)使

31、得設(shè)計(jì)模塊的移植和有效再利用變得十分方便。這是因?yàn)橐驯粌?yōu)化和布線/布局鎖定的模塊能很容易地被其它的設(shè)計(jì)工程調(diào)用,并能保持原有的性能。對(duì)于那些比較常用的模塊,由于已經(jīng)作了鎖定和優(yōu)化,可以組織一個(gè)模塊庫,用于其它更大系統(tǒng)的設(shè)計(jì),提高系統(tǒng)設(shè)計(jì)的效率和性能。這是由于這些庫中包含針對(duì)這些模塊的原子級(jí)網(wǎng)表文件、LogicLock的設(shè)置信息,以及詳細(xì)的使用報(bào)告(包括模塊的性能指標(biāo)和邏輯資源的占用情況等)。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 需要注意的是,雖然這些優(yōu)化模塊在與其誕生的目標(biāo)器件同種系列的器件中都能獲得好的工作特性,但只有將其用在最初設(shè)計(jì)的同型號(hào)器件中才能獲得最好

32、的性能。這是因?yàn)椋盗卸煌吞?hào)的目標(biāo)器件的結(jié)構(gòu)特點(diǎn)畢竟與原來的器件的結(jié)構(gòu)是有一定差別的。因此,要實(shí)現(xiàn)完全相同的布線/布局是不可能的。不過如果在設(shè)計(jì)中選用的目標(biāo)器件屬于同系列器件,若設(shè)定這些加入的模塊為浮動(dòng)狀態(tài),則能獲得相似的性能指標(biāo)。這種方式比較適用于一個(gè)較大的系統(tǒng)設(shè)計(jì)在同系列目標(biāo)器件中的情況。即當(dāng)用這種目標(biāo)器件無法獲得該模塊與在原器件中的完全相同的布線/布局且還有許多模塊有待例化連接的情況下,設(shè)定這些模塊為浮動(dòng)狀態(tài)較好。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 5.2 未用未用LogicLock的數(shù)字濾波器設(shè)計(jì)的數(shù)字濾波器設(shè)計(jì) 5.2.1 數(shù)字濾波器結(jié)構(gòu)及其V

33、HDL描述 圖5-6是一個(gè)16階濾波器的電路框圖,它由4個(gè)4階濾波器組成,即由4個(gè)4階濾波器例化而成,其RTL電路圖如圖5-8所示。其中每一個(gè)4階濾波器的結(jié)構(gòu)如圖5-7所示,其RTL電路圖如圖5-9所示。它們的源代碼是例5-1、例5-2、例5-3和例5-4,其中例5-4是濾波器頂層設(shè)計(jì),例5-3是4階濾波器模塊的頂層設(shè)計(jì)。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-6 16階濾波器頂層結(jié)構(gòu) 第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-7 4階濾波器 第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-8 1

34、6階濾波器RTL電路圖 第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-9 4階濾波器RTL電路圖第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 【例5-1】16位加法器源代碼。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity adder isport(clock: instd_logic; r1x: instd_logic_vector(15 downto 0); r2x: instd_logic_vector(15 downto 0

35、); r3x: instd_logic_vector(15 downto 0); r4x: instd_logic_vector(15 downto 0); y: outstd_logic_vector(15 downto 0) );第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) end;architecture rtl of adder issignal tmp:std_logic_vector(15 downto 0);beginprocess(clock)beginif rising_edge(clock) thentmp = (r1x + r2x) + (r3x

36、+ r4x);end if;end process;y = tmp;end;第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 【例5-2】8位乘法器源代碼。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity mult is port (clock: instd_logic; a_in : instd_logic_vector( 7 downto 0); b_in : instd_logic_vector( 7 downto 0); a_out : outstd_log

37、ic_vector( 7 downto 0);第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) b_out : outstd_logic_vector( 7 downto 0); r: outstd_logic_vector(15 downto 0) );end;architecture rtl of mult issignal tmp_a, tmp_b: std_logic_vector(7 downto 0);beginprocess(clock)beginif rising_edge(clock) then第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)

38、化技術(shù) tmp_a = a_in; tmp_b = b_in;r = tmp_a * tmp_b;end if;end process;a_out = tmp_a;b_out = tmp_b;end;第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 【例5-3】4階濾波器頂層設(shè)計(jì)代碼。library ieee;use ieee.std_logic_1164.all;entity filter isport ( clock: instd_logic; din0 x: instd_logic_vector( 7 downto 0); coef0 x: instd_logic_v

39、ector( 7 downto 0); din4x: outstd_logic_vector( 7 downto 0);第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) coef4x: outstd_logic_vector( 7 downto 0); result: outstd_logic_vector(15 downto 0) );end;architecture rtl of filter iscomponent mult port (clock: instd_logic; a_in: instd_logic_vector( 7 downto 0); b_in: i

40、nstd_logic_vector( 7 downto 0); a_out: outstd_logic_vector( 7 downto 0); b_out: outstd_logic_vector( 7 downto 0); r: outstd_logic_vector(15 downto 0) );第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) end component;component adder port(clock: instd_logic; r1x: instd_logic_vector(15 downto 0); r2x: instd_logic_vec

41、tor(15 downto 0); r3x: instd_logic_vector(15 downto 0); r4x: instd_logic_vector(15 downto 0); y: outstd_logic_vector(15 downto 0) ); 第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) end component;signal coef1x,coef2x,coef3x,din1x,din2x,din3x:std_logic_vector(7 downto 0);signal r0 x,r1x,r2x,r3x: std_logic_vector(1

42、5 downto 0);begin第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) mult_i0:mult port map(clock,din0 x,coef0 x,din1x,coef1x,r0 x);mult_i1:mult port map(clock,din1x,coef1x,din2x,coef2x,r1x);mult_i2:mult port map(clock,din2x,coef2x,din3x,coef3x,r2x);mult_i3:mult port map(clock,din3x,coef3x,din4x,coef4x,r3x);adder_i:a

43、dder port map(clock,r0 x,r1x,r2x,r3x,result);end;第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 【例5-4】16階濾波器頂層設(shè)計(jì)代碼。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity largefilter isport ( clock: instd_logic; din0 x: instd_logic_vector( 7 downto 0); coef0 x: instd_logic_vector( 7 down

44、to 0); result: outstd_logic_vector(15 downto 0) );第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) end;architecture str of largefilter iscomponent filterport (clock: instd_logic; din0 x: instd_logic_vector( 7 downto 0); coef0 x: instd_logic_vector( 7 downto 0); din4x: outstd_logic_vector( 7 downto 0); coef4x: out

45、std_logic_vector( 7 downto 0); result: outstd_logic_vector(15 downto 0) );第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) end component;signal coef4x,din4x,coef8x,din8x,coef12x,din12x,coef16x,din16x:std_logic_vector(7 downto 0);signal r0 x,r4x,r8x,r12x :std_logic_vector(15 downto 0);beginfilter_i0:filter port ma

46、p(clock,din0 x,coef0 x,din4x,coef4x,r0 x);filter_i1:filter port map(clock,din4x,coef4x,din8x,coef8x,r4x);filter_i2:filter port map(clock,din8x,coef8x,din12x,coef12x,r8x);第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) filter_i3:filterport map(clock,din12x,coef12x,din16x,coef16x,r12x);process(clock)beginif rising

47、_edge(clock) thenresult = r0 x + r4x + r8x + r12x;end if;end process;end;第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 5.2.2 濾波器設(shè)計(jì)和結(jié)果觀察 濾波器設(shè)計(jì)流程如下: 1. 在Quartus II中輸入源文件并建立工程 根據(jù)第2章介紹的方法,首先對(duì)例5-1、5-2、5-3和5-4進(jìn)行編輯輸入,然后分別存在D:largefilter文件夾中,并設(shè)largefilter.vhd為工程。目標(biāo)器件選為EP20K200EQC240-3。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技

48、術(shù) 2. 設(shè)定時(shí)鐘約束并編譯 在Assignments菜單中選“Settings”,然后在Settings窗中的Timing Settings項(xiàng)中選中“Clocks”,并在“Default required for”欄鍵入“50”,選擇“MHz”,如圖5-10所示。最后進(jìn)行編譯,即啟動(dòng)Processing?Start Compilation。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-10 設(shè)定設(shè)計(jì)要求最高時(shí)鐘頻率第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 3. 了解編譯結(jié)果 編譯結(jié)束后,可在編譯處理信息欄處看到內(nèi)部寄存器間最高時(shí)鐘頻率

49、fmax=48.5 MHz,不能達(dá)到原設(shè)定的50 MHz的要求(圖5-11)。為進(jìn)一步了解本項(xiàng)設(shè)計(jì)的結(jié)果,打開菜單Processing中的“Compilatin Report”窗,首先點(diǎn)擊左欄Timing Analyses左側(cè)的“+”號(hào),并點(diǎn)擊“fmax”項(xiàng),于是將顯示如圖5-12所示的信息,這些信息表明未能達(dá)到50 MHz的要求。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-11 編譯處理信息窗第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-12 最高時(shí)鐘頻率時(shí)序分析窗第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技

50、術(shù) 4. 觀察Floorplan 最后點(diǎn)擊編譯報(bào)告“Compilatin Report”欄的“Floorplan View”,以便了解適配器在FPGA中的版圖的資源利用情況(圖5-13)。由Floorplan View中可見,本項(xiàng)設(shè)計(jì)所用的邏輯宏單元在整個(gè)Floorplan中都無序地散布著,這顯然是沒有進(jìn)行邏輯鎖定的結(jié)果,這種布局(Placement)方案常常不利于資源和時(shí)鐘速度的優(yōu)化。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-13 Floorplan中的邏輯資源應(yīng)用情況 第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 5.3 應(yīng)用邏輯鎖

51、定技術(shù)應(yīng)用邏輯鎖定技術(shù) 在此,以上面給出的數(shù)字濾波器的結(jié)構(gòu)方案為例,詳細(xì)說明Quartus II的邏輯鎖定技術(shù)的使用方法。如上所述,邏輯鎖定形成適配布局約束,從而可以分別優(yōu)化并固定頂層設(shè)計(jì)中各層次中的模塊,以便在后續(xù)的設(shè)計(jì)編譯中,或在更高層次的編譯調(diào)用中,使得設(shè)計(jì)項(xiàng)目在適配中保持原模塊的布局結(jié)構(gòu)以及相應(yīng)的硬件特性。在利用邏輯鎖定技術(shù)的過程中,一旦將設(shè)計(jì)模塊以某種方式進(jìn)行邏輯鎖定后,即可以Verilog Quartus Mapping文件形式(*.vqm)將其優(yōu)化綜合的結(jié)果存盤,以便在必要時(shí)輸出給更大(更頂層)的設(shè)計(jì)調(diào)用。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 5.

52、3.1 底層模塊設(shè)計(jì)及其VQM文件保存 以下將給出頂層設(shè)計(jì)Largefilter的底層模塊filter的邏輯鎖定設(shè)計(jì)流程,以及以VQM文件方式存盤的方法。最后可以將此VQM文件輸入到更頂層的設(shè)計(jì)Largefilter工程中進(jìn)行總體優(yōu)化設(shè)計(jì)。VQM文件屬于原子級(jí)網(wǎng)表文件。 1. 建立待優(yōu)化模塊filter為工程 由上節(jié)可以知道,filter是大濾波器largefilter的底層基本模塊,對(duì)這個(gè)模塊的鎖定、優(yōu)化有利于對(duì)整個(gè)設(shè)計(jì)系統(tǒng)的優(yōu)化。為此,應(yīng)該首先解決其邏輯鎖定方面的適配。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 為了設(shè)定filter模塊為工程,首先將源程序例5-1

53、、例5-2、例5-3存入一單獨(dú)文件夾中,如D: filter, 然后打開Quartus II,按照第2章介紹的方法設(shè)定D:filter中的filter.vhd為工程,并選EP20K200EQC240-3為目標(biāo)器件,最后的工程設(shè)置信息如圖5-14所示。 2. 設(shè)置默認(rèn)需求的最高時(shí)鐘頻率 在編譯前,需對(duì)filter工程作一些設(shè)置。這里首先根據(jù)上一節(jié)介紹的方法設(shè)置默認(rèn)需求的最高時(shí)鐘頻率,即在如圖5-15所示的窗口選擇Timing Settings項(xiàng)下的“Clocks”,然后在Default required frequency欄鍵入“50”,并選擇“MHz”。第第5 5章章 LogicLockLog

54、icLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-14 filter工程設(shè)置信息 第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-15 設(shè)定設(shè)計(jì)要求最高的時(shí)鐘頻率 第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 3. 設(shè)置Settings對(duì)話框 在Assignments菜單中選擇“Settings,在Settings 對(duì)話框的Category欄中選擇Compiler Settings項(xiàng)目下的“Fitting”,顯示出的“Fitting”框如圖5-16所示。在Settings 的“Timing-driven compilation”欄,確認(rèn)已選定“Opitim

55、ize timing”。為了在優(yōu)化子模塊時(shí)將寄存器放置于I/O單元中,需關(guān)閉“Optimize I/O cell register placement for timing”項(xiàng)。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-16 適配設(shè)置窗 第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 4. 設(shè)置VQM輸出文件 在圖5-16中同一Compiler Settings項(xiàng)下,選“Synthesis”,然后在Synthesis 框中打開“Save a node-level netlist into a persistene source file”

56、(如圖5-17所示),在“File name”欄中填入filter優(yōu)化設(shè)計(jì)后輸出的VQM文件名,并指定此文件在產(chǎn)生后存入頂層文件largefilter.vhd所在的文件夾中,即輸入:d: largefilter fiter.vqm,以便輸出給頂層文件的優(yōu)化設(shè)計(jì)(假設(shè)d: largefilter為頂層設(shè)計(jì)所在目錄,且其中含有頂層設(shè)計(jì)文件largefilter .vhd ),最后點(diǎn)擊“OK”,關(guān)閉Settings 框。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-17 設(shè)置VQM文件存儲(chǔ)路徑 第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 5.

57、對(duì)設(shè)計(jì)進(jìn)行分析與綜合 現(xiàn)在開始對(duì)設(shè)計(jì)文件進(jìn)行分析、排錯(cuò)和綜合。在Processing菜單中選擇Start?Start Analysis & Synthesis,進(jìn)入邏輯綜合。注意此綜合是在未進(jìn)行邏輯鎖定的情況下進(jìn)行的。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 5.3.2 確定邏輯鎖定區(qū)域及其特性 被邏輯鎖定的區(qū)域是一種布局/布線的約束,設(shè)計(jì)者可以在大規(guī)模的FPGA中的物理資源區(qū)域中任意定義一矩形區(qū)域,方法是在Timing Closure floorplan或current Assignments floorplan中,或甚至在已指定的邏輯鎖定區(qū)域中設(shè)定一個(gè)邏

58、輯鎖定區(qū)。設(shè)計(jì)者可以通過上述方式將設(shè)計(jì)模塊的端口節(jié)點(diǎn)或設(shè)計(jì)實(shí)體(設(shè)計(jì)模塊)指定在它設(shè)定的邏輯鎖定區(qū),使編譯器在綜合與適配過程中將指定的節(jié)點(diǎn)或設(shè)計(jì)實(shí)體放入邏輯鎖定區(qū)域中。 第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 設(shè)定后,可以在floorplan中看到邏輯鎖定的確切位置。如5.1節(jié)所述,所有的邏輯鎖定區(qū)域都由兩個(gè)參數(shù)定義,即大小和狀態(tài)。表5-2給出了三種不同類型的邏輯鎖定區(qū)域。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 表5-2 不同類型的邏輯鎖定區(qū)域 邏輯鎖定區(qū)域類型說 明區(qū)域大小固定,區(qū)域所在位置也固定,即鎖定狀態(tài)鎖定區(qū)域有確定的高、寬,

59、區(qū)域位置定義于芯片物理資源中的確定位置處區(qū)域大小固定,區(qū)域所在位置不固定,即浮動(dòng)狀態(tài)鎖定區(qū)域有確定的高、寬,該區(qū)域的位置由QuartusII在編譯中作優(yōu)化選擇區(qū)域大小不固定,即大小自動(dòng),區(qū)域所在位置不固定,即浮動(dòng)狀態(tài)鎖定區(qū)域的大小以及區(qū)域所在的位置都由QuartusII在編譯中自動(dòng)作優(yōu)化選擇第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 1. 定義邏輯鎖定主區(qū)域 定義邏輯鎖定主區(qū)域(母區(qū)域)的步驟如下: 1) 打開邏輯鎖定區(qū)域定義窗 在Assignments菜單中打開“Timing Closure Floorplan”窗,以便及時(shí)觀察被鎖定區(qū)域的大小和位置。然 后 在 同

60、 一 菜 單 下 打 開 邏 輯 鎖 定 區(qū) 域 定 義 窗“Logiclock Regions Window”(如圖5-18)。第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 圖5-18 邏輯鎖定區(qū)域定義窗 第第5 5章章 LogicLockLogicLock優(yōu)化技術(shù)優(yōu)化技術(shù) 2) 建立一個(gè)邏輯鎖定主區(qū)域 為了建立一個(gè)邏輯鎖定主區(qū)域,雙擊圖5-18中的new,便產(chǎn)生一個(gè)可編輯框。在此區(qū)域鍵入待鎖定的實(shí)體名“filter”,作為對(duì)此區(qū)域的命名,然后按回車鍵“Enter”,于是一個(gè)含有默認(rèn)大小和狀態(tài)的邏輯鎖定區(qū)域就出現(xiàn)在Timing Closure Floorplan中(見圖5-1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論