- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
vhdl语法讲义
条件语句IF-ELSE If expression1 Then statement1; [statement;] [ Elsif expression2 Then statement2; {statement;} Else statement3; [statement;]] End if; 选择语句 CASE-WHEN Case expression Is When constant-value1 = statement1; {statement;} When constant_value2 = statement2; {statement;] When others = statement3; {statement;} End case; 变量赋值语句 由于变量赋值是立即起作用的,所以在进程中变量赋值是顺序语句。例如: Process variable a,b:integer; begin a:=30; b:=40; a:=b; b:=a; end process; 由于变量的赋值是顺序进行的,所以运行结果是a=b=40。 二、VHDL数据类型与数据对象 (2)实数 Type Real Is Range -1.7E38 to 1.7E38; 实数类型的表示可用科学计数形式或者带小数点的形式。 二、VHDL数据类型与数据对象 VHDL中的运算符 算术运算符: + 加 - 减 * 乘 / 除 ** 乘方 mod 求模 rem 求余 abs 求绝对值 逻辑运算: and 逻辑与or 逻辑或nand 与非nor 或非xor 异或xnor 同或not 逻辑非 二、VHDL数据类型与数据对象 关系运算符: = 等于/= 不等于 小于= 小于或等于 大于= 大于或等于 注:其中‘=’操作符也用于表示信号的赋值操作。 连接符,将两个数据对象或矢量连接成维数更大的矢量,它可给代码书写带来方便。 例如: vabc=a b c; 如果a=‘1’ , b=‘0’ , c=‘1’ , 则 vabc=“101” 。 二、VHDL数据类型与数据对象 用户自定义数据类型: (1) 列举数据类型 Type 列举名称 is (元素1,元素2,…) 例子: Type state is(S0,S1,S2,S3); Signal S: state; 二、VHDL数据类型与数据对象 (2) 数组类型 Type 数组名称 is Arrary(范围) of 数据类型; 例子: Type Byte is Arrary(7 downto 0) of Bit; Signal sdo: Byte; 二、VHDL数据类型与数据对象 数据类型的转换 在VHDL语言里,不同类型的数据信号之间不能互相赋值。当需要不同类型数据之间传递信息时,就需要类型转换函数将其中的一种类型数据转换为另一中数据类型后,再进行信号的传递。 二、VHDL数据类型与数据对象 例如: Signal Y : Std_logic_vector(7 downto 0); Signal X : Integer range 0 to 255; Y= CONV_STD_LOGIC_VECTOR(X,8); 二、VHDL数据类型与数据对象 CONV_INTEGER 将数据类型 UNSIGNED, SIGNED转换为INTEGER 类型. CONV_UNSIGNED 将数据类型INTEGER, SIGNED转换为UNSIGNED 类型. CONV_SIGNED 将数据类型INTEGER, UNSIGNED转换为SIGNED类型. CONV_STD_LOGIC_VECTOR 将数据类型INTEGER, UNSIGNED, SIGNED, STD_LOGIC转换为STD_LOGIC_VECTOR 类型. 二、VHDL数据类型与数据对象
文档评论(0)