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

    模可变16位加法计数器Word文档格式.docx

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

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

    模可变16位加法计数器Word文档格式.docx

    1、设计的硬件调试第11天机房检查设计成果,提交设计说明书及答辩指导教师签名: 年 月 日系主任(或责任教师)签名:摘要 IAbstract II1 绪论 12 计数器的工作原理 23 设计原理 33.1 整体设计原理3.2 单元模块的设计 43.3 顶层模块(整体电子线路系统)的设计 84 电路系统的功能仿真 125 硬件调试 146 个人小结 16参考文献 17摘要计数器是数字电子技术中应用的最多的时序逻辑电路。计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。但是并无法显示计算结果,一般都是要通过外接LCD或LED屏才能显示。计数器的种类按照计数

    2、器中的触发器是否同时翻转分类,可将计数器分为同步计数器和异步计数器两种,如果按照计数过程中数字增减分类,又可将计数器分为加法计数器、减法计数器和可逆计数器,随时钟信号不断增加的为加法计数器,不断减少的为减法计数器,可增可减的叫做可逆计数器,另外还有很多种分类不一一列举,但是最常用的是第一种分类,因为这种分类可以使人一目了然,知道这个计数器到底是什么触发方式,以便于设计者进行电路的设计。本次课程设计将利用众多集成电路软件中的Quartus II软件,使用VHDL语言编程来设计一个可通过3个选择位M2、M1、M0实现最多8种不同模式的计数方式的16位二进制加法计数器,并把程序下载到相关可编程逻辑器

    3、件(如Cyclone系列的EP1C3T144C8型号芯片),结合相关外围电路来实现硬件的调试。调试结果表明,所设计的计数器正确实现了5、10、16、46、100、128、200、256进制,共8种可选计数模式的计数功能。关键词:二进制;计数器;VHDL语言AbstractThe counter is the most sequential logic circuit applications in the digital electronic technology. The counter is not only used to count clock pulses, can also be

    4、used to divide, from time to time, the beat pulse and the pulse sequence and number crunching. Can not display the calculation results are generally through an external LCD or LED screen to display. The type of the counter flip-flop in the counter at the same time flip the classification, can be cou

    5、nter to be divided into synchronous counters and asynchronous counters, digital changes in classification in accordance with the counting process, but also the counter is divided into adding counter, down counter and reversible counter, at any time the clock signal increasing for the addition counte

    6、r dwindling down counter, growth can be reduced is called the reversible counter, in addition to a variety of classification does not enumerate, but the most commonly used is the first classification, this classification makes clear, the counter in the end is what triggers the circuit design, so tha

    7、t the designer.The curriculum design will take advantage of many IC software Quartus II software, using the VHDL language to design a 3-bit select the M2, the M1, M0 up to 8 different mode count 16-bit binary adder counter and download the program to the programmable logic device (such as the Cyclon

    8、e series EP1C3T144C8 models chips), combined with related peripheral circuits to hardware debugging. The debug results show that the design counter correctly implemented 5,10,16,46,100,128,200,256 of of hex, a total of eight kinds of optional counting mode count.Keywords: binary; Counter; VHDL langu

    9、age1 绪论现代电子设计技术的核心已日趋转向基于计算机的电子设计自动化,即EDA(Electronic Design Automation)技术。EDA技术就是依赖功能强大的计算机,在集成电路软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部

    10、门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。一般所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。EDA工具软件可大致可分为芯片设计辅助软件、可编程芯片辅助设计软件、系统设计辅助软件等三类。常用的EDA工具软件平台有:Matlab、Protel、Proteus、OrCAD以及本次课程设计所用到的Quartus II等。而且EDA工具软件平台一般都有第三方软件接口,以便于与其他软件联合使用。本次课程设计在设计16位二进制模可变的计数器时所用到的EDA软件工具平台是Quartus II。Quartus II 是Altera公司的综合

    11、性PLD(可编程逻辑器件)开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。本文将介绍在Quartus II平台上利用VHDL语言来实现16位二进制模可变的计

    12、数器的程序设计以及实现硬件调试的原理方法。2 计数器的工作原理计数器是数字系统中使用较多的一种时序逻辑器件。计数器的基本功能是统计时钟脉冲的个数,即对脉冲实现计数操作。其工作原理可概述为:当输入时钟脉冲的一个上升沿(也可以是下降沿)来临时,二进制数据的低一位加1(或减1),并向高位进1(或借1)。在没有外部约束条件时,计数器可进行与其二进制位数对应的数值的相应进制的自循环计数,如位数为3的计数器可进行8进制的自循环加法或减法计数。可根据需要来设置计数器的位数,并通过外部约束条件来人为设定计数器的计数模数,来得到计数进制符合需要的N进制计数器。所谓N进制计数器,是指一个计数器的计数过程,在经历时

    13、钟脉冲信号的个为N之后,二进制数据又回到初始状态的计数器。表1计数器的状态表 时钟Q0Q1Qn-1Qn0.00123.2n-12n1.112n+1图1计数器的状态图3 设计原理本文所设计的为模可变的16位加法计数器,可通过3个选择位M2、M1、M0实现最多8种不同模式的计数方式,例如可构成5、10、16、46、100、128、200、256进制,共8种计数模式。并编程设计相关配套外围电路,通过把程序下载到实验箱来实现硬件的调试。3.1 整体设计原理根据层次化设计理念,可分解成计数模块、模数选择模块、显示模块来进行模块化设计,再把各模块综合得到所设计的电子线路系统。因为现实时需要用到点阵的某行作

    14、为16位LED灯来显示所设计的电子系统功能,所以需要设计显示模块。又因为实验箱上的时钟脉冲频率过高,不符合本次设计的使用要求,所以还需要设计时钟分频模块对时钟进行分频以得到频率合适的时钟脉冲信号。图2整体设计原理框图原始时钟经过分频模块后得到符合要求的时钟脉冲信号作为计数模块的时钟输入,通过3位拨码开关来控制模数选择模块的模数输出,该模数输出作为计数模块的模数选择信号输入,计数模块的16为数据输出作为显示模块的16位数据输入,该16位数据输出接到实验箱上的点阵模块的相应的16个引脚上。3.2 单元模块的设计1. 计数模块的设计计数模块的源程序:library ieee;use ieee.std

    15、_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity cnt isport( clk: in std_logic;jz: in integer range 0 to 65535 ; 定义进制选择输入端口dout: out std_logic_vector(15 downto 0);end cnt;architecture f1 of cnt issignal sd: std_logic_vector(15 downto 0); 定义16位矢量信号变量beginprocess(clk

    16、)if clkevent and clk=1 thensd=jz-1 then sd=0; end if; 达到计数模数返回初值end if;end process;dout=sd;矢量信号变量值赋予输出矢量变量end f1;源程序中定义矢量信号变量是为了实现变量自赋值,因为一般的输出变量不能实现自赋值,而计数过程中又需要变量自赋值来实现计数。因为信号变量具有暂存功能,所以可实现自赋值。因此需要设置信号变量,再把信号变量的置赋予输出变量,以使程序正确实现功能。2.模数选择模块的设计模数选择模块的源程序:entity sel isport( seli: in std_logic_vector(2

    17、 downto 0); 定义控制输入变量selo: out integer range 0 to 65535 ); 模数选择输出变量end sel;architecture f2 of sel iswith seli selectselo=5 when 000, 不同模数的选取10 when 001,16 when 01046 when 011100 when 100128 when 101200 when 110256 when 111null when others;end f2;程序中使用with select 语句可使程序设计变得简单,null为空操作语句,程序中使用null when

    18、 others语句是为了避免当拨码开关输入出现错误输入时造成程序功能错误。3.显示模块的设计显示模块的源程序:entity dpy isport(dpyi: in std_logic_vector(15 downto 0);dpyo: out std_logic_vector(15 downto 0) 定义点阵行选变量dyo: out std_logic_vector(3 downto 0); 定义点阵列选变量end dpy;architecture f3 of dpy issignal dsel: std_logic_vector(3 downto 0);定义4位信号矢量变量dsel0111

    19、with dsel selectdpyo=dpyi when when others;dyo=dsel; 信号矢量变量值赋予列选变量end f3;因为需要使用点阵来显示,所以需要定义4位信号矢量变量来选择点阵的某一列来作为16位LED灯使用,以显示16个数据位的状态变化,程序中所选的为点阵的第8列。“0” when others语句表示点阵的除第8列外的其余列均未被选中,即不会被点亮。4.分频模块的设计分频模块的源程序:entity fp isport( fck : in std_logic ;fpo : out std_logic );分频后的时钟脉冲输出end fp ;architectu

    20、re f4 of fp issignal so : std_logic_vector( 24 downto 0 );begin process( fck )if fckevent and fck=if so=19999999 then 对原始时钟进行20M分频so0000000fpo=else if so=4999999 then 使分频后的时钟占空比为50%0=so+1;end f4;利用计数器的进位输出作为分频后的时钟脉冲信号输出,计数器的计数进制就是分频器的分频数,即N进制的计数器就可以对原始时钟进行N分频。3.3 顶层模块(整体电子线路系统)的设计顶层模块的设计可通过把单元模块的源程序

    21、生成原理图器件,再把单元原理图器件用原理图连接的方法来实现整体电子线路系统的设计。程序中顶层模块的lck输入变量作为原始时钟的输入口,其值赋予分频模块的fck输入变量,显示模块的16位输出矢量变量dpyo值赋予顶层模块的16位lout输出矢量变量,顶层模块的16位lout输出矢量变量用于与点阵的行的16个引脚相连,显示模块的4位输出变量dyo值赋予顶层模块的输出变量lso作为点阵的列选信号,选择模块的3位模数选择输入变量seli值赋予顶层模块的输入变量lin作为模数控制端口,3位lin输入变量端口与3位拨码开关相连。计数模块的clk端口通过信号变量sp与分频模块的fpo相连,分频模块的fpo端

    22、口输出的是频率为20M的原始时钟经20M分频后的周期为1HZ的矩形脉冲信号,进制控制端口jz通过信号变量sl与模数选择模块的selo相连,16为输出端口dout通过信号变量so与显示模块的dpyi相连。各单元模块间连接时需要通过中间变量信号变量才能正确相连,这是因为一般的输出变量不能作为信号输入,而信号变量具有暂存功能,一般的输出变量经过信号变量后就可以当做一般的输入信号使用。整体电子线路系统的设计通过把各单元模块生成器件原理图后,用连接原理图生成bdf文件的方法来完成,该方法简单具体,可视化效果较好,工作量比编写顶层例化程序少了很多,而且不易出错。单元模块元件原理图的生成:选中所要的单元模块

    23、的vhd源程序文件后,单击右键,选中“Create Symbol Files for Current file”选项即可,操作过程如图3.2。图3生成原理图的操作示意图各单元模块的器件原理图:图4计数模块原理图 图5显示模块原理图图6分频模块原理图 图7模数选择模块原理图整体电子线路系统原理连接图:图8整体电子线路系统原理图图8中clki端口作为原始时钟输入端口,端口cout15.0作为控制点阵16个行引脚高低电平的变量,端口cout3.0作为点阵列选控制变量,端口seli2.0作为与3位拨码开关连接的控制计数模数选择的输入端口。多位矢量变量之间用总线连接,一位矢量变量之间用单线连接。4 电路

    24、系统的功能仿真利用Quartus II软件平台的仿真功能来对所设计的电子线路系统进行时序仿真,以检测所设计的系统是否能够实现预期的功能,以便对源程序进行修改。完成整体电子线路系统的设计工作后,新建vwf仿真文件,对所设计的电子线路系统进行功能仿真,检测电子线路系统的正确性。图9新建仿真文件示意图图10计数模数为10的功能仿真波形图11计数模数为16的功能仿真波形以上是以10进制和16进制计数模式为例的功能仿真波形在,从图中可看出所设计的电子线路系统可实现正确功能,即该电子线路系统的设计是正确的。在仿真过程中由于源程序中时钟分频过大,会导致看不到波形,所以需要修改分频参数,降低分频数,以使在仿真

    25、过程中能够看到完整波形,仿真正确后再改回原来的参数。在仿真过程中,可根据需要设置仿真时间长度,以看到更多的仿真波形,有利于从仿真波形中检测所设计的电子线路系统的正确性。5 硬件调试在对所设计的电子线路系统进行功能仿真,确定所设计的电子线路系统是正确的后,接着把用Quartus II软件平台设计的电子线路系统程序文件下载到实验箱,连接好相关外围电路,进行硬件的调试。在进行程序文件的下载前,需要根据实验箱的设置和所用芯片的特点来进行芯片管脚的分配。在分配完管脚后,关闭管脚分配窗口,再对程序进行一次全编译后即可进行程序的下载。在下载过程中有时候可能会不能正确下载,这时在检查下载线连接实验箱无问题后,

    26、可通过多次对程序文件进行全编译、下载来解决。下图为在Quartus II软件平台对芯片进行管脚分配的示意图。图12芯片管脚分配示意图在对芯片分配完管脚,连接好数据下载线,连接好实验箱上的外围电路,给实验箱上电后,即可点击Quartus II操作界面上的工具栏的“Program”按钮的图标,在选择“Program/Configure”后,点击“Star”按钮进行程序文件的下载。下图为程序文件的下载操作示意图。图13程序文件的下载操作示意图程序下载完毕后,通过实验箱上的3位拨码开关来选择所设计的可实现多进制计数功能的电子线路系统的计数进制,通过实验箱上点阵的第8列作为16位LED灯来显示系统的计数

    27、进程,调试结果表明所设计的计数器电子线路系统能够实现通过3个选择位M2、M1、M0实现最多8种不同模式的计数方式,例如可构成5、10、16、46、100、128、200、256进制,共8种计数模式的正确功能。6 个人小结这次EDA课程设计历时一个星期,在整整一个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在顶层模块设计时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。在波形仿真时,也遇到了一点困难,想要的结果不能在波形上得到正确的显示:在设定输入的时钟信号后,在数十次的调试之后,才发现是因为输入的时钟信号对于器件的延迟时间来说太短了。经过屡次调试,终于找到了比较合适的输入数值。其次,在连接各个模块的时候一定要注意各个输入、输出引脚的线宽,因为每个线宽是不一样的,只要让各个线宽互相匹配,才能得出正确


    注意事项

    本文(模可变16位加法计数器Word文档格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

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




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

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

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


    收起
    展开