在模拟过程中,有没有一种方法可以让ISIM计算给定时间段内从高到低的数量,反之亦然?
答案 0 :(得分:1)
你不能在iSim中使用VHDL语言。
每次信号更改都会触发信号'event
。 rising_edge(clock)
使用此事件来测试clock'last_value
'0'
是clock
而'1'
是falling_edge(...)
,反之亦然process(mySignal)
begin
if rising_edge(mySignal) then
RisingEdgeCount_us := RisingEdgeCount_us + 1;
elsif falling_edge(mySignal) then
FallingEdgeCount_us := FallingEdgeCount_us + 1;
end if;
end process;
。
根据您的要求,您只是在寻找上升和下降边缘,因此您可以使用普通的"时钟"过程:
[Evec,Eval]=eigs(H,1,’sa’)
具有敏感度列表的流程的优点是,仅检查mySignal是否已更改。
如果要测量间隔中的转换,可以设计一个在此期间为高电平的启用信号,或者您可以读取当前的模拟时间并计算该时间点是否在该时间间隔内。
还有很多其他方法可以描述其他流程,但我认为这个方法可以最好地解决您的问题。