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

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

 

 

 

 

 

 

 



推荐阅读
  • 视觉Transformer综述
    本文综述了视觉Transformer在计算机视觉领域的应用,从原始Transformer出发,详细介绍了其在图像分类、目标检测和图像分割等任务中的最新进展。文章不仅涵盖了基础的Transformer架构,还深入探讨了各类增强版Transformer模型的设计思路和技术细节。 ... [详细]
  • 服务器虚拟化存储设计,完美规划储存与资源,部署高性能虚拟化桌面
    规划部署虚拟桌面环境前,必须先估算目前所使用实体桌面环境的工作负载与IOPS性能,并慎选储存设备。唯有谨慎估算贴近实际的IOPS性能,才能 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • OBS Studio自动化实践:利用脚本批量生成录制场景
    本文探讨了如何利用OBS Studio进行高效录屏,并通过脚本实现场景的自动生成。适合对自动化办公感兴趣的读者。 ... [详细]
  • 如何从BAM文件绘制ATAC-seq插入片段长度分布图?
    在ATAC-seq数据处理中,插入片段长度的分布图是一个重要的质量控制指标,它能反映出核小体的周期性排列。本文将详细介绍如何从BAM文件中提取并绘制这些数据。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 本文基于Java官方文档进行了适当修改,旨在介绍如何实现一个能够同时处理多个客户端请求的服务端程序。在前文中,我们探讨了单客户端访问的服务端实现,而本篇将深入讲解多客户端环境下的服务端设计与实现。 ... [详细]
  • ArcBlock 发布 ABT 节点 1.0.31 版本更新
    2020年11月9日,ArcBlock 区块链基础平台发布了 ABT 节点开发平台的1.0.31版本更新,此次更新带来了多项功能增强与性能优化。 ... [详细]
  • 本文探讨了异步编程的发展历程,从最初的AJAX异步回调到现代的Promise、Generator+Co以及Async/Await等技术。文章详细分析了Promise的工作原理及其源码实现,帮助开发者更好地理解和使用这一重要工具。 ... [详细]
  • Vue CLI 基础入门指南
    本文详细介绍了 Vue CLI 的基础使用方法,包括环境搭建、项目创建、常见配置及路由管理等内容,适合初学者快速掌握 Vue 开发环境。 ... [详细]
  • 本文探讨了如何在 Spring MVC 框架下,通过自定义注解和拦截器机制来实现细粒度的权限管理功能。 ... [详细]
  • 利用Node.js实现PSD文件的高效切图
    本文介绍了如何通过Node.js及其psd2json模块,快速实现PSD文件的自动化切图过程,以适应项目中频繁的界面更新需求。此方法不仅提高了工作效率,还简化了从设计稿到实际应用的转换流程。 ... [详细]
  • 问题场景用Java进行web开发过程当中,当遇到很多很多个字段的实体时,最苦恼的莫过于编辑字段的查看和修改界面,发现2个页面存在很多重复信息,能不能写一遍?有没有轮子用都不如自己造。解决方式笔者根据自 ... [详细]
  • importjava.io.*;importjava.util.*;publicclass五子棋游戏{staticintm1;staticintn1;staticfinalintS ... [详细]
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社区 版权所有