本文主要是介绍Lattice使用的一些技巧,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
以前之前使用过一段时间Lattice,将之前一些技巧记录下来。
1、LATTICE中普通时钟进PLL的方法
strategy里面,点击place and route,右边的选项窗口里面选择command line option里面添加 -exp Warn_DDR_General_Routing_on_Clock=1
这个主要是时钟上primary之前走了一段routing,软件默认认为这样不算时钟
2、经常使用的2个属性
Macro Search Path:调用IP所用到的ngo以及网表文件所在路径,如果这里不设置,需要拷贝相关文件到工程目录下(与*.ldf同级目录)
Memory Initial Value File Search Path: RAM,ROM等初始化文件所在路径索引,如果这里不设置,需要拷贝相关文件到工程目录下(与*.ldf同级目录)
11.5综合和pr的策略设置
3、lattice时序约束注意点
DCS在时钟无输入时,易导致锁死现象
当时用到reveal时,需要将jtag时钟进行约束到2m,保持时间0.05ns,否则容易捕捉数据出错
全局clk和secondary clk需要分区域约束
secondary clk约束频率时需要保持时间的要求0.05ns
70ea和95ea属于同一片子,ip和bit通用,但推荐出版本时,要以实际的型号生成bit文件
4、lattice中使用示波器(类似chipscope)
先添加insert reveal
在‘trace’中添加测试信号,‘sample clock’中添加采样时钟
“Trigger signal setup”中设置触发条件
保存文件
添加到debug files,将测试文件设置为active,再rerun
需要将版本烧录进去后,才可以运行analyzer
运行analyzer
5、ECP3 PLL CLKin不推荐使用DCS的输出
6、Hirarchy view下,挂号内外资源的不同定义
解释如下:
The first number in each column is the number of that resource that would be used by that module and all of its submodules. The second number, in parentheses, is the number of that resource that would be used by just that module, not including any of its submodules
这篇关于Lattice使用的一些技巧的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!