admin管理员组文章数量:1531982
2024年4月5日发(作者:)
vhdl基本语法
VHDL 基础语法篇 ―― VHDL VHDL硬件描述语言 1.1 VHDL概
述 1.1.1 VHDL的特点
VHDL语言作为一种标准的硬件描述语言,具有结构严谨、描述
能力强的特点,由于
VHDL语言E1 = 14*161 = 224; (3) 位(BIT)数据类型
位数据类型的位值用字符.0.和.1.表示,将值放在单引号中,表示
二值逻辑的0和1。这里
的0和1与整数型的0和1不同,可以进行算术运算和逻辑运
算,而整数类型只能进行算术运算。 位数据类型的定义格式为: TYPE
BIT is ( '0', '1' ); 例如:
RESULT : OUT BIT; RESULT= .1.;
将RESULT引脚设置为高电平。
(4) 位向量(BIT_VECTOR)数据类型
位向量是基于BIT数据类型的数组。VHDL位向量的定义格式为:
TYPE BIT_VECTOR is array (***** range ) of BIT;
使用位向量必须注明位宽,即数组的个数和排列顺序,位向量的
数据要用双引号括起来。 例如 “1010”,X “A8”。其中1010是四位二
进制数,用X表示双引号里的数是十六进制数。 例如:
SIGNAL A :BIT_VECTOR (3 DOWNTO 0 ); A = “1110” ;
表示A是四个BIT型元素组成的一维数组,数组元素的排列顺序
是A3=1,A2=1,A1=1, A0=0。
(5) 布尔(*****)数据类型
一个布尔量具有真(TRUE)和假(FALSE)两种状态。布尔量没
有数值的含义,不能
用于数值运算,它的数值只能通过关系运算产生。例如,在IF语
句中,AB是关系运算,如果A=3,B=2,则AB关系成立,结果是布
尔量TRUE,否则结果为FALSE。 VHDL中,布尔数据类型的定义格
式为: TYPE ***** IS (FALSE, TRUE); (6) 字符(*****ER)数据类型
在*****D程序包中预定义了128个ASCII码字符类型,字符类型
用单引号括起来,如.A.,.b.,.1.等,与VHDL标识符不区分大小写不
同,字符类型中的字符大小写是不同的,如.B.和.b.不同。 (7) 字符串
(STRING)
在*****D程序包中,字符串的定义是:
TYPE STRING is array (*****E range ) of *****ER;
字符串数据类型是由字符型数据组成的数组,字符串必须用双引
号括起来。 例如:
*****T STR1 :STRING := “Hellow world”; 定义常数ST1是字符串,
初值是“Hellow world ”。 小提示:
与C语言类似,字符类型用单引号括起来,而字符串必须用双引
号括起来,别弄混了。 (8) 时间(TIME)数据类型
表示时间的数据类型,一个完整的时间类型包括整数表示的数值
部分和时间单位两个部 分,数值和单位之间至少留一个空格,如1
ms,20 ns等。 *****D程序包中定义时间格式为:
TYPE TIME is range -***-********-*****808 to ***-********-
*****807 UNITS fs; -- 飞秒
ps = 1000 fs; -- 皮秒 ns = 1000 ps; -- 纳秒 us = 1000 ns; --
微秒 ms = 1000 us; -- 毫秒 sec = 1000 ms; -- 秒 min = 60 sec; --
分 hr = 60min; -- 小时 END UNITS; 小提示:
实数,时间类型仅用于VHDL仿真,一般综合器不支持。 2. IEEE
预定义的标准逻辑位和标准逻辑位向量 (1) 标准逻辑位(STD_LOGIC)
数据类型
STD_LOGIC是位(BIT)数据类型的扩展,是STD_ULOGIC数据
类型的子类型。它是一
个逻辑型的数据类型,其取值取代BIT数据类型的取值0和1两
种数值,扩展定义了九种值,在IEEE *****程序包中,STD_ULOGIC和
版权声明:本文标题:vhdl基本语法 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1712271628a352160.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论