请教大家一个问题。为什么不建议用同时带异步复位和置位的flip-flop?
时间:10-02
整理:3721RD
点击:
请教大家一个问题。为什么不建议用同时带异步复位和置位的flip-flop?是scan的考虑么还是担心这两个信号同时有效导致问题?
我的理解是,在xilinx的lib中一个标准的d flip-flop有5个端子:D,CLk,Q,CLR,PRE
CLR是用作清零的,所以只应有一个清零信号
ASIC的库中也有既带S端,又带R端的flip-flop吧。一个清零,一个置一。(都是异步的)
但为什么实际中很少用这个cell?
我知道的一个问题是仿真有可能出错
always @(posedge clk or negedge rst_n or negedge set_n)
if (!rst_n) q <= 0; // asynchronous reset
else if (!set_n) q <= 1; // asynchronous set
else q <= d;
initial begin
reset_n = 1'b0;
set_n = 1'b0;
#5 reset_n = 1'b1;
end
就是当reset和set同时有效没有问题,但是5ns的时候,reset无效,set有效,不过因为此时set不在有效沿,
q不能被置1。
详细请看Asynchronous & Synchronous Reset Design Techniques P15
偶尔用一下也是可以的,但要考虑好R、S的逻辑关系。同时有效肯定是要禁止的
学习了谢谢
东莞演出工程19
主要是...有时候综合器会把这个异步信号当做组合逻辑的一部分输入...也就是说...某些时候这个异步信号输入LUT去了,而不是FF的清除段.
kankan
一般采用的方式是异步复位和同步置位。
