版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、現(xiàn)代的設(shè)計(jì)方法:現(xiàn)代的設(shè)計(jì)方法:u 選用合適的選用合適的EDAEDA仿真仿真工具;工具;u 選用合適選用合適電路圖輸入和電路圖輸入和HDLHDL編輯工具;編輯工具;u 逐個(gè)編寫可綜合逐個(gè)編寫可綜合HDLHDL模塊;模塊;u 逐個(gè)編寫逐個(gè)編寫HDLHDL測(cè)試模塊;測(cè)試模塊;u 逐個(gè)做逐個(gè)做Verilog HDLVerilog HDL電路邏輯訪真;電路邏輯訪真;u 編寫編寫Verilog HDLVerilog HDL總測(cè)試模塊;總測(cè)試模塊;u 做系統(tǒng)電路邏輯總仿真;做系統(tǒng)電路邏輯總仿真;u電路的邏輯功能容易理解;電路的邏輯功能容易理解;u便于計(jì)算機(jī)對(duì)邏輯進(jìn)行分析處理;便于計(jì)算機(jī)對(duì)邏輯進(jìn)行分析處理;
2、u把邏輯設(shè)計(jì)與具體電路的實(shí)現(xiàn)分成兩個(gè)獨(dú)把邏輯設(shè)計(jì)與具體電路的實(shí)現(xiàn)分成兩個(gè)獨(dú)立的階段來操作;立的階段來操作;u邏輯設(shè)計(jì)與實(shí)現(xiàn)的工藝無關(guān);邏輯設(shè)計(jì)與實(shí)現(xiàn)的工藝無關(guān);u邏輯設(shè)計(jì)的資源積累可以重復(fù)利用;邏輯設(shè)計(jì)的資源積累可以重復(fù)利用;u可以由多人共同更好更快地設(shè)計(jì)非常復(fù)雜可以由多人共同更好更快地設(shè)計(jì)非常復(fù)雜的邏輯電路(幾十萬門以上的邏輯系統(tǒng))的邏輯電路(幾十萬門以上的邏輯系統(tǒng)) VHDL VITAL 系統(tǒng)級(jí) 算法級(jí) 寄存器傳輸級(jí) 邏輯門級(jí) 開關(guān)電路級(jí) 行為級(jí) 的抽象 VerilogHDL 與 VHDL 建 模 能 力 的 比 較 Verilog系統(tǒng)說明系統(tǒng)說明-設(shè)計(jì)文檔設(shè)計(jì)文檔/算法描述算法描述RTL
3、/功能級(jí)功能級(jí)-Verilog門級(jí)門級(jí)/結(jié)構(gòu)級(jí)結(jié)構(gòu)級(jí)-Verilog版圖版圖/物理級(jí)物理級(jí)-幾何圖形幾何圖形行為綜合行為綜合綜合前仿真綜合前仿真邏輯綜合邏輯綜合綜合后仿真綜合后仿真版圖版圖系統(tǒng)說明系統(tǒng)說明-設(shè)計(jì)文檔設(shè)計(jì)文檔/算術(shù)描述算術(shù)描述RTL/功能級(jí)功能級(jí)-Verilog門級(jí)門級(jí)/結(jié)構(gòu)級(jí)結(jié)構(gòu)級(jí)-Verilog版圖版圖/物理級(jí)物理級(jí)-幾何圖形幾何圖形詳細(xì)程度詳細(xì)程度 低低 高高輸入輸入/仿真速度仿真速度 高高 低低n 行為級(jí)行為級(jí)n 用功能塊之間的數(shù)據(jù)流對(duì)系統(tǒng)進(jìn)行描述用功能塊之間的數(shù)據(jù)流對(duì)系統(tǒng)進(jìn)行描述n 在需要時(shí)在函數(shù)塊之間進(jìn)行調(diào)度賦值。在需要時(shí)在函數(shù)塊之間進(jìn)行調(diào)度賦值。n RTL級(jí)級(jí)/功能
4、級(jí)功能級(jí)n 用功能塊內(nèi)部或功能塊之間的數(shù)據(jù)流和控制信號(hào)描述用功能塊內(nèi)部或功能塊之間的數(shù)據(jù)流和控制信號(hào)描述系統(tǒng)系統(tǒng)n 基于一個(gè)已定義的時(shí)鐘的周期來定義系統(tǒng)模型基于一個(gè)已定義的時(shí)鐘的周期來定義系統(tǒng)模型n 結(jié)構(gòu)級(jí)結(jié)構(gòu)級(jí)/門級(jí)門級(jí)n 用基本單元用基本單元(primitive)或低層元件或低層元件(component)的連接的連接來描述系統(tǒng)以得到更高的精確性,特別是時(shí)序方面。來描述系統(tǒng)以得到更高的精確性,特別是時(shí)序方面。n 在綜合時(shí)用特定工藝和低層元件將在綜合時(shí)用特定工藝和低層元件將RTL描述映射到門描述映射到門級(jí)網(wǎng)表級(jí)網(wǎng)表VerilogVerilog HDL HDL頂層(測(cè)試)模塊頂層(測(cè)試)模塊:
5、同上。5)5)布局布線布局布線: 把用綜合器自動(dòng)生成的門級(jí)網(wǎng)表(EDIF)通過運(yùn)行一個(gè)自動(dòng)操作的布局布線工具,使其與具體的某種FPGA或某種ASIC工藝庫器件對(duì)應(yīng)起來,并加以連接的過程。 6)6)VerilogVerilog HDL HDL后仿真測(cè)試模塊后仿真測(cè)試模塊: 同3)、4),但被測(cè)試的模塊至少是一個(gè)門級(jí)描述的或用具體FPGA(ASIC)庫器件(帶時(shí)間延遲信息)描述的結(jié)構(gòu)型Verilog HDL 模塊。 Verilog HDL行為仿真:行為仿真:行為的驗(yàn)證和驗(yàn)證模塊分割的合理性前仿真前仿真 :即 RTL級(jí)仿真,檢查有關(guān)模塊邏輯執(zhí)行步驟是否正確。邏輯綜合:邏輯綜合:把RTL級(jí)模塊轉(zhuǎn)換成門
6、級(jí) 。 后仿真:后仿真:用門級(jí)模型做驗(yàn)證,檢查門的互連邏輯其功能是否正確。布局布線:布局布線: 在門級(jí)模型的基礎(chǔ)上加上了布線延時(shí)布局布線后仿真:布局布線后仿真:與真實(shí)的電路最接近的驗(yàn)證。absloutabslout 這個(gè)行為的描述并沒有說明如果輸入 a 或 b是三態(tài)的(高阻時(shí))輸出應(yīng)該是什么,但有具體結(jié)構(gòu)的真實(shí)電路是有一定的輸出的。uRTL模塊的數(shù)據(jù)流動(dòng)必須基于時(shí)鐘。RTL模塊在每個(gè)時(shí)鐘的沿時(shí)刻,其變量的值必定是精確的。uRTL模塊是可綜合的,它是行為模塊的一個(gè)子集合。outabslselbselansln輸入端口:輸入端口: input 端口名;模塊從外界讀取數(shù)據(jù)的接口,是連線類型n輸出端口
7、:輸出端口:output 端口名;模塊向外界傳輸數(shù)據(jù)的接口,是連線或寄存器型n輸入輸出端口:輸入輸出端口:inout 端口名;可讀取數(shù)據(jù)也可接收數(shù)據(jù)的端口,數(shù)據(jù)是雙向的,是連線型Verilog 模塊由兩部分組成:端口信息和內(nèi)部功能。模塊由兩部分組成:端口信息和內(nèi)部功能。 module block1(a, b, c, d, e); input a, b, c; output d, e; assign d = a | ( b & c) ; assign e = ( b & c ); endmoduleabcdeabcdeabced標(biāo)識(shí)符空白符:在在verilog HDL內(nèi)部已經(jīng)使用
8、的詞稱為關(guān)鍵字或保留字。內(nèi)部已經(jīng)使用的詞稱為關(guān)鍵字或保留字。:用于定義模塊名、端口名、連線、信號(hào)名等用于定義模塊名、端口名、連線、信號(hào)名等 。標(biāo)識(shí)符可。標(biāo)識(shí)符可以是任意一組字母、數(shù)字、以是任意一組字母、數(shù)字、$符號(hào)下劃線的組合,但標(biāo)識(shí)符符號(hào)下劃線的組合,但標(biāo)識(shí)符第一個(gè)第一個(gè)字符字符必須是必須是字母字母或者或者下劃線下劃線,且字符不能多于,且字符不能多于1024個(gè)。此外還個(gè)。此外還區(qū)分區(qū)分大小寫大小寫??瞻追煽崭?、換行等組成,僅僅用于分隔標(biāo)識(shí)符,在編空白符由空格、換行等組成,僅僅用于分隔標(biāo)識(shí)符,在編譯中被忽略。譯中被忽略。n缺省位寬時(shí),默認(rèn)為缺省位寬時(shí),默認(rèn)為32位數(shù)據(jù)位數(shù)據(jù)01XZ0bufb
9、ufbufbufif10、低、偽、邏輯低、地、低、偽、邏輯低、地、VSS、負(fù)插入、負(fù)插入1 1、高、真、高、真、邏輯邏輯高、電源、高、電源、VDD、正插入、正插入X X、不確定:邏輯沖突無法確定其邏輯值、不確定:邏輯沖突無法確定其邏輯值HiZHiZ、高阻抗、三態(tài)、無驅(qū)動(dòng)源、高阻抗、三態(tài)、無驅(qū)動(dòng)源 n連接類型變量的種類:連接類型變量的種類: 在為不同工藝的基本元件建立庫模型的時(shí)候,常常需要用不同在為不同工藝的基本元件建立庫模型的時(shí)候,常常需要用不同的連接類型來與之對(duì)應(yīng),使其行為與實(shí)際器件一致。常見的有以下的連接類型來與之對(duì)應(yīng),使其行為與實(shí)際器件一致。常見的有以下幾種。幾種。n如果不明確地說明連接
10、是何種類型,應(yīng)該是指 wire 類型。 例:wire 7:0a,b; / 位寬為位寬為8的的wire型變量型變量a和和b綜合編譯綜合編譯器不支持器不支持的的net類型類型abslselbselansloutreg_areg_selreg_b修改前:修改前:module example(o1, o2, a, b, c, d); input a, b, c, d; output o1, o2; reg c, d; reg o2 and u1(o2, c, d); always (a or b) if (a) o1 = b; else o1 = 0;endmodule修改后:修改后:module e
11、xample(o1, o2, a, b, c, d); input a, b, c, d; output o1, o2;/ reg c, d;/ reg o2 reg o1; and u1(o2, c, d); always (a or b) if (a) o1 = b; else o1 = 0;endmodule例:下表以優(yōu)先級(jí)順序列出了下表以優(yōu)先級(jí)順序列出了Verilog操作符。注意操作符。注意“與與”操作符的優(yōu)先級(jí)總是比相操作符的優(yōu)先級(jí)總是比相同類型的同類型的“或或”操作符高。本章將對(duì)每個(gè)操作符用一個(gè)例子作出解釋。操作符高。本章將對(duì)每個(gè)操作符用一個(gè)例子作出解釋。 最高最高最低最低優(yōu)先級(jí)優(yōu)
12、先級(jí)例如:例如:a=4b010;b=4b0010a+ba*ba/ba%b注意注意:在算術(shù)運(yùn)算中,有一個(gè)操作數(shù):在算術(shù)運(yùn)算中,有一個(gè)操作數(shù)為不確定狀態(tài),則運(yùn)算結(jié)果都為不確為不確定狀態(tài),則運(yùn)算結(jié)果都為不確定狀態(tài)定狀態(tài)。!not&and|orn 邏輯操作符的結(jié)果為一位邏輯操作符的結(jié)果為一位1,0或或x。n邏輯操作符只對(duì)邏輯值運(yùn)算。邏輯操作符只對(duì)邏輯值運(yùn)算。n如操作數(shù)為全如操作數(shù)為全0,則其邏輯,則其邏輯值為值為falsen如操作數(shù)有一位為如操作數(shù)有一位為1,則其,則其邏輯值為邏輯值為truen若操作數(shù)若操作數(shù)只只包含包含0、x、z,則邏輯值為則邏輯值為x邏輯反操作符將操作數(shù)邏輯反操作符將操作
13、數(shù)的邏輯值取反。例如,的邏輯值取反。例如,若操作數(shù)為全若操作數(shù)為全0,則其,則其邏輯值為邏輯值為0,邏輯反操,邏輯反操作值為作值為1。非非&與與|或或異或異或 同或同或 同或同或n 當(dāng)兩個(gè)操作數(shù)位數(shù)不同時(shí),位數(shù)少的操作數(shù)零擴(kuò)展到相同當(dāng)兩個(gè)操作數(shù)位數(shù)不同時(shí),位數(shù)少的操作數(shù)零擴(kuò)展到相同位數(shù)。非是單目操作數(shù)的,其他都是雙目操作數(shù)。位數(shù)。非是單目操作數(shù)的,其他都是雙目操作數(shù)。a = 4b1011;b = 8b01010011;c = a | b; / a零擴(kuò)展為零擴(kuò)展為 8b00001011說明:n一個(gè)模塊中可以包含多個(gè)initial語句,所有語句都是從0時(shí)刻開始執(zhí)行,而且只能執(zhí)行一次。nin
14、itial語句常用于測(cè)試文本中信號(hào)的初始化,生成輸入仿真波形,監(jiān)測(cè)信號(hào)變化等。ninitial語句也可以使用fork-join語句。建議建議:n3、語句塊、語句塊例:例: 數(shù)據(jù)采樣模塊數(shù)據(jù)采樣模塊 4h5 : out = 4b0001; 4h6 : out = 4b0010; 4h7 : out = 4b0011; 4h8 : out = 4b0000; 4h9 : out = 4b0010; 4ha : out = 4b0100; 4hb : out = 4b0110; 4hc : out = 4b0000; 4hd : out = 4b0011; 4he : out = 4b0110; 4
15、hf : out = 4b1001; default : out=bx; endcase endendmodule例:查找表方式實(shí)現(xiàn)22 乘法【例例】用用for 語句描述的七人投票表決器語句描述的七人投票表決器【例例】用用for 語句實(shí)現(xiàn)語句實(shí)現(xiàn)2 個(gè)個(gè)8 位數(shù)相乘位數(shù)相乘includeinclude文件文件設(shè)計(jì)文件設(shè)計(jì)文件廠家元件廠家元件庫文件庫文件輸入文件:輸入文件:激勵(lì)和期望激勵(lì)和期望的輸出信號(hào)的輸出信號(hào)輸出文件:激輸出文件:激勵(lì)和實(shí)際輸出勵(lì)和實(shí)際輸出的信號(hào)的信號(hào)編譯器編譯器仿真器仿真器仿真器仿真器n用用Verilog設(shè)計(jì)的步驟:設(shè)計(jì)的步驟:n測(cè)試平臺(tái)的組成測(cè)試平臺(tái)的組成激勵(lì)激勵(lì)信號(hào)信號(hào)
16、需要驗(yàn)證的需要驗(yàn)證的設(shè)計(jì)設(shè)計(jì)激勵(lì)信號(hào)激勵(lì)信號(hào)和用于驗(yàn)和用于驗(yàn)證的結(jié)果證的結(jié)果數(shù)據(jù)數(shù)據(jù)需要驗(yàn)證的需要驗(yàn)證的設(shè)計(jì)設(shè)計(jì)簡單的測(cè)試平臺(tái)簡單的測(cè)試平臺(tái)復(fù)雜的測(cè)試平臺(tái)復(fù)雜的測(cè)試平臺(tái)n施加激勵(lì)施加激勵(lì)產(chǎn)生激勵(lì)并加到設(shè)計(jì)有很多產(chǎn)生激勵(lì)并加到設(shè)計(jì)有很多 種方法。常用的方法:種方法。常用的方法:n從一個(gè)從一個(gè)initial塊中施加線激勵(lì)塊中施加線激勵(lì)n從一個(gè)循環(huán)或從一個(gè)循環(huán)或always塊施加激勵(lì)塊施加激勵(lì)n從一個(gè)向量或整數(shù)數(shù)組施加激勵(lì)從一個(gè)向量或整數(shù)數(shù)組施加激勵(lì)n記錄一個(gè)仿真過程,然后在另一個(gè)仿真中回放施加激勵(lì)記錄一個(gè)仿真過程,然后在另一個(gè)仿真中回放施加激勵(lì)n 線性激勵(lì)有以下特性:線性激勵(lì)有以下特性:n 只有變
17、量的值改變時(shí)才列出只有變量的值改變時(shí)才列出n 易于定義復(fù)雜的時(shí)序關(guān)系易于定義復(fù)雜的時(shí)序關(guān)系n 對(duì)一個(gè)復(fù)雜的測(cè)試,測(cè)試基準(zhǔn)對(duì)一個(gè)復(fù)雜的測(cè)試,測(cè)試基準(zhǔn)(test bench)可能非常大可能非常大module inline_ tb; reg 7: 0 data_ bus, addr; wire 7: 0 results; DUT u1 (results, data_ bus, addr); initial fork data_bus = 8h00; addr = 8h3f; #10 data_ bus = 8h45; #15 addr = 8hf0; #40 data_ bus = 8h0f; #6
18、0 $finish; joinendmodulen 保存在文件中的矢量反過來可以作為激勵(lì)保存在文件中的矢量反過來可以作為激勵(lì)module read_file_tb; parameter num_vecs = 256; reg 7:0 data_bus; reg 7:0 stim num_vecs-1:0; integer i; DUT u1 (results, data_bus) initial begin / Vectors are loaded $readmemb (vec. txt, stim); for (i =0; i num_vecs ; i = i + 1) #50 data_b
19、us = stimi; endendmodule/ 激勵(lì)文件激勵(lì)文件vec.txt001110000011100100111010001111000011000000101000000110000111100010111000.n 使用矢量文件輸入使用矢量文件輸入/輸出的優(yōu)點(diǎn):輸出的優(yōu)點(diǎn): 激勵(lì)修改簡單激勵(lì)修改簡單 設(shè)計(jì)反復(fù)驗(yàn)證時(shí)直接使用工具比較矢量文件。設(shè)計(jì)反復(fù)驗(yàn)證時(shí)直接使用工具比較矢量文件。例例1:有啟動(dòng)延時(shí)的對(duì)稱時(shí)鐘的例子:有啟動(dòng)延時(shí)的對(duì)稱時(shí)鐘的例子:reg ck;initial begin ck = 0; #( period) forever #( period/2) ck = !ck
20、;endreg go; wire ck;nand #( period/2) u1 (ck, ck, go);initialbegin go = 0; #(period) go = 1;end注意:注意:在行為描述中,在時(shí)間0將CK初始化為0;而在結(jié)構(gòu)描述中,直到period/2才影響CK值。當(dāng)go信號(hào)在時(shí)間0初始化時(shí),CK值到period/2才變化。可以使用特殊命令force和release立即影響CK值。產(chǎn)生的波形(假定產(chǎn)生的波形(假定period為為20)例例2:有不規(guī)則啟動(dòng)延時(shí)的不對(duì)稱時(shí)鐘的例子:有不規(guī)則啟動(dòng)延時(shí)的不對(duì)稱時(shí)鐘的例子:注意:注意:在行為描述中,CK值立刻被影響;而在結(jié)構(gòu)描述
21、中,在傳播延時(shí)后才輸出正確波形。產(chǎn)生的波形(假定產(chǎn)生的波形(假定period為為20)reg ck;initial begin #(period + 1) ck = 1; #(period/2 1) forever begin #(period/4) ck = 0; #(3*period/4) ck = 1; endendreg go; wire ck;nand #(3*period/4, period/4) u1(ck, ck, go);initial begin #(period/4 + 1) go = 0; #(5*period/4 1) go = 1;end例例3:在:在test bench中使用中使用task可以壓縮重復(fù)操作,提高代碼可以壓縮重復(fù)操作,提高代碼效率。效率。module bus_ctrl_tb; reg 7: 0 data; reg data_valid, data_rd; cpu u1 (data_valid, data,data_rd); initial begin cpu_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 方案公司資料五篇
- 文藝部述職報(bào)告
- 用戶裝修技術(shù)資料
- 2024年度醫(yī)療設(shè)備購置擔(dān)保履約保證協(xié)議3篇
- c 操作系統(tǒng)課程設(shè)計(jì)
- 招投標(biāo) 課程設(shè)計(jì)
- 2025年山東淄博職業(yè)學(xué)院招聘高層次緊缺人才29人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年山東濟(jì)寧市金鄉(xiāng)縣事業(yè)單位共招考295人管理單位筆試遴選500模擬題附帶答案詳解
- 快把我哥帶走觀后感范文
- 2025年山東濟(jì)南歷城區(qū)衛(wèi)生健康局所屬事業(yè)單位招聘50人歷年管理單位筆試遴選500模擬題附帶答案詳解
- DB31-T 405-2021 集中空調(diào)通風(fēng)系統(tǒng)衛(wèi)生管理規(guī)范
- 福建省泉州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)及行政區(qū)劃代碼
- PE 電熔焊接作業(yè)指導(dǎo)書
- 計(jì)算書-過濾器(纖維)
- 《有機(jī)波譜分析》期末考試試卷及參考答案
- 地源熱泵維修規(guī)程
- 雙塊式無砟軌道道床板裂紋成因分析應(yīng)對(duì)措施
- FZ∕T 62044-2021 抗菌清潔巾
- 全級(jí)老年大學(xué)星級(jí)學(xué)校達(dá)標(biāo)評(píng)價(jià)細(xì)則
- 模具維護(hù)保養(yǎng)PPT課件
- 《新媒體文案寫作》試卷4
評(píng)論
0/150
提交評(píng)論