EDA
课程设计
姓名:
学号:
班级:动化
设计题目
功数字钟电路设计
设计务求
功数字钟应该具功:显示时—分—秒时分钟调等基功整钟表工作应该1Hz信号作进行样时钟信号秒增加1秒秒59秒跳转00秒时分钟增加1分时分钟59分跳转00分时时增加1时时范围0~23时
实验中显示方便分钟秒钟显示范围0~593位二进制码显示十位四位二进制码(BCD码)显示位时范围0~232位二进制码显示十位4位二进制码(BCD码)显示位
实验中七段码扫描方式 显示然时钟需1Hz时钟信号扫描需较高频率信号准确1Hz信号必须输入系统时钟50Mhz进行分频
调整时间键键模块S1S2S1调节时次时增加时S2调整分钟次分钟增加分钟外S8键作系统时钟复位复位全部显示00—00—00
三.基Verilog HDL语言电路设计仿真综合
()顶层模块
程序采结构化设计方法分彼独立定联系三模块图1示:
图1:顶层结构框图
(二)子模块
1分频器
分频器作50Mhz系统时钟信号进行分频频率1000hz信号作显示器输入信号
源程序:
module fenpin(input CP output CPout )
reg CPout
reg [310] Cout
reg CP_En
always @(posedge CP ) 50MHz分频1kHz
begin
Cout < (Cout 32'd50000) 32'd0 (Cout + 32'd1)
CP_En < (Cout 32'd50000) 1'd1 1'd0
CPout < CP_En
end
endmodule
功仿真波形图2示(五分频例):
2控制器计数器
控制器作调整时分钟值实现清零功计数器作实现分钟秒钟满60进1时23跳00达59分55秒时候LED灯会闪烁进行报时控制器计数器驱动信号频率均1Hz分频器输出信号进入控制器进行二次分频1Khz变1Hz
if(Clk_En)
begin
if(R11)
begin
if(Hour<24)
HourHour+1
if(Hour24)
begin
Hour0
end
R10
end
if(R21)
begin
if(Minute<60)
MinuteMinute+1
if(Minute60)
begin
Minute0
if(Hour<24)
HourHour+1
if(Hour24)
begin
Hour0
End
end
R20
end
if(Second<60)
SecondSecond+1
if(Second60)
begin Second0
if(Minute<60)
MinuteMinute+1
源程序:
module kongzhiqi( CPoutS1S2RET
HourMinuteSecondLED )
input CPoutS1S2RET
output [50] Hour
output [50] Minute
output [50] Second
output LED
reg [50] Hour
reg [50] Minute
reg [50] Second
reg R1
reg R2R8LED
reg [100] Cout
reg Clk_En
always@(posedge CPout)
begin
if(S10)
begin
R11
end
if(S20)
begin
R21
end
if(RET0)
begin
R81
end
Cout(Cout32'd1000)32'd0(Cout + 32'd1)
Clk_En(Cout32'd1000)1'd11'd0
LED1
end
else
LED0
if(R81)清零
begin
Hour0
Minute0
Second0
R80
end
end
end
endmod
if(Minute60)
begin
Minute0
if(Hour<24)
HourHour+1
if(Hour24)
begin
Hour0
end
end
end
if((Minute59)&&(Second>55))
begin
if(LED1)
LED0
else
功仿真波形图3示:
3.显示器
显示器作时—分—秒值数码次显示出分频器输出1Khz信号作数码扫描信号SEL 表示三数码选择位取值表示八数码左右次111~000LEDGA表示七段数码取值决定特定位数显示数字
源程序:
4'b0000 Led 7'b0111_111
4'b0001 Led 7'b0000_110
4'b0010 Led 7'b1011_011
4'b0011 Led 7'b1001_111
4'b0100 Led 7'b1100_110
4'b0101 Led 7'b1101_101
4'b0110 Led 7'b1111_101
4'b0111 Led 7'b0000_111
4'b1000 Led 7'b1111_111
4'b1001 Led 7'b1101_111
default Led 7'b0000_000
endcase
if(SEL3'b100)
Led7'b1000_000
if(SEL3'b011)
case(shiwei2)
4'b0000 Led 7'b0111_111
4'b0001 Led 7'b0000_110
4'b0010 Led 7'b1011_011
4'b0011 Led 7'b1001_111
4'b0100 Led 7'b1100_110
module xianshi( CPoutHourMinute
SecondSELLEDAG )
input CPout
input HourMinute Second
output SELLEDAG
reg [20] SEL
reg [60] Led
reg [30] shi1ge1shi2ge2shi3ge3
always @(posedge CPout )
begin
shiwei1Hour10
gewei1Hour10
shiwei2Minute10
gewei2Minute10
shiwei3Second10
gewei3Second10
if(SEL3'b110)
case(shiwei1)
4'b0000 Led 7'b0111_111
4'b0001 Led 7'b0000_110
4'b0010 Led 7'b1011_011
4'b0011 Led 7'b1001_111
4'b0100 Led 7'b1100_110
4'b0101 Led 7'b1101_101
4'b0110 Led 7'b1111_101
4'b0111 Led 7'b0000_111
4'b1000 Led 7'b1111_111
4'b1001 Led 7'b1101_111
default Led 7'b0000_000
endcase
if(SEL3'b101)
case(gewei1)
default Led 7'b0000_000
endcase
if(SEL3'b111)
case(gewei3)
4'b0000 Led 7'b0111_111
4'b0001 Led 7'b0000_110
4'b0010 Led 7'b1011_011
4'b0011 Led 7'b1001_111
4'b0100 Led 7'b1100_110
4'b0101 Led 7'b1101_101
4'b0110 Led 7'b1111_101
4'b0111 Led 7'b0000_111
4'b1000 Led 7'b1111_111
4'b1001 Led 7'b1101_111
default Led 7'b0000_000
endcase
SEL SEL + 3'd1
end
assign
LEDAGLed
endmodule
4'b0101 Led 7'b1101_101
4'b0110 Led 7'b1111_101
4'b0111 Led 7'b0000_111
4'b1000 Led 7'b1111_111
4'b1001 Led 7'b1101_111
default Led 7'b0000_000
endcase
if(SEL3'b010)
case(gewei2)
4'b0000 Led 7'b0111_111
4'b0001 Led 7'b0000_110
4'b0010 Led 7'b1011_011
4'b0011 Led 7'b1001_111
4'b0100 Led 7'b1100_110
4'b0101 Led 7'b1101_101
4'b0110 Led 7'b1111_101
4'b0111 Led 7'b0000_111
4'b1000 Led 7'b1111_111
4'b1001 Led 7'b1101_111
default Led 7'b0000_000
endcase
if(SEL3'b001)
Led7'b1000_000
if(SEL3'b000)
case(shiwei3)
4'b0000 Led 7'b0111_111
4'b0001 Led 7'b0000_110
4'b0010 Led 7'b1011_011
4'b0011 Led 7'b1001_111
4'b0100 Led 7'b1100_110
4'b0101 Led 7'b1101_101
4'b0110 Led 7'b1111_101
4'b0111 Led 7'b0000_111
4'b1000 Led 7'b1111_111
4'b1001 Led 7'b1101_111
总结体会
次课程设计然短短四天收获通次实掌握EDA设计基流程(设计输入—编译—调试—仿真—载)领会顶结构化设计优点具备初步EDA程序设计力
感觉程序难方顶层模块设计顶层模块需子模块电路原理机结合起需扎实理功底正欠缺相言子模块设计容易Verilog语言C语言相似处明白实验原理难完成水高体现程序简洁否Verilog源程序编写容易出现错误需耐心调试情况长串错误意错误引起程序屡调屡错时候学沟通交流意句话启发问题迎刃解
次实感触深行态度问题力端正态度抛弃放弃取令满意成绩衷感谢次课程设计中巨帮助老师学
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档