搜档网
当前位置:搜档网 › eda,verilog数字钟设计报告

eda,verilog数字钟设计报告

eda,verilog数字钟设计报告
eda,verilog数字钟设计报告

数字钟

一、任务解析

用Verilog硬件描述语言设计数字钟,实现:

1、具有时、分、秒计数显示功能,以二十四小时循环计时。

2、具有调节小时,分钟的功能,调整时对应的数字闪烁。

3、具有整点报时及闹铃时间可调的功能。

4、数字钟具有四种模式:正常显示、时间调整、闹铃时间调整、秒表。

二、方案论证

没有闹铃功能

三、重难点解析

选择模式:module beii(clr,selin_key,beii_out);

input clr,selin_key;

output [1:0]beii_out;

wire [1:0]beii_out;

reg [1:0]selout_key;

always@(negedge clr or posedge selin_key) begin

if(!clr) selout_key=0;

else begin if(selout_key==2) selout_key=0;

else selout_key=selout_key+1;end

end

assign beii_out=selout_key;

endmodule

头文件中:

module clk_top(clr,clk,upkey,downkey,sel,a,b,c,d,e,f,g,p,clr_key,selin_key);

clr:清零clk:50M时钟

upkey:向上调downkey:向下调

clr_key:恢复初始状态selin_key:模式选择

四、硬件资源分配

60进制module mycnt60(clr,clk,upkey,downkey,selout,q,c);

input clk,clr,upkey,downkey;//upkey为加按键

input [1:0] selout;

output[7:0] q;//60进制输出

output c;//进位溢出位

reg c;

reg[7:0] q;

wire new_clk1,ckb,ckc,ckd,cko;

assign new_clk1=clk|((!selout[0]&selout[1])&(upkey|downkey));

LCELL AA(new_clk1,ckb);//信号延迟

LCELL BB(ckb,ckc);

LCELL CC(ckc,ckd);

LCELL DD(ckd,cko);

initial c=0;

always @(posedge cko or negedge clr )begin

if(!clr) q=8'h00;

else begin if(selout==2) begin if(upkey)begin

if(q==8'h59) q=8'h00;

else if(q==8'h?9) q=q+4'h7;

else q=q+1;

end

else if(downkey)begin

if(q==8'h00) q=8'h59;

else if(q==8'h?0) q=q-4'h7;

else q=q-1;

end

end

else begin

if(q==8'h59) begin q=8'h00;c=1;end

else if(q==8'h?9) begin q=q+4'h7;c=0;end

else begin q=q+1;c=0;end

end

end

end

endmodule

五、实验总结

通过对数字钟的设计到成功是耗时最长的,但也是学到知识点最多,收获最多的。每一个模块与代码都必须仔细研读,参照前人的成功经验,再加上自己的学习心得,将头文件,24进制,浏览扫描模块自己写出,并最终调试成功,非常开心!觉得学到有用的东西,很实用。当然离不开老师与同学的帮助与支持,历练了自己。对数字系统设计有了更深层次的了解,对数字电路也有了知识的补充与扩充!

eda课程设计报告多功能数字钟设计大学论文

湖北大学物电学院EDA课程设计报告(论文) 题目:多功能数字钟设计 专业班级: 14微电子科学与工程 姓名:黄山 时间:2016年12月20日 指导教师:万美琳卢仕 完成日期:2015年12月20日

多功能数字钟设计任务书 1.设计目的与要求 了解多功能数字钟的工作原理,加深利用EDA技术实现数字系统的理解 2.设计内容 1,能正常走时,时分秒各占2个数码管,时分秒之间用小时个位和分钟个位所在数码管的小数点隔开; 2,能用按键调时调分; 3,能整点报时,到达整点时,蜂鸣器响一秒; 4,拓展功能:秒表,闹钟,闹钟可调 3.编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。 4.答辩 在规定时间内,完成叙述并回答问题。

目录(四号仿宋_GB2312加粗居中) (空一行) 1 引言 (1) 2 总体设计方案 (1) 2.1 设计思路 (1) 2.2总体设计框图 (2) 3设计原理分析 (3) 3.1分频器 (4) 3.2计时器和时间调节 (4) 3.3秒表模块 (5) 3.4状态机模块 (6) 3.5数码管显示模块 (7) 3.6顶层模块 (8) 3.7管脚绑定和顶层原理图 (9) 4 总结与体会 (11)

多功能电子表 摘要:本EDA课程主要利用QuartusII软件Verilog语言的基本运用设计一个多功能数字钟,进行试验设计和软件仿真调试,分别实现时分秒计时,闹钟闹铃,时分手动较时,时分秒清零,时间保持和整点报时等多种基本功能 关键词:Verilog语言,多功能数字钟,数码管显示; 1 引言 QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL 以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程,解决了传统硬件电路连线麻烦,出错率高且不易修改,很难控制成本的缺点。利用软件电路设计连线方便,修改容易;电路结构清楚,功能一目了然 2 总体设计方案 2.1 设计思路 根据系统设计的要求,系统设计采用自顶层向下的设计方法,由时钟分频部分,计时部分,按键调时部分,数码管显示部分,蜂鸣器四部分组成。这些模块在顶层原理图中相互连接作用 3 设计原理分析 3.1 分频器 分频模块:将20Mhz晶振分频为1hz,100hz,1000hz分别用于计数模块,秒表模块,状态机模块 module oclk(CLK,oclk,rst,clk_10,clk_100); input CLK,rst; output oclk,clk_10,clk_100;

数字系统设计与verilog HDL课程设计

数字系统设计与verilog HDL课程设计 设计题目:实用多功能数字钟 专业:电子信息科学与技术 班级:0313410 学号:031341025 姓名:杨存智 指导老师:黄双林

摘要 本课程设计利用QuartusII软件Verilog VHDL语言的基本运用设计一个多功能数字钟,经分析采用模块化设计方法,分别是顶层模块、alarm、alarm_time、counter_time、clk50mto1、led、switch、bitel、adder、sound_ddd、sound_ddd_du模块,再进行试验设计和软件仿真调试,分别实现时分秒计时、闹钟闹铃、时分秒手动校时、时分秒清零,时间保持和整点报时等多种基本功能。 单个模块调试达到预期目标,再将整体模块进行试验设计和软件仿真调试,已完全达到分块模式设计功能,并达到设计目标要求。 关键字:多功能数字钟、Verilog、模块、调试、仿真、功能

目录 1.课程设计的目的及任务............................................................. 错误!未定义书签。 1.1 课程设计的目的 (3) 1.2 课程设计的任务与要求 (4) 2.课程设计思路及其原理 (4) 3.QuartusII软件的应用 (5) 3.1工程建立及存盘 (5) 3.2工程项目的编译 (5) 3.3时序仿真 (6) 4.分模块设计、调试、仿真与结果分析 (7) 4.1 clk50mto1时钟分频模块 (7) 4.2 adder加法器模块 (7) 4.3 hexcounter16 进制计数器模块 (7) 4.4 counter_time 计时模块 (8) 4.5 alarm闹铃模块 (8) 4.6 sound_ddd嘀嘀嘀闹铃声模块 (9) 4.7 sound_ddd_du嘀嘀嘀—嘟声音模块 (9) 4.8 alarm_time闹钟时间设定模块 (10) 4.9 bitsel将输出解码成时分秒选择模块 (10) 4.10 switch去抖模块 (11) 4.11 led译码显示模块 (11) 4.12 clock顶层模块 (12) 5.实验总结 (13) 5.1调试中遇到的问题及解决的方法 (13) 5.2实验中积累的经验 (14) 5.3心得体会 (14) 6.参考文献 (14) 1.1 课程设计的目的 通过课程设计的锻炼,要求学生掌握V erilog HDL语言的一般设计方法,掌握VerilogHDL语言的基本运用,具备初步的独立设计能力,提高综合运用所学的理论知识独立分析和解决问题的能力,基于实践、源于实践,实践出真知,实践检验真理,培养学生的

verilog数字系统设计教程习题答案

verilog 数字系统设计教程习题答案第二章 HDL 既是一种行为描述语言,也是一种结构描述语言。如果按照一定的规则和风格编写代码,就可以将功能行为模块通过工具自动转化为门级互联的结构模块。这意味着利用Verilog 语言所提供的功能,就可以构造一个模块间的清晰结构来描述复杂的大型设计,并对所需的逻辑电路进行严格的设计。 2.模块的基本结构由关键词module和endmodule构成。 3.一个复杂电路系统的完整Verilog HDL 模型是由若干个Verilog HDL模块构成的,每一个模块又可以由若干个子模块构成。其中有些模块需要综合成具体电路,而有些模块只是与用户所设计的模块交互的现存电路或激励信号源。利用Verilog HDL语言结构所提供的这种功能就可以构造一个模块间的清晰层次结构来描述极其复杂的大型设计,并对所作设计的逻辑电路进行严格的验证。 HDL和VHDL乍为描述硬件电路设计的语言,其共同的特点在于:能形式化地抽象表示电路的结构和行为、支持逻辑设计中层次与领域的描述、可借用高级语言的精巧结构来简化电路的描述、具有电路仿真与验证机制以保证设计的正确性、支持电路描述由高层到低层的综合转换、硬件描述与实现工艺无关(有关工艺参数可通过语言提供的属性包括进去)、便于文档管理、易于理解和设计重用。 5.不是

6.将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。 7.综合工具可以把HDL变成门级网表。这方面Synopsys工具占有较大的优势,它的Design Compile 是作为一个综合的工业标准,它还有另外一个产品叫Behavior Compiler ,可以提供更高级的综合。 另外最近美国又出了一个软件叫Ambit ,据说比Synopsys 的软件更有效,可以综合50万门的电路,速度更快。今年初Ambit 被Cadence 公司收购,为此Cade nee放弃了它原来的综合软件Syn ergy。随着FPGA 设计的规模越来越大,各EDA公司又开发了用于FPGA设计的综合软件,比较有名的有:Sy nopsys 的FPGAExpress,Cade nee 的Syn plity ,Mentor的Leonardo,这三家的FPGA综合软件占了市场的绝大部分。 8.整个综合过程就是将设计者在EDA平台上编辑输入的HDL文本、原理图或状态图形描述,依据给定的硬件结构组件和约束控制条件 进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述网表文件。用于适配,适配将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件,如JEDEC Jam格式的 文件 9.在FPGA设计中,仿真一般分为功能仿真(前仿真)和时序仿真(后仿真)。功能仿真又叫逻辑仿真,是指在不考虑器件延时和布线延时的理想情况下对源代码进行逻辑功能的验证;而时序仿真是在布局布线后进行,它与

数字电路时钟设计verilog语言编写--

电子线路设计与测试 实验报告 一、实验名称 多功能数字钟设计 二、实验目的 1.掌握可编程逻辑器件的应用开发技术 ——设计输入、编译、仿真和器件编程; 2.熟悉一种EDA软件使用; 3.掌握Verilog设计方法;

4.掌握分模块分层次的设计方法; 5.用Verilog完成一个多功能数字钟设计。 三、设计内容及要求 1.基本功能 具有“秒”、“分”、“时”计时功能,小时按24小时制计时。 具有校时功能,能对“分”和“小时”进行调整。 2.扩展功能 仿广播电台正点报时。在59分51秒、53秒、55秒、57秒发出低音512Hz 信号,在59分59秒时发出一次高音1024Hz信号,音响持续1秒钟,在1024Hz音响结束时刻为整点。 定时控制,其时间为23时58分。 3.选做内容 任意时刻闹钟(闹钟时间可设置)。 自动报整点时数。 四.系统框图与说明 数字钟框图

1.数字钟电路系统由主体电路和扩展电路两大部分所组成。 2.秒计数器计满60后向分计数器进位,分计数器计满60后向小时计数器进位,小时计数器按照“24进制”规律计数。 3.计数器的输出经译码器送显示器。 五.设计步骤 1.列写多功能数字钟设计--层次结构图 2.拟定数字钟的组成框图,在Max+Plus II软件中,使用Verilog语言输入,采用分层次分模块的方法设计电路; 3.设计各单元电路并进行仿真; 4.对数字钟的整体逻辑电路图,选择器件,分配引脚,进行逻辑综合; 5.下载到Cyclone II FPGA实验平台上,实际测试数字钟的逻辑功能。

六.Verilog代码 //24进制时钟, 具有计时、校时、仿广播电台正点报时、固定时刻定时,任意时刻闹钟等功能 module clock_main(LED_Hour,LED_Minute,LED_Second,Alarm,CP_1KHz,Jsh_Min_key,Jsh_Hour_ke y,Set_Hour_key,Set_Min_key,Show,Ctrl_Bell); input CP_1KHz;//定义输入时钟 input Jsh_Min_key,Jsh_Hour_key;//定义校时按键 input Set_Hour_key,Set_Min_key;//定义闹钟定时按键 input Show; //定义显示模式按键 input Ctrl_Bell;//定义闹钟铃声控制 output [7:0]LED_Hour,LED_Minute,LED_Second;//定义输出变量 wire [7:0]LED_Hour,LED_Minute,LED_Second;//定义输出变量类型 wire [7:0]Hour,Minute,Second; wire [7:0]Set_Hour_Out,Set_Min_Out; wire Out_1Hz,Out_500Hz;//定义分频模块输出变量类型 reg Alarm_Ring,Alarm_Clock_1KHz;//定义仿广播电台报时和固定时刻定时铃声 output Alarm;//蜂鸣器输入 supply1Vdd; wire Alarm_Clock;//任意时刻闹钟闹铃 wire MinL_EN,MinH_EN,Hour_EN;//定义中间变量类型 //分频 fre_dividerFD0(Out_1Hz,Out_500Hz,Vdd,Vdd,CP_1KHz); //正常计时 counter10 U1(.Q(Second[3:0]),.nCR(Vdd),.EN(Vdd),.CP(Out_1Hz)); counter6 U2(.Q(Second[7:4]),.nCR(Vdd),.EN(Second[3:0]==4'h9),.CP(Out_1Hz)); assignMinL_EN=Jsh_Min_key?Vdd:(Second==8'h59); assign MinH_EN=(Jsh_Min_key&&(Minute[3:0]==4'h9))||(Minute[3:0]==4'h9)&&(Second==8'h59 ); counter10 U3(.Q(Minute[3:0]),.nCR(Vdd),.EN(MinL_EN),.CP(Out_1Hz)); counter6 U4(.Q(Minute[7:4]),.nCR(Vdd),.EN(MinH_EN),.CP(Out_1Hz)); assign Hour_EN=Jsh_Hour_key?Vdd:((Minute==8'h59)&&(Second==8'h59)); counter24 U5(Hour[7:4],Hour[3:0],Vdd,Hour_EN,Out_1Hz); //仿广播电台正点报时 baoshi BS1(Alarm_Ring,Minute,Second,Out_500Hz,CP_1KHz);//在59分51秒、53秒、55秒、57秒发出低音512Hz信号,在59分59秒时发出一次高音1024Hz信号,音响持续1秒钟,在1024Hz音响结束时刻为整点 //固定时刻定时

#用Verilog语言编写的多功能数字钟

2009—2010学年第二学期 《数字电子技术课程设计》报告 专业班级:电气-08-1 姓名:曹操 学号:08051127 设计日期:2010年8月23日~27日 一.设计题目 多功能数字钟电路设计 二.设计任务及要求 多功能数字钟应该具有的功能有:显示时—分—秒、整点报时、小时和分钟可调等基本功能。整个钟表的工作应该是在1Hz信号的作用下进行,这样每来一个时钟信号,秒增加1秒,当秒从59秒跳转到00秒时,分钟增加1分,同时当分钟从59分跳转到00分时,小时增加1小时,小时的范围为0~23时。 在实验中为了显示的方便,由于分钟和秒钟显示的范围都是从0~59,所以可以用一个3位的二进制码显示十位,用一个四位的二进制码(BCD 码)显示个位,对于小时因为他的范围是从0~23,所以可以用一个2位的二进制码显示十位,用一个4位的二进制码(BCD码)显示个位。

实验中由于七段码管是扫描的方式显示,所以虽然时钟需要的是1Hz 时钟信号,但是扫描需要一个比较高频率的信号,因此为了得到准确的1Hz 信号,必须对输入的系统时钟50Mhz进行分频。 对于整点报时功能,本实验设计的是当进行正点的倒计时5秒时,让LED来闪烁进行整点报时的提示。 调整时间的按键用按键模块的S1和S2,S1调节小时,每按下一次,小时增加一个小时;S2调整分钟,每按下一次,分钟增加一分钟。另外用S8按键作为系统时钟复位,复位后全部显示00—00—00。 管脚分配如下表: 端口名使用模块信号对应FPGA管脚说明 S1 按键开关S1 R16 调整小时 S2 按键开关S2 P14 调整分钟 RST 按键开关S8 M15 复位 LED LED模块D1 L14 整点倒计时 LEDAG0 数码管模块A段N4 时间显示 LEDAG1 数码管模块B段G4 LEDAG2 数码管模块C段H4 LEDAG3 数码管模块D段L5 LEDAG4 数码管模块E段L4 LEDAG5 数码管模块F段K4 LEDAG6 数码管模块G段K5 SEL0 数码管选择位1 M4 8个数码管

《verilog_数字系统设计课程》(第二版)思考题答案

Verilog数字系统设计教程思考题答案 绪论 1.什么是信号处理电路?它通常由哪两大部分组成? 信号处理电路是进行一些复杂的数字运算和数据处理,并且又有实时响应要求的电路。它通常有高速数据通道接口和高速算法电路两大部分组成。 2.为什么要设计专用的信号处理电路? 因为有的数字信号处理对时间的要求非常苛刻,以至于用高速的通用处理器也无法在规定的时间内完成必要的运算。通用微处理器芯片是为一般目的而设计的,运算的步骤必须通过程序编译后生成的机器码指令加载到存储器中,然后在微处理器芯片控制下,按时钟的节拍,逐条取出指令分析指令和执行指令,直到程序的结束。微处理器芯片中的内部总线和运算部件也是为通用目的而设计,即使是专为信号处理而设计的通用微处理器,因为它的通用性也不可能为某一特殊的算法来设计一系列的专用的运算电路而且其内部总线的宽度也不能随便的改变,只有通过改变程序,才能实现这个特殊的算法,因而其算法速度也受到限制所以要设计专用的信号处理电路。 3.什么是实时处理系统? 实时处理系统是具有实时响应的处理系统。 4.为什么要用硬件描述语言来设计复杂的算法逻辑电路? 因为现代复杂数字逻辑系统的设计都是借助于EDA工具完成的,无论电路系统的仿真和综合都需要掌握硬件描述语言。 5.能不能完全用C语言来代替硬件描述语言进行算法逻辑电路的设计? 不能,因为基础算法的描述和验证通常用C语言来做。如果要设计一个专用的电路来进行这种对速度有要求的实时数据处理,除了以上C语言外,还须编写硬件描述语言程序进行仿真以便从电路结构上保证算法能在规定的时间内完成,并能通过与前端和后端的设备接口正确无误地交换数据。 6.为什么在算法逻辑电路的设计中需要用C语言和硬件描述语言配合使用来提 高设计效率? 首先C语言很灵活,查错功能强,还可以通过PLI编写自己的系统任务,并直接与硬件仿真器结合使用。C语言是目前世界上应用最为广泛的一种编程语言,因而C程序的设计环境比Verilog HDL更完整,此外,C语言有可靠地编译环境,语法完备,缺陷缺少,应用于许多的领域。比较起来,Verilog语言只是针对硬件描述的,在别处使用并不方便。而用Verilog的仿真,综合,查错等大部分软件都是商业软件,与C语言相比缺乏长期大量的使用,可靠性较差,亦有很多缺陷。所以只有在C语言的配合使用下,Verilog才能更好地发挥作用。C 语言与Verilog HDL语言相辅相成,互相配合使用。这就是即利用C语言的完整性又要结合Verilog对硬件描述的精确性,来更快更好地设计出符合性能要求的

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)

基于EDA技术的数字时钟设计

电子系统课程设计任务书 设计题目:基于EDA技术的数字时钟设计 设计目的:课程设计是一种复杂的学习实践过程。设计过程采用系统设计的方法,先分析任务,得到系统设计的要求,然后进行总体设计,划分子系统模块,然后进行详细设计,编写各个功能子系统VHDL代码并进行功能仿真,最后进行整个系统总装并仿真。 设计内容:设计一个采用0.5英寸LED数码管显示的数字时钟系统,工作电源5V,它采用24小时制,具有“时”、“分”、“秒”显示,并且可以校正时间显示。 设计要求: 1.由石英晶体多谐振荡器20MHz和分频器产生1Hz标准秒脉冲;(说 明:EDA试验箱中晶振频率20MHz,经试验箱内一系列二分频可将频率降低,但无法直接产生1Hz信号,需要大家根据实际情况编制分频器得到1Hz信号); 2.秒电路、分电路均为60进制计数,时电路为24进制计数; 3.数码管采用动态扫描方式; 4.能动手校时,校时模块功能可以自由发挥。比如可用两个按钮实 现校时,A按钮控制调整项目,B按钮调整数字,B按钮还可以根据按下时间长短实现慢调、快调功能。也可以用三个按钮实现增减两个方向的手动校时。校时用按钮开关不能超过4个; 5.扩展内容:1)进入校时状态后,被调整数字以2Hz闪烁; 2)24/12小时可调,处于12小时制时,要有AM/PM

显示; 3)所有开关加入防抖设计; 4)加入检测外部环境亮度功能,夜间自动降低数码管显示亮度; 5)加入整点报时电路; 6)增加秒表功能; 7)增加报闹功能。 6.以上电路功能除外部环境亮度检测电路外均由VHDL代码实现层次式设计,顶层电路可以采用EDA电路图。 设计成果: 1.课程设计说明书,要求内容完整,图表完备,条理清楚,字迹工 整,程序完整有相应的注解,仿真波形设计合理有必要的分析,引用资料要注明出处。 2.顶层电路原理图,各层电路VHDL代码及仿真波形。

基于VerilogHDL设计的数字时钟

深圳大学考试答题纸 (以论文、报告等形式考核专用) 二○18 ~二○19 学年度第一学期 课程编 1602080001 课程名称 号 学 姓名李思豪专业年级电子科学与技术16级1班号 题目:基于Verilog HDL设计的数字时钟 摘要:本文利用Verilog HDL语言自顶向下的设计方法设计多功能数字钟,突出了其作为硬件描述语言的良好的可读性、可移植性和易理解等优点,并通过Altera QuartusⅡ 6.0和cyclnoe II EP2C35F672C6完成综合、仿真。此程序通过下载到FPGA芯片后,可应用于实际的数字钟显示中 关键词:Verilog HDL;硬件描述语言;FPGA

目录 一、实验任务 (3) 实验目的 (3) 实验要求 (3) 二、设计思路 (3) 三、实验结果 (10) 四、总结与收获 (14)

一、实验任务 实验目的 1.深入了解基于quartus ii工具的复杂时序逻辑电路的设计。 2.理解并熟练利用EDA工具进行综合设计。 3.熟练掌握芯片烧录的流程及步骤。 4.掌握Verilog HDL 语言的语法规范及时序电路描述方法。 实验要求 设计一个带秒表功能的24 小时数字钟,它包括以下几个组成部分: ①显示屏,由6 个七段数码管组成,用于显示当前时间(时:分,秒)或设置的秒表时间; ②复位键复位所有显示和计数 ③设置键,用于确定新的时间设置,三个消抖按键分别用于时分秒的设置 ④秒表键,用于切换成秒表功能 基本要求 (1) 计时功能:这是本计时器设计的基本功能,每隔一秒计时一次,并在显示屏上显示当前时间。 (2) 秒表功能:设置时间,进行倒计时功能 (3) 设置新的计时器时间:按下设置键后,用户能通过时分秒三个消抖按键对时间进行设置。 二、设计思路 1、总原理框图:

EDA课设数字钟设计

课程设计报告 课程名称数字系统与逻辑设计 课题名称数字钟设计 专业通信工程 班级 学号 姓名 指导教师乔汇东胡瑛谭小兰 2013年7月7日

湖南工程学院课程设计任务书 课程名称数字系统与逻辑设计课题数字钟设计 专业班级通信工程1101班 学生姓名 学号 指导老师 审批乔汇东 任务书下达日期2013 年6月29日 任务完成日期2013 年7月7日

《数字系统与逻辑设计》课程设计任务书一、设计目的 全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的 组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试 程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养 使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。 二、设计要求 1、设计正确,方案合理。 2、程序精炼,结构清晰。 3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单 及程序框图。 4、上机演示。 5、有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应 的分析与结论。 三、进度安排 第十九周星期一:课题讲解,查阅资料 星期二:总体设计,详细设计 星期三:编程,上机调试、修改程序 星期四:上机调试、完善程序 星期五:答辩 星期六-星期天:撰写课程设计报告 附: 课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。

基于verilog数字秒表的设计实现--生产实习报告

生产实习报告 班级:通信13-2班 姓名:闫振宇 学号:1306030222 成绩: 电子与信息工程学院 信息与通信工程系

基于verilog 数字秒表的设计实现 1. 概述 硬件描述语言HDL ( HardwareDescription Langyage) 是一种用形式化方法来描述数字电路和系统的语言。数字电路系统的设计这里用这种语言可以从上层倒下层逐层描述自设计思想用一系列分层的模块来表示极其复杂的数字系统,然后用EDA 工具逐层验证,把其中需要为具体物理电路的模块组合由自动综合工具转换到门级电路网表。Verilog HDL 是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。使用VERILOG 进行系统设计时采用的是从顶至下的设计,自顶向下的设计是从系统机开始巴西同划分为若干个基本单元,然后再把每个单元划分为下一层的基本单元,这样下去直到可以直接用EDA 元件库中的基本元件来实现为止。 2. 设计目的及要求 a. 有源晶振频率:50MHZ ; b. 测试计时范围:00' 00” 00 ~ 59 ',59显”示9的9 最长时间为59 分59 秒; c. 数字秒表的计时精度是10ms; d. 显示工作方式:六位BCD 七段数码管显示读数,两个按钮开关(一个按钮使秒表复位,另一个按钮控制秒表的启动/暂停)。 3. 设计原理秒表的逻辑结构较简单,它主要由四进制计数器、十六进制计数器、分频器、数据选择器、和显示译码器等组成。在整个秒表中最关键的是如何获得一个精确的100HZ 计时脉冲,除此之外,整个秒表还需有一个启动信号和一个清零信号,以便秒表能随意停止、启动以及清零复位。 秒表有共有6个输出显示,其中6个显示输出数据,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有 6 个计数器与之相对应; 6 个计数器的输出全都为BCD 码输出,这样便与同显示译码器连接。 利用一块芯片完成除时钟源,按键和显示器之外的所有数字电路功能。所有数字逻辑功能都在CPLD 器件上用Verilog 语言实现。这样设计具有体积小,设计周期短,调试方 便,故障率地和修改升级容易等特点。 本设计采用依次采用以下设计方法: 1)按键输入缓存,键盘消抖设计;

eda,verilog数字钟设计报告

数字钟 一、任务解析 用Verilog硬件描述语言设计数字钟,实现: 1、具有时、分、秒计数显示功能,以二十四小时循环计时。 2、具有调节小时,分钟的功能,调整时对应的数字闪烁。 3、具有整点报时及闹铃时间可调的功能。 4、数字钟具有四种模式:正常显示、时间调整、闹铃时间调整、秒表。 二、方案论证 没有闹铃功能 三、重难点解析 选择模式:module beii(clr,selin_key,beii_out); input clr,selin_key; output [1:0]beii_out; wire [1:0]beii_out; reg [1:0]selout_key; always@(negedge clr or posedge selin_key) begin if(!clr) selout_key=0; else begin if(selout_key==2) selout_key=0; else selout_key=selout_key+1;end end assign beii_out=selout_key; endmodule

头文件中: module clk_top(clr,clk,upkey,downkey,sel,a,b,c,d,e,f,g,p,clr_key,selin_key); clr:清零clk:50M时钟 upkey:向上调downkey:向下调 clr_key:恢复初始状态selin_key:模式选择 四、硬件资源分配 60进制module mycnt60(clr,clk,upkey,downkey,selout,q,c); input clk,clr,upkey,downkey;//upkey为加按键 input [1:0] selout; output[7:0] q;//60进制输出 output c;//进位溢出位 reg c; reg[7:0] q; wire new_clk1,ckb,ckc,ckd,cko; assign new_clk1=clk|((!selout[0]&selout[1])&(upkey|downkey)); LCELL AA(new_clk1,ckb);//信号延迟 LCELL BB(ckb,ckc); LCELL CC(ckc,ckd); LCELL DD(ckd,cko); initial c=0; always @(posedge cko or negedge clr )begin if(!clr) q=8'h00; else begin if(selout==2) begin if(upkey)begin if(q==8'h59) q=8'h00; else if(q==8'h?9) q=q+4'h7; else q=q+1; end else if(downkey)begin if(q==8'h00) q=8'h59; else if(q==8'h?0) q=q-4'h7; else q=q-1; end

多功能数字钟设计Verilog语言编写

多功能数字钟设计 院系:电光学院 班级:*** 学号: *** 姓名: *** 指导老师:*** 时间:2010.4.20.

摘要:利用QuartusII软件设计一个数字钟,利用模块化的程序设计思想,核心 模块均采用Verilog语言编写(译码显示模块采用原理图设计),软件仿真调试编译成功后,再下载到SmartSOPC实验系统中。经过硬件测试,查找软件设计缺陷,并进一步完善软件,最终设计得到较为满意的多功能数字钟。 关键词:QuartusII; 多功能数字钟; 模块化; Verilog; 可编程; Abstract:Using the QuartusII software design a digital bell with the blocking method.The design takes theory drawing instead of Verilog language.After emluating and debuging successfully,translate and edit the code.Then,download the result to the programmable SmartSOPC system and test it in hardware.Realizing the soul of designing hardware by software. Keywords:QuartusII; digital bell; blocking method; VHDL; programmable; hardware 目录 设计内容简介 (3) 设计要求说明 (3) 方案论证(整体电路设计原理) (3) 各子模块设计理 (5) 分频模块: (5) 计数模块: (7) --校准模块程序实现: (8) --秒计数模块程序实现: (9) --分计数模块程序实现: (10) --时计数模块程序实现: (10) 整点报时模块: (12) 闹钟设定模块: (13) --闹钟调节模块程序实现: (14) --输出信号选择模块程序实现: (14) 彩铃模块: (15) 译码显示模块: (18) 万年历模块: (19) --日计数模块程序设计: (20) --月计数模块程序设计: (23) --年计数模块程序设计: (23) --万年历波形仿真结果: (25) 结论: (26) 实验感想: (26) 附图: (27)

EDA数字钟设计

EDA数字钟设计报告 姓名: xxx 学号:xxxxxxx 专业:电子与通信工程 日期:2014-11-7 江苏科技大学电信院 2014-11-7

1 引言 数字钟通过数字电路技术实现时、分、秒计时,与机械钟相比具有更高的准确性和直观性,具有更长的使用寿命,已得到广泛的使用。数字钟的设计方法有许多种,例如可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用单片机来实现电子钟等等。这些方法都各有其特点,本次电子线路课程设计是在vhdl基础上设计并制作一个可以调控的数字钟。 1.1 实验目的与要求 1.1.1 实验目的 (1)掌握GW48PK2++实验系统的基本用法以及vhdl语言的使用: (2)巩固元件例化、元件调用的基本方法,以及数码管、按键扫描的相关 知识。 1.1.2实验要求 (1)采用元件例化、元件调用实现整体设计; (2)利用按键进行调时; (3)能在实验箱进行仿真验证。 2 系统设计 2.1 原理图设计 数字钟原理图,如图1 图1 数字钟原理图 如图1所示,该系统主要包含六个模块,分为分频器、计数以及显示模块三 大部分,另有按键进行时间控制。

2.2 各模块设计 2.2.1分频器 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity div is port(clk0:in std_logic; clk_1Hz,clk_1kHz:out std_logic); end entity; architecture one of div is signal q1Hz:integer range 0 to 10000000-1 ; signal q1kHz:integer range 0 to 10000-1 ; begin process(clk0) begin if clk0'event and clk0='1'then if q1Hz<5000000-1 then clk_1Hz<='0';q1Hz<=q1Hz+1; elsif q1Hz=10000000-1 then q1Hz<=0; else clk_1Hz<='1';q1Hz<=q1Hz+1; end if; if q1kHz<5000-1 then clk_1kHz<='0';q1kHz<=q1kHz+1; elsif q1kHz=10000-1 then q1kHz<=0; else clk_1kHz<='1';q1kHz<=q1kHz+1; end if; end if; end process; end; 该模块将10MHz的时钟进行分频,产生1S和1mS的信号传递给计数与显示

EDA实验数字计时器设计

数字计时器设计 一、实验目的 1、掌握常见集成电路的工作原理和使用方法。 2、学会单元电路的设计调试方法。 3、掌握QuartusII软件的基本使用方法及会用其设计调试数字计时器。 二、实验设计要求 1、能进行正常的时、分、秒计时功能; 2、分别由六个数码管显示时分秒的计时; 3、系统有保持、清零、校时、校分功能; 4、使时钟具有整点报时功能(当时钟计到59'53"时开始计时,分别在 59'53",59'55",59'57"报时频率500Hz,在59'59"报时频率1000Hz); 5、闹表设定功能。 三、整体电路的工作原理 原理框图: 脉冲产生电路将硬件上的48MHz脉冲依次分频使其产生1Hz脉冲,输入计时器电路,计时器电路时分秒对应的模24、模60、模60计数器采用同步触发方式实现00:00:00~ 23:59:59计时。

校时校分电路通过校时、校分开关的切换来改变计时器电路时分秒对应的模24、模60、模60计数器CLK 端输入脉冲及使能端的设置实现。 保持电路通过使计时器三个计数器使能端置0的方法来实现。 清零电路通过使计时器三个计数器清零端置0的方法来实现。 整点报时电路通过脉冲产生电路的分频及若干门电路组合实现。 闹表: 先设计一48选24的译码选择电路对计时器电路与闹钟定时电路的输出进行选择,界面显示切换通过设置一开关对译码选择电路的控制实现。 定时定分电路设计原理与上校时校分电路一致。 闹铃的设置是先通过一比较电路判断此时计时器电路的时分与闹钟定时电路是否一致来判断是否响铃,铃声是通过数据选择器及若干门电路来对响铃频率的设定。 最后设置一闹铃开关来实现闹表的开关。 四、各子模块设计原理及仿真波形 1、脉冲发生电路(分频电路) 原理图见附表1 用到了四分频、六分频、八分频和一千分频电路,下面以六分频和一千分频为列说明: A 、六分频电路: 它是应用了三个JK 触发器构成的T 触发器,[1][2][1][0]t q q q =+ [2][2][1][0][1]t q q q q =+ [2][1][0]q q q 依次循环输出:000 001 010 101 110 111;从而输出[2]q 就是将clk 六 分频,且脉宽仍为50% 仿真波形:

verilog数字系统设计教程习题答案

verilog数字系统设计教程习题答案 第二章 1.Verilog HDL 既是一种行为描述语言,也是一种结构描述语言。如果按照一定的规则和风格编写代码,就可以将功能行为模块通过工具自动转化为门级互联的结构模块。这意味着利用Verilog语言所提供的功能,就可以构造一个模块间的清晰结构来描述复杂的大型设计,并对所需的逻辑电路进行严格的设计。 2.模块的基本结构由关键词module和endmodule构成。 3.一个复杂电路系统的完整Verilog HDL模型是由若干个Verilog HDL模块构成的,每一个模块又可以由若干个子模块构成。其中有些模块需要综合成具体电路,而有些模块只是与用户所设计的模块交互的现存电路或激励信号源。利用 Verilog HDL语言结构所提供的这种功能就可以构造一个模块间的清晰层次结构来描述极其复杂的大型设计,并对所作设计的逻辑电路进行严格的验证。 4.Verilog HDL和VHDL作为描述硬件电路设计的语言,其共同的特点在于:能 形式化地抽象表示电路的结构和行为、支持逻辑设计中层次与领域的描述、可借用高级语言的精巧结构来简化电路的描述、具有电路仿真与验证机制以保证设计的正确性、支持电路描述由高层到低层的综合转换、硬件描述与实现工艺无关(有关工艺参数可通过语言提供的属性包括进去)、便于文档管理、易于理解和设计重用。 5.不是 6.将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组 合装配的过程。 7.综合工具可以把HDL变成门级网表。这方面Synopsys工具占有较大的优势,它的Design Compile是作为一个综合的工业标准,它还有另外一个产品叫Behavior Compiler,可以提供更高级的综合。 另外最近美国又出了一个软件叫Ambit,据说比Synopsys的软件更有效,可以 综合50万门的电路,速度更快。今年初Ambit被Cadence公司收购,为此Cadence 放弃了它原来的综合软件Synergy。随着FPGA设计的规模越来越大,各EDA公 司又开发了用于FPGA设计的综合软件,比较有名的有:Synopsys的FPGA Express,Cadence的Synplity, Mentor的Leonardo,这三家的FPGA综合软件占了市场的绝大部分。 8.整个综合过程就是将设计者在EDA平台上编辑输入的HDL文本、原理图或状态图形描述,依据给定的硬件结构组件和约束控制条件 进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述网表文件。用于适配,适配将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件,如JEDEC、Jam格式的文件。

EDA课程设计--带有整点报时的数字钟设计与制作

电子学课程设计报告带有整点报时的数字钟设计与制作

目录 一、课程设计的性质、目的和任务 (3) 二、课程设计基本要求 (3) 三、设计课题要求 (3) 四、课程设计所需要仪器 (4) 五、设计步骤 (4) 1、整体设计框图 (4) 2、各个模块的设计与仿真 (4) 2.1分频模块 (4) 2.2计数器模块 (6) 2.3控制模块 (10) 2.4数码管分配 (13) 2.5显示模块 (14) 2.6报时模块 (16) 六、调试中遇到的问题及解决的方法 (18) 七、心得体会 (18)

一、课程设计的性质、目的和任务 创新精神和实践能力二者之中,实践能力是基础和根本。这是由于创新基于实践、源于实践,实践出真知,实践检验真理。实践活动是创新的源泉,也是人才成长的必由之路。 通过课程设计的锻炼,要求学生掌握电路的一般设计方法,具备初步的独立设计能力,提高综合运用所学的理论知识独立分析和解决问题的能力,培养学生的创新精神。 二、课程设计基本要求 掌握现代大规模集成数字逻辑电路的应用设计方法,进一步掌握电子仪器的正确使用方法,以及掌握利用计算机进行电子设计自动化(EDA)的基本方法。 三、设计课题要求 (1)构造一个24小时制的数字钟。要求能显示时、分、秒。 (2)要求时、分、秒能各自独立的进行调整。 (3)能利用喇叭作整点报时。从59分50秒时开始报时,每隔一秒报时一秒,到达00分00秒时,整点报时。整点报时声的频率应与其它的报时声频有明显区别。 #设计提示(仅供参考): (1)对频率输入的考虑 数字钟内所需的时钟频率有:基准时钟应为周期一秒的标准信号。报时频率可选用1KHz和2KHz左右(两种频率相差八度音,即频率相差一倍)。另外,为防止按键反跳、抖动,微动开关输入应采用寄存器输入形式,其时钟应为几十赫兹。 (2)计时部分计数器设计的考虑 分、秒计数器均为模60计数器。 小时计数为模24计数器,同理可建一个24进制计数器的模块。 (3)校时设计的考虑 数字钟校准有3个控制键:时校准、分校准和秒校准。 微动开关不工作,计数器正常工作。按下微动开关后,计数器以8Hz频率连续计数(若只按一下,则计数器增加一位),可调用元件库中的逻辑门建一个控制按键的模块,即建立开关去抖动电路(见书70页)。 (4)报时设计的考虑

相关主题