异步信号和同步信号

区别同步信号与异步信号,要弄清楚信号变为有效状态时,它是否受CLK的限制.

“异步”输入信号和时钟信号无关,输入信号变为有效状态时,器件的状态就会立即改变;而“同步”输入信号和时钟信号有关,实际上输入信号和时钟信号进行了与运算或与非运算,输入信号和时钟信号的运算结果为有效状态时,器件的状态才会改变。
同步输入信号可以过滤掉不正确状态跳变对逻辑的影响,但是需要保证有效输入信号在时钟信号跳变前完成跳变,否则输入信号就是无效的。异步信号则和同步信号的效果正好相反。使用时请根据实际情况考虑。

异步清零:只要Reset=1即可清零,不管CLK是什么;
同步清零: Reset=1,并且CLK为上升沿或下降沿时才能清零.

异步置位:只要SET=1即可置1,不管CKL是什么;
同步置位:SET=1,并且CLK为上升沿或下降沿时才置1.

同步计数:当计数器达到计数条件时,只有当时钟信号的下降沿(或上升沿)来临时,计数器才会开始处理,其他时间无论高低电平,计数器都会无视;
异步计数:当计数器达到计数条件时,它立刻就跳转,并不等待时钟信号的下降沿(或上升沿)的来临

同步时钟和异步时钟link

同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。

异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,这有这些触发器的状态变化与时钟脉冲同步,而其他的触发器的状态变化不与时钟脉冲同步。

用verilog描述一个异步的D触发器,即就是当有时钟clk、reset、set、信号时该处发起都会随时发出响应。然后描述一个同步的D触发器,当有时钟脉冲时才会做出响应,而reset和set发生时只会等时钟发生变化才会做出响应。

同步电路的优点:
1 可以有效的避免毛刺的影响,提高设计可靠性,同步设计是避免毛刺最简单的方法。
2 简化时序分析过程

缺点:
最大可能时钟频率是由电路中最慢的逻辑路径决定的,也就是关键路径,意思就是说每一个逻辑的运算,从简单到复杂都要在一个时钟周期内完成,同步电路往往会出现逻辑延迟过大,使得系统频率降低。

解决方式:采用流水线的设计思想,将复杂的运算分为数个简单的运算,可以帮助提高系统频率。

关于同步时钟异步时钟的讨论link
问题:1.两个不同的晶振产生都产生100M的时钟,并且两个相位差固定,这两个时钟是同步还是异步?
2.一个参考时钟为100M的PLL分频出来一个clk1=50M,又倍频出来一个clk2=500M,请问clk1和clk2是同步时钟吗?参考时钟与倍频或者分频出来的时钟是同步还是异步?
回复: 时钟同步和异步是根据相位差是否变化确定的,如果连个时钟的相位差固定则为同步时钟,否则为异步时钟。
你举的例子里:
1.两个晶振产生的时钟。两个晶振在上电是时相位差是随机的,而且不同晶振时钟漂移抖动也不一样,所以是异步时钟。
2.时钟分频。虽然clk1和clk2是同一个时钟源分频出来的,但是一个PLL只能输出一个时钟,所以clk1和clk2只能由两个PLL产生,与两个晶振产生的时钟情况类似。故也是异步时钟
在FPGA内部PLL的参数是固定已知的工具可以分析,所以在FPGA内认为2是同步时钟

只要不是同一个晶振出来的时钟,就是异步的。晶振之间是相互独立的

问题:一个PLL一次只能产生一个时钟比如产生clk1,要想同时再产生一个clk2就得需要另一个PLL,但是这两个PLL可以共用一个晶振产生参考时钟吗?
回复:当然可以共用。
且不说这个场景是不是需要使用两个独立的PLL,即使是独立的PLL,只要是同源时钟,输出频率是整数倍关系,他们的相位关系就是确定的,不需要做异步时钟处理,只需要做好跨时钟域的约束。

并不一定要set_multipaths_cycle命令来做跨时钟与的约束,具体情况具体分析,跟你的逻辑设计有关系,有时候只需要建立generated clock关系不需要进一步添加约束,有时候需要set_multicycle,有时候可能set_max_delay合适,也可能clock group合适。约束是跟具体功能紧密相关的

  • 7
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值