Lattice Diamond 学习之编译、检查和设置约束
在新建工程以及完成代码的输入之后。则就要进行编译,并检测错误。
一、 Generate Hierarchy(产生层次结构)。
1、 点击Generate Hierarchy 图标或者Design --》Generate Hierarchy,
编译之后就会生成响应的层次视图。同时点击双击实例则可以查看RTL视图。


二、运行BKM检查。
1、 点击Design--》Run BKM Check 或者BKM Check.图标。

运行BKM检查之后,您可能会遇到警告和错误消息。错误和警告消息显示在输出,警告和错误栏。
在输出、错误或警告框,如果你双击消息,则可以定位到程序中错误的地方。
2、运行分析工具之后在左侧File List 中顶层文件会变为粗黑体。

3、 窗口的分离方法与还原方法。分离时。点击右上角的分离符号;合并式点击分离后的窗口的windows--》 Attach Windows .

三、设置策略
策略是一个在实现过程中控制不同阶段(综合、映射、布局布线等)的设置的集合。
策略可以控制是否为区域或设计优化速度,布局布线需要多长时间,以及许多其他因素。Diamond提供了一个默认的策略。在刚开始,
它可能是一个很好的采集。你也可以试一试它的一些变化。您可以在不同的情况下修改Strategy1并创建其他规则试验并使用。
设置方法如下图:
1、双击File List 中的 Strategy1,在弹出的对话框中单击Synthesis Design --> Synplify Pro 。默认的策略对话框出现,Synplify Pro默认的
设置也在其中。

关于在综合中的SDC文件用法的信息,在Synplif安装字典中,参考 在Synplify Pro 中的 Lattice 综合手册内的Synplif和Synplify Pro。
2、对Synplify Pro 指定如下设置,Number of Critical Paths :10.
注意:当任何策略被选中之后,它响应的txt描述就会出现在对话框的面板底层。
3、点击OK,则本设计的全局综合操作被设置。
具体的设置内容因工程而异。
四、资源检测:
Diamond 提供了可视化工具去帮助你理解和记录物理资源关于驱动芯片资源和使用资源,你可以浏览和定位工程资源文件中芯片的独立特性。
综合之后你可以看到使用资源的计算。
浏览芯片的资源的步骤:
1、Tool --> Device View . Device View 出现,点击右上角的分离图标
是他成为一个单独的窗口。出现目标资源芯片的索引。
2、点击
展开芯片文件夹,几个文件夹组织通过文件类型来出现。

3、展开sysDSP Blocks 和sysMEM Blocks 文件夹。 8个 sysDSP Blocks 和18 个 sysMEM Blocks 出现。
4、键入EBR_R17C11(会有变化,可能是其他的)在上面的查找对话框中,回车,查找到会会出现高亮。
5、 在列表中点击 EBR_R17C11,右键,show in --> Floorplan View.

Floorplan View提供了整体的布局设计,它显示用户约束,从逻辑优先文件(.lpf)和布局布线信息。
6、 关闭Floorplan view 和 Device view。
综合之后可以看到资源使用情况的计算。
查看综合设计和资源利用情况的步骤:
1、在Process View,双击Synthesize Design。
2、当综合进程完成,选择Hierarchy——》Post Synthesis Resources 表。在综合后,层次视图显示设计中每层使用的逻辑单元数量。
图片缺
远航路上ing 整理,仅供学习交流。转载请说明出处。
Lattice Diamond 学习之编译、检查和设置约束的更多相关文章
- 【心得】Lattice Diamond 后端约束实战小结
[博客导航] [导航]FPGA相关 IOB约束 参考<插入IO寄存器和位置约束---lattice&diamond>,推荐的方法是: 1.在strategy设置[Map Desig ...
- 数据库(学习整理)----3--Oracle创建表和设置约束
BBS论坛表设计 包含的表:BBSusers(用户表),BBSsection(版块表),BBStopic(主贴表),BBSreply(跟帖表) 表结构 1)BBSusers 字段名 字段说明 数据类型 ...
- Lattice Diamond 和 ispLEVER 的不同之处
Lattice Diamond 和 ispLEVER.有一些不同,尤其是如何管理工程的不同,包括以下几点: 1.ispLEVER 有多种工程类型,不同的程序文件类型需要不同的类型的工程:但是Diamo ...
- TVM将深度学习模型编译为WebGL
使用TVM将深度学习模型编译为WebGL TVM带有全新的OpenGL / WebGL后端! OpenGL / WebGL后端 TVM已经瞄准了涵盖各种平台的大量后端:CPU,GPU,移动设备等.这次 ...
- (二)我的Makefile学习冲动&&编译过程概述
前言 一 年轻的冲动 二 学习曲线 1 Makefile基本语法 2 bash基础 3 world 三 编译过程概述 1 主机预装工具 2 编译host工具 3 编译交叉工具链 4 编译内核模块 5 ...
- Centos 7 学习之静态IP设置
原文链接:http://blog.csdn.net/johnnycode/article/details/40624403 本学习主要针对 Centos 7.0.1406 版本进行学习整理! 如果你使 ...
- SQL反模式学习笔记5 外键约束【不用钥匙的入口】
目标:简化数据库架构 一些开发人员不推荐使用引用完整性约束,可能不使用外键的原因有一下几点: 1.数据更新有可能和约束冲突: 2.当前的数据库设计如此灵活,以至于不支持引用完整性约束: 3.数据库为外 ...
- unigui编译路径设置
unigui编译路径设置 先设路径变量 再追加如下路径,即可成功编译: ;$(uni)\uniTools\Dcu\Delphi2021;$(uni)\uniGUI\Dcu\Delphi2021;$(u ...
- 第二十五篇 jQuery 学习7 获取并设置 CSS 类
jQuery 学习7 获取并设置 CSS 类 jQuery动态控制页面,那么什么是动态呢?我们就说一下静态,静态几乎又纯html+css完成,就是刷新页面之后,不会再出现什么变动,一个实打实的静态 ...
随机推荐
- NOSQL的学习
NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL",指的是非关系型的数据库.NoSQL用于超大规模数据的存储.(例如谷歌或Facebook每天为他们的 ...
- MySQL 同主机不同数据库之间的复制
MySQL同主机不同数据库的复制命令:注意运行在Terminal中,不运行在MySQL命令行中. mysqldump Portal_DEV -u root -ppassword1 --add-drop ...
- C# 基于json通讯中的中文的处理
如果通讯中产生了\\u4e00-\\u9fa5范围的中文的unicode代码,而不是\u4e00-\u9fa5范围的,那么c#的处理就比较麻烦了. 破解方法: 机制 它会把\\u4e00拆成部分来识别 ...
- MySQL 临时表的使用
-- step 1.创建临时表,命名为item_orders create temporary table item_orders ( item_id int, orderList ) ) -- st ...
- H-Index I & II
H-Index I Given an array of citations (each citation is a non-negative integer) of a researcher, wri ...
- C++ 中超类化和子类化
超类化和子类化没有具体的代码,其实是一种编程技巧,在MFC和WTL中可以有不同的实现方法. 窗口子类化: 原理就是改变一个已创建窗口类的窗口过程函数.通过截获已创建窗口的消息,从而实现监视或修改已创建 ...
- iOS cannot find folder xcdatamodeld Xcode 7
今天升级xcode7时发现了个这个编译bug,说是找不到xcdatamodeld. 解决方法如下: I had the same problem. Here are the steps I used ...
- iOS 利用不等的constraint实现布局间隔调整
以前也写过一篇文章,说的也是如何利用constraint调整布局间隔,今天说另一种方法,实现简单,但有一定局限. 先看图 这里只截取了一部分,这个页面在4寸是可以显示的,但是如果不把控件间的间距缩小, ...
- Linux-PAM认证模块
Linux-PAM认证模块 用户访问服务器的时候,服务器的某一个服务程序把用户的谁请求发送到PAM模块进行认证.对于不同的服务器应用程序所对应的PAM模块也是不同的.如果想查看某个程序是否支持 ...
- jquery单选框radio值改变change事件
2015年11月25日 13:39:03 $().ready(function(){ //默认显示#input_div if ($("input[name='type']:checked&q ...