微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 异步复为的产生可以由组合逻辑产生吗

异步复为的产生可以由组合逻辑产生吗

时间:10-02 整理:3721RD 点击:
异步复位的产生可以由组合逻辑产生吗?
异步复位容易受到毛刺的干扰,那是不是说产生异步复位的逻辑不能由组合逻辑产生,
比如说,
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已经经过消毛刺处理问题不大,一般没有特殊原因不建议这么用,用同步复位不行吗?


用时钟打一拍吗

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

网站地图

Top