系统可编程技不 第10讲 VHDL语言的数据类型
在系统可编程技术 第10讲 VHDL语言的数据类型
VHDL数据对象( Data Objects) 1、常数( Constant) 定义格式为: Constant常数名:数据类型:=表达式; Constant width: integer =7 Constant Vcc: REAL: =5.0 Constant D2: Std Logic Vector(width downto 0):=0000" 不能在程序中改变; 增强程序的可读性,便于修改程序; 常量的使用范围取决于其定义位置,可在 Library、 Entity、 Architecture、 Process中进行定义,其有效范围也相应限定
VHDL数据对象(Data Objects) Constant width: integer := 7; Constant Vcc: REAL:=5.0; Constant D2:Std_Logic_Vector(width Downto 0):= ”0000”; ◆ 不能在程序中改变; ◆ 增强程序的可读性,便于修改程序; ◆ 常量的使用范围取决于其定义位置,可在Library、Entity、 Architecture、Process中进行定义,其有效范围也相应限定。 1、常数(Constant) 定义格式为: Constant 常数名:数据类型 :=表达式;
VHDL数据对象( Data Objects) 2、信号 信号数据对象,代表电路内部线路,其在元件之间起互连 作用,没有方向性,可给它赋值,也可当作输入。 定义格式为: signa信号名:数据类型[:=设定值]; 如 Signal A: Std log ic vector (3 Down to 0):=0000"; 信号赋值语句的语法格式为: 目标信号名<=表达式(设定值) A<=“1010″ 注意ε设定的初始值在综合时没有用,只是在仿真时在开始设定一个起始值
2、信号 信号数据对象,代表电路内部线路,其在元件之间起互连 作用,没有方向性,可给它赋值,也可当作输入。 定义格式为: Signal 信号名:数据类型[:=设定值]; 如: Signal A : Std_logic_vector(3 Down to 0) := “0000”; 注意:设定的初始值在综合时没有用,只是在仿真时在开始设定一个起始值。 信号赋值语句的语法格式为: 目标信号名<=表达式(设定值); A <= “1010” VHDL数据对象(Data Objects)
VHDL数据对象( Data Objects) 3、变量 变量是一个局部量,用于对中间数据的临时存储,并不 定代表电路的某一硬件,没有物理意义。 定义格式为: Var iable变量名:数据类型[:=设定值]; 如ε Variable a: i nteger:=0; 变量赋值语句的语法格式为: 目标变量名:=表达式(设定值); 如 aa and C
3、 变量 变量是一个局部量,用于对中间数据的临时存储,并不一 定代表电路的某一硬件,没有物理意义。 定义格式为: Variable 变量名:数据类型[:=设定值]; 如:Variable a: integer := 0; 变量赋值语句的语法格式为: 目标变量名 := 表达式(设定值); 如: a := b and c; VHDL数据对象(Data Objects)
信号、变量、常数对比 一、定义 Signal clk: std_logic Variable data: std logic vector(7 downto 0) Constant width integer =7 二、赋值方式 CIk<=1 (非立即) data:=“1010”;(立即) 三、定义区域 信号:实体、结构体、程序包 变量:进程、子程序 常数:实体、结构体、程序包、块、进程、子程序
信号、变量、常数对比 一、定义 Signal clk: std_logic; Variable data: std_logic_vector(7 downto 0); Constant width: integer :=7 ; 二、赋值方式 clk <= ‘1’ ; (非立即) data := “1010”; (立即) 三、定义区域 信号:实体、结构体、程序包 变量:进程、子程序 常数:实体、结构体、程序包、块、进程、子程序