FPGA設(shè)計(jì)開(kāi)發(fā)軟件Quartus II的使用技巧之: 典型實(shí)例-LogicLock功能演示
5.11典型實(shí)例10:LogicLock功能演示
5.11.1實(shí)例的內(nèi)容及目標(biāo)
1.實(shí)例的主要內(nèi)容
本節(jié)旨在通過(guò)Quartus軟件自帶的工程實(shí)例——“lockmult”來(lái)熟悉AlteraQuartusII邏輯鎖定功能LogicLock的使用方法。在本節(jié)中,將主要講解下面知識(shí)點(diǎn)。
·QuartusII約束設(shè)計(jì)。
·QuartusII時(shí)序分析。
·QuartusII邏輯鎖定。
通過(guò)這些知識(shí)點(diǎn),按照下面提供的訓(xùn)練流程,讀者可以迅速地掌握使用QuartusII軟件邏輯鎖定功能的使用方法。
2.實(shí)例目標(biāo)
通過(guò)詳細(xì)的流程講解,讀者應(yīng)達(dá)到下面的目標(biāo)。
·熟悉QuartusII時(shí)序分析報(bào)告的查看。
·熟悉SignalTapII邏輯鎖定的方法。
5.11.2實(shí)例詳解
本實(shí)例將使用圖解的方式將整個(gè)流程一步一步展現(xiàn)給讀者,使讀者能夠輕松掌握開(kāi)發(fā)的流程。
5.11.2.1打開(kāi)工程文件
本實(shí)例以流水線乘法器為例,介紹邏輯鎖定技術(shù)及相關(guān)的優(yōu)化控制的基本用法。
打開(kāi)位于路徑C:alteraqdesigns50logiclocklockmult中的工程lockmult.qpf。這就是乘法器實(shí)例的頂層設(shè)計(jì),其原理如圖5.72所示,圖中的4個(gè)元件pipmult是相同的。
圖5.72乘法器頂層原理圖
pipemult的電路原理圖如圖5.73所示。它是由一個(gè)8位流水線乘法器和一個(gè)16位雙口RAM構(gòu)成。
圖5.73pipemult內(nèi)部電路原理圖
選擇目標(biāo)器件為EP20K100EQC208-1。
5.11.2.2設(shè)置時(shí)序約束
在編譯前設(shè)定時(shí)鐘約束。在“Assignments”菜單中選擇“Settings”選項(xiàng)。然后在“Settings”窗口的“Category”欄選擇“TimingRequirementsOptions”頁(yè)面。
為“ClockSettings”下的“Defaultrequiredfmax”輸入150并選擇MHz,如圖5.74所示,單擊“OK”按鈕,關(guān)閉窗口。
編譯結(jié)束后,可在編譯信息欄中看到最高時(shí)鐘頻率不能達(dá)到原設(shè)定的150MHz的要求(如圖5.75所示)。打開(kāi)“Processing”菜單中的“Complicationreport”窗口,單擊“TimingAnalyzer”可以在ClockSetup中看到哪些信號(hào)頻率達(dá)不到要求。
5.11.2.3使用LogicLock功能進(jìn)行優(yōu)化設(shè)計(jì)
1.建立底層模塊工程
新建底層模塊工程,在本實(shí)例中已經(jīng)建立好底層模塊工程,打開(kāi)“典型實(shí)例10”目錄下的lockmult.qpf工程,如圖5.76所示,可以看到乘法器的底層模塊。
圖5.74設(shè)計(jì)要求最高時(shí)鐘頻率
圖5.75編譯結(jié)果信息提示
圖5.76底層模塊
指定設(shè)備:EP20K100EQC208-1,編譯工程。
2.打開(kāi)LogicLock窗口
使用快捷鍵“Alt+L”或者選擇“Assignment”/“LogicLockRegionsWindow”,打開(kāi)LogicLock窗口,如圖5.77所示。
圖5.77LogicLock窗口
3.新建LogicLock區(qū)域
右鍵選擇“Root_region”項(xiàng)并選擇“new”,新建區(qū)域并將名稱取為lock_mult,如圖5.78所示。
圖5.78新建LogicLock區(qū)域
4.加入工程到LogicLock區(qū)域
右鍵選擇新建的“lock_mult”項(xiàng),打開(kāi)屬性窗口。將左側(cè)的工程層次欄中的pipemult模塊拖入,拖入后會(huì)出現(xiàn)pipemult的標(biāo)志,如圖5.79所示。
圖5.79拖入pipemult模塊
5.編譯工程
對(duì)包含底層模塊的LogicLock工程進(jìn)行第一次編譯。
6.反標(biāo)
回到主界面打開(kāi)剛才的lock_mult屬性窗口。單擊“Back-AnnotateContents”按鈕。反標(biāo)約束信息,選擇反標(biāo)輸出路徑,如圖5.80所示。
成功反標(biāo)后會(huì)在對(duì)話框中出現(xiàn)如圖5.81所示信息。
圖5.80輸出反標(biāo)信息 圖5.81輸出反標(biāo)信息結(jié)果
7.導(dǎo)出assignment信息
選擇“Assignment”/“ExportAssignment”選項(xiàng),如圖5.82所示,導(dǎo)出約束信息。
8.打開(kāi)乘法器頂層設(shè)計(jì)文件工程topmult
使用QuartasII軟件打開(kāi)另一個(gè)工程——乘法器工程topmult
9.替換底層模塊設(shè)計(jì)文件
選擇“project”/“Add/RemoveFilesinProject”選項(xiàng),如圖5.83所示。
圖5.82輸出Assignment信息 圖5.83添加刪除文件菜單
將原來(lái)的底層模塊文件刪除,使用剛創(chuàng)建的反標(biāo)信息代替,如圖5.84所示。
10.指定底層模塊Assignment文件
回到主界面,單擊左側(cè)圖標(biāo),展開(kāi)topmult,可以看到如圖5.85所示工程層次目錄。
圖5.84添加反標(biāo)文件.vqm 圖5.85工程層次目錄
右鍵選擇底層模塊“pipemult:inst1”,選擇“Locate”/“LocateinAssignmentEditor”選項(xiàng),如圖5.86所示。
選擇“ImportFileName”,如圖5.87。
圖5.86Locate菜單 圖5.87importfile窗口
選擇pipemult.qsf文件,也就是剛才所選擇輸出設(shè)置信息,如圖5.88所示。
依次對(duì)每一個(gè)底層模塊重復(fù)這個(gè)步驟。
11.導(dǎo)入Assignment文件
選擇“Assignment”/“ImportAssignment”,輸入剛才輸出的設(shè)置文件。
12.再次編譯工程
編譯整體工程,可以發(fā)現(xiàn)時(shí)鐘頻率符合要求,如圖5.89所示。
圖5.89時(shí)序分析報(bào)告
評(píng)論