




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、注釋無法直接打出中文,用文本編輯器打出后復(fù)制到注釋處Quartus起名要求總共涉及到的名字有工程名,模塊名,具體描述模塊的Verilog文件名,原理圖文件名。工程名為A,那么最終需要編譯的文件的名字必須和工程名相同。只能將最終需要編譯的原理圖命名為A(可能一個工程下不只一個原理圖,要將最后仿真需要的總原理圖命名為A),而模塊名一定不能為A。在Verilog程序中描述模塊時,可以給模塊起名為B,程序完成后不需要編譯,直接create symbol,在一個Verilog程序中可以定義多個模塊,名字均不同,并且可以在一個模塊中使用其他的模塊,在create symbol時程序中有幾個模塊就會相應(yīng)產(chǎn)生
2、幾個器件。這個Verilog程序文件(.v文件)的名字可以為A或不為A??傊汗こ堂麨锳,最終要編譯的總原理圖名一定要為A,原理圖中使用的各模塊名一定不能為A,定義這些模塊的Verilog文件名可以為A或不為A。建立相應(yīng)的文件block diagram/schematic file 建立原理圖、表模塊文件vector waveform file 建立矢量波形文件,保存后仿真,分為功能仿真與時序仿真,功能仿真忽略了延時,時序仿真加上了延時方法:assignments-settings,在simulation mode 中選擇functional是功能仿真,timeing是時序仿真設(shè)置完成后,要生
3、成功能仿真網(wǎng)絡(luò)表processing-generate functional simulation netlist再點擊按鈕進行仿真規(guī)劃引腳分布:assignmentspin planner(必須要選定器件才能規(guī)劃引腳)觸發(fā)器D:Q*=DJK:Q*=JQ+KQT:Q*=TQ+TQSR:Q*=S+RQ混合編輯自底向上:建立工程,建立2個(或以上)所需的VerilogHDL文件,并輸入代碼保存。創(chuàng)建圖元:file-creat/update-creat symbol files for current file,生成.bsf格式的圖元文件。再新建原理圖文件,上述圖元文件就可以添加進原理圖文件中了。自
4、頂向下:建立工程,建立原理圖文件,放置符號塊(block tool),在block properties中設(shè)置名字、I/O類型等,添加模塊引線(node tool/ bus tool等)并設(shè)置屬性(general選項卡設(shè)置I/O類型,mappings設(shè)置連線節(jié)點名稱)。右擊符號塊選擇create design file form selected block,選擇verilogHDL語言,單擊OK,在生成的“.v”文件中修改代碼VerilogHDL語言都是以module開始以endmodule結(jié)束的一段程序Module<模塊名>(<端口列表>)<定義><
5、;模塊條目>endmodule其中注意:工程名,verilogHDL文件名,模塊名要相同才不會報錯。Assign連續(xù)賦值語句,一直檢測等式左右兩端變量,一旦其中一個發(fā)生變化,就重新賦值并傳給等式左端輸出。在一個VerilogHDL文件中調(diào)用子模塊:3個方法法一:首先建立工程(eg.lm),再建立VerilogHDL文件(lm),編寫完成后將其設(shè)置為頂層文件,project -set as top level entiey。再建立VerilogHDL文件(ll),當做子文件。即可在lm中調(diào)用ll了。VerilogHDL區(qū)分大小寫;并且包含102個關(guān)鍵詞,關(guān)鍵詞必須小寫Parameter(小
6、寫)進行參數(shù)聲明,eg:parameter param1=count,BIT=1;可以聲明數(shù)字也可以是計算表達式。預(yù)處理命令:見VerilogHDL程序設(shè)計與應(yīng)用P19include中的是鍵盤左上角1旁邊的那個鍵在英文狀態(tài)下的輸入法二:include "F:quartusexercise4調(diào)用子模塊ll.v"module lm(in1,in2,out);input in1,in2;output out;wire w1;ll ll1(in1,in2,w1);ll ll2(w1,w1,out);endmodule法三:等價于module ll(in1,in2,out);inpu
7、t in1,in2;output out;assign out=(in1&in2);endmodule module lm(in1,in2,out);input in1,in2;output out;wire w1;ll ll1(in1,in2,w1);ll ll2(w1,w1,out);endmoduleO(o)八進制 B(b)二進制 D(d)十進制 H(h) 十六進制 線網(wǎng)的聲明語法:net_kind msb:lsb net1;Net_kind是網(wǎng)線類型,msb:lsb 定義網(wǎng)線寬度,不寫默認是1(2:0寬度為3) net1網(wǎng)線變量的名稱具體語句賦值總是從最低位(右側(cè))開始向最高位
8、進行,任何多余的位都會被截斷。有兩種賦值方法:一是“=”阻塞賦值,相當于串行,必須執(zhí)行完這一句才能完成下一句;二是“<=”非阻塞賦值,看成并行,與下一句可以同時執(zhí)行;但是只能給寄存器賦值。If條件語句下沒有大括號,用begin-end來代替用if語句最好加上else,用case,最好加上default,防止出現(xiàn)鎖存器。Begin If()q=d;end (1)1產(chǎn)生了鎖存器,因為在不滿足時無定義,q還要保持原先的值Begin if() q=d;else q=0;end (2)2沒有鎖存器。在不滿足時,q被賦值為0.順序語句塊Begin-end并行語句塊:并行執(zhí)行,與書寫順序無關(guān)Fork
9、- joinCase語句:多選一Case(判斷)A:-;B:-;Default:-;EndcaseCasez語句:條件表達式和分支表達式的值z被認為是無關(guān)值。Casex:x,z被認為無關(guān)Casez(Ask) 4b1?:bus1=0; /ask第一位為1,忽略其他位,bus1賦值04b01?:bus0=0; endcase/ask第2位為1,忽略其他,bus1賦值1.Initial語句只執(zhí)行一次,一個模塊可含多個initial,并行執(zhí)行Always語句只要滿足規(guī)定的條件,就一直執(zhí)行;而initial語句整個仿真過程就執(zhí)行一次。always (*) /后加敏感信號列表,加*是省略Always #5
10、 clk=clk;時延五秒后再執(zhí)行并且可以用控制always語句的發(fā)生:always (A)/語句發(fā)生的條件是A發(fā)生(有值改變)。定義邊沿出發(fā)事件,有電平跳變就執(zhí)行。Wait控制電平敏感事件。(negedge A)B=$time;/在A的下降沿執(zhí)行把當前時間賦給B;/negedge下降沿;posedge上升沿Always Wait () -;end 等待值為1,向下執(zhí)行。屏幕顯示display,輸出會自動換行$display(”-is %b”,A);/屏幕顯示-is A$write(“-”)/輸出不會自動換行,要加換行符n循環(huán)語句Forever永遠執(zhí)行Repeat(loop_count)語句;
11、loop_count控制循環(huán)次數(shù)While帶條件循環(huán)表達式For類似C語言畫原理圖可以畫出如圖a的波形將圖中的起始值進行更改即可位與和邏輯與&&是邏輯與 即判斷&&兩側(cè)的表達式是否都為真,都為真則此&&表達式值為真;& 是按位與 即將&兩側(cè)的數(shù)用二進制展開,每一位都求與運算(二進制與運算,跟邏輯與差不多),最后得到的二進制數(shù)即為結(jié)果;邏輯與結(jié)果只講真和假,而按位與得出的卻是實實在在的一個數(shù)數(shù)據(jù)流描述:采用assign連續(xù)賦值語句行為描述:使用always語句或initial語句塊中的過程賦值語句結(jié)構(gòu)化描述:實例化已有的功能模塊或原
12、語(include”-.v ”.)四位全加器數(shù)據(jù)流描述module Full_Add_4b_1( A, B, Cin, Sum, Cout ); input3:0 A;input3:0 B; input Cin; output3:0 Sum; output Cout; assign Cout, Sum = A + B + Cin; endmodule行為描述module Full_Add_4b_2( A, B, Cin, Sum, Cout );input3:0 A; input3:0 B;input Cin; outp
13、ut3:0 Sum; output Cout; reg 3:0 Sum; reg Cout; always (A or B or Cin) begin Cout, Sum <= A + B + Cin; end endmodule基于時序邏輯的時候就用reg,組合邏輯一般用wire。always中只能用reg,才能對其賦值。Always模塊內(nèi)要被賦值的每一個信號都要定義為reg16b1010_1011_1111_1010 “_”用于每四位數(shù)之間,增加程序可讀性。Parameter定義一個標識符代表一個常量。Parameter A=3.14Memory類型Reg n
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)地產(chǎn)整裝技術(shù)與環(huán)保材料應(yīng)用
- 工業(yè)污染治理與環(huán)境保護策略
- 工業(yè)污染源監(jiān)測及治理方案
- 工業(yè)污染防治與循環(huán)經(jīng)濟
- 工業(yè)機器人技術(shù)及其產(chǎn)業(yè)升級策略
- 工業(yè)生產(chǎn)中的質(zhì)量控制與檢測技術(shù)
- 工業(yè)自動化系統(tǒng)的遠程監(jiān)控與控制
- 工業(yè)機械設(shè)備的使用與日常維護
- 工業(yè)環(huán)境影響評價與法規(guī)要求
- 工業(yè)自動化與智能工廠的發(fā)展趨勢
- 團員組織關(guān)系轉(zhuǎn)接介紹信(樣表)
- 濟北中學(xué)信息技術(shù)特長生歷年試題
- 儲能在電力系統(tǒng)中的應(yīng)用
- 老年人胃食管反流病護理
- 非煤礦山-礦山機電安全管理課件
- 職業(yè)學(xué)校學(xué)生崗位實習三方協(xié)議范本
- 河北省唐山市路南區(qū)2023年數(shù)學(xué)五年級第二學(xué)期期末經(jīng)典試題含解析
- 2023年廣東初中學(xué)業(yè)水平考試生物試卷真題(含答案)
- 奶茶店消防應(yīng)急預(yù)案
- 工程制圖及機械CAD基礎(chǔ)知到章節(jié)答案智慧樹2023年吉林大學(xué)
- 初級會計職稱考試教材《初級會計實務(wù)》
評論
0/150
提交評論