微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 如何对这种类型的信号进行时序约束

如何对这种类型的信号进行时序约束

时间:10-02 整理:3721RD 点击:
lck不是由bck产生的,而且只是偶尔变高一下,请问该如何对其(syn_lck)进行时序约束呢?
always @(posedge clk or negedge rstb)
beign
  if (!rstb)  syn_lck <= 1'b0;
  else  syn_lck <= lck;
end
always @(posedge syn_lck or negedge rstb)
begin
  ......
end

这不是系统同步设计...
楼下回答~

约束为clk的衍生时钟吧。

这什么意思呀,这代码要做的事情没有看懂了。

这种design不好。


您好!这的确不是同步设计,如果是同步设计,应该是
always @(posedge clk or negedge rstb)
beign
  if (!rstb)  syn_lck <= 1'b0;
  else  syn_lck <= lck;
end
always @(posedge clk or negedge rstb)
begin
  if (!rstb)  ...
  else if (syn_lck==1'b1)  ...
end


您好!那时钟频率是否也约束为与clk一样呢?


代码的意思是,也用lck来做时钟。



    我现在有点不明白了,采用你这种同步方法,那么综合出来的是锁存器吧? 如果采用小编的方法,那么综合出来的还是触发器,并且时钟频率为低 ?为什么综合出来的锁存器效果要比触发器要好呢?难道是时钟抖动的原因吗啊?


您好!综合出来应该是带使能的D触发器。

典型的门控时钟,这种情况在实际中是要尽量避免的


不一定的,看实际需要,如果分频的信号直接控制外部,我觉得可以这样使用,如果还在进行FPGA控制。



    我泡泡综合,我还是觉得综合出来的是锁存器的

典型的门控时钟,这种情况在实际中是要尽量避免的

综合出来不会是latch。
这种写法相对同步设计来说是“不好”的并且是“不推荐的”。
不过,对于异步的系统,也没啥。
综合的时候,如果syn_lck只是驱动这一个dff的clk pin,则不约束它,让综合器自己去处理。
如果syn_lck后级有n多dff需要它驱动,形成high fanout网络,那么需要设定ideal_network,
然后交给后端处理。


您好!请问如何约束为ideal_network,我用的是Quartus II自带的TimeQuest Timing Analyzer。

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

网站地图

Top