欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 數字邏輯實驗指導 [打印本頁]

作者: jmy2638    時間: 2018-6-21 15:57
標題: 數字邏輯實驗指導
實驗一:基本邏輯門實驗

一、目的和要求
1、初步掌握FPGA的編程方法;
2、初步掌握verilogHDL語言的語法;
3、初步掌握Quartus II軟件的用法;

二、實驗內容
編寫程序實現輸入a,b,
輸出out1為a與b,
輸出out2為a或b,
輸出out3為a異或b,
輸出out4為a同或b,
輸出out5為~a與~b,
輸出out6為~a或~b;

三、實驗步驟
1、安裝Quartus II軟件;
2、建立Quartus II工程;
3、編寫verilogHDL程序;
4、查看生成的結果;

四、實驗結論
(把生成的RTL視圖畫上)

五、附錄
(寫verilogHDL程序)



實驗二:組合邏輯實驗

一、目的和要求
1、進一步掌握verilogHDL語言的語法;
2、掌握verilog的組合邏輯編程方法;
3、初步掌握使用modelsim軟件進行仿真測試的方法;

二、實驗內容
編寫verilog模塊實現7段數碼管譯碼器74ls48的功能;
編寫verilog測試模塊對功能模塊進行測試;
對輸出波形進行分析;
對照波形分析對功能模塊進行修訂;

三、實驗步驟
1、在modelsim下建立工程;
2、編寫功能模塊程序;
3、編寫測試模塊程序;
4、運行仿真分析輸出波形完善設計;

四、實驗結論
(畫出一段輸出波形并分析是否正確)

五、附錄
(寫verilog的功能模塊和測試模塊程序)

module ex74ls48(d,y);

input [3:0] d;

output [6:0] y;

reg [6:0] y;

always @ (d)

begin

case (d)

4'b0000:y=7'b1111110;

4'b0001:y=7'b0110000;

4'b0010:y=7'b1101101;

4'b0011:y=7'b1111001;

4'b0100:y=7'b0110011;

4'b0101:y=7'b1011011;

4'b0110:y=7'b0011111;

4'b0111:y=7'b1110000;

4'b1000:y=7'b1111111;

4'b1001:y=7'b1110011;

default:y=7'b0000000;

endcase

end

endmodule



`timescale 1ns/1ns

module test74ls48;

reg [3:0] d;

wire [6:0] y;

initial

begin

d=0;

repeat(10)

#100 d=d+1;
#100 $stop;

end

ex74ls48 ex1(d,y);

initial $monitor($time,"   d=%d   y=%b",d,y);
endmodule

實驗三:時序邏輯實驗

一、目的和要求
1、進一步掌握verilogHDL語言的語法;
2、掌握verilog的時序邏輯編程方法;
3、掌握使用modelsim軟件進行仿真測試的方法;

二、實驗內容
編寫verilog模塊實現不帶預置功能的十進制加法計數器功能;
編寫verilog測試模塊對功能模塊進行測試;
對輸出波形進行分析;
對照波形分析對功能模塊進行修訂;

三、實驗步驟
1、在modelsim下建立工程;
2、編寫功能模塊程序;
3、編寫測試模塊程序;
4、運行仿真分析輸出波形完善設計;

四、實驗結論
(畫出一段輸出波形并分析是否正確)

五、附錄
(寫verilog的功能模塊和測試模塊程序)

module ex3(reset,clk,bcd,c);

input reset,clk;

output reg [3:0] bcd;

output reg c;

always @(posedge clk,negedge reset)

begin

if(!reset)

begin

bcd<=0;

c<=0;

end

else

if(bcd==9)

begin

bcd<=0;

c<=1;

end

else

begin

bcd<=bcd+1;

c<=0;

end

end
endmodule



`timescale 1ns/1ns
module ex3test;
reg clk,reset;
wire [3:0] bcd;
wire c;
always #50 clk<=~clk;
initial
begin
clk<=0;
reset<=1;
#50 reset<=0;
#50 reset<=1;
#2000 $finish;
end
ex3 ex1(reset,clk,bcd,c);
initial $monitor($time,"   bcd=%d  c=%d",bcd,c);
endmodule

實驗四:電子時鐘設計實驗

一、目的和要求
1、掌握verilogHDL語言的語法;
2、掌握verilog編程的方法;
3、掌握使用modelsim軟件進行仿真測試的方法;

二、實驗內容
編寫verilog模塊實現帶預置功能的具有時分秒計時能力的電子時鐘設計;
編寫verilog測試模塊對功能模塊進行測試;
對輸出波形進行分析;
對照波形分析對功能模塊進行修訂;

三、實驗步驟
1、在modelsim下建立工程;
2、編寫功能模塊程序;
3、編寫測試模塊程序;
4、運行仿真分析輸出波形完善設計;

四、實驗結論
(畫出一段輸出波形并分析是否正確)

五、附錄
(寫verilog的功能模塊和測試模塊程序)

module ex3(reset,set,clk,s0,s1);

input reset,clk,set;

input [16:0] s0;
output reg [16:0] s1;

always @(posedge clk,negedge reset,negedge set)

begin

if(!reset)

s1<=0;   
else

if(!set)

s1<=s0;   
else

if(s1[5:0]==59)

begin

s1[5:0]<=0;
if
(s1[11:6]==59)

begin
s1[11:6]<=0;
if
(s1[16:12]==23)

s1[16:12]<=0;
else
s1[16:12]<=s1[16:12]+1;
end
else         
s1[11:6]<=s1[11:6]+1;

end

else

s1[5:0]<=s1[5:0]+1;


end
endmodule




`timescale 1ns/1ns
module ex3test;
reg clk,reset,set;
reg [16:0] s0;
wire [16:0] s1;
always #50 clk<=~clk;
initial
begin
clk<=0;
reset<=1;
set<=1;
#50 reset<=0;
#50 reset<=1;
#10000 s0[16:12]<=20;s0[11:6]<=30;s0[5:0]<=40;
#50 set<=0;
#50 set<=1;
#10000 s0[16:12]<=23;s0[11:6]<=58;s0[5:0]<=50;
#50 set<=0;
#50 set<=1;
#20000 $finish;
end
ex3 ex1(reset,set,clk,s0,s1);
initial $monitor($time,"   s0=%d:%d:%d  s1=%d:%d:%d",s0[16:12],s0[11:6],s0[5:0],s1[16:12],s1[11:6],s1[5:0]);
endmodule






歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1