欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    《数字电子技术》课程设计基于fpga的数字电子时钟设计与实现.docx

    • 资源ID:12155567       资源大小:1.66MB        全文页数:31页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《数字电子技术》课程设计基于fpga的数字电子时钟设计与实现.docx

    1、数字电子技术课程设计基于fpga的数字电子时钟设计与实现数字电子技术课程设计设计题目:基于FPGA的数字电子时钟设计与实现系 部: 电子与信息工程系 专业班级: 电子信息工程08秋(1)班 小组成员: 学 号: 指导教师 : 完成日期: 2012年 1 月一、所用设备与器材 1.1仪器设备使用仪器设备有FPGA DE2-70开发板、PC机、信号发生器。图1 FPGA DE2-70开发板图二系统方案2.1 设计思想利用数字电子技术、EDA设计方法、FPGA等技术,设计、仿真并实现一个基于FPGA的数字电子时钟基本功能, 其基本组成框图如图1所示,振荡器采用ALTERA的DE2-70实验板的50M

    2、Hz输出,分频器将50MHz的方波进行分频进而得到1Hz的标准秒脉冲,时、分、秒计时模块分别由二十四进制时计数器、六十进制分计数器和六十进制秒计数器完成,校时模块完成时和分的校正。扩展功能设计为倒计时功能,从59分55秒至59分59秒,每秒亮一盏灯报时。课题背景20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力的推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能更进一步,产品更新换代的节奏也越来越快。20世纪80年代末,出现了FPGA(Field Progrommable Gate Array),CAE和CAD技术的应用更为广泛,它

    3、们在PCB设计的原理图输入,自动布局布线及PCB分析,以及逻辑设计,逻辑仿真布尔综合和化简等方面担任了重要的角色,为电子设计自动化必须解决的电路建模,标准文档及仿真测试奠定了基础。硬件描述语言是EDA技术的重要组成部分,VHDL是作为电子设计主流硬件的描述语言。本论文就是应用VHDL语言来实现秒表的电路设计。VHDL语言是标准硬件描述语言,它的特点就是能形式化抽样表示电路结构及行为,支持逻辑设计中层次领域的描述,借用了高级语言的精巧结构简化电路描述,具有电路模拟与验证及保证设计的正确性,支持电路由高层向底层的综合变换,便于文档管理,易于理解和设计重用。EDA技术是在电子CAD技术基础上发展起来

    4、的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA 技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。

    5、本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。EDA 设计可分为系统级、电路级和物理实现级。用VHDL语言开发的流程:(1)文本编辑:用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。通常VHDL文件保存为.vhd文件。(2)功能仿真:将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)。(3)逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式和信号的连接关系。逻辑综合软件会生成.edf(edif)的EDA工业标准文件。(4)布局布线:将.edf文件调入PLD厂家

    6、提供的软件中进行布线,即把设计好的逻辑安放到PLD/FPGA内。(5)编程下载:确认仿真无误后,将文件下载到芯片中。本设计为一个多功能的数字钟,具有时、分、秒计数显示功能,以24小时的循环计数:具有校对功能。本设计采用EDA技术,以硬件描述语言VHDL为系统逻辑描述手段设计文件,在Quartus 工具软件下,采用自顶向下的设计方式,由各个基本模块共同构建了一个基本FPGA的数字钟。系统主芯片采用EP2C70F896C6,有时钟模块、控制模块、计时模块、数据译码模块、显示以及报时模块组成。经编译和仿真所设计的程序,在可编程逻辑器件上下载验证,本系统能够完成时、分、秒的分别显示,由按键输入进行数字

    7、钟的校时、清零、启停功能。随着电子技术的发展,数字电路朝着速度快、容量大、体积小、重量轻的方向发展。人们对时间计量的精度要求越来越高,钟表的数字化给人们生产生活带来了极大的方便。数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。本次设计以数字电子为主,实现对时、分、秒数字显示的计时装置,周期为24小时,显示满刻度为23时59分59秒,并具有校时功能和报时功能的数字电子钟。课程设计所采用的开发平台:Quartus II是可编程片上系统的综合性设计环境,它支持CPLD和FPGA器件的开发。FPGA

    8、 (Field Programmable Gate Array)现场可编程门阵列,内部主要由许多可编程逻辑模块组成,靠纵横交错的分布式可编程互连线连接起来,可构成极其复杂的逻辑电路。本次课程设计所采用的FPGA芯片 Cyclone II系列的EP2C70F896C6。 Quartus II软件 Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计程。Quartus

    9、 II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。Quartus II使用基本流程如下:1.打开Quartus II软件,创建工程a.点击工具栏File,利用创建工程向导(New Project Wizard)创建新工程。

    10、图2 新建工程图b.工程目录为c:altera71sp1quartus(路径中不能包含中文,不能建立在桌面上),工程名称以及顶层设计实体为counter10(以英文字母开头)。 图3 创建路径图 c.选择与开发板上芯片型号对应的器件。硬件选cyclone EP2C70F896C6。 图4 芯片选择图d.进入第三方EDA工具选择窗口,在此可以选择使用第三方的EDA工具,如一些布局布线、综合、仿真软件。 e.确认无误后,单击Finsh完成工程创建。f.工程创建成功后,在【Project Navigator】(资源管理窗口)显示当前工程的层次、文件和设计单元。 g.执行FileNewDesign F

    11、ilesverilog HDL File,建立原理图文件。图5 原理图文件建立图h.完成后点击File -save as,保存到c:altera71sp1quartus目录下。i.使用文本编辑器输入源码,完成原理图编译。j.编译工程,执行Processingstartstart Analysis&Elaboration进行编译,分析检查输入文件是否有错误。2创建仿真波形文件a.点击NewVector Waveform Filesave as 图6 新建仿真波形文件图b.在Name框图中右击鼠标,InsertInsert Node or BusNode Finder在Filter中选择Pinns

    12、:all,点击list,点击“”将左侧列表中的内容移动到右侧列表中。 图7 插入管脚图c.在CP上右击选择value,选择时钟脉冲信号clock(周期可自行设置)。EN和nCR都选择高电平(Forcing High)。图8 输入信号赋值d.选择AssignmentsSettings设置simulater settings模式mode选择功能型Functionale.选择Processinggenerate functional simulation netlist生成功能网表图9 生成功能网表图f.点击波形仿真的快捷键,进行波形的仿真。g.分别给EN和nCR不同的电平信号,观察分析波形的变化。

    13、图10 EN=1 nCR=1 图11 EN=0 nCR=1图12 EN=1 nCR=0图13 EN=0 nCR=0图14 EN脉冲 nCR=12.2工作原理及系统框图利用数字电子技术、EDA设计方法、FPGA等技术,设计、仿真并实现一个基于FPGA的数字电子时钟基本功能,其基本组成框图如图1所示,振荡器采用ALTERA的DE2-70实验板的50MHz输出,分频器将50MHz的方波进行分频进而得到1Hz的标准秒脉冲,时、分、秒计时模块分别由二十四进制时计数器、六十进制分计数器和六十进制秒计数器完成,校时模块完成时和分的校正。电子时钟扩展功能为倒计时流水灯。数字电子钟的电路组成框图片如下图:图15

    14、 系统框图1.数字钟电路系统由主体电路和扩展电路两大部分所组成。主体电路主体电路2. 数字电子时钟电路具有时、分、秒计时,秒计数器计满60后向分计数器进位,分计数器计满60后向小时计数器进位,小时计数器按照“24进制”规律计数。3. 准确计时,以数字形式显示时、分、秒的时间,计数器的输出经译码器送显示器。4. 具有分、时校正功能,校正输入脉冲频率为1Hz5. 复位功能,时、分、秒计时清零。6.扩展功能为:具有仿广播电台整点报时的功能,即每逢59分51秒、52秒、53秒、54秒、55秒及57秒,LED绿灯依此点亮,59分59秒时,LED红灯亮,形成倒计时流水灯报时。三软件方案3.1 程序流程图小

    15、时采用24进制计时,当CP,EN和nCR为高电平时计数,计数范围为0,23,使能信号EN等于0时,计时器保持。当高位大于2或高位等于2且低位大于3时,计时器清零,否则继续计时。流程图见下图。图16 24进制程序流程图当CP,EN和nCR为高电平时计数,计数范围为0,9,使能信号EN等于0时,计时器保持。当计时到9的时候,计时器清零,否则继续计时。流程图见下图。图17 10进制流程图 6进制当CP,EN和nCR为高电平时计数,计数范围为0,5,使能信号EN等于0时,计时器保持。当计时到5的时候,计时器清零,否则继续计时。流程图见下图。图18 6进制流程图分、秒采用60进制计时,当CP,EN和nC

    16、R为高电平时计数,计数范围为0,59,使能信号EN等于0时,计时器保持。当个位等于9时向十位进位;当个位等于9十位等于5,计时器清零,否则继续计时。流程图见下图。图19 60进制流程图 from0to9数码管有7段组成,分共阳极和共阴极,本次设计采用共阳极数码管。当输入为低电平时,数码管显示;当输入为高电平时,数码管不显示。用这样的方法输入不同的高低信号控制数码管的显示。图20 from0to9流程图 分频模块图21 分频模块流程图 总流程图图22 总流程图3.2 程序清单头文件complete_clock程序 module complete_clock(HEX0,HEX1,HEX2,HEX3

    17、,HEX4,HEX5,_50MHzIn,_1Hz,_50Hz,_5KHz,_500KHz,AdjMinkey,AdjHrkey,nCR,Alarm,LED0,LED10,LED3,LED4,LED5,LED6,LED7,LED8,LED9); output 7:0 HEX0,HEX1,HEX2,HEX3,HEX4,HEX5;output Alarm,_1Hz,_50Hz,_5KHz,_500KHz;output LED0;output LED10;output LED3;output LED4;output LED5;output LED6;output LED7;output LED8;ou

    18、tput LED9;wire 7:0 HEX0,HEX1,HEX2,HEX3,HEX4,HEX5;input nCR,_50MHzIn;wire _1Hz,_50Hz,_5KHz,_500KHz;wire LED0;wire LED10;wire LED3;wire LED4;wire LED5;wire LED6;wire LED7; wire LED8;wire LED9;input AdjMinkey,AdjHrkey;wire 7:0 Second,Minute,Hour;Divided_Frequency C1(_5KHz,_500KHz,nCR,_50MHzIn);/调用分频模块,

    19、输入50MHz的频率,经两次分频后变为5KHzDivided_Frequency U0(_1Hz,_50Hz,nCR,_5KHz);/调用分频模块,输入5KHz的频率,经 两次分频后变为1Hz top_clock U1(Hour,Minute,Second,_1Hz,nCR,AdjMinkey,AdjHrkey);/调用校时模块, 对时、分模块进行校时 baoshi U2(Alarm_Ring,Minute,Second,_50Hz,_5KHz);assign Alarm=Alarm_Ring;assign LED0=(Minute,Second=16h5951);/定义LED0为59分51秒

    20、时灯亮assign LED10=(Minute,Second=16h5952);/定义LED10为59分52秒时灯亮assign LED3=(Minute,Second=16h5953);/定义LED3为59分53秒时灯亮assign LED4=(Minute,Second=16h5954);/定义LED4为59分54秒时灯亮assign LED5=(Minute,Second=16h5955);/定义LED5为59分55秒时灯亮assign LED6=(Minute,Second=16h5956);/定义LED6为59分56秒时灯亮assign LED7=(Minute,Second=16h

    21、5957);/定义LED7为59分57秒时灯亮assign LED8=(Minute,Second=16h5958);/定义LED8为59分58秒时灯亮assign LED9=(Minute,Second=16h5959);/定义LED9为59分59秒时灯亮from0to9 U10(HEX0,Second3:0); /个位秒调用译码from0to9 U9(HEX1,Second7:4); /十位秒调用译码from0to9 U3(HEX2,Minute3:0); /个位分调用译码from0to9 U4(HEX3,Minute7:4); /个位分调用译码from0to9 U5(HEX4,Hour3

    22、:0); /个位时调用译码from0to9 U6(HEX5,Hour7:4); /十位时调用译码endmodule counter24程序 module counter24(CntH,CntL,nCR,EN,CP);input CP,nCR,EN;output 3:0 CntH,CntL;reg 3:0 CntH,CntL;always (posedge CP or negedge nCR)begin if(nCR) CntH,CntL=8h00;/当nCR=0时,计时器清零 else if(EN) CntH,CntL2)|(CntH9)|(CntH=2)&(CntL=3) CntH,CntL

    23、=8h00; else if(CntH=2)&(CntL3) begin CntH=CntH;CntL=CntL+1b1;end else if(CntL=9) begin CntH=CntH+1b1;CntL=4b0000;end else begin CntH=CntH;CntL=CntL+1b1;endendEndmodule counter60程序 module counter60(Q1,Q2,Q3,Q4,Q5,Q6,Cnt,Cnt1,Cnt24,nCR,EN,CP,LED,LED1,LED2);input CP,nCR,EN;output 7:0 Cnt;output 7:0 Cnt

    24、1;output 7:0 Cnt24;output 6:0 Q1;output 6:0 Q2;output 6:0 Q3;output 6:0 Q4;output 6:0 Q5;output 6:0 Q6;output LED;output LED1;output LED2;wire 7:0 Cnt;wire 7:0 Cnt1;wire 7:0 Cnt24;wire 6:0 Q1;wire 6:0 Q2;wire 6:0 Q3;wire 6:0 Q4;wire 6:0 Q5;wire 6:0 Q6;wire LED;wire LED1;wire LED2;wire ENP;wire ENP1;

    25、wire ENP2;wire ENP3;counter10 UC0(Cnt3:0,nCR,EN,CP);counter6 UC1(Cnt7:4,nCR,ENP,CP);counter10 UC2(Cnt13:0,nCR,ENP1,CP);counter6 UC3(Cnt17:4,nCR,ENP2,CP);counter24 UC4(Cnt247:4,Cnt243:0,nCR,ENP3,CP);assign ENP=(Cnt3:0=4h9);assign ENP1=(Cnt=8h59);assign ENP2=(Cnt13:0=4h9)&(Cnt=8h59);assign ENP3=(Cnt1=

    26、8h59)&(Cnt=8h59);assign LED=CP;assign LED1=CP;assign LED2=CP;from0to9 UC5(Q1,Cnt3:0);from0to9 UC6(Q2,Cnt7:4);from0to9 UC7(Q3,Cnt13:0);from0to9 UC8(Q4,Cnt17:4);from0to9 UC9(Q5,Cnt243:0);from0to9 UC10(Q6,Cnt247:4);Endmodule from0to9程序 module from0to9(HEX,D);output 6:0 HEX;input 3:0 D;reg 6:0 HEX;alway

    27、s (D) begincase(D)4d0:HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,HEX6=7b0000001;4d1:HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,HEX6=7b1001111;4d2:HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,HEX6=7b0010010;4d3:HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,HEX6=7b0000110;4d4:HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,HEX6=7b1001100;4d5:HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,HEX

    28、6=7b0100100;4d6:HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,HEX6=7b0100000;4d7:HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,HEX6=7b0001111;4d8:HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,HEX6=7b0000000;4d9:HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,HEX6=7b0000100;default:HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,HEX6=7b1111111;endcaseendendmodule counter6程序 module c

    29、ounter6(Q,nCR,EN,CP);input CP,nCR,EN;output 3:0 Q;reg 3:0 Q;always (posedge CP or negedge nCR)beginif(nCR) Q=4b0000;/当nCR=0时,计时器清零 else if(EN) Q=Q;/当EN=0时,停止计时,保持 else if(Q=4b0101) Q=4b0000;else Q=Q+1b1;/计时器正常计时endEndmodule counter10程序 module counter10(Q,nCR,EN,CP);input CP,nCR,EN;output 3:0 Q;reg 3:0 Q;always (posedge CP or negedge nCR)beginif(nCR) Q=4b0000;/当nCR=0时,计时器清零 else if(EN) Q=Q;/当EN=0时,停止计时,保持else if(Q=4b1001) Q=4b0000;else Q=Q+1


    注意事项

    本文(《数字电子技术》课程设计基于fpga的数字电子时钟设计与实现.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开