欢迎来到天天文库
浏览记录
ID:58912332
大小:600.00 KB
页数:73页
时间:2020-09-29
《电子设计自动化第四章ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章VHDL设计进阶第一节4位加法计数器的VHDL描述【例4-20】ENTITYCNT4ISPORT(CLK:INBIT;Q:BUFFERINTEGERRANGE15DOWNTO0);END;ARCHITECTUREbhvOFCNT4ISBEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENQ<=Q+1;ENDIF;ENDPROCESS;ENDbhv;4位加法计数器的另一种表达方式【例4-21】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;US
2、EIEEE.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;Q<=Q1;ENDPROCESS;ENDbhv;4位加法计数器由两大部分组成:图4
3、-124位加法计数器RTL电路图4-134位加法计数器工作时序归纳数据类型BUFFER模式重载函数计数器结构第二节不同工作方式的时序电路设计一、一般加法计数器设计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;ARCHITEC
4、TUREbehavOFCNT10ISBEGINPROCESS(CLK,RST,EN)VARIABLECQI:STD_LOGIC_VECTOR(3DOWNTO0);BEGINIFRST='1'THENCQI:=(OTHERS=>'0');--计数器复位ELSIFCLK'EVENTANDCLK='1'THEN--检测时钟上升沿IFEN='1'THEN--检测是否允许计数IFCQI<"1001"THENCQI:=CQI+1;--允许计数ELSECQI:=(OTHERS=>'0');--大于9,计数值清零ENDIF;ENDI
5、F;ENDIF;IFCQI="1001"THENCOUT<='1';--计数大于9,输出进位信号ELSECOUT<='0';ENDIF;CQ<=CQI;--将计数值向端口输出ENDPROCESS;ENDbehav;省略赋值操作符(OTHERS=>X)为了简化表达才使用短语“(OTHERS=>X)”,这是一个省略赋值操作符,它可以在较多位的位矢量赋值中作省略化的赋值,如以下语句:SIGNALd1:STD_LOGIC_VECTOR(4DOWNTO0);VARIABLEa1:STD_LOGIC_VECTOR(15DOWNT
6、O0);...d1<=(OTHERS=>'0');a1:=(OTHERS=>'0');图4-15例4-22的工作时序第二节不同工作方式的时序电路设计二、VHDL数据对象(DataObject)在VHDL语言中,凡可以赋于一个值的客体叫对象(object)。VHDL对象包含有专门数据类型,主要有3个基本类型:常量(constant)、信号(signal)、变量(variable)。1、常量(CONSTANT)(1)使用范围:常量是全局量,在结构体描述、包集合说明、实体说明、过程说明、函数调用说明和过程说明中使用。(2)
7、常量赋值后,在VHDL程序中始终不变;常量只能赋值一次;常量是设计者给实体中某一常量名赋予的固定值。一般地,常量赋值在程序开始前进行说明,数据类型在实体说明语句中指明。常量说明的一般格式如下:CONSTANT常数名:数据类型:=表达式;CONSTANTFBT:STD_LOGIC_VECTOR:=“010110”;CONSTANTDATAIN:INTEGER:=15;2、变量(VARIABLE)(1)使用范围:变量是局部量,在进程说明、函数调用说明、过程说明中使用。(2)变量是一个局部量,变量的赋值立即生效,不产生赋值
8、延时。变量书写的一般定义格式为:VARIABLE变量名:数据类型:=表达式;(3)赋值格式:变量名:=表达式;VARIABLEa:INTEGERRANGE0TO15;VARIABLEd:STD_LOGIC;3、信号(SIGNAL)(1)使用范围:信号是全局量,在结构体描述、包集合说明、实体说明中使用。(2)信号是电子电路内部硬件实体相互连接的抽
此文档下载收益归作者所有