欢迎来到天天文库
浏览记录
ID:25224708
大小:171.50 KB
页数:26页
时间:2018-11-18
《硬件描述语言第八讲》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、硬件描述语言及器件教材:任勇峰等编著《VHDL与硬件实现速成》主讲教师:刘文怡08/09学年第1学期教学安排第1讲:VHDL概述及其开发环境第2讲:VHDL的基本元素第3讲:VHDL的进程第4讲:其它并行语句第5讲:VHDL实例剖析第6讲:VHDL的顺序描述语句第7讲:结构体的描述风格第8讲:计数器状态控制第9讲:不同风格的状态机举例第10讲:VHDL综合举例第8讲:计数器状态控制1同步复位与异步复位2计数器设计3基于计数器的状态变更4分频器1同步复位与异步复位时序逻辑概述:时序逻辑电路又称为同步电路,基础电路包括触发器、寄存器、计数器。
2、由数字电路知道,任何时序电路都以时钟为驱动信号,时序电路只是在时钟信号的边沿到来时,其状态才发生改变。因此,时钟信号是时序电路程序的执行条件,时钟信号是时序电路的同步信号。什么是时钟?其作用是什么?时序电路中进程敏感信号是时钟信号在时序电路描述中,时钟信号作为敏感信号,显式的出现在PROCESS语句后的括号中。PRCESS(clock_signal)时序信号边沿的到来将作为时序电路语句执行的条件来启动进程的执行。这种以时钟为敏感信号的进程描述方法为:PROCESS(clock_signal)BEGINIF(clock_edge_condi
3、tion)THENSignal_out<=signal_in;—其他时序语句ENDIF;ENDPROCESS;clock信号作为进程的敏感信号,每当clock发生变化,该进程就被触发、启动,而时钟边沿的条件得到满足时,才真正执行时序电路所对应的语句。组合逻辑和时序逻辑数字电路通常分为组合逻辑电路和时序电路:组合逻辑电路outputs=F(current_inputs)时序电路outputs=F(current_inputs,past_inputs)有限状态机就是时序电路的数学抽象,一个有限状态机系统包括inputs,outputs,sta
4、tes.presentstate现态,nextstate次态复位,设定初始状态时序电路的初始状态应由复位信号来设置。根据复位信号对时序电路复位的操作不同,使其可以分为同步复位和异步复位。所谓异步复位,就是当复位信号有效时,时序电路立即复位,与时钟信号无关。同步复位PROCESS(clock)BEGINifclock=‘1’andclock’EVENTthenifreset=‘1’thensout<=‘0’;tmp<=‘0’;elsesout<=sin;tmp<=nottmp;endif;ENDIF;ENDPROCESS;sinclockr
5、esetsouttmp异步复位PROCESS(clock,reset)BEGINifreset=‘1’thensout<=‘0’;tmp<=‘0’;elsifclock=‘1’ANDclock’EVENTthensout<=sin;tmp<=nottmp;endif;ENDPROCESS;sinclockresetsouttmp2计数器设计计数器干什么用?计数器计什么样的数?在硬件电路中,“数”都用一组总线上电平对应的二进制值来表示。计数器用来计信号变化的次数,通常用来计上升沿或下降沿到来的个数。如果clk等周期变化,就等价于计时q0q7
6、clk带异步复位的沿敏感计数器SIGNALcounter:STD_LOGIC_VECTOR(7DOWNTO0);process(fosc,rst)beginifrst=‘1’thencounter<=“00000000”;else--上升沿和下降沿都敏感counter<=counter+1;endif;endprocess;关键指标:计数次数、计数时间,与晶振频率有关。带异步复位的沿敏感计数器SIGNALcounter:STD_LOGIC_VECTOR(7DOWNTO0);process(fosc,rst)beginifrst=‘1’th
7、encounter<=“00000000”;elsefosc’eventandfosc=‘1’then--上升沿敏感counter<=counter+1;endif;endprocess;关键指标:计数次数、计数时间,与晶振频率有关。可逆计数器可逆计数器根据计数脉冲的不同,控制计数器在同步信号脉冲的作用,进行加1操作,或者减1操作。可逆计数器的计数方向,由特殊的控制端updn控制。当updn=‘1’时,计数器加1操作;当updn=‘0’时,计数器加1操作;CLKCLRupdnQLIBRARYIEEE;USEIEEE.STD_LOGIC_1
8、164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYcountISPORT(clk,clr,updn:INSTD_LOGIC;Q:OUTSTD_LOGIC
此文档下载收益归作者所有