6.设计进阶.pptVIP

  • 2
  • 0
  • 约7.1千字
  • 约 35页
  • 2017-12-26 发布于河北
  • 举报
6.设计进阶

* JCXY * EDA技术实用教程 第6章 VHDL设计进阶 6.1 数据对象DATA OBJECTS 6.1.1 常数(CONSTANT) 常数的值不变,它可以在任何部分说明,并可以是任意数据类型 常数定义的一般表述: CONSTANT 常数名:数据类型 := 表达式 ; 例如: CONSTANT FBT: STD_LOGIC_VECTOR :=“010110”; CONSTANT DATA: INTEGER:=15; 6.1 数据对象DATA OBJECTS 变量可以改变值,它可以在进程和子程序中说明,并可以是任意数据类型. 6.1.2 变量(VARIABLE) 定义变量的一般表述: VARIABLE 变量名 : 数据类型 := 初始值 ; 例如: VARIABLE muxval : integer range 7 downto 0; muxval:=0; VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0); CQI := (OTHERS =0) 6.1 数据对象DATA OBJECTS 信号可以随时间而改变值,它可以在结构中说明,并可以是任意数据类型. 6.1.3 信号(SIGNAL) 定义格式: SIGNAL 信号名: 数据类型 := 初始值 ; 赋值: 信号名=同类型的值; 6.1.4 进程中的信号与变量赋值语句 表6-1 信号与变量赋值语句功能的比较 信号SIGNAL 变量VARIABLE 基本用法 用于作为电路中的信号连线 用于作为进程中局部数据存储单元 适用范围 在整个结构体内的任何地方都能适用 只能在所定义的进程中使用 行为特性 在进程的最后才对信号赋值 立即赋值 行为特性的三个方面 (1) 信号赋值需要一个δ延时。 (2)在一个进程中,所有赋值语句(包括变量赋值),在进程启动时立即执行赋值操作,但信号赋值须在一个δ延时后完成(END )。 (3) 当在进程中存在对同一信号多次赋值时,最后一个赋值有效。 【例6-5】 SIGNAL in1,in2,e1, ... : STD_LOGIC ; ... PROCESS(in1,in2, . . .) VARIABLE c1,. . . : STD_LOGIC_VECTOR(3 DOWNTO 0) ; BEGIN IF in1 = 1 THEN ... –- 第 1 行 e1 = 1010 ; –- 第 2 行 ... IF in2 = 0 THEN . . . –- 第 15+n 行 ... c1 := 0011 ; –- 第 30+m 行 ... END IF; END PROCESS; 6.1.4 进程中的信号与变量赋值语句 【例6-1】 ARCHITECTURE bhv OF DFF3 IS BEGIN PROCESS (CLK) VARIABLE QQ : STD_LOGIC ; BEGIN IF CLKEVENT AND CLK = 1 THEN QQ := D1 ; END IF; Q1 = QQ; END PROCESS ; END ; . . . 【例6-2】 ARCHITECTURE bhv OF DFF3 IS SIGNAL QQ : STD_LOGIC ; BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK =1 THEN QQ = D1 ; END IF; Q1 = QQ; END PROCESS ; END ; 6.1.4 进程中的信号与变量赋值语句 信号与变量__相同综合结果示例 6.1.4 进程中的信号与变量赋

文档评论(0)

1亿VIP精品文档

相关文档