EDA课程设计论文

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

玉林师范学院EDA课程设计论文

题目:基于EDA技术倒计时器的设计

院(系):电子与通信学院

专业:电信081

学生姓名:黄惠

学号:200805402108

指导老师:甘国妹、陈宇宁

2011年06 月11日

基于EDA技术倒计时器的设计

摘要

本文以Altera公司的DE2开发板为中心,Quartus Ⅱ软件作为开发平台,使用Verilog HDL语言编程,设计了一个倒计时器模型。在程序描述的过程中,用了行为描述方式和结构描述方式二种描述方式对计费器进行描述。该计费器能动态扫描电路,将车费和路显示出来,各有两位小数。整个自动控制系统由三个主要电路构成:里程和车费计算、译码和动态显示。最后给出了仿真的波形,并硬件实现。

关键字:倒计时计数Verilog HDL

引言

Verilog HDL是一种硬件描述语言(HDL:Hardware Discription Language),是一种用文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。

Verilog HDL和VHDL是目前世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。现在,随着系统级FPGA以及片上系统的出现,软硬件协同设计和系统设计变得越来越重要。传统意义上的硬件设计越来越倾向于与系统设计和软件设计相结合。

随着电子行业的发展,对出计数器的要求也越来越高,要求倒计

时器性能稳定计数准确,特别是在进行比赛,竞赛中要求在倒计时,显示出正确的时分秒的准确倒计,自动倒记时器自动记录。

设计原理

本文设计了一个倒计时器的模型,其接口信号如图(一) 所示。

图(一)倒计时器模型方框图

倒计时器的状态由分频产生50Hz的clock信号,产生的clock信号来控制秒控制模块,然后分别将时分秒送到动态扫描模块,最后由片选信号控制哪部分译码模块输出的数据用数码管显示。

该数字钟可以实现2个功能:倒计时功能、重置时间功能。其中倒计时模块有3部分构成:秒倒计时器(cent_s)、分倒计时器(cent_m)

和时倒计时器(cent_h)。

当复位后,倒计时器就从23:59:59开始倒计时,倒计时够一分钟,分就相应减少一,当分倒记六十分时,时同理也相应减少一。该倒计时器同时也可以对时分秒进行调整,三个按键可以分别对其对应的部分进行调时。

秒计时器(cent_s)是由一个60进制的计数器构成的,具有置数和计数功能。Reset为置数信号,当reset为1时,秒计时器置数,置值59, clk为驱动秒计时器的时钟。

分计时器(cent_m)是由一个60进制的计数器构成的,具有置数和计数功能。其中reset为清0信号,当reset为0时,分计时器清0;reset 为置数信号,当set为1时,分计时器置数,置值59。

时计时器(cent_h)是由一个24进制的计数器构成的,具有置数和计数功能。其中reset为置数信号,当reset为1时,时计时器置数。

设计内容

一、设计要求说明

设计并实现具有一定功能的数字倒计时器

2、基于Verilog HDL语言描述系统的功能;

3、在quartus II环境中编译通过;

4、仿真通过并得到正确的波形;

5、结论

6、感想

一)源程序

1、分频模块

本分频模块主要是产生50Hz的脉冲,为下一步作准备,一个脉冲代表要减少一秒。

分频模块的功能结构框图

根据模块实现的功能设计Verilog HDL源代码如下:

module fenpin(clkin,clkout);

input clkin;

output clkout;

reg clkout;

reg [24:0] q;

always @(posedge clkin)

begin

if(q==24999999)

begin

q<=0;

clkout<=~clkout;

end

else q<=q+1;

end

endmodule

该模块的clk:全局时钟信号,这里为1Hz的时钟。

在Altera公司的软件工具Quartus Ⅱ(Windows XP环境下)中编译和波形仿真后得到的波形如图1-2所示:

图1-2 计数器分频模块的仿真波形

2、秒控制模块

秒控制的功能结构框图

根据模块实现的功能设计Verilog HDL源代码如下:module cent_s(clk,reset,adj_s,qout);

input clk,reset,adj_s;

output reg[7:0] qout;

always @(posedge clk^adj_s or posedge reset) begin

if(reset)begin qout[7:4]<=5; qout[3:0]<=9;end else if(qout[3:0]==0)

begin

qout[3:0]<=9;

if(qout[7:4]==0) qout[7:4]<=5;

else qout[7:4]<=qout[7:4]-1;

end

else qout[3:0]<=qout[3:0]-1;

end

endmodule

在Altera公司的软件工具Quartus Ⅱ(Windows XP环境下)中编译和波形仿真后得到的波形如图3-2所示:

3、分控制模块

分控制的功能结构框图

相关文档
最新文档