Lattice ddr3教程全攻略之时序约束篇

本文是Lattice DDR3时序约束的详细教程,针对在FPGA设计中遇到的时序问题,从打开约束文件、理解自带约束、进行静态时序分析、修正错误,到最终完成DDR3 IP的时序约束。通过逐步指导,帮助读者解决DDR3设计中的时钟路径、复位信号、组件定位等问题,确保设计顺利通过place & route阶段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Lattice ddr3教程全攻略之时序约束篇

      在看这篇教程之前,建议先看看我的《Lattice ddr3教程全攻略之仿真篇》,假定你自己的工程仿真好了,自己的代码综合编译通过,但是呢,在“place &route design”的时候过不了,或者出现了一大堆莫名其妙的错误,让你抓狂的时候,那,怎么办呢?

      这就是这篇教程的作用,让你的DDR3设计完成时序约束。。。

       Now,Let’s begin…

      我的文件目录:

     如果你刚刚仿真完,用的自己建立的工程的话,那么打开xxx.lpf(我的名称是ecp3_ddr3.lpf)打开后会发现自带了下面三条语句:

COMMERCIAL;

BLOCK RESETPATHS ;

BLOCK ASYNCPATHS ;

       RESETPATHS是复位管脚走全局异步复位路径;

       ASYNCPATHS 避免timing analysis对所有输入IO做时钟周期,输入寄存器路径检查,一般都是定义input_setup参数来影响实际的板级timing。以上两个默认不要改动。

       那,现在这种情况,我们来做静态时序分析之前,记得把map trace ,place &route trace, I/O timing analysis勾选上

    现在打开:xxx\core\ddr_p_eval\ddr3core\impl\看到

    在这里synplifyprecision lattice所支持的两种综合工具,我当时建立工程时选的是synplify,所以进入到synplify中打开ddr3core_eval.lpf,这个是IP CORE自己生成的约束文件,这个非常有用,要不然IP又不是我们自己写的,我怎么知道哪个路径,IO怎么约束,现在针对于这个约束文件,直接全部复制到ecp3_ddr3.lpf文件。本教程写约束命令都是在这个文件中操作,不在GUI界面,这个请注意。

      现在打开spreadsheet view,查看约束信息,打开后会自动运行PIO DRC,在output中输出一些warningerror要注意分析,这里的信息非常重要。

     打开后发现弹出了很多个error,我的个神,这么多错误那,是不是要抓狂了,别着急,一个个来看error info,要相信这种错误顺藤摸瓜总能够解决。

 

      错误信息字面上很好理解,就是你约束了这个net,但是timing analaysis工具找不到这个net,说明什么呢?

      拜托,说明你约束的路径指定出错噻。。。

      那么好,找到正确的路径然后修改路径咯。

      这里的路径,指的是模块路径,而不是文件存放路径。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值