【问题标题】:Xilinx ISIM: Count the Number of TransitionsXilinx ISIM:计算转换次数
【发布时间】:2016-03-04 20:24:48
【问题描述】:

有没有办法让 ISIM 计算模拟期间给定时间段内从高到低的转换次数?

【问题讨论】:

    标签: simulation fpga xilinx xilinx-ise


    【解决方案1】:

    你不能在 iSim 中做到这一点,但在 VHDL 中。

    每次信号更改都会在信号上触发'eventrising_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 发生变化时才检查它。

    如果您想测量间隔内的转换,您可以设计一个在该期间为高电平的启用信号,或者您可以读取当前模拟时间并计算该时间点是否在该间隔内。

    还有很多其他方法可以描述其他过程,但我认为这个最能解决您的问题。

    【讨论】:

      猜你喜欢
      • 2016-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 2018-09-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多