第8讲VHDL语言构造体的描述方式.ppt
文本预览下载声明
第4章 VHDL语言构造体的 描述方式;所谓构造体的行为描述(Behavioral Descriptions),就是对整个系统的数学模型的描述。行为描述在EDA工程中称为高层次描述或高级描述 。
在行为描述方式的程序中大量采用算术运算、关系运算、惯性延时、传输延时等难于进行逻辑综合和不能进行逻辑综合的VHDL语句。
采用行为描述方式的VHDL语言程序,在一般情况下只能用于行为层次的仿真,而不能进行逻辑综合。;在VHDL语言中一些专门用于描述系统行为的语句:
代入语句
延时语句
多驱动器描述语句
GENERIC语句;代入语句是VHDL语言中进行行为描述的最基本的语句。
代入语句最普遍的格式为:
信号量 = 敏感信号量表达式;; 例如:
(1)a=b;
该语句的功能是a得到b的值,b为敏感量,b值发生变化时,该语句执行;
(2)z=a NOR(b NAND c);
3个敏感量a,b,c,无论哪一个的值发生变化时,该代入语句被执行;
(3)a=b AFTER 5ns;
当b发生变化5ns以后才代入到信号a。 ;例4-1
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY and2 IS
PORT (a,b:IN STD_LOGIC;
y:OUT STD_LOGIC);
END and2;
ARCHITECTURE and2_behaviour OF and2 IS
BEGIN
y = a AND b AFTER 5 ns;
END and2_behaviour;
例4-2 四选一电路; 在VHDL语言中,存在两种延时类型:惯性延时和传输延时。这两种延时常用于VHDL语言的行为描述方式。;在惯性模型中,系统或器件输出信号要发生变化必须有一段时间的延时,这段延时时间常被称为系统或器件的惯性或称惯性延时。
在VHDL语言中,语句中如果不作特别说明,产生的延时一定是惯性延时。
特点:当一个系统或器件的输入信号变化周期小于它的惯性延时时,其输出保持不变。
几乎所有器件都存在惯性延时,因此,硬件电路的设计人员为了逼真地仿真硬件电路的实际工作情况,在代入语句中总要加上惯性延时时间的说明。例如: a=b AFTER 5ns;
惯性延时说明只在行为仿真时有意义,逻辑综合时将被忽略,或者在逻辑综合前必须去掉延时说明。;传输延时常用于描述总线延时、连接线的延时及ASIC芯片中的路径延时。
传输延时不是缺省的,必须在语句中明确说明。
举例:
;在VHDL语言中,创建一个驱动器可以由一条信号代入语句来实现。当有多个信号并行输出时,在构造体内部必须利用代入语句,对每个信号创建一个驱动器。
多个驱动器的输出连接到同一条信号线时,由判决函数决定输出哪一个值。
多驱动器的构造体应按如下方式描述:
ARCHITECTURE sample OF sample IS
BEGIN
a=b AFTER 5ns;
a=d AFTER 5ns;
END sample ;;GENERIC语句用不同层次设计模块之间信息的传递和参数的传递,可用于位矢量的长度、数组的位长、器件的延时时间等参数的传递。这些参数除整数类型外,其他数据类型不能综合。
使用GENERIC语句易于使器件模块化和通用化。有些模块其逻辑关系是明确的,但是由于半导体工艺、半导体材料的不同,而使器件具有不同的延时、不同的上升沿和下降沿。为了简化设计,对该模块进行通用设计,参数根据不同材料、工艺待定。这样设计它的通用模块,用GENERIC语句将参数初始化后,即可实现不同材料、工艺的电路模块的仿真和综合了。;GENERIC语句用法举例,例4-4
ENTITY and2 IS
GENERIC (rise,fall: TIME); --参数类型说明
PORT (a,b: IN BIT;
c: OUT BIT);
END and2;
ARCHITECTURE generic_example OF and2 IS
SIGNAL t: BIT;
BEGIN
t= a and b;
c= t AFTER (rise) WHEN t=1‘ ELSE
显示全部