[英]Xilinx ISIM: Count the Number of Transitions
有没有一种方法可以让ISIM在仿真过程中在给定的时间内计算从高到低的转换次数,反之亦然?
您无法在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;
具有敏感度列表的进程的优点是,仅在mySignal更改时才进行检查。
如果要测量间隔中的跃迁,可以设计一个在该时间段内为高的使能信号,或者可以读取当前的模拟时间并计算该时间点是否在间隔中。
还有许多其他方法可以描述其他过程,但是我认为这是最能解决您问题的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.