- 1
- 0
- 约5.56千字
- 约 29页
- 2017-05-29 发布于四川
- 举报
适合班级:07060442 教学东区11210H 三种描述方式 行为描述方式(behaveioral) 寄存器传输(RTL)描述方式(dataflow) 结构描述方式(structural) 所谓构造体的行为描述(Behavioral Descriptions),就是对整个系统的数学模型的描述。行为描述在EDA工程中称为高层次描述或高级描述 。 在行为描述方式的程序中大量采用算术运算、关系运算、惯性延时、传输延时等难于进行逻辑综合和不能进行逻辑综合的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; 延时语句 在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 ; 寄存器传输描述方式 功能描述的RTL描述方式 entity mux2 is port( input: in std_logic _vector(1 downto 0); sel : in std_logic; y: out std_logic); end mux2; architecture mux2_dataflow of mux2 is begin y=input(0) when sel=‘1 else input(1); end mux2_dataflow; 此方法只需知道外部特性和功能就可以进行正确的描述。 硬件一一对应的RTL描述方式 entity mux2 is port( in0,in1,sel : in std_logic; y : out std_logic); end mux2; architecture mux2_dataflow of mux2 is Signal tmp1,tmp2,tmp3: std_logic;
原创力文档

文档评论(0)