简易电子钟设计.docx

上传人:小飞机 文档编号:2068731 上传时间:2023-01-06 格式:DOCX 页数:14 大小:538.46KB
返回 下载 相关 举报
简易电子钟设计.docx_第1页
第1页 / 共14页
简易电子钟设计.docx_第2页
第2页 / 共14页
简易电子钟设计.docx_第3页
第3页 / 共14页
简易电子钟设计.docx_第4页
第4页 / 共14页
简易电子钟设计.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《简易电子钟设计.docx》由会员分享,可在线阅读,更多相关《简易电子钟设计.docx(14页珍藏版)》请在三一办公上搜索。

1、 西华大学课程设计说明硬件系统课程设计 题 目: 简易电子钟 学 生 姓 名: 来清华 专 业: 计算机科学与技术(师范) 学 号: 20081201036 指 导 教 师: 彭太乐 日期:2010年 12月 30 日 第 1 页 共 22 页简易电子钟设计 摘 要:Verilog是广泛应用的硬件描述语言,可以用在硬件设计流程的建模、综合和模拟等多个阶段。随着硬件设计规模的不断扩大,应用硬件描述语言进行描述的CPLD结构,成为设计专用集成电路和其他集成电路的主流。通过应用Verilog HDL对多功能电子钟的设计,达到对Verilog HDL的理解,同时对CPLD器件进行简要了解。本文的研究内

2、容包括: 对Altera公司Flex 10K系列的EPF10K 10简要介绍,Altera公司软件Max+plus简要介绍和应用Verilog HDL对多功能电子钟进行设计。关键词:多功能电子钟;硬件描述语言目 录第11页 1引 言11.1课题的背景、目的11.2课题设计环境12EPF10K 10相关说明及VERILOG HDL简介22.1EPF10K 10相关说明22.2Verilog Hdl硬件描述语言简介33应用VERILOG HDL描述的简易电子钟43.1功能描述43.2简易电子钟变成流程图53.3源程序64应用VERILOG HDL描述的简易电子钟功能模块及仿真74.1计时模块74.

3、2译码显示模块84.3仿真分析及结论105结束语116致谢111 引 言随着电子技术的发展,现场可编程门阵列FPGA和复杂可编程逻辑器件CPLD的出现,使得电子系统的设计者利用与器件相应的电子CAD软件,在实验室里就可以设计自己的专用集成电路ASIC器件。这种可编程ASIC不仅使设计的产品达到小型化、集成化和高可靠性,而且器件具有用户可编程特性,大大缩短了设计周期,减少了设计费用,降低了设计风险。目前数字系统的设计可以直接面向用户需求,根据系统的行为和功能要求,自上至下地逐层完成相应的描述综合优化仿真与验证,直到生成器件,实现电子设计自动化。其中电子设计自动化(EDA)的关键技术之一就是可以用

4、硬件描述语言(HDL)来描述硬件电路。VHDL是用来描述从抽象到具体级别硬件的工业标准语言,它是由美国国防部在80年代开发的HDL,现在已成为IEEE承认的标准硬件描述语言。VHDL支持硬件的设计、验证、综合和测试,以及硬件设计数据的交换、维护、修改和硬件的实现,具有描述能力强、生命周期长、支持大规模设计的分解和已有设计的再利用等优点。利用VHDL这些优点和先进的EDA工具,根据具体的实际要求,我们可以自己来设计串口异步通信电路。1.1 课题的背景、目的二十一世纪是信息化高速发展的世纪,产业的信息化离不开硬件芯片的支持。芯片技术的进步是推动全球信息化的动力。因此在二十一世纪掌握芯片技术是十分有

5、必要的。本次课题是计算机组成原理的课程设计,这次课题旨在通过自己对所需功能芯片的设计与实现来巩固以前所学的计算机硬件基础知识,同时也提高动手实践的能力,还有为将来进行更大规模更复杂的开发积累经验。1.2 课题设计环境本次课题设计方要用到的开发环境是Altera公司的EDA设计工具软件MAX+plusII。Altera公司的工作与EDA厂家紧密结合,使MAX+plusII软件可以与其它工业标准的设计输入、综合和校验工具相连接。设计者可以使用Altera或标准EDA输入工具进行设计,使用MAX+plus II编译器对Altera器件的设计进行编译,并使用Altera或其它EDA校验工具进行仿真。目

6、前,MAX+plusII支持与Cadence,Mentor Graphics, Synopsys, Viewlogic等EDA工具接口。MAX+plusII的编译器支持Altera公司的FLEX系列、MAX系列和Classic可编程逻辑器件,提供了一种真正与结构无关的设计环境。编译器还具有强大的逻辑综合与优化功能,使用户不必十分关心设计的细节,可以把精力放在逻辑的实现上。MAX+plusII的设计输入、处理和校验功能都集中在统一的开发环境下,这样可以加快动态调试,缩短开发周期。MAX+plusII软件支持多种硬件描述语言设计输入,包括VHDL,Verilog HDL和Altera自己的硬件描述

7、语言AHDL。MAX+plusII软件提供丰富的库单元供设计调用,其中包括74系列的全部器件和一些基本的逻辑门,多种特殊的逻辑宏功能(Macro-Function)以及新型的参数化的兆功能(Mage-Function).调用库单元进行设计,可以大大减轻工作量。 2 EPF10K 10相关说明及Verilog Hdl简介2.1 EPF10K 10相关说明EPF10K 10隶属于Altera公司生产的FLEX 10K系列产品,此系列集成度从几万门到几十万门,是业界第一个在PLD中嵌入存储器块的器件。具有许多特点:高密度。10000到250000典型门;功能强大的I/O引脚。每一个引脚都是独立的三态

8、门结构,具有可编程的速率控制;嵌入式阵列块(EAB)。每个EAB提供2K比特位,可用来作存储器使用或者用来实现一般的逻辑功能;逻辑单元采用查找表(LUT)结构;采用快速通道(Fast Track)互连,速度快并可预测延时;具有实现快速加法器和计数器的专用进位链和实现高速、多输入逻辑函数的专用级连链;其中EPF10K 10相关电路说明如下:EPF10K10板,内含预定型10K10主体电路和自定义实验区二个部分;预定型10K10主体电路特点如下:采用ALTERA公司10K10 PLCC84 脚器件;使用有源晶振4MHZ增强线路板抗干扰性能;采用三种不同的配置方式,对ALTERA公司的10K10芯片

9、进行配置:通过EDA软件使用本板提供的JTAG接口下载到10K10器件中对其进行加载配置;通过EDA软件使用本板提供的PS MODE接口下载到10K10器件中对其进行加载配置;为了确保系统板掉电又重新上电后能使10K10正常运行,本系统板提供ALTERA公司EPC1441或EPC1P8二种器件对10K10作上电后自动加载配置。本EDA板提供电源接线端子+5V,GND数字地,+12V或自定义,-12V或自定义,SGND模拟地及电源测试引线口+5V、+12V、-12V,均给出信号信息LED指示灯,本EDA板提供JTAG PS MODE代码下载信号信息LED指示灯。自定义实验区特点如下:本EDA板提

10、供三个试验区,其中数字电路实验区A、B二个,模拟电路实验区C一个;为了提高EDA系统板抗干扰性能,模拟地和数字地采用分开设计,而且增加了实验区电路的可塑性,数字电路实验区配有+5V GND数字地,用户电路实验自由连接点,模拟电路实验区配有+5V SGND模拟地,+12V、-12V用户电路实验,自由连接点,用户实验区电路自由连接点共为1908个点,其中数字电路实验区用户自由连接点为2x49行x12列+6行x8列=1272个点,模拟电路实验区用户自由连接点为49行x12列+6行x8列=636个点,提供10K10可用的全部I/O脚引线插座,方便与用户实验区任意连接。实验区连线方式通常使用三种方式:元

11、器件直接焊接方式,一次性使用;实验区可焊接可插接排针孔,以便实验电路任意搭接,增强使用的灵活性,多次性;实验区可选配安装通用实验面包板, 无须做b项操作,面包板可安装三块。EDA 板上跳线连接说明:JP8:控制EPC1441/EPC1P8 +5V电压的提供,JTAG MODE JP,JTAG下载方式支持由本跳线组确定4个全 短接,则允许JTAG方式下载;断开则屏蔽JTAG方式下载;PS MODE:JP PS下载方式支持由本跳线组确定5个全 短接,则允许PS方式下载;断开,则屏蔽PS方式下载;JP10:MSEL0信号受控脚跳左,则MSEL0为0;跳右则MSEL0为1;JP11:MSEL1信号受控

12、脚跳左,则MSEL1为0;跳右则MSEL1为1;PWR5V:+5V跳线开关跳左,+5V为ON接通;跳右+5V为OFF关闭;PIN1_OSC:ALTERA10K10 PIN1脚的时钟信号输入端,跳左CLOCK信号频率,由U5晶振确定;跳右,CLOCK信号频率由上层独立型适配器的时钟晶振确定;PIN43_OSC:ALTERA10K10 PIN43 脚的时钟信号输入端跳左,CLOCK信号频率由U5晶振确定;跳右,CLOCK信号频率由上层独立型适配器的时钟晶振确定;J1A:控制数字实验A区的+5V;DC:电源电压;J2A:控制数字实验A区的电源电压数字信号地GND;J1B:控制数字实验B区的电源电压数

13、字信号地GND;J1C:控制模拟实验C区的+12V;J2C:控制模拟实验C区的-12V;J3C:控制模拟实验C区的电源电压模拟信号地SGND 5;EDA板上电源端子接口LED 指示灯说明;JPWR:电源电压接线端子,从上往下顺序定义为+5V GND、+12V -12V SGND;PWRT:电源电压测试接线端子,从上往下顺序定义,同JPWR +5V GND、+12V -12V SGND;JTAG_MODE:ALTERA10K10 JTAG方式下载接口;PS_MODE: ALTERA10K10 PS方式下载接口;10K10(IN1): ALTERA10K10 外扩展,I/O引线接口 1;10K10

14、(IN2): ALTERA10K10 外扩展,I/O引线接口 2;JP2、JP3、JP4、JP5、JP6向上可选配;GEXIN:各种独立型适配器;LED指示灯:D2、D3、D4、TCK、LED、PS LED分别为+5V、+12V、-12V、JTAG;PS:信号指示灯。2.2 Verilog Hdl硬件描述语言简介模块是Verilog 的基本描述单位,用于描述某个设计的功能或结构及其与其他模块通信的外部端口。一个设计的结构可使用开关级原语、门级原语和用户定义的原语方式描述; 设计的数据流行为使用连续赋值语句进行描述; 时序行为使用过程结构描述。一个模块可以在另一个模块中使用。说明部分用于定义不同

15、的项,例如模块描述中使用的寄存器和参数。语句定义设计的功能和结构。说明部分和语句可以散布在模块中的任何地方;但是变量、寄存器、线网和参数等的说明部分必须在使用前出现。为了使模块描述清晰和具有良好的可读性, 最好将所有的说明部分放在语句前。本书中的所有实例都遵守这一规范。在模块中,可用下述方式描述一个设计:(1) 数据流方式;(2) 行为方式;(3) 结构方式;(4) 上述描述方式的混合。Verilog HDL模型中的所有时延都根据时间单位定义。 使用编译指令将时间单位与物理时间相关联。这样的编译器指令需在模块描述前定义。如果没有编译器指令, Verilog HDL 模拟器会指定一个缺省时间单位

16、。IEEE Verilog HDL 标准中没有规定缺省时间单位。用数据流描述方式对一个设计建模的最基本的机制就是使用连续赋值语句。在连续赋值语句中,某个值被指派给线网变量。请注意连续赋值语句是如何对电路的数据流行为建模的;这种建模方式是隐式而非显式的建模方式。此外,连续赋值语句是并发执行的,也就是说各语句的执行顺序与其在描述中出现的顺序无关。设计的行为功能使用下述过程语句结构描述:(1) initial语句:此语句只执行一次。(2) always语句:此语句总是循环执行, 或者说此语句重复执行。只有寄存器类型数据能够在这两种语句中被赋值。寄存器类型数据在被赋新值前保持原有值不变。所有的初始化语

17、句和always语句在0时刻并发执行。在顺序过程中出现的语句是过程赋值模块化的实例。模块化过程赋值在下一条语句执行前完成执行。过程赋值可以有一个可选的时延。时延可以细分为两种类型:(1) 语句间时延: 这是时延语句执行的时延。(2) 语句内时延: 这是右边表达式数值计算与左边表达式赋值间的时延。在Verilog HDL中可使用如下方式描述结构:(1) 内置门原语(在门级);(2) 开关级原语(在晶体管级);(3) 用户定义的原语(在门级);(4) 模块实例 (创建层次结构)。通过使用线网来相互连接。3 应用Verilog HDL描述的简易电子钟3.1 功能描述计时功能 包括时、分、秒的计时,分

18、别类似于模12、模60、模60计数器。输入变量:时钟clk,直接清零reset。输出变量:小时计时变量为q15:8,其中q15:12为小时的十位,q11:8为小时的个位;q7:0为分计时变量,其中q7:4为分的十位,q3:0为分的个位,上述计时变量均采用8421BCD码。3.2 简易电子钟变成流程图开 始q15:12=1&q11:8=2&q7:4=5&q3:0=9q3:0!=9Reset!=0q3:0=0q3:0=0q7:4!=5q7:4=0q11:8!=9q11:8=0q15:12= q15:12+1q3:0= q3:0+1q7:4= q7:4+1q11:8= q11:8+1q15:12=0

19、;q11:8=1;q7:0=0;FalseFalseFalseFalseFalseTureTureTureTureTure3.3 源程序module clock(reset,clk,q);output15:0q;/输出变量inputreset,clk;/输入变量reg15:0q;/类型always(posedge clk or negedge reset)if(!reset)/复位 (低电平有效)q=0;/清零电子钟elsebegin/如果当前状态为12:59时,计时器变为01:00。if(q15:12=1)&(q11:8=2)&(q7:4=5)&(q3:0=9)beginq15:12=0;q

20、11:8=1;q7:0=0;end/如果当前分钟状态为59时,计分器变为00。else if(q3:0=9)beginq3:0=0;if(q7:4=5)beginq7:4=0;/若当前小时个位态为9时,小时个位变为0,且十位加一。if(q11:8=9)beginq11:8=0;q15:12=q15:12+1;endelseq11:8=q11:8+1;endelse/分十位和个位按计时规律分别加一计时。q7:4=q7:4+1;endelseq3:0=q3:0+1;endendmodule4 应用Verilog HDL描述的简易电子钟功能模块及仿真4.1 计时模块模块功能为正常计时,即每秒钟读一次

21、数,秒表加1,秒计时满60进1给分计时,分计时满60进1给小时计时,小时计时满12清零。从功能上讲分别为模60计数器,模60计数器和模12计数器。模块程序代码:module clock(reset,clk,q);output15:0q;inputreset,clk;reg15:0q;always(posedge clk or negedge reset)if(!reset)/reset the digital clockbeginq=0;endelsebeginif(q15:12=1)&(q11:8=2)&(q7:4=5)&(q3:0=9)beginq15:12=0;q11:8=1;q7:0=

22、0;endelse if(q3:0=9)beginq3:0=0;if(q7:4=5)beginq7:4=0;if(q11:8=9)beginq11:8=0;q15:12=q15:12+1;endelseq11:8=q11:8+1;endelseq7:4=q7:4+1;endelseq7:4=q3:0+1;endendmodule模块仿真:模块符号如下图:电子钟HH:MMQ15:0CLKREST图 计时模块符号生成模块仿真波形如图4.2:图仿真波形4.2 译码显示模块 3-8译码器的原理框图及真值表如图及表所示,3个输入a2:0可能出现8种组合情况:000,001,010,011,100,101

23、,110,111,这样就可控制8个输出y7:0相应的某1位输出为“0”。a03-8译码器a1a2y7:0输 入 输 出a2:0 y7:0 000 11111110 001 11111101 010 11111011 011 11110111输 入 输 出a2:0 y7:0100 11101111101 11011111110 10111111111 01111111表 3-8译码器真值表 图 3-8译码器的原理框图七段显示译码器的原理框图及真值表如图及表所示,4个输入d3:0可能出现16种组合情况;它的7个输出y6:0分别控制共阴LED数码管的a、b、c、d、e、f、g七段的亮/灭,从而显出对

24、应的16个字符。abgcdefd3:0y6:0七段显示译码器图七段显示译码器的原理框图表 8421BCD七段显示译码器真值表 输 入 输 出d3:0 y6:0a,b,c,d,e,f,g H0 1,1,1,1,1,1,0H1 0,1,1,0,0,0,0H2 1,1,0,1,1,0,1H3 1,1,1,1,0,0,1输 入 输 出d3:0 y6:0a,b,c,d,e,f,g H4 0,1,1,0,0,1,1H5 1,0,1,1,0,1,1H6 1,0,1,1,1,1,1H7 1,1,1,0,0,0,0输 入 输 出d3:0 y6:0a,b,c,d,e,f,g H8 1,1,1,1,1,1,1H9

25、1,1,1,1,0,1,1HA 1,1,1,0,1,1,1HB 0,0,1,1,1,1,1输 入 输 出d3:0 y6:0a,b,c,d,e,f,g HC 1,0,0,1,1,1,0HD 0,1,1,1,1,0,1HE 1,0,0,1,1,1,1HF 1,0,0,0,1,1,1模块程序代码module de_7(d, y); input 3:0d; output 6:0y; reg 6:0y; always ( d ) case( d ) 4b0000: y=7b1111110; 4b0001: y=7b0110000;4b0010: y=7b1101101;4b0011: y=7b11110

26、01;4b0100: y=7b0110011;4b0101: y=7b1011011;4b0110: y=7b1011111; 4b0111: y=7b1110000; 4b1000: y=7b1111111;4b1001: y=7b1111011;4b1010: y=7b1110111;4b1011: y=7b0011111;4b1100: y=7b1001110;4b1101: y=7b0111101; 4b1110: y=7b1001111;4b1111: y=7b1000111; endcase endmodule4.3 仿真分析及结论由仿真波形图可以看出,当Q15Q12为小时的十位,

27、Q11Q8为小时的个位,分别计数0001、0010(即12),而Q7Q4为分的十位,Q3Q0为分的个位,分别计数为0101、1001(即59)时,在下一个时钟CLK作用下计时器翻转到01时00分,然后计数器继续自然递增累加计数,完成小时计数器“12翻1”,分计数器为8421BCD码60进制的计时功能。设计及仿真结果符合设计要求,达到预期效果。5 结束语Verilog Hdl语言设计的出现从根本上改变了以往数字电路的设计模式,使电路设计由硬件设计转变为软件设计,这样提高了设计的灵活性,降低了电路的复杂程度,修改起来也很方便。 利用Verilog Hdl设计的灵活性,根据串行通信协议的要求,可以在

28、实验室利用先进的EDA工具,设计出符合自己实际需求的多功能电子钟电路。 经过两周的设计制作,该设计终于如期开发完毕,其功能基本上可以满足处理的需要。 由于时间有限,本系统还有许多不尽人意的地方,需要将来做进一步的改善。这次课程设计,以方便实际操作为基础,以理论联系实际为准则,不断完善,不断创新。6 致谢在这次课程设计中,非常感谢课程设计于雷老师的指导,在老师的身上学到的不仅仅是知识的层面,更重要的是老师追求知识的热情,还重要的是老师对学生的尊重和关爱,却又不失老师本身工作的严谨的态度,他的工作作风以及对生活的态度让我受益匪浅。我在课程设计中碰到的很多个人困难,老师都能给予很大的体谅与帮助。在设计中遇到的试验的客观条件方面,老师都能给予最大力度的协助,让我有更好的设计学习环境,谢谢同学的相互帮助,感谢有了这些,我才能很好的顺利的完成我的这次课程设计。参考文献1 张振荣,晋明武等.MCS-51单片机原理及实用技术M.北京:人民邮电出版社,2000.2 周兴华.手把手教你学单片机M.北京:北京航空航天大学出版社,2005.3褚振勇,翁木云.FPGA设计及应用M.西安:电子科技大学出版社,2002.4 王新梅,肖国镇纠错码原理与方法(修订版) M电子科技大学出版社,2001.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号