热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

技巧LatticeFPGA开发:Diamond工具使用技巧总结

本文介绍了一般的Diamond开发流程,包括工程创建、文件输入、IP使用、约束、管脚分配、和

使用流程

这里介绍了工程建立、文件输入、ip核配置、管脚配置、综合及布线以及下载程序。

1.工程打开

打开工程:打开Diamond软件后,可以打开一个已建好的工程或者在最近工程中打开,如下图所示

2.新建工程

如下,由于软件不会自动给工程中文件分类,可以在创建工程文件夹时对文件归类。

如下,点击File>new>project,出现如下窗口,点击next

如下,输入工程名、工程文件目录;Implementation 名可以和工程名一致,其目录会自动生成。填好后点击next

如下,可以将已经编辑好的源文件添加进工程,也可以在创建完工程后再编辑输入源文件

如下,选择芯片型号,在Part Names条框中选择相应型号,其他框格作用是辅助查找。

 如下,点击next,选择综合工具。LSE是lattice自带的综合工具,是默认选项;Pro是第三方Synplify工具,其也是内嵌在Diamond开发环境中

 如下,创建完成后,给出工程参数汇总,确认无误后点击finish,完成工程创建。

 

3.文件输入

如下,打开工程,进入开始界面,红色圈中显示了各类文件,设计源文件、约束文件、debug文件、配置文件等。

1)输入源文件:右击input files>add>new/existing files弹出如下窗口添加源文件

 

如下,在编辑框中完成源文件的输入

 2)添加IP核文件

如下,对于ECP5芯片,IP核的使用工具在Diamond中为clarity designer 工具,此工具可以类比于vivado 的IP integrator,既可以例化单个IP模块,也可以连接多个IP生成集成块使用。点击Tools>clarity designer,或者直接点击下图所示圈出的图标。

如下,点击后会弹出clarity designer 窗口如下,三个选项,第一个选项可以创建一个IP“集成块”,第二个选项是打开已有的设计,第三个选项是例化单个IP。这里先选择第三个,进行例化pll。然后点击start。

 如下,点击Start后,弹出如下窗口,双击需要的IP双击

 如下,输入相应路径核名称,点击customize后出现配置窗口,配置完成会提示是否将所创建的文件添加到设计中去,点击OK。

 如下,接着在Input Files栏出现所创建的IP文件,双击此IP文件也可以进行IP参数的配置。

 接着就可以在Hierarchy窗口中看到所创建的IP文件,右击此IP>goto source definition 可以到达ip核的源文件,例化此IP即可。

3)输入约束文件.

右击Synthesis Constrain Files>new/existing files ,弹出如下窗口,LDC Files 对应着LSE的约束文件,SDC Files 则对应着Synplify的约束文件

 如下,新建LDC文件完成后,弹出约束文件编辑窗口如下所示,窗口下端是各类约束子窗口。选择Clocks,在相应框格中下拉选择或输入约束的时钟名以及数值。如果的SDC文件则需要添加相应约束语句。

 

4、生成bit文件并下载

如下,完成相应文件输入后,打开Process窗口,进行综合。由于在工程建立中选择勒 LSE工具所以此时只显示了此工具。如果选择了synplify工具则综合后还需点击Translate Design 进行转换。综合成功后会显示绿色对勾,然后进行管脚配置。

 如下,点击Tools > spreadsheet view 打开引脚配置窗口进行引脚配置,完成后保存。

 

 如下,然后依次进行map design >place&rute design > export files  直到流程完成无误。

 如下,接着进行程序烧写,点击Tools> programmer 弹出如下窗口,点击 创建新的JTAG>OK,接着自动进行器件的扫描识别。

 扫描成功后会给相应器件标黄,点击红色圈中的下载按钮进行烧写。

 

 

 

 

 

 

 



推荐阅读
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • MATLAB函数重名问题解决方法及数据导入导出操作详解
    本文介绍了解决MATLAB函数重名的方法,并详细讲解了数据导入和导出的操作。包括使用菜单导入数据、在工作区直接新建变量、粘贴数据到.m文件或.txt文件并用load命令调用、使用save命令导出数据等方法。同时还介绍了使用dlmread函数调用数据的方法。通过本文的内容,读者可以更好地处理MATLAB中的函数重名问题,并掌握数据导入导出的各种操作。 ... [详细]
  • 本文介绍了在wepy中运用小顺序页面受权的计划,包含了用户点击作废后的从新受权计划。 ... [详细]
  • MPLS VP恩 后门链路shamlink实验及配置步骤
    本文介绍了MPLS VP恩 后门链路shamlink的实验步骤及配置过程,包括拓扑、CE1、PE1、P1、P2、PE2和CE2的配置。详细讲解了shamlink实验的目的和操作步骤,帮助读者理解和实践该技术。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • VueCLI多页分目录打包的步骤记录
    本文介绍了使用VueCLI进行多页分目录打包的步骤,包括页面目录结构、安装依赖、获取Vue CLI需要的多页对象等内容。同时还提供了自定义不同模块页面标题的方法。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 本文介绍了使用哈夫曼树实现文件压缩和解压的方法。首先对数据结构课程设计中的代码进行了分析,包括使用时间调用、常量定义和统计文件中各个字符时相关的结构体。然后讨论了哈夫曼树的实现原理和算法。最后介绍了文件压缩和解压的具体步骤,包括字符统计、构建哈夫曼树、生成编码表、编码和解码过程。通过实例演示了文件压缩和解压的效果。本文的内容对于理解哈夫曼树的实现原理和应用具有一定的参考价值。 ... [详细]
  • 在2022年,随着信息化时代的发展,手机市场上出现了越来越多的机型选择。如何挑选一部适合自己的手机成为了许多人的困扰。本文提供了一些配置及性价比较高的手机推荐,并总结了选择手机时需要考虑的因素,如性能、屏幕素质、拍照水平、充电续航、颜值质感等。不同人的需求不同,因此在预算范围内找到适合自己的手机才是最重要的。通过本文的指南和技巧,希望能够帮助读者节省选购手机的时间。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
author-avatar
狗血饭团联_367
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有