文档详情

基于FPGA的多功能数字钟课程设计.doc

发布:2024-02-23约3.97千字共13页下载文档
文本预览下载声明

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

显示全部
相似文档