FPGA設計開發軟件Quartus II的使用技巧之: 典型實例-LogicLock功能演示
5.11典型實例10:LogicLock功能演示
5.11.1實例的內容及目標
1.實例的主要內容
本節旨在通過Quartus軟件自帶的工程實例——“lockmult”來熟悉AlteraQuartusII邏輯鎖定功能LogicLock的使用方法。在本節中,將主要講解下面知識點。
·QuartusII約束設計。
·QuartusII時序分析。
·QuartusII邏輯鎖定。
通過這些知識點,按照下面提供的訓練流程,讀者可以迅速地掌握使用QuartusII軟件邏輯鎖定功能的使用方法。
2.實例目標
通過詳細的流程講解,讀者應達到下面的目標。
·熟悉QuartusII時序分析報告的查看。
·熟悉SignalTapII邏輯鎖定的方法。
5.11.2實例詳解
本實例將使用圖解的方式將整個流程一步一步展現給讀者,使讀者能夠輕松掌握開發的流程。
5.11.2.1打開工程文件
本實例以流水線乘法器為例,介紹邏輯鎖定技術及相關的優化控制的基本用法。
打開位于路徑C:alteraqdesigns50logiclocklockmult中的工程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中看到哪些信號頻率達不到要求。
5.11.2.3使用LogicLock功能進行優化設計
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時序分析報告
評論