VHDL语法

  • 格式:doc
  • 大小:170.50 KB
  • 文档页数:5
模块三 VHDL 初步
任务二 两输入与非门的变量描述和操作符运用 知识点 1. VHDL 程序中各种数据类型 2. VHDL 程序的数据对象 3. VHDL 程序的操作符 4. CASE…WHEN 多项选择语句 技能点 1. 用变量赋值语句和操作符描述两输入与非门程序的结构体 2. 用 CASE…WHEN 多项选择语句描述真值表 VHDL 的语言要素有数据对象(Data Objects)、数据类型(Data Types)、各类操 作数(Operands)和运算操作符(Operators)。 一. 数据类型 VHDL 是一种强类型语言,要求设计实体中每一个常数,信号,变量,函数以 及各种参量都必须具有确定的数据类型,并且只有数据类型相同的量才能相互传递 和作用。 1. VHDL 标准的预定义只有最后的赋值语句被启动。传输延迟表示连 线上的延迟,而 INERTIAL 惯性延迟则近似反映实际器件的延迟。 (4)文件 FILE 文件名:数据类型 三. 操作符 VHDL 的各种表达式由操作数和操作符组成,操作数规定运算的方式。表达式 在综合后产生电路,设计运算操作时注意综合效率。 1.逻辑运算符 逻辑表达式综合时直接产生门电路。 NOT,AND,OR,NAND,NOR,XOR,XNOR 无优先级顺序 2.算术运算符 +加-减产生的组合逻辑门所耗费的硬件资源的规模都比较大。 移位操作表达式综合时较为节省硬件资源。乘除法,乘方运算综合效率低,尽量不 使用。 +、-、×、/、MOD、REM、**、ABS、SLL、SRL、SLA、SRA、ROL、ROR 3.关系运算符 =、/=、<、>、<=、>= 位矢量比较时自左至右比较 4.并置运算符 常用于连接字符串 & 5.操作符优先级 需要在区分了程序的顺序性和并行性后,再理解操作符的优先顺序性。
二. VHDL 数据对象 (1)常量 CONSTANT 常量名:数据类型:=表达式 常量类型的定义和设置是为了使设计实体中的常数更容易阅读和修改。可以是 标量类型或复合类型, 不能是文件类型(FILE)或存取类型(ACCESS),常量的可视范围 取决于被定义的位置。 (2)变量 VARIABLE 变量名:数据类型:=初始值 目标变量名:=表达式(注表达式的数据类型应与目标变量一致) 变量只在定义它的设计单元(进程和子程序)使用,对它的赋值是立即发生的,
不存在延迟。综合过程中综合器将略去所有的初始值。 (3)信号 SIGNAL 信号名:数据类型[约束条件]:=初始值 目标信号名<=[TRANSPORT]表达式 信号是描述硬件系统的基本数据类型,类似于连接线。信号是一种容器,可以 容纳当前值,也可以保持历史值,与变量相比,信号具有全局性,在各并行语句模 块中共享,提供信息交流通道。除了没有方向说明外,与实体的端口的概念是一致 的(端口可以被视作隐式的信号定义) 。
2. IEEE 预定义的数据类型
可能取值: ‘0’(强 0) ‘1’(强 1) ‘Z’(高阻态) ‘X’(强未知的) ‘W’(弱未知的) ‘L’(弱 0) ‘H’(弱 1) ‘—’(忽略) ‘U’ (未初始化的) 3. 用户定义的数据类型 TYPE 数据类型名 [,数据类型名] IS 数据类型定义 [OF 基本数据类型]; SUBTYPE 子类型 IS 基本数据类型 RANGE 约束范围;
四. 两输入与非门电路分析及程序语句应用 1. 简单信号赋值语句 赋值目标<=表达式; 将一个数据或一个表达式的运算结果传送给一个数据对象(可以是内部信号, 也可以是预定的端口信号) 。在进程中是顺序语句,而在进行外出现时是并行语句。
2. CASE…WHEN 多项选择语句
3. 两输入与非门电路的 VHDL 设计代码