欢迎来到天天文库
浏览记录
ID:39365739
大小:559.60 KB
页数:99页
时间:2019-07-01
《《VHDL基础》PPT课件(I)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、EDA技术与VHDL第3章VHDL基础3.1VHDL标识符3.1.1短标识符VHDL的短标识符遵守规则:1、有效字符:英文宁母(a--z,A--Zl)、数字(0--9)和下划线“__”。2、必须以英文字母打头。3、下划线(“—”)前后都必须有英文字母或数字4、短标识符不区分大小写。注意:如ENTlTY、ARCHITECTURE、BEGIN、ENDUSE等,它们是VHDL的保留字。原则上这些保留字符用大写。用户自创的标识符用小写。同一短标识符的不的表示形式,是合法的。or_gate,Or_gate,Qr_Gate,OR_GATE.不合法的:2illegal_nam
2、e,_illegal_name,illegal#name,Illegal_name_3.1.2扩展标识符扩展标识符(ExtendedIdentifier)是VHDL’93版扩展的书写规则和识别都有新规定,扩展标识符具有以下特性:(1)扩展标识符用反斜杠来界定。例如:invalid,controller_decode是合法的。(2)允许包含图形符号、空格符,但没有格式的作用。例如:$5000&T,modeAandB是合法的。(3)2个反斜杠之问的字可以和保留字相同。例如;entity,begin都是合法的扩展标识符。(4)2个反斜杠之间的字
3、可以用数宁打头。(5)扩展标识符中允许多个下划线相邻。例如:our__entity是合法的扩展标识符。(6)扩展标识符区分大小写。例如:or_gate和OR_GATE是不同的。(7)扩展标识符永远和短标识符不同。例如:Adder和Adder及adder是不同的。(8)扩展标识符的名字中如果含有一个反斜杠,则用相邻的2个反斜杠来代表它。例如:te\xt表示该扩展标识符的名字为text(5个字母)。3U短标识符vHDL的短标识符遵守以F规则的字符序列:([)有效字符:英文宁母(’al—”z“,fA’。’Zl)、数字(”o”—’9r)(2)必须以英义字
4、蚂打头。(3)下划线(”)的前后都必须有英文字母dZ数字。(4)短标识符不区分大小4。某些标识符,例如ENTlTY、ARCHITECTURE、BEGIN、END、USE.等,它们是WDL的保留字。为了醒日和易于发现错误,建议vHDL的保留宁用大写宁母,啊用户创建的标识符用小巧字母。3.1VHDL基本语法3.1.1组合电路描述图3-1mux21a实体图3-2mux21a结构体3.1VHDL基本语法3.1.1组合电路描述【例3-1】ENTITYmux21aISPORT(a,b:INBIT;s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHI
5、TECTUREoneOFmux21aISBEGINy<=aWHENs='0'ELSEb;ENDARCHITECTUREone;3.1VHDL基本语法3.1.1组合电路描述【例3-2】ENTITYmux21aISPORT(a,b,s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISSIGNALd,e:BIT;BEGINd<=aAND(NOTS);e<=bANDs;y<=dORe;ENDARCHITECTUREone;3.1VHDL基本语法【例3-3】ENTITYmux21aISPORT(a,b,s:
6、INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISBEGINPROCESS(a,b,s)BEGINIFs='0'THENy<=a;ELSEy<=b;ENDIF;ENDPROCESS;ENDARCHITECTUREone;3.1.1组合电路描述3.1VHDL基本语法图3-3mux21a功能时序波形3.1.1组合电路描述3.1VHDL基本语法3.1.2VHDL结构【例3-4】ENTITYe_nameISPORT(p_name:port_mdata_type;...p_namei:port_midata_
7、type);ENDENTITYe_name;1.实体表达3.1VHDL基本语法2.实体名3.端口语句和端口信号名4.端口模式“IN”、“OUT”、“INOUT”、“BUFFER”5.数据类型3.1VHDL基本语法6.结构体表达【例3-5】ARCHITECTUREarch_nameOFe_nameIS[说明语句]BEGIN(功能描述语句)ENDARCHITECTUREarch_name;3.1VHDL基本语法7.赋值符号和数据比较符号IFaTHEN...--注意,a的数据类型必须是booleanIF(s1='0')AND(s2='1')OR(c
8、.8.逻辑操作符BIT、
此文档下载收益归作者所有