- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
FPGA课程设计报告
(实现多功能数字钟)
专业班级:07通信2班
姓名:朱绍兴
学号:070103021136
时间:2009.12.30
标题:设计多功能数字钟控制电路
任务书:用MAX+PLUSⅡ软件及VerilogHDL语言设计
一个多功能的数字钟,包括有时、分、秒的计
时,以及校时(对小时、分钟和秒能手动调整以校准时间)、正点报时(每逢整点,产生“嘀嘀嘀嘀-嘟”,4短一长的报时音)等附加功能。
关键词:24进制、60进制、正点报时、校时、数字钟
四、总体方案:多功能数字钟控制电路框图是由三部分组成的,即秒分时控制电路、整点报时控制电路、时段控制电路。用VerilogHDL硬件描述语言完成编译和仿真。
五、原理框图如下:
建立设计工程项目名和顶层图形文件。
建立设计工程项目名和顶层图形文件。
↓设计底层各模块
设计底层各模块*.v文件,仿真底层各模块*.v文件,仿真波形正确并打包
↓
用Max+plus
用Max+plusⅡ对打包好的文件进行管脚分配。
↓
在FPGA实验板上下载并观察功能
在FPGA实验板上下载并观察功能
六、VerilogHDL硬件描述语言编写的功能模块:
/*秒计数器m60*/
modulem60(M,CP60M,CPM,RD);
output[7:0]M;
outputCP60M;
inputCPM;
inputRD;
reg[7:0]M;
wireCP60M;
always@(negedgeRDorposedgeCPM)
begin
if(!RD)
beginM[7:0]=0;
end
else
begin
if((M[7:4]==5)(M[3:0]==9))
begin
M[7:0]=0;
end
else
begin
if(M[3:0]==9)
begin
M[3:0]=0;
if(M[7:4]==5)
beginM[7:4]=0;end
elseM[7:4]=M[7:4]+1;
end
elseM[3:0]=M[3:0]+1;
end
end
end
assignCP60M=~(M[6]M[4]M[3]M[0]);
endmodule
/*分计数器m60*/
modulem60(M,CP60M,CPM,RD);
output[7:0]M;
outputCP60M;
inputCPM;
inputRD;
reg[7:0]M;
wireCP60M;
always@(negedgeRDorposedgeCPM)
begin
if(!RD)
beginM[7:0]=0;
end
else
begin
if((M[7:4]==5)(M[3:0]==9))
begin
M[7:0]=0;
end
else
begin
if(M[3:0]==9)
begin
M[3:0]=0;
if(M[7:4]==5)
beginM[7:4]=0;end
elseM[7:4]=M[7:4]+1;
end
elseM[3:0]=M[3:0]+1;
end
end
end
assignCP60M=~(M[6]M[4]M[3]M[0]);
endmodule
/*小时计数器m24*/
modulem24(H,CPH,RD);
output[7:0]H;
inpu
文档评论(0)