数字逻辑设计及应用课程设计报告模版
数字逻辑设计及应用
课程设计报告
姓 名: 学 号: 选课号:
一.设计题目
设计模拟中央人民广播电台报时电路
二.设计要求
(1)当计时器运行到59分49秒开始报时,每名叫1s 就停叫1s ,共鸣叫6响,前5响为低音,频率为740Hz ;最后一响为高音,频率为1KHz ; (2)至少要有分秒显示。
三.设计过程(包括:设计方案、V erilog 程序与仿真结果等)
1. 设计方案:
(1)整体逻辑电路图
2.V erilog 程序:
(1)顶层模块:
module top(clk,clr,ci,en1,en2,q1,q2,q3,q4,q5,q6,out,lsp,hsp);
input clk,clr,ci,en1,en2,lsp,hsp; output out;
output [6:0] q1,q2,q3,q4,q5,q6; wire [6:0] q1,q2,q3,q4,q5,q6;
wire [3:0] qn1,qn2,qn3,qn4,qn5,qn6; wire out;
wire a1,a2,b1,b2,co1,co2,co,ci1,ci2; sec u1(ci,clk,clr,a1,b1,co1,qn1,qn2); chose u4(co1,clk,en1,ci1);
min u2(ci,ci1,clr,a2,b2,co2,qn3,qn4); chose u12(co2,clk,en2,ci2);
hour u3(ci,ci2,clr,co,qn5,qn6);
drvbz u5(a1,a2,b1,b2,hsp,lsp,out,ci); decode u6(qn1,q1); decode u7(qn2,q2); decode u8(qn3,q3); decode u9(qn4,q4); decode u10(qn5,q5); decode u11(qn6,q6);
endmodule
(2)功能模块:
(i )秒控制功能模块:
module sec(ci,clk,clr,a,b,co,qh,ql);
input ci,clk,clr; wire clr,ci; output a,b,co; output [3:0]qh,ql; reg a,b,co; reg [3:0] qh,ql;
always@(posedge clr or posedge clk) if(clr) begin a
if(ci)begin a
4'b0000:begin a
4'b0010:begin a
4'b1001:begin a
default begin a
endcase
else if (ql==9)begin ql
else begin co
end
endmodule
(ii )分钟控制功能模块:
module min(ci,clk,clr,a,b,co,qh,ql);
input ci,clk,clr; wire clr,ci;
output a,b,co,qh,ql; reg a,b,co;
reg [3:0] qh,ql;
always@(posedge clr or posedge clk) if(clr) begin a
end
else begin co
endmodule
(iii )小时控制功能模块(输出为24小时制)
module hour(ci,clk,clr,co,qh,ql);
input ci,clk,clr; wire clr,ci;
output co,qh,ql; reg co;
reg [3:0] qh,ql;
always@(posedge clr or posedge clk) if(clr) begin co
if(ci)begin co
else if((ql==3)&&(qh==2))begin ql
else begin ql
endmodule
(iv )调整时间模块:
module chose(cp1,cp2,en,out);
input cp1,cp2,en; output out; reg out;
always@(cp1 or cp2 or en) case(en) 0:out
1:out
default out
endmodule
(v )蜂鸣器驱动模块:
module drvbz(a1,a2,b1,b2,hsp,lsp,bzout,ci);
input hsp,lsp,ci; input a1,a2,b1,b2; output bzout; reg bzout;
always@(a1 or a2 or b1 or b2 or ci) if(ci) bzout=lsp; else begin if((a1==1)&&(a2==1))bzout
endmodule
(vi )译码器模块 module decode(i,o);
input [3:0] i; output [6:0] o; reg [6:0] o;
always@(i) begin case(i) 4'b0000:o=7'b1111110; 4'b0001:o=7'b0110000; 4'd0010:o=7'b1101101; 4'b0011:o=7'b1111001; 4'b0100:o=7'b0110011; 4'b0101:o=7'b1011011; 4'b0110:o=7'b1011111; 4'b0111:o=7'b1110000; 4'b1000:o=7'b1111111; 4'b1001:o=7'b1111011;
default:o=7'bx;
endcase
end
endmodule
3. 仿真结果:
(1)模块仿真结果: i. 秒计时器仿真结果:
ii.. 分钟计时仿真结果:
iii. 小时计时仿真结果:
iv. 选择器仿真结果
v. 蜂鸣器驱动器仿真结果:
vi. 译码器仿真结果:
(2)顶层设计仿真结果: i 一般运行仿真结果:
ii 报时仿真结果:
4. 设计说明:
clk 为时钟信号,频率为1hz ;clr 是重置信号,高电平有效,使全局输出为低电平;ci 为保持信号,高电平有效,ci 高电平时,输出的时,分,秒均保持状态不变,且蜂鸣器发出鸣叫;en1为调整分的信号,高电平有效,en1高电平时,分钟显示将每秒增加一个单位;en2为调时信号,高电平有效,en2高电平时,小时显示将每秒增加一个单位;q1~q6为时钟显示输出,接7断bcd 数码管;out 为蜂鸣器驱动输出;lsp 是低频信号输入,hsp 是高频信号输入,作用是再报时时,该信号将通过out 作用在蜂鸣器上,使蜂鸣器发出鸣叫。
四.设计结论(包括:设计结果分析、设计中遇到的问题、设计心得和体会等)
1. 设计结果分析:
2. 设计中遇到的问题:对信号的定义 3. 设计新的和体会
注:可加小节编号,正文用5号字体,图、表必须有(图、表) 编号和(图、表) 标题