欢迎来到天天文库
浏览记录
ID:27206591
大小:6.49 MB
页数:182页
时间:2018-11-29
《eda技术教程课件-第五章_vhdl设计初步》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、EDA技术第5章VHDL设计初步HDL文本输入设计HDL:VHDLVerilogAbleVeryhighspeedintegratedHardwareDescriptionLanguage(VHDL)是IEEE、工业标准硬件描述语言用语言的方式而非图形等方式描述硬件电路容易修改容易保存特别适合于设计的电路有:复杂组合逻辑电路,如:译码器、编码器、加减法器、多路选择器、地址译码器…...状态机VHDL的功能和标准VHDL描述输入端口输出端口电路的行为和功能VHDL有两个标准:IEEEStd1076-1987(calledVHDL1987)IEEEStd
2、1076-1993(calledVHDL1993)5.1VHDL程序的基本结构一、VHDL设计实体的组成库和程序包(Library、package)--打开本设计使用的库和程序包实体(Entity)--说明本设计实体的外部端口结构体(Architecture)--描述本设计实体的内部结构和行为配置(Configuration)--指定实体希望配置的结构体【例5-1.1】ENTITYmux21aISPORT(a,b:INBIT;s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISBEGI
3、Ny<=aWHENs='0'ELSEb;ENDARCHITECTUREone;实体结构体5-1.1多路选择器VHDL描述图5-1mux21a实体图5-2mux21a结构体2选1多路选择器的VHDL描述2选1多路选择器的VHDL描述【例5-1.2】ENTITYmux21aISPORT(a,b:INBIT;s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISSIGNALd,e:BIT;BEGINd<=aAND(NOTS);e<=bANDs;y<=dORe;ENDARCHITECTUREon
4、e;【例5-1.3】...ARCHITECTUREoneOFmux21aISBEGINy<=(aAND(NOTs))OR(bANDs);ENDARCHITECTUREone;图5-3mux21a功能时序波形8二、实体功能描述实体的功能对一个电路元件或电路系统的外部接口进行描述,实体反映了本电路与其他电路之间的连接关系,可以看成一个电路符号。1、实体的语句格式实体描述语句通常包括引导语句、结束语句、类属表和端口表四部分,如表5.1.1所示。表5.1.1实体描述语句的格式名称内容引导语句ENTITY实体名IS类属表GENERIC(……);端口表PORT(
5、……);结束语句END实体名;是一种端口界面常数,常以一种说明形式放在实体或结构体的说明部分,类属值可以由设计实体外部赋值,通过类属参数的重新设定可以改变一个设计实体的内部电路和规模。类属参数以关键词GENERIC引导的类属表给出,表中提供时间参数或总线宽度等信息。类属说明的书写格式是:GENERIC(常数名:数据类型:设定值常数名:数据类型:设定值);[例5-2]ENTITYbodyISGENERIC(n:INTEGER);PORT(a:INSTD_LOGIC_VECTOR(n-1DOWNTO0);b:OUTSTD_LOGIC);ENDbody;类
6、属参数端口模式INOUTINOUTBUFFER数据类型表5.1.3几种基本的数据类型类型取值范围特点位类型BIT0和1由IEEE中的标准程序包STANDARD定义,能表示二值逻辑信号位矢量BIT_VECTORBIT的数组由IEEE标准程序包STANDARD定义,能表示多位二值逻辑信号逻辑位STD_LOGIC具有9个不同状态;未初始化状态记为'U',强未知值记为'X',强逻辑0记为'0',强逻辑1记为'1',高阻态'Z',弱不定值'W'弱逻辑0记为'L',弱逻辑1记为'H',不定状态记为'-'由STD_LOGIC_1164程序包定义,能表示二值或9值逻
7、辑,在数字电路中常出现的只有‘0’,‘1’,‘Z’和‘-’四种表5.1.3几种基本的数据类型类型取值范围特点逻辑位矢量STD_LOGIC_VECTOR是STD_LOGIC的数组由STD_LOGIC_1164程序包定义,能表示多位STD_LOGIC信号,如总线信号整数类型INTEGER正整数,负整数和零,POSITIVE(正整数)是其中的一个子集;NATURAL(自然数)也是一个子集,含正整数和0整数的书写不加引号,而位和逻辑位要加单引号。数组要加双引号;整数的取值范围是32位有符号数,即±2147893647布尔类型BOOLEANFALSE和TRUE
8、用于逻辑操作或条件判断,在VHDL仿真器中FALSE和TRUE也用0和1表示,但不是数值a:INBIT;b:
此文档下载收益归作者所有