LATTICE异步时钟约束

本文介绍了在LATTICE FPGA开发中处理异步时钟约束的方法,包括将clk1、clk2声明为异步时钟,避免软件过度分析时序,以及针对单个信号跨时钟域的约束策略。通过设置MULTICYCLE约束,可以有效地调整时钟间的延时,提高设计效率。
摘要由CSDN通过智能技术生成


异步时钟不约束导致软件花费大量的时间分析异步时钟上,导致真正的关键路径被忽略。


以CLK1=500M CLK2=333M为例,clk1周期为2ns, clk2周期为3ns,最小时间为1ns。

软件默认按照1ns分析,这是十分困难的。处理方法分为一下几种:

1、约束clk1、clk2为异步时钟,综合时不分析clk1、clk2之间的时序。

BLOCK PATH FROM CLKNET “clk1” TO CLKNET “clk2”;

2、只有单个信号夸时钟域时,可以单独约束单个信号。

BLOCK PATH FROM PORT “reg1” TO CELL “reg2”;

3、放宽clk1、clk2之间约束时间。

MULTICYCLE FROM CLKNET “clk1_c” TO CLKNET “clk2_c” 2 X;
MULTICYCLE FROM CLKNET “clk2_c” TO CLKNET “clk1_c” 2 X;
具体时间计算公式: + (n - 1) *
其中default delay calculated=1ns,n为X前数字,multiplier factor applied clock period为目的时钟周期。

clk1到clk2约束时间为:1ns + (2 - 1) * 3ns = 4ns
clk2到clk1约束时间为:1ns + (2 - 1) * 2ns = 3ns

为了更加直观也可以直接按时间约束:

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值