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