搜档网
当前位置:搜档网 › 基于FPGA的数字时钟课程设计

基于FPGA的数字时钟课程设计

基于FPGA的数字时钟课程设计
基于FPGA的数字时钟课程设计

基于FPGA的数字时钟

成员:

技术规范

一、功能定义

1、分频:在电子钟的设计中,涉及到的频率有三个:

(1):1Hz的秒计时频率,用来进行秒计时;

(2):4Hz的按键防抖频率;

(3):1000Hz的循环扫描频率;

因此在分频模块应实现将芯片中的高频率时钟分频得到上面的三个所需频

2、控制:进行正常计时,时间调整,时间复位模式的选择:

(1)时间初始复位;

(2)选择秒时间调整的模式;

(3)选择分时间调整的模式;

3、计时:进行调整时间,正常计时;

(1)正常计时;

(2)调整秒计时;

(3)调整分计时;

4、选择输出:进行时间高低位的变换及循环扫描输出:(1)进行时间高低位的变换;

设计思路:

一、总体设计思路图:

二、功能引脚定义

1、总体引脚

(1)K[1]:输入,控制是否进入调整模式,调时模式或调分模式。

(2)K[2]:输入,根据K1的选择进行加1调时。

(3)CLK:输入,1赫兹,控制秒钟的频率。

(4)CLK1K:输入,1K赫兹,控制时间的连续扫描输出。

(5)[7:0]LED:输出,七段显示译码管的输入。

(6)[5:0]SEG:输出,控制六个数码管的是否接通。

(7) SC:输入,时间复位。

2、(1)控制模块:输出控制信号和时分秒计时。控制信号控制时分秒是否正常计时。

K[1]:输入,控制是否进入调整模式,调时模式或调分模式。

K[2]:输入,根据K1的选择进行加1调时。

SC:输入,时间复位。

[5:0]SEC:复位秒计时。

[5:0]MIN:复位、调时分计时。

[5:0]HOUR:复位、调时时计时。

KEN:控制是否进行正常及时、进入调时复位状态。

(2)计时模块

秒计时:输出正常的秒计时或复位计时。

分计时:输出正常的分计时或复位计时或调时计时。

时计时:输出正常的时计时或复位计时或调时计时。

(3)时间扫描模块:利用高频率的时钟不断地循环扫描是分秒计时,以便循环译码;输出控制信号,控制数码管是否有效;此模块同时进行时间的高地位的计算与输出。

[5:0]SEC:输入,计时时间。

[5:0]MIN:输入,计时时间。

[4:0]HOUR:输入,计时时间。

CLK1K:输入,1K赫兹,高时钟进行扫描。

[3:0]OUT:进行时间的输出。

[5:0]SEG:输出,进行数码管的选通控制。

(4)七段译码管:对时分秒的高低位进行译码输出显示。

电路设计源代码及生成模块图

总模块:

module DZZ_ZH(KEY,RESET,CLK,LED,SEG);

output [7:0]LED;

output [5:0]SEG;

input [1:0]KEY;

input RESET;

input CLK;

reg [6:0]LED;

reg [5:0]SEG;

wire WCLK1H,WCLK1K;

wire [5:0]WMIN,WSEC;

wire [4:0]WHOUR;

wire WEN,WD,WB;

wire [1:0]WTS;

wire WCO1,WCO2;

wire [3:0]WOUT;

wire [5:0]WDATA_S,WDATA_M;

wire [4:0]WDATA_H;

wire WCLK4H;

DZZ_FP

A1(.CLK(CLK),.CLK1H(WCLK1H),.CLK1K(WCLK1K),.RESET(RESET),.CLK4H(WCLK4 H));

DZZ_T

A2(.KEY(KEY),.RESET(RESET),.HOUR(WHOUR),.MIN(WMIN),.SEC(WSEC),.TS(WTS ),.D(WD),.EN(WEN),.CLK4H(WCLK4H));

DZZ_S

A3(.DATA_S(WSEC),.SEC(WDATA_S),.CLK(WCLK1H),.KEN(WEN),.CO(WCO1),.TS(W TS),.D(WD));

DZZ_M

A4(.DATA_M(WMIN),.MIN(WDATA_M),.CLK(WCO1),.KEN(WEN),.CO(WCO2),.D(WD), .TS(WTS));

DZZ_H

A5(.DATA_H(WHOUR),.HOUR(WDATA_H),.CLK(WCO2),.D(WD),.KEN(WEN),.TS(WTS) );

DZZ_SL

A6(.DATA_S(WDATA_S),.DATA_M(WDATA_M),.DATA_H(WDATA_H),.OUT(WOUT),.CLK 1K(WCLK1K),.B(WB),.SEG(SEG));

DZZ_YM A7(.DATA_IN(WOUT),.LED(LED),.D(WB));

Endmodule

一、分频:

module DZZ_FP(CLK,CLK1H,CLK1K,RESET,CLK4H);

output CLK1H,CLK1K,CLK4H;

input CLK;

input RESET;

reg CLK1K,CLK1H,CLK4H;

reg [12:0]CNT1;

reg [24:0]CNT2;

reg [22:0]CNT3;

always @(posedge CLK or negedge RESET)

begin

if(!RESET)

begin

CNT1<=13'b0000_0000_0000_0;

CLK1K<=0;

end

else if(CNT1==13'b1000_0010_0011_0)

begin

CNT1<=13'b0000_0000_0000_0;

CLK1K<=~CLK1K;

end

else

begin

CNT1<=CNT1+1'b1;

end

end

always @(posedge CLK or negedge RESET)

begin

if(!RESET)

begin

CNT2<=25'b0000_0000_0000_0000_0000_0000_0;

CLK1H<=0;

end

else if(CNT2==25'b1011_1110_1011_1100_0100_0000_0) begin

CNT2<=25'b0000_0000_0000_0000_0000_0000_0;

CLK1H<=~CLK1H;

end

else

begin

CNT2<=CNT2+1'b1;

end

end

always @(posedge CLK or negedge RESET)

begin

if(!RESET)

begin

CNT3<=23'b0000_0000_0000_0000_0000_000; CLK4H<=0; end

else if(CNT3==23'b1011_1110_1011_1100_0100_000) begin

CNT3<=23'b0000_0000_0000_0000_0000_000; CLK4H<=~CLK4H; end else begin

CNT3<=CNT3+1'b1; end end

endmodule

DZZ_FP

inst

CLK RESET

CLK1H CLK1K CLK4H

二、控制模块代码:

module DZZ_T(KEY,RESET,HOUR,MIN,SEC,TS,D,EN,CLK4H); output [4:0]HOUR; output [5:0]MIN; output [5:0]SEC; output D;

output [1:0]TS; output EN;

input [1:0]KEY; input RESET; input CLK4H;

reg [4:0]HOUR; reg [5:0]MIN; reg [5:0]SEC; reg EN; reg D;

reg [1:0]TS;

always @(negedge RESET or posedge CLK4H) begin

if(!RESET) begin

HOUR=5'b00000; MIN=6'b000000;

SEC=6'b000000; TS=2'b00; EN=0; D=0; end else begin EN=1;

if(!KEY[1]) begin

TS=TS+1'b1; end else begin

TS=TS; end

if(!KEY[0]) begin

D=1; //guan jian EN=1; end else begin D=0; EN=1; end end end

endmodule

DZZ_T

inst

KEY[1..0]RESET CLK4H

HOUR[4..0]MIN[5..0]SEC[5..0]TS[1..0]

D EN

三、计时调整时间模块代码:

(1)小时计时和小时计时的调整:

module DZZ_H(DATA_H,HOUR,CLK,D,KEN,TS); output [4:0]HOUR;

input [4:0]DATA_H;

input CLK;

input D;

input [1:0]TS;

input KEN;

reg [4:0]HOUR;

reg CLK1;

always @(TS)

begin

if(TS==2'b11)

CLK1=D;

else

CLK1=CLK;

end

always @(posedge CLK1 or negedge KEN) begin

if(!KEN)

begin

HOUR<=DATA_H;

end

else

begin

if(TS==2'b00)

begin

if(HOUR<=5'b10110 )

begin

HOUR<=HOUR+1'b1;

end

else

begin

HOUR<=5'b00000;

end

end

else if(TS==2'b11)

begin

if(HOUR<=5'b10110)

begin

HOUR<=HOUR+1'b1;

end

else

begin

HOUR<=5'b00000;

end

end

else begin

HOUR<=HOUR; end end end

endmodule

DZZ_H

inst

DATA_H[4..0]CLK D KEN TS[1..0]

HOUR[4..0]

(2)分计时和分计时的调整:

module DZZ_M(DATA_M,MIN,CLK,KEN,CO,D,TS); output [5:0]MIN; output CO;

input [5:0]DATA_M; input CLK; input D; input KEN;

input [1:0]TS; reg [5:0]MIN; reg CO; reg CLK1; always @(TS) begin

if(TS==2'b10) CLK1=D; else

CLK1=CLK; end

always @(posedge CLK1 or negedge KEN) begin if(!KEN) begin

MIN<=DATA_M; end else begin

if(TS==2'b00) begin

if(MIN<=6'b111010)

begin

MIN<=MIN+1'b1; CO<=0; end else begin

MIN<=6'b000000; CO<=1; end end

else if(TS==2'b10) begin

if(MIN<=6'b111010) begin

MIN<=MIN+1'b1; end else begin

MIN<=6'b000000; end end else begin

MIN<=MIN; end end end

endmodule

DZZ_M

inst

DATA_M[5..0]CLK KEN D TS[1..0]

MIN[5..0]

CO

(3)秒计时和秒计时的调整:

module DZZ_S(DATA_S,SEC,CLK,KEN,CO,TS,D); output [5:0]SEC; output CO;

input [5:0]DATA_S; input CLK; input KEN;

input [1:0]TS; input D;

reg [5:0]SEC;

reg CO;

reg CLK1;

always @(TS)

begin

if(TS==2'b01)

CLK1=D;

else

CLK1=CLK;

end

always @(posedge CLK1 or negedge KEN) begin

if(!KEN)

begin

SEC<=DATA_S;

end

else

begin

if(TS==2'b00)

begin

if(SEC<=6'b111010)

begin

SEC<=SEC+1'b1;

CO<=0;

end

else

begin

SEC<=6'b000000;

CO<=1;

end

end

else if(TS==2'b01)

begin

if(SEC<=6'b111010)

begin

SEC<=SEC+1'b1;

end

else

begin

SEC<=6'b000000;

end

end

else

begin

SEC<=SEC; end end end

endmodule

DZZ_S

inst

DATA_S[5..0]CLK KEN TS[1..0]D SEC[5..0]

CO

四、选择模块:

module DZZ_SL(DATA_S,DATA_M,DATA_H,OUT,SEG,CLK1K,B); output [3:0]OUT; output [5:0]SEG; output B;

input [5:0]DATA_S; input [5:0]DATA_M; input [4:0]DATA_H; input CLK1K; reg [3:0]OUT; reg B;

reg [5:0]SEG; reg [2:0]SLECT; parameter

S0=3'b000, S1=3'b001, S2=3'b010, S3=3'b011, S4=3'b100, S5=3'b101; always @(posedge CLK1K) begin

case(SLECT) S0:begin

OUT<=DATA_H/6'b1010; SEG<=6'b011111; B<=0;

SLECT<=S1; end S1:begin

OUT<=DATA_H%6'b1010;

SEG<=6'b101111; B<=1;

SLECT<=S2; end S2:begin

OUT<=DATA_M/6'b1010; SEG<=6'b110111; B<=0;

SLECT<=S3; end S3:begin

OUT<=DATA_M%6'b1010; SEG<=6'b111011; B<=1;

SLECT<=S4; end S4:begin

OUT<=DATA_S/6'b1010; SEG<=6'b111101; B<=0;

SLECT<=S5; end S5:begin

OUT<=DATA_S%6'b001010; SEG<=6'b111110; B<=0;

SLECT<=S0; end default:begin

SLECT<=S0;

SEG<=6'b111111; end endcase end

endmodule

DZZ_SL

inst

DATA_S[5..0]DATA_M[5..0]DATA_H[4..0]CLK1K

OUT[3..0]SEG[5..0]

B

五、译码:

module DZZ_YM(DATA_IN,LED,D);

output [7:0]LED;

input [3:0]DATA_IN;

input D;

reg [7:0]LED;

parameter

S0=4'b0000,

S1=4'b0001,

S2=4'b0010,

S3=4'b0011,

S4=4'b0100,

S5=4'b0101,

S6=4'b0110,

S7=4'b0111,

S8=4'b1000,

S9=4'b1001;

always @(DATA_IN)

begin

if(D)

begin

case(DATA_IN)

S0:begin

LED=8'b11111101;

end

S1:begin

LED=8'b01100001;

end

S2:begin

LED=8'b11011011;

end

S3:begin

LED=8'b11110011;

end

S4:begin

LED=8'b01100111;

end

S5:begin

LED=8'b10110111;

end

S6:begin

LED=8'b10111111;

end

S7:begin

LED=8'b11100001;

end

S8:begin

LED=8'b11111111; end

S9:begin

LED=8'b11110111; end

default:LED=8'b00000000; endcase

end

else

begin

case(DATA_IN)

S0:begin

LED=8'b11111100; end

S1:begin

LED=8'b01100000; end

S2:begin

LED=8'b11011010; end

S3:begin

LED=8'b11110010; end

S4:begin

LED=8'b01100110; end

S5:begin

LED=8'b10110110; end

S6:begin

LED=8'b10111110; end

S7:begin

LED=8'b11100000; end

S8:begin

LED=8'b11111110; end

S9:begin

LED=8'b11110110; end

default:LED=8'b00000000;

endcase end end

endmodule

DZZ_YM

inst

DATA_IN[3..0]D

LED[7..0]

综合布局布线报告

总体设计模块:分频、计时、译码;

计时:控制、秒计时、分计时、时计时、循环选择;

作业心得体会

在本次的作业报告中我学会了如何使用modesim和quartus软件进行电路的验证和仿真。在电路的设计初始时刻,我没有按照设计电路时从上到下的设计方法,而是盲目的进行对电路的模块进行设计。结果在最后的设计综合的时候,设计的各个模块不能进行顺利的综合和仿真。在电子钟的设计中我对时钟的理解不是很透彻,因此在进行计时的时候出现了很多的问题。在进行时分秒的计时时,我对时间的如何进位没有很好的理解,在计时时出现了很多问题,最后在同学的帮助下得到了很好的解决。在对按键的使用中我也出现了很困惑的问题。调整时间的时候,我使用了按键的触发,结果在时间调整计时的时候老是出现时间的快速跳动和不确定性。最后我引入了按键的扫描时钟,使用4Hz的频率来扫描按键的高低电平,然后利用按键的高低电平来触发调整计时的触发频率,这样很好的解决了按键的抖动问题。

在使用verilog HDL进行电路代码的书写时,应该首先总体的设计电路的总体输入和输出引脚。并且定义它们的作用。这样我们就可以在宏观上对自己设计的电路有了一个整体的理解,不至于在自己设计的时候出现对电路的盲目理解。在定义了引脚后,我们应该对电路进行模块化。对电路所要实现的功能进行模块化,然后在进行各个模块的定义和实现。对各个模块的引脚定义,实现功能和各模块之间的联系,我们应该有一个很好的宏观调控和理解。

在进行电路的仿真时,得到的结果有时与我们所要的结果不符合,这可能是自己对这种电路语言的不理解导致错误,也有可能是自己的逻辑和设计算法有不对的地方。这就要求我们能够认真的理解电路的逻辑关系,认真的从错误的结果中得到自己的错误原因,认真的分析其原因,改正,最后到到自己所要的结果。实现电路功能的正确性。

在这次作业的过程中,我最主要的是明白了:不管做什么事,我们应该认真地去对待。首先我们应该仔细的去分析和理解它。当我们对他有了一定的理解后然后再去认真的实现它,而不要盲目下手,这样自己的事情将很有可能会陷入麻烦中去。最后得不到一个正确的结果,还浪费了很多的时间和精力。我们应该先弄好自己的利器,然后再去实践,去拼搏,而不要什么都不顾,拿起自己很钝的武器,就出发。

基于FPGA的数字时钟的设计1

基于FPGA的数字时钟的设计课题: 基于FPGA的数字时钟的设计 学院: 电气信息工程学院 专业: 测量控制与仪器 班级 : 08测控(2)班 姓名 : 潘志东 学号 : 08314239 合作者姓名: 颜志林 2010 年12 月12 日

综述 近年来随着数字技术的迅速发展,各种中、大规模集成电路在数字系统、控制系统、信号处理等方面都得到了广泛的应用。这就迫切要求理工科大学生熟悉与掌握常用中、大规模集成电路功能及其在实际中的应用方法,除通过实验教学培养数字电路的基本实验方法、分析问题与故障检查方法以及双踪示波器等常用仪器使用方法等基本电路的基本实验技能外,还必须培养大学生工程设计与组织实验能力。 本次课程设计的目的在于培养学生对基本电路的应用与掌握,使学生在实验原理的指导下,初步具备基本电路的分析与设计能力,并掌握其应用方法;自行拟定实验步骤,检查与排除故障、分析与处理实验结果及撰写实验报告的能力。综合实验的设计目的就是培养学生初步掌握小型数字系统的设计能力,包括选择设计方案,进行电路设计、安装、调试等环节,运用所学知识进行工程设计、提高实验技能的实践。数字电子钟就是一种计时装置,它具有时、分、秒计时功能与显示时间功能;具有整点报时功能。 本次设计我查阅了大量的文献资料,学到了很多关于数字电路方面的知识,并且更加巩固与掌握了课堂上所学的课本知识,使自己对数字电子技术有了更进一步的认识与了解。

1、课题要求 1、1课程设计的性质与任务 本课程就是电子与信息类专业的专业的专业基础必修课——“数字电路”的配套实验课程。目的在于培养学生的理论联系实际,分析与解决问题的能力。通过本课程设计,使学生在理论设计、计算机仿真、指标调测、故障排除等方面得到进一步的训练,加强学生的实践能力。学生通过设计、仿真、调试、撰写设计报告等过程,培养学生的动手能力与严谨的工作作风。 1、2课程设计的基本技术要求 1)根据课题要求,复习巩固数字电路有关专业基础知识; 2)掌握数字电路的设计方法,特别就是熟悉模块化的设计思想; 3) 掌握QUARTUS-2软件的使用方法; 4) 熟练掌握EDA工具的使用,特别就是原理图输入,波形仿真,能对仿真波形进行分析; 5) 具备EDA技术基础,能够熟练使用VHDL语言进行编程,掌握层次化设计方法; 6) 掌握多功能数字钟的工作原理,学会不同进制计数器及时钟控制电路的设计方法; 7) 能根据设计要求对设计电路进行仿真与测试; 8) 掌握将所设计软件下载到FPGA芯片的下载步骤等等。 9) 将硬件与软件连接起来,调试电路的功能。 1、3课程设计的功能要求 基本功能:能进行正常的时、分、秒计时功能,分别由6个数码管显示24小时,60分钟,60秒钟的计数器显示。 附加功能:1)能利用硬件部分按键实现“校时”“校分”“清零”功能; 2)能利用蜂鸣器做整点报时:当计时到达59’59’’时开始报时, 鸣叫时间1秒钟; 3)定时闹铃:本设计中设置的就是在七点时进行闹钟功能,鸣叫 过程中,能够进行中断闹铃工作。 本人工作:负责软件的编程与波形的仿真分析。 2、方案设计与分析

fpga数字钟课程设计报告

f p g a数字钟课程设计报告 Prepared on 24 November 2020

课程设计报告 设计题目:基于FPGA的数字钟设计 班级:电子信息工程1301 姓名:王一丁 指导教师:李世平 设计时间:2016年1月 摘要 EDA(Electronic Design Automation)电子设计自动化,是以大规模可编程器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,通过相关的软件,自动完成软件方式设计得电子系统到硬件系统,最终形成集成电子系统或专用集成芯片。本次课程设计利用Quartus II 为设计软件,VHDL为硬件描述语言,结合所学知识设计一个多功能时钟,具有显示年、月、日、时、分、秒显示,计时,整点报时,设定时间等功能。利用硬件描述语言VHDL 对设计系统的各个子模块进行逻辑描述,采用模块化的思想完成顶层模块的设计,通过软件编译、逻辑化简、逻辑综合优化、逻辑仿真、最终完成本次课程设计的任务。 关键词:EDA VHDL语言数字钟 目录 摘要 1 课程设计目的 2 课程设计内容及要求

设计任务 设计要求 3 VHDL程序设计 方案论证 系统结构框图 设计思路与方法 状态控制模块 时分秒模块 年月日模块 显示模块 扬声器与闹钟模块 RTL整体电路 4 系统仿真与分析 5 课程设计总结,包括.收获、体会和建议 6 参考文献 1 课程设计目的 (1)通过设计数字钟熟练掌握EDA软件(QUARTUS II)的使用方法,熟练进行设计、编译,为以后实际工程问题打下设计基础。 (2)熟悉VHDL 硬件描述语言,提升分析、寻找和排除电子设计中常见故障的能力。 (3)通过课程设计,锻炼书写有理论根据的、实事求是的、文理通顺的课程设计报告。

FPGA实训报告——简易数字钟

桂林电子科技大学职业技术学院 课题:FPGA实训 专业:电子信息工程技术 学号: 姓名:

目录 关键词: (1) 引言: (1) 设计要求: (1) EDA技术介绍: (1) Verilog HDL简介: (1) 方案实现: (2) 工作原理: (2) 总结: (3) 结语: (3) 程序设计: (4)

数字钟 关键词:EDA、Verilog HDL、数字钟 引言: 硬件描述语言HDL(Hardware Des-cription Language)是一种用形式化方法来描述数字电路和系统的语言。目前,电子系统向集成化、大规模和高速等方向发展,以硬件描述语言和逻辑综合为基础的自顶向下的电路设计发放在业界得到迅猛发展,HDL在硬件设计领域的地位将与C和C++在软件设计领域的地位一样,在大规模数字系统的设计中它将逐步取代传统的逻辑状态表和逻辑电路图等硬件描述方法,而成为主要的硬件描述工具。 Verilog HDL是工业和学术界的硬件设计者所使用的两种主要的HDL之一,另外一种是VHDL。现在它们都已经成为IEEE标准。两者各有特点,但Verilog HDL拥有更悠久的历史、更广泛的设计群体,资源也远比VHDL丰富,且非常容易学习掌握。 此次以Verilog HDL语言为手段,设计了多功能数字钟,其代码具有良好的可读性和易理解性。 设计要求: 数字钟模块、动态显示模块、调时模块、到点报时模块等;必须有键防抖动功能。可自行设计8位共阴数码管显示;亦可用FPGA实验平台EDK-3SAISE上的4位数管,但必须有秒指导灯。 EDA技术介绍: 20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。 EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。 这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。 Verilog HDL简介: 硬件描述语言Verilog是Philip R.Moorby于1983年在英格兰阿克顿市的Gateway Design Automation硬件描述语言公司设计出来的,用于从开关级到算法级的多个抽象设

Verilog HDL数字时钟课程设计

课程设计报告 课程设计名称:EDA课程设计课程名称:数字时钟 二级学院:信息工程学院 专业:通信工程 班级:12通信1班 学号:1200304126 姓名:@#$% 成绩: 指导老师:方振汉 年月日

目录 第一部分 EDA技术的仿真 (3) 1奇偶校验器 (3) 1.1奇偶校验器的基本要求 (3) 1.2奇偶校验器的原理 (3) 1.3奇偶校验器的源代码及其仿真波形 (3) 28选1数据选择器 (4) 2.18选1数据选择器的基本要求 (4) 2.28选1数据选择器的原理 (4) 2.38选1数据选择器的源代码及其仿真波形 (5) 34位数值比较器 (6) 3.14位数值比较器的基本要求 (6) 3.24位数值比较器的原理 (6) 3.34位数值比较器的源代码及其仿真波形 (7) 第二部分 EDA技术的综合设计与仿真(数字时钟) (8) 1概述 (8) 2数字时钟的基本要求 (9) 3数字时钟的设计思路 (9) 3.1数字时钟的理论原理 (9) 3.2数字时钟的原理框图 (10) 4模块各功能的设计 (10) 4.1分频模块 (10) 4.2计数模块(分秒/小时) (11) 4.3数码管及显示模块 (13) 5系统仿真设计及波形图........................... 错误!未定义书签。5 5.1芯片引脚图.................................... 错误!未定义书签。5 5.2数字时钟仿真及验证结果 (16) 5.3数字时钟完整主程序 (17) 6课程设计小结 (23) 7心得与体会 (23) 参考文献 (24)

FPGA课程设计多功能数字钟讲解

多功能数字钟 开课学期:2014—2015 学年第二学期课程名称:FPGA课程设计 学院:信息科学与工程学院 专业:集成电路设计与集成系统班级: 学号: 姓名: 任课教师: 2015 年7 月21 日

说明 一、论文书写要求与说明 1.严格按照模板进行书写。自己可以自行修改标题的题目 2.关于字体: a)题目:三号黑体加粗。 b)正文:小四号宋体,行距为1.25倍。 3.严禁抄袭和雷同,一经发现,成绩即判定为不及格!!! 二、设计提交说明 1.设计需要提交“电子稿”和“打印稿”; 2.“打印稿”包括封面、说明(即本页内容)、设计内容三部分;订书机左边装订。 3.“电子稿”上交:文件名为“FPGA课程设计报告-班级-学号-姓名.doc”,所有报告发送给班长,由班长统一打包后统一发送到付小倩老师。 4.“打印稿”由班长收齐后交到:12教305办公室; 5.上交截止日期:2015年7月31日17:00之前。

第一章绪论 (3) 关键词:FPGA,数字钟 (3) 第二章FPGA的相关介绍 (4) 2.1 FPGA概述 (4) 2.2 FPGA特点 (4) 2.3 FPGA设计注意 (5) 第三章Quartus II与Verilog HDL相关介绍 (7) 3.1 Quartus II (7) 3.2 Verilog HDL (7) 第四章设计方案 (8) 4.1数字钟的工作原理 (8) 4.2 按键消抖 (8) 4.3时钟复位 (8) 4.4时钟校时 (8) 4.5数码管显示模块。 (8) 第五章方案实现与验证 (9) 5.1产生秒脉冲 (9) 5.2秒个位进位 (9) 5.3按键消抖 (9) 5.4复位按键设置 (10) 5.5 数码管显示。 (10) 5.6 RTL结构总图 (11) 第六章实验总结 (14) 第七章Verilog HDL源代码附录 (15)

fpga数字钟课程设计报告

课程设计报告 设计题目:基于FPGA的数字钟设计 班级:电子信息工程1301 学号:20133638 姓名:王一丁 指导教师:李世平 设计时间:2016年1月

摘要 EDA(Electronic Design Automation)电子设计自动化,是以大规模可编程器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,通过相关的软件,自动完成软件方式设计得电子系统到硬件系统,最终形成集成电子系统或专用集成芯片。本次课程设计利用Quartus II 为设计软件,VHDL为硬件描述语言,结合所学知识设计一个多功能时钟,具有显示年、月、日、时、分、秒显示,计时,整点报时,设定时间等功能。利用硬件描述语言VHDL 对设计系统的各个子模块进行逻辑描述,采用模块化的思想完成顶层模块的设计,通过软件编译、逻辑化简、逻辑综合优化、逻辑仿真、最终完成本次课程设计的任务。 关键词:EDA VHDL语言数字钟

目录 摘要 1 课程设计目的 2 课程设计内容及要求 2.1 设计任务 2.2 设计要求 3 VHDL程序设计 3.1方案论证 3.2 系统结构框图 3.3设计思路与方法 3.3.1 状态控制模块 3.3.2 时分秒模块 3.3.3 年月日模块 3.3.4 显示模块 3.3.5脉冲产生模块 3.3.6 扬声器与闹钟模块 3.4 RTL整体电路 4 系统仿真与分析 5 课程设计总结,包括.收获、体会和建议 6 参考文献

1 课程设计目的 (1)通过设计数字钟熟练掌握EDA软件(QUARTUS II)的使用方法,熟练进行设计、编译,为以后实际工程问题打下设计基础。 (2)熟悉VHDL 硬件描述语言,提升分析、寻找和排除电子设计中常见故障的能力。 (3)通过课程设计,锻炼书写有理论根据的、实事求是的、文理通顺的课程设计报告。 2 课程设计内容及要求 2.1 设计任务 (1)6个数字显示器显示时分秒,setpin按键产生一个脉冲,显示切换为年月日。 (2)第二个脉冲可预置年份,第三个脉冲可以预置月份,依次第四、 五、六、七个脉冲到来时分别可以预置时期、时、分、秒,第八个脉冲到来后预置结束正常从左显示时分秒。 (3)up为高时,upclk有脉冲到达时,预置位加一,否则减一。 2.2 设计要求 (1)在基本功能的基础上,闹钟在整点进行报时,产生一定时长的高电平。 (2)实现闹钟功能,可对闹钟时间进行预置,当达到预置时间时进行报时。

基于FPGA的数字时钟的设计1

基于FPGA 的数字时钟的设计 课 题: 基于FPGA 的数字时钟的设计 学 院: 电气信息工程学院 专 业 : 测量控制与仪器 班 级 : 08测控(2)班 姓 名 : 潘 志 东 学 号 : 08314239 合作者姓名: 颜志林 2010 年 12 月 12 日

综述 近年来随着数字技术的迅速发展,各种中、大规模集成电路在数字系统、控制系统、信号处理等方面都得到了广泛的应用。这就迫切要求理工科大学生熟悉和掌握常用中、大规模集成电路功能及其在实际中的应用方法,除通过实验教学培养数字电路的基本实验方法、分析问题和故障检查方法以及双踪示波器等常用仪器使用方法等基本电路的基本实验技能外,还必须培养大学生工程设计和组织实验能力。 本次课程设计的目的在于培养学生对基本电路的应用和掌握,使学生在实验原理的指导下,初步具备基本电路的分析和设计能力,并掌握其应用方法;自行拟定实验步骤,检查和排除故障、分析和处理实验结果及撰写实验报告的能力。综合实验的设计目的是培养学生初步掌握小型数字系统的设计能力,包括选择设计方案,进行电路设计、安装、调试等环节,运用所学知识进行工程设计、提高实验技能的实践。数字电子钟是一种计时装置,它具有时、分、秒计时功能和显示时间功能;具有整点报时功能。 本次设计我查阅了大量的文献资料,学到了很多关于数字电路方面的知识,并且更加巩固和掌握了课堂上所学的课本知识,使自己对数字电子技术有了更进一步的认识和了解。

1、课题要求 1.1课程设计的性质与任务 本课程是电子与信息类专业的专业的专业基础必修课——“数字电路”的配套实验课程。目的在于培养学生的理论联系实际,分析和解决问题的能力。通过本课程设计,使学生在理论设计、计算机仿真、指标调测、故障排除等方面得到进一步的训练,加强学生的实践能力。学生通过设计、仿真、调试、撰写设计报告等过程,培养学生的动手能力和严谨的工作作风。 1.2课程设计的基本技术要求 1)根据课题要求,复习巩固数字电路有关专业基础知识; 2)掌握数字电路的设计方法,特别是熟悉模块化的设计思想; 3) 掌握QUARTUS-2软件的使用方法; 4) 熟练掌握EDA工具的使用,特别是原理图输入,波形仿真,能对仿真波形进行分析; 5) 具备EDA技术基础,能够熟练使用VHDL语言进行编程,掌握层次化设计方法; 6) 掌握多功能数字钟的工作原理,学会不同进制计数器及时钟控制电路的设计方法; 7) 能根据设计要求对设计电路进行仿真和测试; 8) 掌握将所设计软件下载到FPGA芯片的下载步骤等等。 9) 将硬件与软件连接起来,调试电路的功能。 1.3课程设计的功能要求 基本功能:能进行正常的时、分、秒计时功能,分别由6个数码管显示24小时,60分钟,60秒钟的计数器显示。 附加功能:1)能利用硬件部分按键实现“校时”“校分”“清零”功能; 2)能利用蜂鸣器做整点报时:当计时到达59’59’’时开始报时,鸣叫时间1秒钟; 3)定时闹铃:本设计中设置的是在七点时进行闹钟功能,鸣叫过程中,能够进行中断闹铃工作。 本人工作:负责软件的编程与波形的仿真分析。 2、方案设计与分析

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

F P G A课程设计报告 (实现多功能数字钟)

一、标题:设计多功能数字钟控制电路 二、任务书:用MAX+PLU SⅡ软件及Verilog HDL语言设计 一个多功能的数字钟,包括有时、分、秒的计 时,以及校时(对小时、分钟和秒能手动调整 以校准时间)、正点报时(每逢整点,产生“嘀 嘀嘀嘀-嘟”,4短一长的报时音)等附加功能。 三、关键词:24进制、60进制、正点报时、校时、数字钟 四、总体方案:多功能数字钟控制电路框图是由三部分组成 的,即秒分时控制电路、整点报时控制电路、 时段控制电路。用Verilog HDL硬件描述语 言完成编译和仿真。 五、原理框图如下: ↓ ↓ ↓ 六、Verilog HDL硬件描述语言编写的功能模块: /*秒计数器m60*/

module m60(M,CP60M,CPM,RD); output [7:0]M; output CP60M; input CPM; input RD; reg [7:0]M; wire CP60M; always@(negedge RD or posedge CPM) begin if(!RD) begin M[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) begin M[7:4]<=0;end else M[7:4]<=M[7:4]+1; end else M[3:0]<=M[3:0]+1; end end

基于FPGA的数字钟的设计

数字钟的设计 学生姓名:XXX 学生学号:20XX 院(系):电气信息工程学院 年级专业:20XX级电子信息工程班小组:XXXX 指导教师:XXXX 二零XX年X月XX日

摘要 本设计为一个多功能的数字钟,具有时、分、秒计数显示功能,以24小时循环计数;具有校对功能。 本设计采用EDA技术,以硬件描述语言VHDL为系统逻辑描述手段设计文件,在QUARTUSII工具软件环境下,采用自顶向下的设计方法,由各个基本模块共同构建了一个基于FPGA的数字钟。 系统由时钟模块、控制模块、计时模块、数据译码模块、显示以及组成。经编译和仿真所设计的程序,在可编程逻辑器件上下载验证,本系统能够完成时、分、秒的分别显示,由按键输入进行数字钟的清零、启停功能。 关键词数字钟,硬件描述语言,VHDL,FPGA

Abstract The design for a multi-functional digital clock, with hours, minutes and seconds count display to a 24-hour cycle count; have proof functions function. The use of EDA design technology, hardware-description language VHDL description logic means for the system design documents, in QUAETUSII tools environment, a top-down design, by the various modules together build a FPGA-based digital clock. The main system make up of the clock module, control module, time module, data decoding module, display and broadcast module. After compiling the design and simulation procedures, the programmable logic device to download verification, the system can complete the hours, minutes and seconds respectively, using keys to cleared , start and stop the digital clock. Keywords digital clock,hardware description language,VHDL,FPGA

Verilog数字钟课程设计

课程设计报告课程设计题目:数字钟系统设计 学号:2 学生姓名:刘新强 专业:通信工程 班级:1421302 指导教师:钟凯 2016年1月4日

FPGA( Field Programmable Gate Array,现场可编程门阵列),一种可编程逻辑器件,是目前数字系统设计的主要硬件基础。可编程逻辑器件的设计过程是利用EDA 开发软件和编程和编程工具对器件进行开发的过程。 通过modelsim软件下采用verilog语言实现数字钟系统设计,实现了以下几个方面的功能: 1.数字钟基本计时功能 2.数字钟校时功能 3.数字钟系统报时功能 关键词:FPGA ;VHDL;数字钟

一、FPGA与VHDL简介 (1) 1、FPGA与简介 ........................................................................................... 2、VHDL简介 ............................................................................................... 二、课程设计的目的与要求 (2) 1、教学目的.................................................................................................................... 2、教学要求.................................................................................................................... 3、数字钟系统设计要求................................................................................................ 三、设计方案 (2) 1、系统框图.................................................................................................................... 2、模块说明.................................................................................................................... 四、仿真与实现 (3) 1、数字钟基本计时功能实现........................................................................................ 2、数字钟校时功能实现................................................................................................ 3、数字钟系统报时功能实现........................................................................................ 五、实验心得 (4) 六、参考文献 (4) 七、代码 (5)

课程设计用verilog实现简易数字钟

合肥工业大学电子科学与技术专业集成电路前端课程设计报告 设计题目:简易数字钟设计 姓名 学号 班级电子科学与技术1班 日期2010年12月6日

模式:7 按键7 PIO6 引脚7 change 4 3 4 t_hou 1 0 1 t_min 时钟显示 hou2 PIO 39-36 84 83 78 77 hou1 35-32 76 75 74 73 min2 31-28 72 71 70 69 min1 27-24 68 67 52 51 sec2 23-20 50 49 48 47 sec1 19-16 42 41 40 39 灯at 47 106 clock clock0 123(选择1Hz的信号) 模式1 正常计时模式at=0 灯灭 模式2 手动较时模式at=1 灯亮 按建功能:change 控制数字钟在计时和手动调整两个状态之间转换 t_min 分钟手动调整按键 t_hou 小时手动调整按键 clock 标准1HZ时钟信号 中间变量tun 秒到分的进位信号 mod 分到时的进位信号 mt 分钟的控制信号上升沿触发 nt 时钟的控制信号上升沿触发 输出sec1 秒个位 sec2 秒十位 min1分个位 min2分十位 hou1时个位 hou2时十位 at 表示模式的变量0为正常计时模式,1表示手动调整模 式 概述: 要求:1设计一个能显示时、分、秒的简易数字钟。具有时间调整功能。 2利用GW48-PK2系统上的数码管显示时间。 3 调整时间用的按键也使用GW48-PK2系统上的按键。 目的:本次课程设计的目的是为了掌握FPGA技术的层次化设计方法,掌握ModelSim和QuartusⅡ的使用方法。 步骤:用verilog语言在记事本编写程序,然后在ModelSim中仿真,查看波形,再用QuartusⅡ仿真,定义针脚,在面板上模拟。

Verilog数字钟设计实验报告

基于FPGA实现多功能数字钟 ——电子系 071180094 王丛屹 摘要 本文利用Verilog HDL语言自顶向下的设计方法设计多功能数字钟,并通过ISE完成综合、仿真。此程序通过下载到FPGA芯片后,可应用于实际的数字钟显示中,实现了基本的计时显示和设置,调整时间,闹钟设置的功能。 [关键词] FPGA;Verilog HDL;数字钟

一、多功能数字钟的设计 设计一个多功能数字时钟,具有时分、秒计数显示、闹钟功能。能够利用按键实现对闹钟时间的设定并在当前显示时间到时后能够进行闹钟提示。能够利用按键实现“较时”、“较分”功能,随时对数码管的显示进行校正和校对。数字中系统主要由系统时钟,三个功能按键(mode ,turn ,change ),FPGA ,数码管和蜂鸣器部分组成。 图: 多功能数字钟总体设计模块 以下就各个模块说明其功能 1. 分频模块

由于FPGA内部提供的时钟信号频率大约为50MHz,在这需要将它转化成1Hz的标准时钟信号供数字钟的计时显示;在此我采用了级联分频法。 RTL图如下:

最终输出的是1Hz,100Hz,1kHz的标准时钟信号clk_1Hz ,clk_100Hz,clk_1k。 2、计时模块 原理:m是模式按键,当m=0时,进入计时模式,在计时模式下可以进行时间调整。num3,num4产生加速调整时间,当其值为1时,可以快速调整时间,该调整时间的频率由clk提供。counta,count1是手动调节时间。Turn接按键,可以改变当前调节的是小时还是分钟,长按turn键还可以使秒钟信号清零。sec1,min1,hour1输出的是计时的秒,分,时。 RTL图如下: 代码如下:

verilog数字钟设计FPGA

一、课程设计目标 1. 熟悉并掌握verilog 硬件描述语言 ;

是 总模块: module clock(clk,reset,MODE,Alarm_ctr,BT2,H12_24,DSH,DSL,DMH,DML,DHH,DHL,dian,bao _signal,nao_signal); input clk;//50MHz input reset,MODE,Alarm_ctr,BT2,H12_24;//复位键,模式选择按钮,闹钟开关档,调节按钮,12—24小时切换档 output [7:0]DMH,DML,DHH,DHL; //4个数码管显示输入信号 output dian,bao_signal,nao_signal; //时分间隔点,报时信号,闹钟信号 output [3:0]DSH,DSL; //秒钟输出信号 wire [3:0] SH,SL,MH,ML,HH,HL; wire [3:0] LED_mode; wire [3:0] HH12,HL12,HH24,HL24,MH24,ML24,SH24,SL24;

wire [3:0] set_HH,set_HL,set_MH,set_ML; wire _1HZ,_10ms,_250ms,_500ms; wire Keydone1; wire Keydone2; wire co1,co11,co111,co2,co22,co222,set_co2; wire [3:0]mode_flag; assign dian=1'b0; devide_f u1(_1HZ,_10ms,_250ms,_500ms,reset,clk); //分频,得到4种不同频率的时钟信号 key_press u2(_10ms,MODE,Keydone1); //模式档按钮去抖动 key_press u20(_10ms,BT2,Keydone2); //调节按钮去除抖动 mode u3(Keydone1,mode_flag); //通过模式按钮产生不同模式second u4(_1HZ,reset,mode_flag,Keydone2,SH24,SL24,co1); //秒计时 minute u5(co11,reset,MH24,ML24,co2); //分计时 hour u6(co22,reset,HH24,HL24); //小时计时 SEG7_LUT u7(DML,ML); //4个数码管显示

数电课程设计报告(数字钟的设计)

数电课程设计报告 第一章设计背景与要求 设计要求 第二章系统概述 2.1设计思想与方案选择 2.2各功能块的组成 2.3工作原理 第三章单元电路设计与分析 3.1各单元电路的选择 3.2设计及工作原理分析 第四章电路的组构与调试 4.1遇到的主要问题 4.2现象记录及原因分析 4.3解决措施及效果 4.4功能的测试方法,步骤,记录的数据 第五章结束语 5.1对设计题目的结论性意见及进一步改进的意向说明5.2总结设计的收获与体会 附图(电路总图及各个模块详图) 参考文献

第一章设计背景与要求 一.设计背景与要求 在公共场所,例如车站、码头,准确的时间显得特别重要,否则很有可能给外出办事即旅行袋来麻烦。数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确度和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。数字钟是一种典型的数字电路,包括了组合逻辑电路和时序电路。 设计一个简易数字钟,具有整点报时和校时功能。 (1)以四位LED数码管显示时、分,时为二十四进制。 (2)时、分显示数字之间以小数点间隔,小数点以1Hz频率、50%占空比的亮、灭规律表示秒计时。 (3)整点报时采用蜂鸣器实现。每当整点前控制蜂鸣器以低频鸣响4次,响1s、停1s,直到整点前一秒以高频响1s,整点时结束。 (4)才用两个按键分别控制“校时”或“校分”。按下校时键时,是显示值以0~23循环变化;按下“校分”键时,分显示值以0~59循环变化,但时显示值不能变化。 二.设计要求 电子技术是一门实践性很强的课程,加强工程训练,特别是技能的培养,对于培养学生的素质和能力具有十分重要的作用。在电子信息类本科教学中,课程设计是一个重要的实践环节,它包括选择课题、电子电路设计、组装、调试和编写总结报告等实践内容。通过本次简易数字钟的设计,初步掌握电子线路的设计、组装及调试方法。即根据设计要求,查阅文献资料,收集、分析类似电路的性能,并通过组装调试等实践活动,使电路达到性能要求。 第二章系统概述 2.1设计思想与方案选择 方案一,利用数字电路中学习的六十进制和二十四进制计数器和三八译码器来实现数字中的时间显示。 方案二,利用AT89S51单片机和74HC573八位锁存器以及利用C语言对AT89S51进行编程来实现数字钟的时间显示。 由于方案一通过数电的学习我们都比较熟悉,而方案二比较复杂,涉及到比较多我们没学过的内容,所以选择方案一来实施。

基于FPGA的数字电子时钟设计与实现

课程设计(论文)说明书 题目:基于FPGA的数字电子时 钟设计 院(系):信息与通信学院 专业:微电子学 学生姓名: 学号:0900240115 指导教师: 职称:实验师 2012 年12 月25 日

一、所用设备与器材 1.1仪器设备 使用仪器设备有FPGA DE2-70开发板、PC机、信号发生器。 图1 FPGA DE2-70开发板图 二.系统方案 2.1 设计思想 利用数字电子技术、EDA设计方法、FPGA等技术,设计、仿真并实现一个基于FPGA的数字电子时钟基本功能,其基本组成框图如图1所示,振荡器采用ALTERA的DE2-70实验板的50MHz输出,分频器将50MHz的方波进行分频进而得到1Hz的标准秒脉冲,时、分、秒计时模块分别由二十四进制时计数器、六十进制分计数器和六十进制秒计数器完成,校时模块完成时和分的校正。扩展功能设计为倒计时功能,从59分55秒至59分59秒,每秒亮一盏灯报时。 2.1.1课题背景 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力的推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能更进一步,产品更新换代的节奏也越来越快。 20世纪80年代末,出现了FPGA(Field Progrommable Gate Array),CAE 和CAD技术的应用更为广泛,它们在PCB设计的原理图输入,自动布局布线及PCB分析,以及逻辑设计,逻辑仿真布尔综合和化简等方面担任了重要的角色,

为电子设计自动化必须解决的电路建模,标准文档及仿真测试奠定了基础。硬件描述语言是EDA技术的重要组成部分,VHDL是作为电子设计主流硬件的描述语言。本论文就是应用VHDL语言来实现秒表的电路设计。VHDL语言是标准硬件描述语言,它的特点就是能形式化抽样表示电路结构及行为,支持逻辑设计中层次领域的描述,借用了高级语言的精巧结构简化电路描述,具有电路模拟与验证及保证设计的正确性,支持电路由高层向底层的综合变换,便于文档管理,易于理解和设计重用。 EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。 利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。 现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA 技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。EDA 设计可分为系统级、电路级和物理实现级。 用VHDL语言开发的流程: (1)文本编辑:用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。 通常VHDL文件保存为.vhd文件。 (2)功能仿真:将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完 成以后,进行时序仿真)。 (3)逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式和信号的连接关系。逻辑综合软件会生成.edf (edif)的EDA工业标准文件。 (4)布局布线:将.edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放到PLD/FPGA内。

FPGA数字钟报告大作业

FPGA课程设计实验报告 题目:基于FPGA 的数字钟设计学院:电子信息学院 专业:电子与通讯工程 学号:109030007 姓名:朱振军

基于FPGA的数字钟设计 一、功能介绍 1.在七段数码管上具有时--分--秒的依次显示。 2.时、分、秒的个位记满十向高位进一,分、秒的十位记满五向高位进一,小时按24进制计数,分、秒按60进制计数。 3.整点报时,当计数到整点时扬声器发出响声。 4.时间设置:可以通过按键手动调节秒和分的数值。此功能中可通过按键实现整体清零和暂停的功能。 5.LED灯循环显示:在时钟正常计数下,LED灯被依次循环点亮。 待增加功能: 1.实现手动调节闹铃时间,在制定时间使扬声器发声。 2.实现微妙的快速计数功能,可实现暂停、保存当前时间、继续计数的功能。 二、设计方案 本文数字钟的设计采用了自顶向下分模块的设计。底层是实现各功能的模块,各模块由vhdl语言编程实现:顶层采用原理图形式调用。其中底层模块包括秒、分、时三个计数器模块、按键去抖动模块、按键控制模块、时钟分频模块、数码管显示模块共7个模块。 设计框图如下: 图一数字钟系统设计框图 由图1可以清晰的看到数字钟系统设计中各功能模块间连接关系。系统时钟50MHZ经过分频后产生1秒的时钟信号,1秒的时钟信号作为秒计数模块的输入信号,秒计数模块产生的进位信号作为分计数模块的输入信号,分计数模块的进位信号作为时计数模块的输入信号。秒计数模块、分计数模块、时计数模块的计数输出分别送到显示模块。由于设计中要使用按键进行调节时间,而按键的动作过程中存在产生得脉冲的不稳定问题,所以就牵扯到按键去抖动的问题,对此系统中设置了按键去抖动模块,按键去抖动模块产生稳定的脉冲信号送入按键控制模块,按键控制模块根据按键的动作对秒、分、时进行调节。

基于FPGA的数字时钟的设计1.(精选)

基于FPGA的数字时钟的设计课题:基于FPGA的数字时钟的设计 学院:电气信息工程学院 专业:测量控制与仪器 班级: 08测控(2)班 姓名:潘志东 学号: 08314239 合作者姓名:颜志林 2010 年12 月12 日

综述 近年来随着数字技术的迅速发展,各种中、大规模集成电路在数字系统、控制系统、信号处理等方面都得到了广泛的应用。这就迫切要求理工科大学生熟悉和掌握常用中、大规模集成电路功能及其在实际中的应用方法,除通过实验教学培养数字电路的基本实验方法、分析问题和故障检查方法以及双踪示波器等常用仪器使用方法等基本电路的基本实验技能外,还必须培养大学生工程设计和组织实验能力。 本次课程设计的目的在于培养学生对基本电路的应用和掌握,使学生在实验原理的指导下,初步具备基本电路的分析和设计能力,并掌握其应用方法;自行拟定实验步骤,检查和排除故障、分析和处理实验结果及撰写实验报告的能力。综合实验的设计目的是培养学生初步掌握小型数字系统的设计能力,包括选择设计方案,进行电路设计、安装、调试等环节,运用所学知识进行工程设计、提高实验技能的实践。数字电子钟是一种计时装置,它具有时、分、秒计时功能和显示时间功能;具有整点报时功能。 本次设计我查阅了大量的文献资料,学到了很多关于数字电路方面的知识,并且更加巩固和掌握了课堂上所学的课本知识,使自己对数字电子技术有了更进一步的认识和了解。

1、课题要求 1.1课程设计的性质与任务 本课程是电子与信息类专业的专业的专业基础必修课——“数字电路”的配套实验课程。目的在于培养学生的理论联系实际,分析和解决问题的能力。通过本课程设计,使学生在理论设计、计算机仿真、指标调测、故障排除等方面得到进一步的训练,加强学生的实践能力。学生通过设计、仿真、调试、撰写设计报告等过程,培养学生的动手能力和严谨的工作作风。 1.2课程设计的基本技术要求 1)根据课题要求,复习巩固数字电路有关专业基础知识; 2)掌握数字电路的设计方法,特别是熟悉模块化的设计思想; 3) 掌握QUARTUS-2软件的使用方法; 4) 熟练掌握EDA工具的使用,特别是原理图输入,波形仿真,能对仿真波形进行分析; 5) 具备EDA技术基础,能够熟练使用VHDL语言进行编程,掌握层次化设计方法; 6) 掌握多功能数字钟的工作原理,学会不同进制计数器及时钟控制电路的设计方法; 7) 能根据设计要求对设计电路进行仿真和测试; 8) 掌握将所设计软件下载到FPGA芯片的下载步骤等等。 9) 将硬件与软件连接起来,调试电路的功能。 1.3课程设计的功能要求 基本功能:能进行正常的时、分、秒计时功能,分别由6个数码管显示24小时,60分钟,60秒钟的计数器显示。 附加功能:1)能利用硬件部分按键实现“校时”“校分”“清零”功能; 2)能利用蜂鸣器做整点报时:当计时到达59’59’’时开始报时,鸣叫时间1秒钟; 3)定时闹铃:本设计中设置的是在七点时进行闹钟功能,鸣叫过程中,能够进行中断闹铃工作。 本人工作:负责软件的编程与波形的仿真分析。 2、方案设计与分析

相关主题