1.VHDL的基础知识 |
您所在的位置:网站首页 › vhdl是编程语言吗 › 1.VHDL的基础知识 |
目录 1.VHDL语言基础 1.1.标识符 (Identifiers) 关键字(保留 字): 1.2.数据对象(Date Objects) 常量 Constant 变量Variable 信号Signal 1.3.数据类型 VHDL的预定义数据类型 IEEE预定义标准逻辑位与矢量 用户自定义 1.4数据类型转换 属性 运算符 运算符的优先级 1.VHDL语言基础VHDL 概 概 述: VHDL VHSIC Hardwarter Description LanguageVery High speed integrated circuit VHDL 是美国国防部在20世 世纪 纪80 年代初 为实现 其高速集 成电路硬件VHSIC计 计 划 提 出 的描述语言;IEEE 从1986 年开始致力于 于VHDL 标准化 工 作 , 融 合 了其它ASIC 芯片制造 商开发 的 硬件 描述语言的优点,于93 年形成 了标准版 本( (IEEE.std_1164) ) 。 1995年 , 我 国国家技术监督局推荐VHDL做 做 为电 子 设计 自动化硬件 描述语言的国家标准。VHDL的优点: 覆盖面广,系统硬件描述能 力强 ,是一 个多层次的硬 描述语言; VHDL 语言 具 有 良好 的可 读性 , 既 可以 被 计算机 接受 , 也容易被人们所理解;VHDL 语言可以 与 工艺 无关 编程;VHDL 语言 已做 为一种IEEE 的工 业标准 , 便 于 使 用、交流 和 推广 。 1.1.标识符 (Identifiers)标 识符用来定义常数、 变量 、 信号 、 端口 、 子程序或参数的名字,由字母 母(A~Z,a~z) 、数字(0~9)和下划线 线(_)字符组成。 要求 : 首字符必须是字母末字符不能为下 划 线不允许出现两个连续的下划线不区分大小写VHDL定义的保留字(关键字),不能用作标识符标识符字符 最长可以是可以是32个字 符 。注意:注释由两个连续的虚线( -- )引 导 关键字(保留 字):关键字((keyword))是 是VHDL中具有特别含义的单词 , 只能做为固定的用途 ,用户不能用其做为标识符。 如: ABS, ACCESS , AFTER , ALL , AND , ARCHITECTURE, ARRAY , ATTRIBUTE , BEGIN, BODY , BUFFER , BUS , CASE , COMPONENT , CONSTANT , DISCONNECT , DOWNTO , ELSE, ,ELSIF , END , ENTITY , EXIT , FILE , FOR , FUNCTION, GENERIC , GROUP , IF , INPURE , IN ,INOUT , IS , LABEL, LIBRARY , LINKAGE , LOOP , MAP , MOD , NAND , NEW , NEXT, ,NOR , NOT , NULL , OF , ON , OPEN , OR , OTHERS , OUT, PACKAGE , , POUT , , PROCEDURE , PROCESS , PURE , RANGE , RECODE , REM , REPORT , RETURN , ROL , ROR , SELECT, SHARED , SIGNAL , SLA , SLL , SRA , SUBTYPE , THEN, TRANSPORT , TO , , TYPE , UNAFFECTED , UNITS , UNTIL , USE, VARIABLE , WAIT , WHEN , WHILE , WITH ,XOR , XNOR。 1.2.数据对象(Date Objects)数据对象包括常量 、变量 、信号和文件四种类型 。 常量 Constant常量是对某一常量名赋予一个固定的值 ,而且只能赋值一次 。通常赋值在程序开始前进行, 该值的数据类型则在说明语句中指明。 Constant 常数名 :数 据 类 型 : =表达式 例子: Constant Vcc :real:=5.0; -- 定义Vcc的数据类型是实数, 赋值为为5.0V Constant bus_width: integer := 8; --定义总线宽度为常数8 注意事项: 常量所赋的值应和定义的数据类型一致 ;常量在程序包 、实体 、构造体或进程的说明性区域内必须加以说明 。 定义在程序包内的常量可供所含的任何实体 、构造体所引用, 定义在实体说明内的常量只能在该实体内可见 , 定义在进程说明性区域中的常 量只能在该进程内可见。 变量Variable变量只能在进程语句、函数语句和过程语句结构中使用。 变量的赋值是直接的,非预设的, 分配给变量的值立即成为当前值 , 变量不能 表达“ 连线” 或 存储元件 ,不能设置传输延迟量。 变量定义语句: Variable 变量名 : 数据类型 := 初始值 例子: Variable count: integer 0 to 255:=20; 解释:定义count整数变量 , 变化范围0 ~255, 初始值为20。 变量赋值语句: 目标变量名 := 表达式; 例子: x:=10.0; -- 实数变量赋值为10.0 Y:=1.5+x; -- 运算表达式赋值 , 注意表达式必须与目标变量的数据类型相 同 A(3 to 6):=(“1101”); -- 位矢量赋值 信号Signal信号表示逻辑门的输入或输 出 ,类似于连接线, 也可以表达存储元件的状态。 信号通常在构造体 、程序包和实体中。 信号定义语句: Signal 信号名: 数据类型 := 初始值 例子: Signal clock :bit := ‘0 ’; -- 定义时钟信号类型 ,初始值为0 Signal count :BIT_VECTOR(3 DOWNTO 0); -- 定义count 为4位矢量 信号赋值语句: 目标信号名 ’0’); Signal a: bit; signal b: std_logic; A |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |