Verilog-HDL數(shù)字集成電路設(shè)計原理與應(yīng)用-作者-蔡覺平-第7章_第1頁
Verilog-HDL數(shù)字集成電路設(shè)計原理與應(yīng)用-作者-蔡覺平-第7章_第2頁
Verilog-HDL數(shù)字集成電路設(shè)計原理與應(yīng)用-作者-蔡覺平-第7章_第3頁
Verilog-HDL數(shù)字集成電路設(shè)計原理與應(yīng)用-作者-蔡覺平-第7章_第4頁
Verilog-HDL數(shù)字集成電路設(shè)計原理與應(yīng)用-作者-蔡覺平-第7章_第5頁
已閱讀5頁,還剩160頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1第7章 仿真測試工具和綜合工具 7.1 數(shù)字集成電路設(shè)計流程簡介 7.2 測試和仿真工具7.3 綜合工具7.4 測試和綜合舉例 本章小結(jié)2在線教務(wù)輔導(dǎo)網(wǎng):在線教務(wù)輔導(dǎo)網(wǎng):http:/教材其余課件及動畫素材請查閱在線教務(wù)輔導(dǎo)網(wǎng)教材其余課件及動畫素材請查閱在線教務(wù)輔導(dǎo)網(wǎng)QQ:349134187 或者直接輸入下面地址:或者直接輸入下面地址:http:/3在EDA技術(shù)高度發(fā)達(dá)的今天,沒有一個設(shè)計工程師隊伍能夠用人工方法有效、全面、正確地設(shè)計和管理含有幾百萬個門的現(xiàn)代集成電路。利用EDA工具,工程師可以從概念、算法、協(xié)議等開始設(shè)計電子系統(tǒng),7.1 數(shù)字集成電路設(shè)計流程簡介數(shù)字集成電路設(shè)計流程簡介4大量

2、工作可以通過計算機(jī)完成,并可以將電子產(chǎn)品從系統(tǒng)規(guī)劃、電路設(shè)計、性能分析到封裝、版圖的整個過程在計算機(jī)上自動完成。這樣做有利于縮短設(shè)計周期、提高設(shè)計正確性、降低設(shè)計成本、保證產(chǎn)品性能,尤其是可增加一次投片的成功率,因此這種方法在大規(guī)模集成電路設(shè)計中已經(jīng)普遍被采用。利用EDA工具進(jìn)行集成電路設(shè)計需要遵循一定的設(shè)計流程,這樣才能保證設(shè)計任務(wù)高效率地完成。數(shù)字集成電路設(shè)計方法的典型流程如圖7.1-1所示。下面分別介紹各個設(shè)計階段的主要任務(wù)。5圖7.1-1 集成電路設(shè)計的典型流程67.1.1 設(shè)計規(guī)范設(shè)計規(guī)范設(shè)計流程從已寫出的設(shè)計規(guī)范開始。設(shè)計規(guī)范文件是一個包含功能、定時、硅片面積、功耗、可測性、故障覆

3、蓋率以及其它的設(shè)計準(zhǔn)則的詳細(xì)說明書。設(shè)計規(guī)范描述了項目完成的功能,確定了設(shè)計的總體方案,以平衡各個方面的因素,對整個項目有一個初步的規(guī)劃。在系統(tǒng)設(shè)計階段,根據(jù)對設(shè)計面積、功耗、I/O和IP使用等情況的估算,確定所使用的芯片工藝和設(shè)計工具。有了設(shè)計規(guī)范,就可以進(jìn)行設(shè)計劃分。77.1.2 設(shè)計劃分設(shè)計劃分設(shè)計劃分過程就是把一個復(fù)雜設(shè)計逐漸劃分成較小而且較為簡單的功能單元。這樣一個過程通常被稱為自頂向下的設(shè)計方法,或者是分層設(shè)計法。HDL可以為需要進(jìn)行劃分、綜合和驗證的大型復(fù)雜系統(tǒng)提供一個通用框架,它支持具有混合抽象級別的自頂向下設(shè)計,可以將大型設(shè)計中的各部分鏈接在一起,來進(jìn)行整個設(shè)計的功能和性能驗

4、證。87.1.3 設(shè)計輸入設(shè)計輸入設(shè)計輸入是指將設(shè)計劃分階段定義好的模塊借助一定的設(shè)計輸入手段轉(zhuǎn)換為EDA工具能接受的信息格式。目前主要的設(shè)計輸入手段有高級硬件描述語言HDL(Verilog HDL/VHDL)和原理圖等。HDL語言支持不同層次的描述,不依賴于各個廠家的工藝器件,便于修改。邏輯輸入工具的功能是把邏輯圖、狀態(tài)機(jī)、真值表輸入到計算機(jī)中,并進(jìn)行語法、可綜合性檢查等。目前主流工具有Cadence公司的Composer、Synopsys公司的Leda以及UltraEdit、Vim等第三方編輯工具。9Leda是可編程的語法和設(shè)計規(guī)范檢查工具,它能夠?qū)θ酒腣HDL和Verilog HDL

5、描述或者對兩者的混合描述進(jìn)行檢查,加速SoC的設(shè)計流程。Leda預(yù)先將IEEE可綜合規(guī)范、可仿真規(guī)范、可測性規(guī)范和設(shè)計復(fù)用規(guī)范進(jìn)行了集成,以提高設(shè)計者分析代碼的能力。UltraEdit是一款功能強(qiáng)大的文本編輯器,可以編輯文字以及多種格式的代碼,內(nèi)建英文單詞檢查、C+及VB 指令突顯,可同時編輯多個文件,而且即使開啟很大的文件,速度也不會慢。它是一個使用廣泛的編輯器,但它并不直接支持HDL。10讀者可以通過官方網(wǎng)站的鏈接下載Verilog HDL/VHDL的語法文件,并把下載的文件復(fù)制到WordFile.txt文件中(在UltraEdit的安裝目錄下),一般加在最后。這樣就可以使用UltraEd

6、it編輯HDL源代碼了。117.1.4 仿真仿真設(shè)計輸入后,經(jīng)HDL編譯器檢查沒有語法錯誤后,就可以對設(shè)計進(jìn)行驗證了。這里的驗證是指通過仿真軟件驗證其功能是否符合制定的設(shè)計規(guī)范,這一階段的驗證常被稱為功能仿真或行為仿真。布局布線后,提取有關(guān)的器件延遲、連線延遲等時序參數(shù)(這些信息在反標(biāo)注文件中)。在此基礎(chǔ)上進(jìn)行的仿真稱為后仿真,也稱時序仿真,它是接近真實器件運(yùn)行的仿真。12仿真的結(jié)果取決于設(shè)計描述是否準(zhǔn)確反映了設(shè)計的物理實現(xiàn)。仿真器不是一個靜態(tài)工具,需要Stimulus(激勵)和Response(輸出)。Stimulus由模擬設(shè)計工作環(huán)境的Testbench 產(chǎn)生,Response為仿真的輸出

7、,由設(shè)計者確定輸出的有效性。目前,仿真工具比較多,其中Cadence公司的NC-Verilog HDL、Synopsys公司的VCS和Mentor公司的ModelSim都是業(yè)界廣泛使用的仿真工具。137.1.5 綜合綜合利用綜合器對HDL代碼進(jìn)行綜合優(yōu)化處理,生成門級描述的網(wǎng)表文件,這是將高層次描述轉(zhuǎn)化為硬件電路的關(guān)鍵步驟。綜合優(yōu)化是針對ASIC芯片供應(yīng)商的某一產(chǎn)品系列進(jìn)行的,所以綜合的過程要在相應(yīng)的廠家綜合庫支持下才能完成。綜合實際上是根據(jù)設(shè)計功能和實現(xiàn)該設(shè)計的約束條件(如面積、速度、功耗和成本等),將設(shè)計描述(如HDL文件、原理圖等)變換成滿足要求的電路設(shè)計方案,該方案必須同時滿足預(yù)期的功

8、能和約束條件。14對于綜合來說,滿足要求的方案可能有多個,綜合器將產(chǎn)生一個最優(yōu)的或接近最優(yōu)的結(jié)果。因此,綜合的過程也就是設(shè)計目標(biāo)的優(yōu)化過程,最后獲得的電路結(jié)構(gòu)與綜合器的性能有關(guān)。這個階段產(chǎn)生目標(biāo)FPGA的標(biāo)準(zhǔn)單元網(wǎng)表和數(shù)據(jù)庫,供布局布線使用。網(wǎng)表中包含了目標(biāo)器件中的邏輯元件和互連信息。在傳統(tǒng)的IC設(shè)計流程中,前端綜合或時序分析時沒有精確的線和CELL延遲信息,這樣就容易造成布局前后的時序不收斂。隨著工藝的進(jìn)步,線延遲占主導(dǎo)地位,時序收斂問題越來越嚴(yán)重。根本的解決方法是將前后端的設(shè)計流程整合起來。15物理綜合就針對的是這種情況。物理綜合解決0.18 m以下工藝技術(shù)的IC設(shè)計環(huán)境,將綜合、布局、布

9、線集成于一體,讓RTL設(shè)計者可以在最短的時間內(nèi)得到性能最高的電路。通過集成綜合算法、布局算法和布線算法,在RTL到GDS-的設(shè)計流程中,提供可以確保IC設(shè)計的性能預(yù)估性和時序收斂性。目前常用的邏輯綜合工具有Synopsys公司的Synplify和Design Compiler、Physical Compiler,Cadence公司的RTL Compiler等。167.1.6 適配布線適配布線適配布線就是按照特定的工藝要求和約束條件利用適配器進(jìn)行布局布線,最后生成版圖。對于芯片設(shè)計來講,這個過程通常分為3步。 布局規(guī)劃:主要是標(biāo)準(zhǔn)單元、I/O Pad和宏單元的布局。I/O Pad預(yù)先給出了位置,

10、而宏單元則根據(jù)時序要求進(jìn)行擺放,標(biāo)準(zhǔn)單元則給出了一定的區(qū)域由工具自動擺放。布局規(guī)劃后,芯片的大小、Core的面積、Row的形式、電源及地線的Ring和Strip就都確定下來了。 時鐘樹生成(lock Tree Synthesis,CTS)。 布局布線。17適配完成后,會產(chǎn)生多項設(shè)計結(jié)果。 適配報告:包括芯片內(nèi)部資源的利用情況、設(shè)計的布爾方程描述情況等。 適配后的仿真模型。 器件編程文件:根據(jù)適配后的仿真模型,可以進(jìn)行適配后的時序仿真。因為此時已經(jīng)得到器件的實際硬件特性(如時延特性等),所以此仿真結(jié)果能比較精確地預(yù)期未來芯片的實際性能。在FPGA設(shè)計中各個廠家都提供了相應(yīng)的布局布線工具,例如Al

11、tera公司的Quartus ,Xilinx公司的ISE等。在芯片設(shè)計領(lǐng)域,有Cadence公司提供的SoC Encounter和Synopsys公司的Astro等布局布線工具。187.1.7 時序分析時序分析時序分析的目的是檢查設(shè)計中是否有時序上的違規(guī)。同步電路的分析采用靜態(tài)時序分析實現(xiàn),異步電路的分析則需要運(yùn)行特殊仿真激勵確認(rèn)。仿真工具可以用前仿真所用的工具。 靜態(tài)時序分析(STA)的功能是根據(jù)設(shè)計規(guī)范的要求檢查所有可能路徑的時序,不需要通過仿真或測試向量就可以有效地覆蓋門級網(wǎng)表中的每一條路徑,在同步電路設(shè)計中快速地找出時序上的異常。19可以識別的時序故障包括:建立/保持和恢復(fù)/移除檢查(

12、包括反向建立/保持),最小和最大跳變,時鐘脈沖寬度和時鐘畸變,門級時鐘的瞬時脈沖檢測,總線競爭與總線懸浮錯誤,不受約束的邏輯通道,計算經(jīng)過導(dǎo)通晶體管、傳輸門和雙向鎖存的延遲,自動對關(guān)鍵路徑、約束性沖突、異步時鐘域和某些瓶頸邏輯進(jìn)行識別與分類。PrimeTime是Synopsys公司開發(fā)的進(jìn)行靜態(tài)時序分析的工具,它可以進(jìn)行精確的RC延遲計算、先進(jìn)的建模和時序驗收。對于大型多時鐘的設(shè)計,比如綜合出的邏輯電路、嵌入式存儲器和微處理器核的設(shè)計,Prime Time起到了關(guān)鍵性的作用。20動態(tài)時序分析主要是指門級(或?qū)Π鎴D參數(shù)提取結(jié)果)的仿真,它主要應(yīng)用在異步邏輯、多周期路徑、錯誤路徑的驗證中。隨著設(shè)計

13、向65 nm以下的工藝發(fā)展,只用靜態(tài)分析工具將無法精確驗證串?dāng)_等動態(tài)效應(yīng)。通過動態(tài)時序分析與靜態(tài)時序分析相結(jié)合可以驗證時序邏輯的建立/保持時間,并利用動態(tài)技術(shù)來解決串?dāng)_效應(yīng)、動態(tài)模擬時鐘網(wǎng)絡(luò)等問題。217.1.8 物理驗證物理驗證物理驗證通常包括設(shè)計規(guī)則檢測(DRC)、版圖與原理圖對照(LVS)和信號完整性分析(SI)等。其中DRC用來檢查版圖設(shè)計是否滿足工藝線能夠加工的最小線寬、最小圖形間距、金屬寬度、柵和有源區(qū)交疊的最小長度等。如果版圖設(shè)計違反設(shè)計規(guī)則,那么極有可能導(dǎo)致芯片在加工的過程中成為廢品。LVS則用來保證版圖設(shè)計與其電路設(shè)計的匹配,保證它們的一致性。如果不一致,就需要修改版圖設(shè)計。

14、SI用來分析和調(diào)整芯片設(shè)計的一致性,避免串?dāng)_噪聲、串?dāng)_延遲以及電遷移等問題。22目前主要的物理驗證工具有Mentor公司的Calibre、Cadence公司的Dracula和Diva以及Synopsys公司的Hercules。此外,各大廠商也推出了針對信號完整性分析的工具。237.1.9 設(shè)計結(jié)束設(shè)計結(jié)束在所有設(shè)計約束都已滿足,也達(dá)到了定時約束條件的情況下,就會發(fā)出最終設(shè)計結(jié)束的信號。這時可用于制造集成電路的掩膜集就準(zhǔn)備好了。掩膜集的描述是由幾何數(shù)據(jù)(通常為GDS-格式)構(gòu)成的,這些數(shù)據(jù)決定了集成電路制造過程中光掩膜步驟的順序。將適配器布局布線后形成的器件編程文件通過下載工具載入到具體的FPG

15、A或CPLD芯片中,可以方便地實現(xiàn)設(shè)計要求。如果是大批量產(chǎn)品的開發(fā)則通過更換相應(yīng)的廠家綜合庫,便可以轉(zhuǎn)由ASIC實現(xiàn)。24用HDL描述完一個硬件系統(tǒng)后要進(jìn)行仿真驗證,而如果想在計算機(jī)終端看到硬件描述語言的輸出,則需要通過硬件描述語言的仿真器來完成。常用的HDL仿真器很多,例如VCS、NC、Verilog HDL-XL、ModelSim、ActiveHDL等。7.2 測試和仿真工具測試和仿真工具25根據(jù)所使用的編程語言的不同,可以將仿真器分為Verilog HDL語言仿真器和VHDL語言仿真器;根據(jù)工作方式的不同,可以分為事件驅(qū)動(event-driven)仿真器和時鐘驅(qū)動(cycle-driv

16、en)仿真器;等等。這些工具中,有的側(cè)重于IC設(shè)計,如NC、VCS等;有的側(cè)重于FPGA/CPLD的設(shè)計,如ModelSim和ActiveHDL等。ModelSim仿真器在FPGA/CPLD設(shè)計中應(yīng)用廣泛,這是因為ModelSim的出品公司為各種FPGA/CPLD廠家提供了OEM版本的ModelSim工具。ModelSim仿真器可以用于仿真Verilog HDL語言,也可以用于仿真VHDL語言,同時也支持兩種語言的混合仿真。26NC(根據(jù)使用語言的不同,分為NC-Verilog和NC-VHDL)和VCS分別由知名的EDA工具廠商Cadence和Synopsys公司提供,在IC設(shè)計中應(yīng)用廣泛。根

17、據(jù)設(shè)計階段的不同,仿真可以分為RTL行為級仿真、邏輯綜合后門級仿真和時序仿真三大類型。在仿真的后兩個階段,除了Verilog HDL源代碼外還需要添加兩個文件,即工藝廠商提供的庫單元文件和延時反標(biāo)文件。277.2.1 ModelSim的使用的使用Mentor公司的ModelSim是一種常用的HDL語言仿真軟件,能提供友好的仿真環(huán)境,是業(yè)界唯一的單內(nèi)核支持VHDL和Verilog HDL混合仿真的仿真器。它采用直接優(yōu)化的編譯技術(shù)、Tcl/Tk技術(shù)和單一內(nèi)核仿真技術(shù),編譯仿真速度快,編譯的代碼與平臺無關(guān),便于保護(hù)IP核。個性化的圖形界面和用戶接口,為用戶加快糾錯提供了強(qiáng)有力的手段。 28Model

18、Sim的主要特點是:RTL和門級優(yōu)化,本地編譯結(jié)構(gòu),編譯仿真速度快,跨平臺、跨版本仿真;單內(nèi)核VHDL和Verilog HDL混合仿真;源代碼模版和助手,項目管理;集成了性能分析、波形比較、代碼覆蓋、數(shù)據(jù)流ChaseX、Signal Spy、虛擬對象Virtual Object、Memory窗口、Assertion窗口、源碼窗口顯示信號值、信號條件斷點等眾多調(diào)試功能;C和Tcl/Tk接口,C調(diào)試;對SystemC直接支持,和HDL任意混合;支持System Verilog的設(shè)計功能;全面支持System Verilog、SystemC這樣的系統(tǒng)級描述語言。29ModelSim分為SE、PE、L

19、E和OEM等幾個版本,其中SE是最高級的版本,而集成在 Actel、Atmel、Altera、Xilinx以及Lattice等FPGA廠商設(shè)計工具中的均是其OEM版本。SE版和OEM版在功能和性能方面有較大差別,比如大家都關(guān)心的仿真速度問題,以Xilinx公司提供的OEM版本ModelSim XE為例,對于代碼少于40000行的設(shè)計,ModelSim SE比ModelSim XE要快10倍;對于代碼超過40000行的設(shè)計,ModelSim SE要比ModelSim XE快近40倍。ModelSim SE支持PC、UNIX和Linux混合平臺,提供全面、完善以及高性能的驗證功能,全面支持業(yè)界廣泛

20、的標(biāo)準(zhǔn)。30ModelSim采用用戶圖形界面操作模式,有許多窗口,如Main窗口、Workplace窗口、Objects窗口、Wave窗口、Dataflow窗口、List窗口、Source窗口和Watch窗口。圖7.2-1為ModelSim的使用界面。 主(Main)窗口:是ModelSim唯一的控制窗口,也是控制命令的輸入窗口。窗口中顯示了ModelSim執(zhí)行仿真的動作以及相應(yīng)的信息。 結(jié)構(gòu)(Workplace)窗口:該窗口按層次關(guān)系列出了工程中所有模塊之間的關(guān)系。在結(jié)構(gòu)窗口中選擇固定模塊,在信號窗口中會相應(yīng)地顯示這一模塊信號的信息。31圖7.2-1 ModelSim使用界面32 信號(Ob

21、jects)窗口:顯示被選中模塊的信號、信號類型以及信號值。 波形(Wave)窗口:顯示仿真的結(jié)果波形。 數(shù)據(jù)流(Dataflow)窗口:用于追蹤數(shù)據(jù)流,并以層次化、圖形化的方式顯示結(jié)果。 列表(List)窗口:以表格的形式顯示仿真數(shù)據(jù)。 源代碼(Source)窗口:顯示工程中的相應(yīng)源代碼。 觀察(Watch)窗口:用于實時監(jiān)測變量在仿真中的變化情況。33ModelSim有三種仿真流程,即基本仿真流程(Basic Simulation Flow)、工程仿真流程(Project Simulation Flow)和多庫仿真流程(Multi-library Simulation)。在較復(fù)雜的設(shè)計中,

22、推薦使用工程仿真流程,這種流程更容易管理和維護(hù)設(shè)計中遇到的各種類型的文件,事實上工程仿真流程包含了基本仿真流程和多庫仿真流程的核心內(nèi)容。本節(jié)主要介紹工程仿真流程。ModelSim工程仿真流程包括建立庫、建立工程、將設(shè)計文檔(包括源文件和測試文件)加入到工程中并編譯、仿真、調(diào)試。341建立并映射庫建立并映射庫建立并映射庫有兩種方法。第一種方法:在ModelSim中選擇File/New/Library菜單命令,在彈出的對話框中填入庫名稱,點擊OK按鈕就完成了庫的建立和映射。第二種方法:在ModelSim提示符下運(yùn)行命令:vlib work2vmap work work235第一條命令實現(xiàn)的是建立新

23、庫,第二條命令實現(xiàn)的是映射新庫。其中work2代表的是新建的工作庫。運(yùn)行完畢后即完成了庫的建立和映射操作。運(yùn)行完vlib命令后會產(chǎn)生work庫目錄,目錄里存放有_info文件,用于記錄各種庫中的各種模塊。運(yùn)行完vmap會將ModelSim安裝目錄下的ModelSim.ini復(fù)制到當(dāng)前的工作目錄中并將庫和目錄對應(yīng)起來,在Library中增加了work=work2語句。362新建工程項目新建工程項目選擇File/New/Project菜單命令,新建一個工程。在Project Name中輸入工程名,在Project Location下的對話框中輸入保存該工程所有文件的文件夾的路徑名。Default

24、Library Name對話框使用默認(rèn)設(shè)置work即可。373輸入源代碼輸入源代碼選擇Main窗口的File/New/Source/Verilog HDL菜單命令,出現(xiàn)源代碼編輯窗口,將源代碼輸入并保存。源代碼文件shiftregist.v如下:module shiftregist(data_out,clk,rst_n,load,data_load,ctr_shiftright,ctr_shiftleft,data_shiftright,data_shiftleft);parameter shiftregist_width=4;output shiftregist_width-1:0 data

25、_out;input shiftregist_width-1:0 data_load;38input load,clk,rst_n,ctr_shiftright,ctr_shiftleft,data_shiftright,data_shiftleft;reg shiftregist_width-1:0 data_out;always (posedge clk or negedge rst_n) if (!rst_n) data_out=0; else if (load) data_out=data_load; else if (ctr_shiftright)39 data_out=data_s

26、hiftright,data_outshiftregist_width-1:1; else if (ctr_shiftleft) data_out=data_outshiftregist_width-2:0,data_shiftleft; else data_out提示符下,輸入“run 500”,仿真器會再進(jìn)行另外500 ns的仿真,共計仿真了600 ns。在主菜單、波形窗口或源代碼窗口的工具條上單擊run-all圖標(biāo),仿真連續(xù)運(yùn)行,直到被中斷或在代碼中遇到諸如Verilog HDL中的$stop語句等,暫停仿真。若單擊break圖標(biāo),則終止仿真運(yùn)行。52在Main窗口中,單擊Simulat

27、e/End Simulation選項,即可結(jié)束仿真。5311調(diào)試調(diào)試ModelSim的調(diào)試手段很多,主要包括在代碼中設(shè)置斷點、步進(jìn)調(diào)試;觀察Wave窗口,測量時間;通過Dataflow窗口,分析物理連接;通過Memory窗口,觀察設(shè)計中存儲器的數(shù)值;統(tǒng)計測試代碼覆蓋率;波形比較。Wave窗口、Dataflow窗口和List窗口是常用的分析手段。541) 使用Wave窗口觀察設(shè)計波形是調(diào)試設(shè)計的一種方法,加載仿真后,就可以使用Wave窗口了。通過View/Wave菜單命令打開Wave窗口,如圖7.2-3所示。在Wave窗口中可以采用多種手段進(jìn)行調(diào)試,如向Wave窗口添加項目,對波形顯示的圖像縮放

28、,在Wave窗口中使用游標(biāo),設(shè)置斷點,存儲Wave窗口格式,將當(dāng)前的仿真結(jié)果存儲到波形記錄格式文件(WLF)中等。55在Wave窗口中,游標(biāo)用于指示仿真的時間位置。當(dāng)ModelSim首次畫波形時,自動地將一個游標(biāo)放在0時刻的位置。使用游標(biāo)可以測量時間間隔,也可以查找信號跳變的位置。在Wave窗口中單擊任何位置,游標(biāo)將重新回到鼠標(biāo)單擊的位置??梢詫τ螛?biāo)進(jìn)行添加、命名、鎖定和刪除等操作。對波形信號可以進(jìn)行設(shè)置斷點操作。斷點調(diào)試主要是為了觀察待定的數(shù)據(jù)變化。在Wave窗口中,對信號設(shè)置斷點十分方便:選中要設(shè)置斷點的變量,單擊鼠標(biāo)右鍵,選擇“Insert Breakpoint”選項,就完成了斷點的設(shè)置

29、。當(dāng)選中的變量波形值發(fā)生變化時,仿真自動暫停。56圖7.2-3 Wave窗口57要養(yǎng)成保存波形文件的良好習(xí)慣,以便進(jìn)行項目的檢查和對比。ModelSim中可以保存的波形文件大致有以下三種。(1) Format文件。在Wave窗口的主菜單中選擇File/Save命令保存wave format(波形格式),在新打開的窗口中填入DO文件(仿真腳本文件)的存儲路徑E:/shiftregist/wave.do,單擊OK按鈕完成文件存儲。58如果需要加載該文件,則在打開的Wave窗口中選擇“File Open Format”,然后在Open Format窗口中選擇wave.do文件,單擊Open按鈕打開該

30、文件。ModelSim將恢復(fù)該窗口的信號和游標(biāo)的前一次狀態(tài)。(2) WLF文件(Datasets)。ModelSim仿真結(jié)果也可以存儲到一個波形格式記錄文件中,用于以后瀏覽和與當(dāng)前仿真結(jié)果的比較。通常使用術(shù)語“Datasets”表示已創(chuàng)建并可重加載的WLF文件。59可在主菜單中選擇“File/Datasets/Save as”命令,在打開的Save as對話框中輸入要保存的波形文件名稱,點擊OK按鈕就完成了波形文件的保存。若使用File/Datasets/Open命令,在彈出的Open Dataset對話框中的Browse中輸入Datasets的路徑,則可打開已保存的波形文件。(3) VCD文

31、件。VCD文件是IEEE 1364標(biāo)準(zhǔn)(Verilog HDL語言標(biāo)準(zhǔn))中定義的一種ASCII文件。它是一種EDA工具普遍支持的通用的波形信息記錄文件。如何使用Verilog HDL中的系統(tǒng)函數(shù)來生成VCD文件請參考第5章。602) 使用Dataflow窗口Dataflow窗口能夠?qū)HDL信號或者Verilog HDL的線網(wǎng)型變量進(jìn)行圖示化追蹤,在界面中驅(qū)動信號或驅(qū)動線網(wǎng)變量的進(jìn)程顯示在左邊,反之被驅(qū)動信號顯示在右邊。雙擊Wave窗口中需要追蹤的信號即可打開Dataflow窗口,如圖7.2-4所示。61圖7.2-4 Dataflow窗口62Dataflow窗口有以下四個功能:(1) 觀察設(shè)計

32、的連續(xù)性??梢詸z查設(shè)計的物理連接性,可以逐個單元地觀測所關(guān)注的信號、互聯(lián)網(wǎng)絡(luò)或寄存器的輸入/輸出情況。(2) 追蹤事件:跟蹤一個非預(yù)期輸出的事件,使用嵌入波形觀察器,可以由一個信號的跳變回溯追蹤,查到事件源頭。63(3) 追蹤未知態(tài):該功能是工程師比較青睞的,在Dataflow窗口中使用Trace/ChaseX功能,會不斷往驅(qū)動級追蹤不定態(tài)傳遞的源頭。當(dāng)選擇ChaseX,圖形界面不再變化時,就是不定態(tài)的源頭了。之后就可以根據(jù)Dataflow窗口的結(jié)果,去定位源代碼產(chǎn)生不定態(tài)的語句,并加以改正。(4) 顯示層次結(jié)構(gòu):可以使用層次化實例顯示設(shè)計的連通性。643) 使用List窗口List窗口以表格

33、化的方式顯示數(shù)據(jù),可以方便地通過搜索特殊值或者特定條件的數(shù)據(jù),簡化分析數(shù)據(jù)的過程。選擇菜單中的View/List命令打開List窗口,如圖7.2-5所示。List窗口的左邊顯示的是仿真的時間點,右邊顯示的是每個時間點對應(yīng)的變量值。65圖7.2-5 List窗口66當(dāng)要搜索特定的數(shù)值時,可在List窗口中選擇Edit/Search選項,在彈出的List Signal Search對話框中選擇Search Type下的Search for Signal Value項,并輸入想要搜索的數(shù)值。這種方式可以很方便地查找仿真中的特殊值,還可以確定特殊值在什么時間點發(fā)生,并以此時間點在Wave窗口中定位相應(yīng)

34、的波形。除此之外還可以設(shè)置條件搜索,方法是在Search Type下的Search for Expression中點擊后面的Builder建立搜索條件。條件可以是信號、事件、邊沿等。67與Wave窗口一樣,List窗口可以保存數(shù)據(jù)的列表格式和列表內(nèi)容。在List窗口中選擇File/Save菜單命令,在彈出的Save Format對話框中輸入所保存列表的名稱,點擊保存即可。數(shù)據(jù)列表也是一個后綴名為.do的可執(zhí)行腳本文件,通過命令do file_name.do可以打開列表文件。在File/Write List選項下選擇一種格式,可完成對列表內(nèi)容的保存。列表內(nèi)容文件是.lst格式的文件,要查看文件內(nèi)

35、容可通過記事本打開該文件。6812ModeSim常用交互命令常用交互命令ModelSim圖形化界面提供了多種指令,既可以是單步指令,通過在主窗口的命令窗口中輸入命令;也可以構(gòu)成批處理文件(如DO文件),用來控制編輯、編譯和仿真流程。下面介紹ModelSim中用于仿真的一些常用指令,其它指令可參考ModelSim說明書或幫助。691) run指令指令格式:run 其中,參數(shù)timesteps(時間步長)和time_unit(時間單位)是可選項,time_unit可以是fs(10-15s)、ps(10-12s)、ns(10-9s)、ms(10-6s)、sec(s)等幾種。例如:“run”表示運(yùn)行;

36、“run 1000”表示運(yùn)行1000個默認(rèn)的時間單元(ps);“run 3500ns”表示運(yùn)行3500 ns;“run-continue”表示繼續(xù)運(yùn)行;“run-all”表示運(yùn)行全程。702) force指令指令格式:force , 其中,參數(shù)item_name不能默認(rèn),它可以是端口信號,也可以是內(nèi)部信號,而且還支持通配符號,但只能匹配一個;參數(shù)value也不能默認(rèn),其類型必須與item_name一致;time是可選項,支持時間單元。例如:“force clr 1 100”表示經(jīng)歷100個默認(rèn)時間單元延遲后為clr賦值1;“force clr 1,0 1000”表示為clr賦值1后,經(jīng)歷100

37、0個默認(rèn)時間單元延遲后為clr賦值0。713) force-repeat指令指令格式:force , -repeat 指令功能:每隔一定的周期(period)重復(fù)一定的force指令。該指令常用來產(chǎn)生時鐘信號。例如:“force clk 0 0,1 30-repeat 100”(-repeat指令可以用-r替代)表示強(qiáng)制clk從0時間單元開始,起始電平為0,結(jié)束電平為1,忽略時間(即0電平保持時間)為30個默認(rèn)時間單元,周期為100個默認(rèn)時間單元,占空比為(100-30)/100=70%。724) force-cancel指令指令格式:force-cancel 指令功能:執(zhí)行period周期時

38、間后取消force指令。例如:“force clk 0 0,1 30-repeat 60-cancel 1000”表示強(qiáng)制clk從0時間單元開始,直到1000個時間單元結(jié)束。735) view指令指令格式:view窗口名指令功能:打開ModelSim窗口。例如:“view source”表示打開源代碼窗口;“view wave”表示打開波形窗口;“view dataflow”表示打開數(shù)據(jù)流窗口。7413DO文件文件創(chuàng)建DO文件就像在文本文件中輸入命令行一樣簡單,當(dāng)然也可以將主窗口的復(fù)本保存為DO文件。在ModelSim中創(chuàng)建一個DO文件,在該DO文件中向波形窗口添加信號,并給這些信號提供激勵,

39、而后進(jìn)行仿真。75選擇File/New/Source/Do菜單命令,創(chuàng)建一個DO文件。在窗口中輸入以下命令:vlib workvmap workvlog shiftregist.v testbench_shiftregist.vvsim shiftregist.v add wave/testbench_shiftregist.v/ *run 2000view dataflow76將以上文件保存為shiftregist.do文件,每次使用命令do shiftregist.do即可自動執(zhí)行想要的仿真動作。shiftregist.do的功能:新建work庫,將work庫映射到當(dāng)前工作目錄,編譯shi

40、ftregist.v、testbench_shiftregist.v文件(默認(rèn)編譯到work庫下),仿真work庫中名為testbench_shiftregist的模塊將testbench_shiftregist的所有信號加入到波形圖中。完成計數(shù)器仿真批處理文件的編輯后,以“shiftregist.do”為文件名將其保存在與計數(shù)器設(shè)計文件相同的文件夾中,并通過ModelSim編譯。77在ModelSim的命令窗口中執(zhí)行“shiftregist.do”命令,可完成對移位寄存器的仿真。787.2.2 NC-Verilog的使用的使用Cadence NC-Verilog 是業(yè)界優(yōu)秀的Verilog

41、HDL仿真器,提供了高性能、高容量的事務(wù)/信號視窗和集成的覆蓋率分析,并支持Verilog HDL 2001特性。NC-Verilog 完全兼容Incisive一體化平臺(unified platform),使得用戶能夠很容易實現(xiàn)納米(nanometer)工藝集成電路上系統(tǒng)設(shè)計的數(shù)字化驗證。NC-Verilog 為Verilog HDL設(shè)計提供了業(yè)界優(yōu)秀的仿真性能,它使用獨(dú)特的本地Incisive一體化仿真器編譯架構(gòu),從Verilog HDL直接生成高效的機(jī)器碼用于高速執(zhí)行。 79一體化的NC-Verilog 仿真和調(diào)試環(huán)境,很容易管理多個設(shè)計的運(yùn)行和分析設(shè)計與測試平臺。它的事務(wù)/波形視窗和原

42、理圖追蹤器能迅速追蹤設(shè)計行為到源代碼。NC-Verilog是全編譯仿真器,它直接將Verilog HDL代碼編譯為機(jī)器碼執(zhí)行。其過程為:利用ncvlog命令來編譯Verilog HDL源文件,按照編譯指導(dǎo)(compile directive)檢查語義及語法,產(chǎn)生中間數(shù)據(jù);ncelab(描述)按照設(shè)計指示構(gòu)造設(shè)計的數(shù)據(jù)結(jié)構(gòu),建立信號連接,產(chǎn)生可執(zhí)行代碼和中間數(shù)據(jù);ncsim(仿真)啟動仿真核,核調(diào)入設(shè)計的數(shù)據(jù)結(jié)構(gòu),構(gòu)造事件序列,調(diào)度并執(zhí)行事件的機(jī)器碼。801工作模式的選擇工作模式的選擇運(yùn)行NC-Verilog的命令是nclaunch。第一次運(yùn)行的時候,需要用戶選擇工作模式。這里可供選擇的主要是M

43、ultiple Step和Single Step,請選擇Multiple模式,此模式對應(yīng)的仿真流程是ncvlog(編譯)、ncelab(描述)、ncsim(仿真)三步。兩種工作模式的詳細(xì)說明可見參考手冊。圖7.2-6為NC-Verilog的啟動界面。81圖7.2-6 NC-Verilog的啟動界面822建立工作環(huán)境建立工作環(huán)境作為編譯仿真工具,最核心的是源代碼部分,由于NC-Verilog的源文件編輯界面效果不佳,這里建議使用其它支持VHDL/Verilog HDL語言的工具編寫代碼,在確保沒有語法錯誤后再導(dǎo)入到NC-Verilog中進(jìn)行編譯。選擇File/Set Design Directo

44、ry菜單命令,在彈出的對話框中設(shè)置如下選項。83 Design Directory:一般是項目所在的目錄,即啟動NCLaunch 時所在的目錄。 Library Mapping File:點擊“Create cds.lib File”按鈕,會彈出一個“Create a cds.lib file”對話框,其中的文件名是“cds.lib”,選擇“Save”,此時在彈出的對話框中選擇“Include Default Libraries”,將會在當(dāng)前項目目錄下建立INCA_lib 文件夾用來保存整個設(shè)計中全部的庫信息。 Work Library:在建立了cds.lib 之后將出現(xiàn)worklib 的默認(rèn)

45、選項,無需更改。84需要說明的是,當(dāng)完成上述環(huán)境設(shè)置之后,在工作平臺的右上方將出現(xiàn)“Error:Unable to find an hdl.var file to load in”的警告,暫時無需關(guān)注此警告,在進(jìn)行任意文件編譯之后軟件將自動生成hdl.var 文件,重新載入工作目錄后(File/Set Design Directory)警告將消失。853編譯編譯用鼠標(biāo)左鍵選擇NCLaunch界面左窗口中的源文件drink_machine.v和test_drink_machine.v。若有多個設(shè)計文件,可以按住Ctrl鍵的同時選擇。第一次編譯時選擇Tool/Verilog HDL Compile

46、r菜單項,以后可以直接點擊工具欄中的vlog按鈕。應(yīng)特別注意的是,在編譯成功第一個文件后應(yīng)重新載入工作目錄(File/Set Design Directory),以確保警告消失。864載入設(shè)計文件載入設(shè)計文件用鼠標(biāo)左鍵選擇NCLaunch界面右窗口中工作目錄(worklib)下的頂層實體worklib/counter_tb/module(必須提醒的是:如果右邊的worklib 前面沒有出現(xiàn)“+”,則請首先檢查右邊工作平臺上對應(yīng)的的工作路徑,確定工作路徑已經(jīng)轉(zhuǎn)換到了和左邊一致的目錄下),然后選擇Tool/Elaborator菜單命令,在彈出的對話框里選中“Access visibility”的R

47、ead屬性,然后確定。載入設(shè)計文件后的NCLaunch界面如圖7.2-7所示。87圖7.2-7 載入設(shè)計文件885仿真仿真用鼠標(biāo)左鍵選擇NCLaunch界面右窗口中Snapshots下的頂層實體(snapshots/ worklib.shiftregist_tb:module)。然后選擇Tool/Simulator菜單命令,在彈出的對話框中單擊“確定”按鈕,將彈出仿真器窗口。彈出的默認(rèn)窗口有兩個,點擊Design Browser/SimVision窗口工具欄中的波形按鈕,開啟波形仿真窗口。展開Design Browser/SimVision窗口左邊瀏覽器中的Simulator,在右邊的列表中選

48、擇希望觀察的信號。然后,點擊鼠標(biāo)右鍵選擇send to Waveform Windows。89根據(jù)實際波形的需要,在 Waveform/SimVision 窗口內(nèi)把時間顯示單位換成s、ns或ps,然后開始仿真,有兩種方法:(1) 選擇Simulation/Run或者直接點擊工具欄中的“開始”按鈕,開始波形仿真。如果加入了新的信號,需要重新仿真,點擊復(fù)位,再次仿真。(2) 在Console窗口直接輸入命令使仿真一段時間,如輸入run 2000 ns。90仿真驗證在整個項目的過程中有著重要的意義,科學(xué)合理的仿真方法和仿真技巧可以達(dá)到事半功倍的效果;反之,如果只是一味地進(jìn)行理論分析而不會利用多種工具

49、的優(yōu)點,則可能會使實際項目寸步難行。設(shè)計者在設(shè)計過程中應(yīng)時刻仿真驗證自己的設(shè)計。一個系統(tǒng)由很多模塊構(gòu)成,建議每個模塊完成后都進(jìn)行完整的仿真測試,不要等到整個系統(tǒng)完成了再仿真。這樣可以縮短整個設(shè)計的周期,提高設(shè)計效率。91邏輯綜合是前端電路模塊設(shè)計的重要步驟之一。邏輯綜合是在標(biāo)準(zhǔn)單元庫和特定設(shè)計約束的基礎(chǔ)上,把設(shè)計的高層次描述轉(zhuǎn)換成優(yōu)化的門級網(wǎng)表的過程。Design Compiler是Synopsys公司用于電路邏輯綜合的核心工具,7.3 綜綜 合合 工工 具具92它可以方便地將HDL語言描述的電路轉(zhuǎn)換到基于工藝庫的門級網(wǎng)表,它是ASIC設(shè)計領(lǐng)域使用較多的邏輯綜合工具之一。FPGA邏輯綜合領(lǐng)域存

50、在著多種邏輯綜合工具,其中Synplify以其邏輯綜合速度快、邏輯綜合效果好而備受關(guān)注,成為FPGA設(shè)計邏輯綜合的常用工具。937.3.1 Synplify的使用的使用Synplify、Synplify Pro和Synplify Premier是Synplicity公司(Synopsys公司于2008年收購了Synplicity公司)提供的專門針對FPGA和CPLD實現(xiàn)的邏輯綜合工具,Synplicity的工具涵蓋了可編程邏輯器件(FPGAs、PLDs和CPLDs)的綜合、驗證、調(diào)試、物理綜合及原型驗證等領(lǐng)域。Synplify Pro是高性能的FPGA綜合工具,為復(fù)雜可編程邏輯設(shè)計提供了優(yōu)秀的

51、HDL綜合解決方案:包含的BEST算法可對設(shè)計進(jìn)行整體優(yōu)化;94自動對關(guān)鍵路徑做Retiming,可以提高性能25%以上;支持VHDL和Verilog HDL的混合設(shè)計輸入,并支持網(wǎng)表*.edn文件的輸入;增強(qiáng)了對System Verilog的支持;Pipeline功能提高了乘法器和ROM的性能;有限狀態(tài)機(jī)優(yōu)化器可以自動找到最優(yōu)的編碼方法;在Timing報告和RTL視圖及RTL源代碼之間可進(jìn)行交互索引;自動識別RAM,避免了繁復(fù)的RAM例化。95Synplify Premier是功能強(qiáng)大的FPGA綜合環(huán)境。Synplify Premier不僅集成了Synplify Pro所有的優(yōu)化選項,而且集

52、成了專利的Graph-Based Physical Synthesis綜合技術(shù),并提供有Floor Plan選項,是業(yè)界領(lǐng)先的FPGA物理綜合解決方案,能把高端FPGA性能發(fā)揮到最好,從而可以輕松應(yīng)對復(fù)雜的高端FPGA設(shè)計和單芯片ASIC原型驗證。這些特有的功能包括:全面兼容ASIC代碼;支持Gated Clock的轉(zhuǎn)換;支持Design Ware的轉(zhuǎn)換。同時,因為整合了在線調(diào)試工具Identify,極大地方便了用戶進(jìn)行軟硬件協(xié)同仿真,確保設(shè)計一次成功,從而大大縮短了整個軟硬件開發(fā)和調(diào)試的周期。96Identify是RTL級調(diào)試工具,能夠在FPGA運(yùn)行時對其進(jìn)行實時調(diào)試,加快整個FPGA驗證的

53、速度。Identify軟件有Instrumentor和Debugger兩部分。在調(diào)試前,通過Instrumentor設(shè)定需要觀測的信號和斷點信息,然后進(jìn)行綜合,布局布線。最后,通過Debugger進(jìn)行在線調(diào)試。Synplify Premier HDL Analyst提供優(yōu)秀的代碼優(yōu)化和圖形化分析調(diào)試界面;Certify確??蛻粼谑褂枚嗥現(xiàn)PGA進(jìn)行ASIC/SoC驗證時快速而高效地完成工作;現(xiàn)在Synopsys公司又推出了基于DSP算法的代碼產(chǎn)生和綜合工具Synplify DSP,架起了算法驗證和RTL代碼實現(xiàn)之間的橋梁;97HAPS是高性能的ASIC原型驗證系統(tǒng),大大減少了一次流片成功的風(fēng)險

54、及節(jié)省了產(chǎn)品推向市場的時間。Synplify軟件的界面如圖7.3-1所示。98圖7.3-1 Synplify軟件的界面991創(chuàng)建工程創(chuàng)建工程選擇File/New/Project File菜單項,然后填入工程名,點擊OK按鈕保存。創(chuàng)建工程后,其中的rev_1表示版本一。Synplify 允許對同一個設(shè)計根據(jù)不同的綜合約束條件,創(chuàng)建多個不同的綜合版本。1002添加文件添加文件接下來的步驟是把設(shè)計的源文件添加到工程中,設(shè)計文件可以是一個,也可以是多個。具體方法是,選擇Project/Add Source File菜單項或者單擊界面左邊的“Add File”按鈕,在彈出的對話框中選擇要添加的源文件即可

55、。如果事先沒有源文件,可以選擇新建VHDL或者Verilog HDL源文件,然后在HDL編輯器中編寫代碼并保存。1013保存工程保存工程點擊工具欄中的save圖標(biāo),對工程及源文件進(jìn)行保存。4語法和綜合檢測語法和綜合檢測可以用Run菜單中的“Syntax check”和“Synthesis”對源程序進(jìn)行檢測,檢測的結(jié)果保存在“Syntax.log”文件中。如果有錯誤將用紅色標(biāo)出,雙擊可以對錯誤進(jìn)行定位。 另外,在Run/Compiler Only菜單項中也可以對源文件進(jìn)行檢測。1025編譯綜合前的設(shè)置編譯綜合前的設(shè)置選擇Project/Implementation Options菜單項或者單擊界

56、面左側(cè)的“Implementation Options”按鈕,即可出現(xiàn)設(shè)置對話框。在該對話框中設(shè)計者可以選擇器件、添加一些簡單約束等。選擇“Altera Cyclone ”器件,同時,還可以對與器件映射有關(guān)的選項進(jìn)行設(shè)定,包括最大扇出、IO、Pipelining等。103在Options中可以對Physical Synthesis、FSM Compiler、Resource Sharing、Retiming等優(yōu)化選項進(jìn)行設(shè)定;在Constraints中可以對時鐘頻率進(jìn)行約束;在Timing Report中可以設(shè)定關(guān)鍵路徑的數(shù)量。在Verilog HDL的Top Level Module中填入s

57、hiftregist。1046編譯編譯選擇Run/Compiler Only菜單項可以對設(shè)計進(jìn)行單獨(dú)編譯。編譯后產(chǎn)生的文件中,擴(kuò)展名為.srr的文件是工程報告文件,包括工程檢錯、編譯、綜合和時序等所有工程信息;擴(kuò)展名為.tlg的文件是工程組織結(jié)構(gòu)信息文件;擴(kuò)展名為.srs的為RTL視圖文件,是設(shè)計者經(jīng)常要檢查的,雙擊該文件或者點擊工具欄的圖標(biāo),移位寄存器的RTL視圖如圖7.3-2所示。105圖7.3-2 移位寄存器的RTL視圖106RTL視圖由兩部分組成,左邊區(qū)域是模塊、結(jié)構(gòu)的分類目錄,包括例化(Instances)、端口(Ports)、網(wǎng)線(Nets)和時鐘樹(Clock Tree)四部分。

58、Instances目錄下是本工程所有調(diào)用的模塊的實例名和硬件原語,Ports是模塊各個層次IO端口的組織關(guān)系,Nets是模塊中所有連線名稱,Clock Tree是以樹狀結(jié)構(gòu)圖顯示的時鐘依賴關(guān)系。RTL視圖具有強(qiáng)大的CrossProbing互連切換功能,通過雙擊RTL視圖的某一模塊,可以連接到產(chǎn)生該模塊的RTL源代碼處,這有利于用戶理解代碼與硬件的對應(yīng)關(guān)系,方便調(diào)試。1077綜合綜合選擇Run/Synthesize菜單項或者單擊面板上的Run按鈕,就進(jìn)行了綜合。綜合后主要產(chǎn)生了設(shè)計的門級網(wǎng)表,門級網(wǎng)表可以拿到布局布線工具中進(jìn)行設(shè)計的最后實現(xiàn)。綜合后還產(chǎn)生了一些其它的文件,包括綜合報告、Log文件

59、、腳本文件等。綜合后已經(jīng)根據(jù)所選的器件產(chǎn)生了門級電路,設(shè)計者可以通過Technology視圖功能觀察門級電路,方法是選擇HDL Analyst/RTL/Hierarchical View菜單項,或者點擊工具欄的圖標(biāo)即可,這種方法可以查看層次結(jié)構(gòu)以顯示與工藝相關(guān)的綜合結(jié)果。移位寄存器的Technology視圖如圖7.3-3所示。108圖7.3-3 移位寄存器的Technology視圖109在Technology視圖下可以利用Push/Pop層次功能進(jìn)入硬件的更底層,也可以在此圖上顯示關(guān)鍵路徑;還可以把Technology視圖展平成門級,方法是選擇HDL Analyst/RTL/Flattened

60、 to Gates View項,如圖7.3-4所示,可查看到與門級電路工藝相關(guān)綜合結(jié)果。需要注意的是,之前介紹的RTL Viewer看到的其實是綜合工具對RTL代碼的編譯結(jié)果,是由基本電路單元連接成的電路,與綜合器件無關(guān)。由于不同語句、不同方法會導(dǎo)致不同的RTL電路,因此RTL電路可以用于客觀地評價電路的設(shè)計效果。RTL視圖看到的不是實際綜合出來的結(jié)果,而只有通過Hierarchical View工具才能觀測到最后的綜合結(jié)果。110圖7.3-4 移位寄存器的門級電路視圖111在綜合后生成的srr文件中包含了詳細(xì)的時序和資源利用的報告,包括時間特性(Timing Report),即最長延遲時間/

溫馨提示

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

最新文檔

評論

0/150

提交評論