2022年北航电子电路设计数字部分实验报告.pdf
《2022年北航电子电路设计数字部分实验报告.pdf》由会员分享,可在线阅读,更多相关《2022年北航电子电路设计数字部分实验报告.pdf(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、电子电路设计数字部分实验报告学院:姓名:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 41 页 - - - - - - - - - - 实验一简单组合逻辑设计实验内容描述一个可综合的数据比较器,比较数据a 、b 的大小,若相同,则给出结果1,否则给出结果 0。实验仿真结果实验代码主程序module compare(equal,a,b); input7:0 a,b; output equal; assign equal=(ab)1:0; endmodule测试程序精品资料 - - - 欢迎下载
2、 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 41 页 - - - - - - - - - - module t; reg7:0 a,b; reg clock,k; wire equal; initial begin a=0; b=0; clock=0; k=0; end always #50 clock = clock; always (posedge clock) begin a0=$random%2; a1=$random%2; a2=$random%2; a3=$random%2; a4=$random%2; a
3、5=$random%2; a6=$random%2; a7=$random%2; b0=$random%2; b1=$random%2; b2=$random%2; b3=$random%2; b4=$random%2;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 41 页 - - - - - - - - - - b5=$random%2; b6=$random%2; b7=$random%2; end initial begin #100000 $stop;end compare m(.e
4、qual(equal),.a(a),.b(b); endmodule实验二简单分频时序逻辑电路的设计实验内容用 always 块和 (posedge clk) 或(negedge clk) 的结构表述一个1/2 分频器的可综合模型,观察时序仿真结果。实验仿真结果精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 41 页 - - - - - - - - - - 实验代码主程序module half_clk(reset,clk_in,clk_out); input clk_in,reset; out
5、put clk_out; reg clk_out; always(negedge clk_in) begin if(!reset) clk_out=0; else clk_out=clk_out; end endmodule测试程序timescale 1ns/100psdefine clk_cycle 50module top; reg clk,reset; wire clk_out; always #clk_cycle clk=clk; initial begin精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - -
6、 -第 5 页,共 41 页 - - - - - - - - - - clk=0; reset=1; #10 reset=0; #110 reset=1; #100000 $stop; end half_clk m0(.reset(reset),.clk_in(clk),.clk_out(clk_out);endmodule实验三利用条件语句实现计数分频时序电路实验内容利用 10MHz的时钟,设计一个单周期形状的周期波形。实验仿真结果精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 41 页 -
7、 - - - - - - - - - 实验代码主程序module fdivision(RESET,F10M,out); input F10M,RESET; output out; reg out; reg7:0 i; always (posedge F10M) if(!RESET) begin out=0; i=0; end else if(i=2|i=3) begin out=out; i=i+1; end else if(i=5) i=1; else i=i+1; endmodule测试程序timescale 1ns/100ps精品资料 - - - 欢迎下载 - - - - - - - -
8、 - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 41 页 - - - - - - - - - - module division_top; reg F10M,RESET; wire out; always #50 F10M=F10M; initial begin RESET=1; F10M=0; #90 RESET=0; #100 RESET=1; #10000 $stop; end fdivision fdivision(.RESET(RESET),.F10M(F10M),.out(out);endmodule实验四阻塞赋值与非阻塞赋值的区别实验内容比
9、较四种不同的写法,观察阻塞与非阻塞赋值的区别。Blocking :always (posedge clk) begin b=a; c=b; endBlocking1 :精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 41 页 - - - - - - - - - - always (posedge clk) begin c=b;b=a;endBlocking2 :always (posedge clk) b=a;always (posedge clk) c=b;non_Blocking :alw
10、ays(posedge clk) begin b=a; c=b; End实验仿真结果精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 41 页 - - - - - - - - - - 实验代码主程序module blocking(clk,a,b,c); output3:0 b,c; input3:0 a; input clk; reg3:0 b,c; always (posedge clk) begin b=a; c=b; endendmodule测试部分timescale 1 ns/100 p
11、sinclude ./include ./include ./include ./module compareTop; wire3:0b11,c11,b12,c12,b13,c13,b2,c2; reg3:0a; reg clk; initial begin精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 41 页 - - - - - - - - - - clk=0; forever#50 clk=clk; end initial begin a=4h3; $display(%d,a); #1
12、00 a=4h7; $display(%d,a); #100 a=4hf; $display(%d,a); #100 a=4ha; $display(%d,a); #100 a=4h2; $display(%d,a); #100 $stop; end blocking blocking(clk,a,b11,c11); blocking1 blocking1(clk,a,b12,c12); blocking2 blocking2(clk,a,b13,c13); non_blocking non_blocking(clk,a,b2,c2);endmodule精品资料 - - - 欢迎下载 - -
13、- - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 41 页 - - - - - - - - - - 实验五用 always 块实现较复杂的组合逻辑实验目的运用 always 块设计一个8 路数据选择器。要求:每路输入数据与输出数据均为4 位 2 进制数,当选择开关(至少3 位)或输入数据发生变化时,输出数据也相应地变化。实验仿真结果实验代码主程序module alu(out,opcode,a1,a2,a3,a4,a5,a6,a7,a8); output3:0 out; reg3:0 out; input3:0 a0,a1,a2,a3
14、,a4,a5,a6,a7; input2:0 opcode;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 41 页 - - - - - - - - - - always(opcode or a1 or a2 or a3 or a4 or a5 or a6 or a7 or a0) begin case(opcode) 3d0: out=a0; 3d1: out=a1; 3d2: out=a2; 3d3: out=a3; 3d4: out=a4; 3d5: out=a5; 3d6: out=
15、a6; 3d7: out=a7; default:out=4b0000; endcase endendmodule测试程序timescale 1ns/1nsinclude ./module alutext; wire3:0 out; reg3:0 a1,a2,a3,a4,a5,a6,a7,a8; reg2:0 opcode; initial begin a1=$random%16; a2=$random%16;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 41 页 - - - - - -
16、- - - - a3=$random%16; a4=$random%16; a5=$random%16; a6=$random%16; a7=$random%16; a8=$random%16; repeat(100) begin #100 opcode=$random%8; a1=$random%16; a2=$random%16; a3=$random%16; a4=$random%16; a5=$random%16; a6=$random%16; a7=$random%16; a8=$random%16; end #100 $stop; end alu alu(out,opcode,a1
17、,a2,a3,a4,a5,a6,a7,a8);endmodule精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 41 页 - - - - - - - - - - 实验六在 Verilog HDL中使用函数实验目的设计一个带控制端的逻辑运算电路,分别完成正整数的平方、立方和最大数为5 的阶乘运算。实验仿真结果实验代码主程序module tryfunct(clk,n,result1,result2,result3,reset); output31:0result1,result2,result3
18、; input3:0n; input reset,clk; reg31:0result1,result2,result3; always(posedge clk) begin if(!reset)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 41 页 - - - - - - - - - - begin result1=0; result2=0; result3=0; end else begin result1=fun1(n); result2=fun2(n); result3=fun3(
19、n); end end function31:0fun1; input3:0operand; fun1=operand*operand; endfunction function31:0fun2; input3:0operand; begin fun2=operand*operand; fun2=operand*fun2; end endfunction function31:0fun3; input3:0operand;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 41 页 - - -
20、- - - - - - - reg3:0index; begin fun3=1; if(operand11) for(index=2;index=operand;index=index+1) fun3=index*fun3; else for(index=2;index=10;index=index+1) fun3=index*fun3; end endfunction endmodule测试程序include./timescale 1ns/100psmodule tryfunctTop; reg3:0 n,i; reg reset,clk; wire31:0result1,result2,r
21、esult3; initial begin clk=0; n=0; reset=1; #100 reset=0;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 41 页 - - - - - - - - - - #100 reset=1; for(i=0;iy) begin tmp=x; x=y; y=tmp; end endtaskendmodule测试部分 1timescale 1ns/100ps精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳
22、 - - - - - - - - - -第 20 页,共 41 页 - - - - - - - - - - include module task_Top; reg7:0a,b,c,d; wire7:0ra,rb,rc,rd; initial begin a=0;b=0;c=0;d=0; repeat(50) begin #100 a=$random%255; b=$random%255; c=$random%255; d=$random%255; end #100 $stop; end rank rank(.ra(ra),.rb(rb),.rc(rc),.rd(rd),.a(a),.b(b)
23、,.c(c),.d(d); endmodule主程序 2module rank(a,rst,clk,ra,rb,rc,rd); output7:0ra,rb,rc,rd; input7:0a; input clk,rst; reg7:0ra,rb,rc,rd; reg7:0va,vb,vc,vd; reg3:0i;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 21 页,共 41 页 - - - - - - - - - - always(posedge clk or negedge clk) begin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 北航 电子 电路设计 数字 部分 实验 报告
限制150内