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