|
VHDL属性
在 VHDL 中 , 信号的函数类属性主要用来返回相关信号的行为和功能信息 , 这些行为和功能信息主要包括信号是否发生变化、信号是否活跃以及信号的相关历史信息等。一般来说 , 信号的函数类属性对于建立 VHDL 仿真模型和检测信号等十分有效 , 例如检测时钟信号的上升沿或者下降沿 O.
通常 , VHDL 提供了 5 种信号的函数类属性 , 它们分别是 :
1) 信号 'event: 如果在当前的一个相当小的时间间隔内信号有事件发生 , 那么函数的返
回值为 ture; 如果信号没有事件发生 , 那么函数的返回值为 false.
2) 信号 'active: 如果在当前的一个相当小的时间间隔内信号活跃 , 那么函数的返回值
true; 如果信号不活跃 , 那么函数的返回值为 false.
3) 信号 'last event: 信号的函数类属性将返回一个时间值 , 即返回该信号从前一个事件发生到现在时刻所经历的时间值。
4) 信号 'last value: 信号的函数类属性将返回一个值 , 即用来返回该信号在最近一个事件发生以前的值。
5) 信号 'last active: 信号的函数类属性将返回一个时间值 , 即返回该信号从前一次信号活跃到现在时刻所经历的时间值 .
在数字逻辑电路的设计中 , 一般来说时序逻辑电路的状态变化都发生在时钟信号的边沿时刻 , 因此时钟信号的边沿描述对于设计人员来说显得十分重要。通常 , 数字逻辑电路中的时钟边沿可以分为上升沿和下降沿两大类。由于大多数时序电路都把上升沿或者下降沿作为电路状态转换的同步信号 , 因此这里来讨论一下时钟信号的上升沿和下降沿。
对于时钟信号的边沿描述 , 设计人员常常采用信号 'event 函数类属性来进行描述 : 如果 一个时钟信号上有事件发生 , 那么表明这时有跳变沿产生 ; 接下来再根据时钟信号的当前信 号值 , 那么就可以确定时钟信号到底发生了哪一种边沿触发。例如 :
clk'event AND clk =' l' -- 上升沿描述
clk'event AND clk = '0' - 一下降沿描述
|