异步复为的产生可以由组合逻辑产生吗
时间:10-02
整理:3721RD
点击:
异步复位的产生可以由组合逻辑产生吗?
异步复位容易受到毛刺的干扰,那是不是说产生异步复位的逻辑不能由组合逻辑产生,
比如说,
assign rst=a&b;
always @(posedge clk or negedge rst)
begin
if(!rst)
end
那这个rst有可能会产生毛刺,是不是就会出问题?
异步复位容易受到毛刺的干扰,那是不是说产生异步复位的逻辑不能由组合逻辑产生,
比如说,
assign rst=a&b;
always @(posedge clk or negedge rst)
begin
if(!rst)
end
那这个rst有可能会产生毛刺,是不是就会出问题?
个人认为,最好不要这样用。
在实际设计芯片的时候,见过有人用,理论上来说是有可能会有毛刺的吧,有什么解决方案吗?
可以把那个信号打一拍 吗,那有没有可能实际的复位信号没有一个cycle,可能采不到
assign rst=a&b;
一般来说,是这样用的,a一般是系统复位或者是PIN脚的复位,且经过同步化处理
b为softare配置的软复位,和clk是同一时钟域。
这样不会有毛刺,且非常合理
#4楼说的正确!
如果你的rst信号很复杂,比如rst=(a&b)|(c&d),由于abcd走线到达时间的差异,这样就会产生毛刺。
所以要避免这种设计,比如用时钟同步。
这里说的同步化指的是,异步复位,同步释放吗?
你的意思是把rst用clk打一拍,生成rst_reg,然后用rst_reg作为复位信号。
如果a,b已经经过消毛刺处理问题不大,一般没有特殊原因不建议这么用,用同步复位不行吗?
用时钟打一拍吗
