微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 想问大家一个延时的问题

想问大家一个延时的问题

时间:10-02 整理:3721RD 点击:
关于assign的,举个例子 assign a=(b)?c:1'bz;我将c和a信号加入signaltap对比,发现a比c延后了一个周期,当然signaltap是边沿抓取有可能不准,然后我就将时钟频率调整到3倍和4倍,发现延迟也上升到3倍和4倍,所以说,a确实比c延后了一个周期,我的时钟是133mhz。
还有一个问题,我写了assign a=(b)?{c,e}:{d,e}:结果综合出来,直接把我的那个e给优化掉了,为何会优化掉呢?我的e信号在后面是被使用的,在a中,e信号也是被使用的,也是有变化的,综合器为何会把它优化掉。

1. 如果要精确周期延迟,最好用时钟锁存
2. a也是个组合逻辑,e不受b影响,看来是直接穿过a作用于后面的逻辑了

1. 不清楚
2. assign a=(b)?{c,e}:{d,e}   被优化为 assign temp = b ? c : d;    a = {temp, e}
    要知道选择器的位宽会影响timing,既然e永远是a的低位,没有必要过选择器。
    其实写代码的时候是需要考虑这些问题的。

assign a=(b)?c:1'bz;中b的时序是如何控制的?延时是不是跟b有关?

上一篇:negedge rstn问题
下一篇:NOR flash

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top