数字电路期末实验考试

1.实验目的:
熟悉Verilog语言的使用,熟练的使用modelsim软件,对老师期末布置的三个实验进行仿真。
2.实验内容:
1.数字逻辑基础与Verilog设计P160 图5.57
2.Verilog HDL(第二版)数字电路设计及仿真 十二章选题三
3.Verilog HDL(第二版)数字电路设计及仿真 P202 例6.40
3.实验原理:1.用书中D触发器的代码,运行仿真分析D触发器的原理。2.使用点阵进行电路设计,设计出8x8的点阵,控制发光二极管,从而使其可以显示特定的字符。
3.设计不带内嵌定时控制的非静态循环,具有数据依赖性的循环的迭代次数在仿真前不能确定。如果该循环没有内嵌定时控制,那么该行为能够被仿真但不能综合。在仿真时这种行为实际上是顺序执行的,但硬件不能在单个
时钟周期中完成循环的计算,可从第三个实验中中得到证实。

4实验工具:PC机和modelsim软件。

5.实验截图:第一个实验仿真结果第一个实验仿真结果

第二个实验仿真结果第二个实验仿真结果

第三个实验仿真结果

第三个实验仿真结果

6.实验视频:
由于视频文件过大,作者已发布在哔哩哔哩app,请打开以下链接进行播放:
点阵实验:【点阵实验视频-哔哩哔哩】https://b23.tv/7tdldY
【数字电路基础、期末实验考试三大实验、详细讲解-哔哩哔哩】https://b23.tv/jDkuWO

7.实验代码:1.module rege(D,Clock,Resetn,E,Q);
input D,Clock,Resetn,E;
output reg Q;
always @(posedge Clock,negedge Resetn)
if(Resetn==0)
Q<=0;
else if(E)
Q<=D;
endmodule
2.module dianzhen8x8(line,column,clk, reset);
input clk, reset;
output [7:0] line, column;
reg [7:0] line, column;
reg[7:0] i,j,k; //
task dis; //
reg[7:0] column_tmp; //
reg[7:0] line_tmp; //

begin
case(i) //
0:column_tmp=8’h01; //
1:column_tmp=8’h02; //
2:column_tmp=8’h04;//
3:column_tmp=8’h08;//
4:column_tmp=8’h10;//
5:column_tmp=8’h20;//
6:column_tmp=8’h40;//
7:column_tmp=8’h80;//
default:column_tmp=8’h00;//
endcase

k=(i+j)%80; //
case(k) //
0:line_tmp = 8’h00; // V
1:line_tmp = 8’h40; //
2:line_tmp = 8’h78; //
3:line_tmp = 8’h04; //
4:line_tmp = 8’h02; //
5:line_tmp = 8’h04;//
6:line_tmp = 8’h78;//
7:line_tmp = 8’h40;//
8:line_tmp = 8’h00; //e
9:line_tmp = 8’h3C;//
10:line_tmp = 8’h52;//
11:line_tmp = 8’h92;//
12:line_tmp = 8’h92;//
13:line_tmp =8’h52;//
14:line_tmp= 8’h34;//
15:line_tmp= 8’h00;//
16:line_tmp = 8’h00; //r
17:line_tmp = 8’h00;//
18:line_tmp = 8’h80;//
19:line_tmp = 8’hFE;//
20:line_tmp = 8’h10;//
21:line_tmp = 8’h20;//
22:line_tmp = 8’h40;//
23:line_tmp = 8’h40;//
24:line_tmp = 8’h00; //i
25:line_tmp = 8’h00;//
26:line_tmp = 8’h00;//
27:line_tmp = 8’h20;//
28:line_tmp = 8’hBF;//
29:line_tmp = 8’h02; //
30:line_tmp = 8’h00;//
31:line_tmp = 8’h00;//
32:line_tmp = 8’h00; //1
33:line_tmp = 8’h00;//
34:line_tmp = 8’h00;//
35:line_tmp = 8’h7E; //
36:line_tmp = 8’h02;//
37:line_tmp= 8’h02;//
38:line_tmp = 8’h00;//
39:line_tmp =8’h00;//
40:line_tmp = 8’h00; // o
41:line_tmp = 8’h3C;//
42:line_tmp = 8’h42;//
43:line_tmp = 8’h42;//
44:line_tmp = 8’h42;//
45:line_tmp = 8’h3C;//
46:line_tmp = 8’h00;//
47:line_tmp = 8’h00;//
48:line_tmp = 8’h00;//
49:line_tmp = 8’h00;//
50:line_tmp =8’h64;//
51:line_tmp = 8’h92;//
52:line_tmp = 8’h92;//
53:line_tmp = 8’h6C;//
54:line_tmp = 8’h00; //
55:line_tmp = 8’h00;//
56:line_tmp = 8’h00; // H
57:line_tmp = 8’hFE;//
58:line_tmp = 8’h10; //
59:line_tmp = 8’h10; //
60:line_tmp = 8’h10;//
61:line_tmp = 8’h10;//
62:line_tmp = 8’hFE;//
63:line_tmp = 8’h00;//
64:line_tmp = 8’h00;//D
65:line_tmp = 8’h7E;//
66:line_tmp = 8’h42;//
67:line_tmp = 8’h42;//
68:line_tmp= 8’h42;//
69:line_tmp= 8’h3C;//
70:line_tmp= 8’h00;//
71:line_tmp= 8’h00;//
72:line_tmp= 8’h00;//1
73:line_tmp= 8’h00;//
74:line_tmp= 8’h7E;//
75:line_tmp = 8’h02;//
76:line_tmp = 8’h02;//
77:line_tmp = 8’h02;//
78:line_tmp = 8’h02; //
79:line_tmp = 8’h00; //
default:line_tmp = 8’h00;
endcase

column = column_tmp; //
line = line_tmp; //

end
endtask

always @(posedge clk )
if(reset)
begin
i=0;
j=0;
end
else
begin
i=i+1;//
if(i9)
begin
j=0; //
j=j+1;//
end //
if(j
81)
j=0;//

dis;//?
end

endmodule

module tb8x8;
reg clk,reset;
wire [7:0] line, column;
initial
begin
clk=0;
reset=0;
#10 reset=1;
#10 reset=0;

#1000 $stop;
end
always #5 clk=~clk;
dianzhen8x8 i8x8 (line, column, clk, reset);
endmodule

3.module count_ones_c#( parameter data_width = 4,count_width = 3)(
output reg [count_width-1:0] bit_count,
input [data_width-1: 0] data,
input clk, reset
);
reg [count_width-1: 0] count, index;
reg [data_width-1:0] temp;
always @(posedge clk)
if (reset) begin count = 0; bit_count = 0; end
else begin
count=0;
temp = data;
for(index=0;| temp; index = index + 1) begin
if (temp[0] ) count = count+ 1;
temp=temp>>1;
end
bit_count= count;
end
endmodule

实验感悟:通过大量的Verilog代码的编写,熟悉了代码的格式,学会自己看懂代码,懂得实验原理,在老师的引领下,从懵懂无知,到逐渐步入了数字电路的世界,领悟Verilog语言的精妙和数字的电路的奇妙,不断进步,成为更严更博识更强大的学生。

版权声明:本文为CSDN博主「qq_54973177」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本书第一章为数字电路实验基础知识,主要介绍电子电路实验要求,电路的安装、调试等技术。第二章为数字电路实验,共有 15 个实验,采用以数字实验箱、电子实验设备为工作平台进行电路实验的传统实验方法。第三章为计算机辅助实验,共有 6个实验,主要以 CPU为工作平台,通过电子电路仿真软件进行电路的仿真实验。 本书所列实验共 21 个。其中基本实验有 4 个: “实验仪器的使用及门电路逻辑功能的测试”、“OC门与TS门”、“波形的产生及单稳态触发器”、“数字电路逻辑功能的测试” 。前3 个为传统实验方法,最后一个为计算机辅助实验。设计性实验有 9 个: “ TTL 与非门应 用” 、“组合电路的设计” 、 “编码器” 、“数据选择器” 、“RS触发器与D 触发器” 、“JK触发器”、“移位寄存型计数器”、 “加法器”、“CMOS门电路在波形产生与整形中的应用”,前7 个为传统实验方法,后 2个为计算机辅助实验。综合性实验有 8 个:“译码器及数码显示”、“集成计数器及应用” 、“时序电路的设” 、“555 定时器及其应用” 、“数字秒表” 、“计数器及译码显示”、“智力抢答器”、“家用电扇控制器”,前 5 个为传统实验方法,后 3 个为计算机辅助实验。 书末附录 A、B、C 分别介绍了数字实验箱、示波器、Multisim 2001 电路仿真软件的使用简介,附录 D为实验用集成电路管脚排列图,以供查阅。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值