问个仿真的问题
时间:10-02
整理:3721RD
点击:
比如仿真的时候,在某个时钟上升沿时候,输出从00变成3A(我随便举个例子),那按理说应该直接跳变的呀,即二进制的表现是:00000000变成00111010
但现在仿真出来的结果是很奇怪,虽然是变成3A,但在之前极短的时间内,仿真出来的波形是相当于1位1位的变化,即00000000变成00100000,再变成00110000,再变成00110010。就是说从0变成1是一位一位变的,这个变化的阶段时间很短,是在小于0.1ns里完成的。
有什么办法使得从00变成3A是一下子全部变化的呢?
我设的周期是10ns
但现在仿真出来的结果是很奇怪,虽然是变成3A,但在之前极短的时间内,仿真出来的波形是相当于1位1位的变化,即00000000变成00100000,再变成00110000,再变成00110010。就是说从0变成1是一位一位变的,这个变化的阶段时间很短,是在小于0.1ns里完成的。
有什么办法使得从00变成3A是一下子全部变化的呢?
我设的周期是10ns
是后仿吧,前仿的话一般没有,这是因为CELL延迟造成的
那有没有解决的办法呢?
2# 心海的一滴泪
这是延迟不一致赵成的,没办法避免的,所有才有setup time和hold time的要求。
一般只要满足建立保持时间,这些小变化,其实不要紧的
这个是正常情况,而不是一个问题
学习!
用异步电路就有可能出问题,在同步电路中只要满足建立时间和保持时间的时序要求就没有问题。
