热门标签 | 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,接着自动进行器件的扫描识别。

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

 

 

 

 

 

 

 



推荐阅读
  • 本文深入探讨了 `ExpressionChangedAfterItHasBeenCheckedError` 错误的原因及其解决方案。通过分析 Angular 的变更检测机制,详细解释了该错误的发生条件,并提供了多种有效的应对策略,帮助开发者在实际开发中避免这一常见问题。 ... [详细]
  • Spring Boot 实战(一):基础的CRUD操作详解
    在《Spring Boot 实战(一)》中,详细介绍了基础的CRUD操作,涵盖创建、读取、更新和删除等核心功能,适合初学者快速掌握Spring Boot框架的应用开发技巧。 ... [详细]
  • 本项目在Java Maven框架下,利用POI库实现了Excel数据的高效导入与导出功能。通过优化数据处理流程,提升了数据操作的性能和稳定性。项目已发布至GitHub,当前最新版本为0.0.5。该项目不仅适用于小型应用,也可扩展用于大型企业级系统,提供了灵活的数据管理解决方案。GitHub地址:https://github.com/83945105/holygrail,Maven坐标:`com.github.83945105:holygrail:0.0.5`。 ... [详细]
  • 本题库精选了Java核心知识点的练习题,旨在帮助学习者巩固和检验对Java理论基础的掌握。其中,选择题部分涵盖了访问控制权限等关键概念,例如,Java语言中仅允许子类或同一包内的类访问的访问权限为protected。此外,题库还包括其他重要知识点,如异常处理、多线程、集合框架等,全面覆盖Java编程的核心内容。 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • 在Hive中合理配置Map和Reduce任务的数量对于优化不同场景下的性能至关重要。本文探讨了如何控制Hive任务中的Map数量,分析了当输入数据超过128MB时是否会自动拆分,以及Map数量是否越多越好的问题。通过实际案例和实验数据,本文提供了具体的配置建议,帮助用户在不同场景下实现最佳性能。 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 本文详细解析了 MySQL 5.7.20 版本中二进制日志(binlog)崩溃恢复机制的工作流程。假设使用 InnoDB 存储引擎,并且启用了 `sync_binlog=1` 配置,文章深入探讨了在系统崩溃后如何通过 binlog 进行数据恢复,确保数据的一致性和完整性。 ... [详细]
  • Go语言实现Redis客户端与服务器的交互机制深入解析
    在前文对Godis v1.0版本的基础功能进行了详细介绍后,本文将重点探讨如何实现客户端与服务器之间的交互机制。通过具体代码实现,使客户端与服务器能够顺利通信,赋予项目实际运行的能力。本文将详细解析Go语言在实现这一过程中的关键技术和实现细节,帮助读者深入了解Redis客户端与服务器的交互原理。 ... [详细]
  • 本文介绍了一种简化版的在线购物车系统,重点探讨了用户登录和购物流程的设计与实现。该系统通过优化界面交互和后端逻辑,提升了用户体验和操作便捷性。具体实现了用户注册、登录验证、商品浏览、加入购物车以及订单提交等功能,旨在为用户提供高效、流畅的购物体验。 ... [详细]
  • 优化后的标题:校园互联新方案:10397连接教育未来 ... [详细]
  • POJ 1696: 空间蚂蚁算法优化与分析
    针对 POJ 1696 的空间蚂蚁算法进行了深入的优化与分析。本研究通过改进算法的时间复杂度和空间复杂度,显著提升了算法的效率。实验结果表明,优化后的算法在处理大规模数据时表现优异,能够有效减少计算时间和内存消耗。此外,我们还对算法的收敛性和稳定性进行了详细探讨,为实际应用提供了可靠的理论支持。 ... [详细]
  • 本文将介绍一种扩展的ASP.NET MVC三层架构框架,并通过使用StructureMap实现依赖注入,以降低代码间的耦合度。该方法不仅能够提高代码的可维护性和可测试性,还能增强系统的灵活性和扩展性。通过具体实践案例,详细阐述了如何在实际开发中有效应用这一技术。 ... [详细]
  • Android目录遍历工具 | AppCrawler自动化测试进阶(第二部分):个性化配置详解
    终于迎来了“足不出户也能为社会贡献力量”的时刻,但有追求的测试工程师绝不会让自己的生活变得乏味。与其在家消磨时光,不如利用这段时间深入研究和提升自己的技术能力,特别是对AppCrawler自动化测试工具的个性化配置进行详细探索。这不仅能够提高测试效率,还能为项目带来更多的价值。 ... [详细]
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社区 版权所有