计数计时器的VHDL设计

计数计时器的VHDL设计

ID:40816873

大小:465.60 KB

页数:31页

时间:2019-08-08

计数计时器的VHDL设计_第1页
计数计时器的VHDL设计_第2页
计数计时器的VHDL设计_第3页
计数计时器的VHDL设计_第4页
计数计时器的VHDL设计_第5页
资源描述:

《计数计时器的VHDL设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计数/计时器的VHDL设计本课要解决的问题:一般计时器的VHDL描述;六十进制计数器和计时器的VHDL设计;二十四进制计时器的VHDL设计;数字钟的VHDL设计。一、计数器的作用在时钟的驱动下,对输入脉冲进行计数;如果输入的脉冲为时钟脉冲,就成为计时器。当计数值达到一定数值,计数器产生进位输出,并复位。二、计数器的设计(P63-67)简单计时器的设计;六十进制计数器和计时器的设计;二十四进制计时器的设计;数字钟的设计。最简单的计时器ENTITYCNT4ISPORT(CLK:INBIT;Q:BUFFERINTEGERRANGE15DOWNTO0);END;ARCHITECTUREbhvOFCNT

2、4ISBEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENQ<=Q+1;ENDIF;ENDPROCESS;ENDbhv;BUFFER模式才可以读取在时钟CLK信号的驱动下Q对时钟信号CLK进行计数;由于Q为BUFFER模式,所以可以读取Q的值【例3-19】表式Q<=Q+1的右项与左项并非处于相同的时刻内,对于时序电路,除了传输延时外,前者的结果出现于当前时钟周期;后者,即左项要获得当前的Q+1,需等待下一个时钟周期。时钟信号到来?Q计数加1结束TRUEFALSELIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE

3、.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT4ISPORT(CLK:INSTD_LOGIC;Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0));END;ARCHITECTUREbhvOFCNT4ISSIGNALQ1:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENQ1<=Q1+1;ENDIF;ENDPROCESS;Q<=Q1;ENDbhv;【例3-20】std_logic_unsigned程序包包含对运算符的重载定义信号Q1Q1作为内部信号,可以进行改写和读取

4、;对’+’进行运算符重载,标准逻辑类型可进行加法加上异步复位和置位的十进制计时器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT10ISPORT(CLK,RST,EN:INSTD_LOGIC;CQ:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);ENDCNT10;RST为复位端,EN为使能端;COUT为进位输出端;ARCHITECTUREbehavOFCNT10ISBEGINPROCESS(CLK,RST,EN)VARIABLECQI:

5、STD_LOGIC_VECTOR(3DOWNTO0);BEGINIFRST='1'THENCQI:=(OTHERS=>'0');ELSIFCLK'EVENTANDCLK='1'THENIFEN='1'THENIFCQI<9THENCQI:=CQI+1;ELSECQI:=(OTHERS=>'0');ENDIF;ENDIF;ENDIF;IFCQI=9THENCOUT<='1';ELSECOUT<='0';ENDIF;CQ<=CQI;ENDPROCESS;ENDbehav;异步复位,CQI:=(OTHERS=>‘0’)为省略赋值方式,对CQI清零检测是否允许计数允许计数,检测是否小于9大于9,计数值

6、清零计数大于等于9,输出进位信号将计数值向端口输出LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_unsigned.ALL;ENTITYbcd60countISPORT(clk,bcd1wr,bcd10wr,cin:INSTD_LOGIC;co:OUTSTD_LOGIC;datain:INSTD_LOGIC_VECTOR(3DOWNTO0);bcd10n:BUFFERSTD_LOGIC_VECTOR(2DOWNTO0);bcd1n:BUFFERSTD_LOGIC_VECTOR(3DOWNTO0));ENDbcd60count;【

7、六十进制计数器】实体六十进制计数器的设计clk:时钟端;bcd1wr,bcd10wr:计数初值的个位和十位允许写入端;datain:计数初值输入端;bcd1n,bcd10n:计数值的个位输出和十位输出;co:计数值进位输出。结构体ARCHITECTUREbehaveOFbcd60countISBEGINENDbehave;PROCESS(clk,bcd1wr)BEGINIF(bcd1wr='1')

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。