计数器的VHDL设计与实现

上传人:壹****1 文档编号:509923058 上传时间:2023-02-02 格式:DOCX 页数:13 大小:98.60KB
返回 下载 相关 举报
计数器的VHDL设计与实现_第1页
第1页 / 共13页
计数器的VHDL设计与实现_第2页
第2页 / 共13页
计数器的VHDL设计与实现_第3页
第3页 / 共13页
计数器的VHDL设计与实现_第4页
第4页 / 共13页
计数器的VHDL设计与实现_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《计数器的VHDL设计与实现》由会员分享,可在线阅读,更多相关《计数器的VHDL设计与实现(13页珍藏版)》请在金锄头文库上搜索。

1、HUNAN UNIVERSITY期刊论文EDA课程设计题目:计数器的VHDL设计与实现学生姓名:学生学号:09专业班级:计算机科学与技术0902班指导老师:计数器的 VHDL 设计与实现摘要:介绍了各种基本计数器的组成及其工作原理,重点研究了可变模计数 器的设计与实现,在对现有的可变模计数器的研究基础上,在Quartus开发环境 中,用VHDL语言设计一种功能更加强大的可变模计数器,它具有清零、置数、使 能控制、可逆计数和可变模等功能,并且对传统的可变模计数器的计数失控问题 进行研究,最终设计出一种没有计数失控缺陷的可变模计数器,并通过波形仿真 和EPF10K20TI144-4系列实验箱,验证

2、了其各项设计功能。结果表明该设计正 确功能完整。运行稳定。关键词:VHDL ;计数器;可变模计数;可逆计数VHDL Design and Realization of CounterAbstract: This paper analyzes all kinds of basic counter and its working principle, focus on the counter variable mode of design and implementation. In the environment of Quartus based on research of the exis

3、ting module一alt erable cou nt er,a module一alt erable cou nter with more functions, such as clear, set, enable control, reversible count, module一alterable count and so on, which is designedwith VHDL. By researching the problem of losing control existed in traditional module一alterable counter.A module

4、一alterablecounter with no fault designed. And through the waveform simulation and EPF10K20TI1444 series experiment box, all of the functions are verified.The resuit indicates that the counter is designed correctly, and has integral functions and stable operation.Keywords: VHDL; counter; divided freq

5、uency implement; reversible引言随着电子技术、计算机技术和EDA技术的不断发展,数字系统规模越来越大,传统的电路设计已难以适应复杂电子系统的设计要求。从而使得电子设计自动化(EDA)技术迅速发展,成为硬件电子电路设计 领域中的主要设计手段。利用FPGA / CPLD进行数字系统的开发已被广 泛应用于通信、航天、医疗电子、工业控制等领域。与传统电路设计 方法相比,FPGA / CPLD具有功能强大,开发周期短,投资少,便于追 踪市场变化及时修改产品设计,以及开发工具智能化等特点。近年来, FPGA/CPLD发展迅速,随着集成电路制造工艺的不断进步,高性价比 的FPGA

6、/ CPLD器件推陈出新,使FPGA / CPLD成为当今硬件设计的重要 途径。在FPGA/CPLD的应用设计开发中,VHDL语言作为一种主流的硬 件描述语言,具有很强的电路描述和建模能力,能从多个层次对数字 系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效 率和可靠性,并在语言易读性和层次化、结构化设计方面,表现出了 强大的生命力和应用潜力。Quartus II是Ahera公司在21世纪初推出的FPGA / CPLD集成开发环 境,是Ahera公司前一代FPGA / CPLD集成开发环境Max+Plus 11的更新 换代产品,其界面友好,使用便捷,功能强大,为设计者提供了一种 与

7、结构无关的设计环境,使设计者能方便地进行设计输入、快速处理 和器件编程。计数器是数字系统中使用最多的时序电路之一,不仅能用于对时 钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及 进行数字运算等。可变模计数器由于计数容量可以根据需要进行变 化,为其广泛使用创造了便利。这里在Quartus 11开发环境下,用VHDL 语言设计了一种具有清零、置数、使能控制、可逆计数和可变模功能 的计数器。1基本模10计数器的设计VHDL设计代码如下: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;en

8、tity counter10 isport(clk,clrn:in std_logic;cq:out std_logic_vector(3 downto 0);cout:out std_logic );end counter10;architecture bhv of counter10 issignal cqi:std_logic_vector(3 downto 0); beginprocess(clk,cqi)beginif clrn=0 thenelsif clkevent and clk=1 then if cqi9 thencqi=cqi+1;elsecqi=0000;end if;

9、end if;if cqi=9 thencout=1;else cout=0;end if;cq=cqi;end process;2基本可变模计数器设计可变模计数器是指计数模值可根据需要进行变化的计数器。电 路符号如图1所示,elk为时钟脉冲输入端,clr为清零端,m为模值输 入端,q为计数输出端。基本可变模计数器的VHDL代码如下所示:LIBRARY IEEE;USE ieeeStd_logie_l 164AIL;USE ieeeStd_logie_unsignedALL;USE ieeeStd_logie_arithAll;ENTITY meheounter ISPORT(elk,elr:

10、IN std_logie;m:in integer range 0 tO 99;q:buffer integer range 0 tO 99);END meheounter;ARCHITECTURE one 0F mchcounter IS定义计数最大 值m_ tempsignal m_temp:integer range 0 tO 99;BEGINPROCESS(elk,clr,m)BEGINm_temp=m-1;if elr=1then q=0; 一一以时钟信号的上升沿为计数触发条件 elsif clkevent and clk=1 thenif q=m_temp then q=0;els

11、e q=q+1;end if;end if;清零功能加法计数END PROCESS;END ARCHITECTURE one;说明:上述代码设计采用了常用的if语句结构,即“if条件句t hen 顺序语句elsif条件句t hen顺序语句else顺序语句end if”结构,实 现模值小于99的可变模计数。dbit i ut j j : ni l .i ane a is mchcounteT1h dkq|6 0l曲ji ?nS 0 i in&ti hli rr* ran in riwm r hlbr a* rLLjamn ir.i: m ar f a i 基本可炎揆计数器的电路持号从上述的代码可

12、以看出,基本的可变模计数器的功能单一。仿真 验证则表明在进行模值变换时,基本的可变模计数器存在一些功能上 的缺陷:计数器若是由较小的模值变化为较大的模值时,能正常的进 行变模计数;但当其由较大的模值变化为较小的模值,则可能出现计 数失控,如图2所示,图中显示了当模值由12变换为7时,即发生了计 数失控。失控的原因是大于当模值由12变换为7时,计数输出为q为11, 大于当前模值7的计数最大值6。由此产生了计数失控。JmirJp SO V laop Mu w.pu 潮申 H W.pKiL -dijwinMrWjwwuwirwwm115览?drBQ9 iKO图2 基水可变模计數器的坊能仿算渡彫3.

13、改进的多功能可变模计数器为了克服上述基本可变模计数器的缺陷,并增加更多的控制功能,在此设计了一种改进的多功能可变模计数器,具有清零、置数、使能控制、可逆计数和可变模功能。其电路符号如图3所示,elk为时钟脉 冲输入端,ITI为模值输入端,clr为清零控制端,8为置数控制端, d为置数输入端,en为使能控制端,updn为计数方向控制端,q为计数 输出端,CO为进位输出端。图3多坊能即更樸计數器的电路符号这里所设计的多功能可变模计数器的VHDL代码如下所示:LIBRARY IEEE:USE ieee. std_logic_1164. ALL;USE ieee. std_logic_unsigned

14、. ALL;USE ieee. std_logie_arith. ALL;ENTITY counter ISPoRT(clk, clr, S, en,updn: in stdlogic;d: in integer range 0 to 99; m: in integer range 0 to 99; co:OUT std_logic;q:buffer integer range 0 to 99);END counter:ARCHITECTURE one of counter IS定义计数最大 值m_ tempsignal m_temp:integer range 0 to 99; BEGINP

15、RoCESS(elk,clr,m)BEGINm_temp=m-1;清零功能if clr=1 then q=0;co=0;以时钟信号的上升沿为计数触发条件 elsif elkevent and clk=1then 置数功能if s=1 then qm_temp then q=m_temp;计数使能控制功能elsif en=1thenif updn=1then 加法计数if q=m_temp then q=O;co=1;else q=q+1;co=0 ; end if;elsif updn=0then减法计数if q=O then q=m_temp;co=1 ;else q=q-1;co=0;end if;end if;e

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号