FPGA开发——基于Quartus的工程建立以及下载仿真全过程

news2024/11/15 11:05:40

一、概述

在使用了这么久的FPGA之后,才发现前面光发了各个设计的设计文件和测试问价,还没有发过怎么利用我们编写的代码进行仿真和使用软件进行工程建立和下载验证的过程,今天就补发一篇Quartus的工程建立以及下载仿真全过程。

二、文件夹建立

首先新建一个文件夹,根据设计对其进行重命名(不能使用中文),接着在此目录之下新建三个基础文件夹prj、rtl(src)、tb,用于存放我们的工程,设计文件和测试文件。如图:

三、建立工程

1、打开Quartus软件,点击file—>New Project  Wizard。

2、在introduction 界面直接点击next

3、在Directory,Name,Top-Level Entity界面先点击“...”浏览,选择我们前面建立的文件的prj里面进行保存。

 

 在下面这行里面是本次工程的顶层文件的名字(这里一般就按照我们编写代码时顶层文件的名字一致,不然会报错,后面如果顶层文件改变时也可以直接进行顶层文件的设置)。这里我就直接命名为key,之后点击next。

4、 在Project Type界面默认就行,点击next。

5、在addFile界面是添加我们编写的设计文件,这里如果在之前就已经编写好所需要的设计文件的话,就可以在这里进行添加,如果没有就直接跳过,在后面编写好之后添加即可。这里说一下添加设计文件过程:点击浏览-->选择我们建立的文件下的rtl(src)文件存放的设计文件,选择相应的设计文件即可。

 

下图中画圈的就是我们添加的设计文件,之后点击next。 

 6、接着就是芯片型号的选择,在family选择芯片包,在Name filter填写芯片型号,我们使用的芯片信息就会出现在下面的devices界面。

7、仿真类型的选择

这里我使用的是Altera型号的芯片,可以根据用户的芯片类型进行仿真类型选择(这里就是前面文章说过的联合仿真,如果是使用独立仿真的用户,这里就可以不用进行选择)。点击next。

 8、最后在Summary界面可以看到芯片的资源使用情况,直接点击finish工程就创建完成了。

四、下载调试 

1、设计文件的添加

这里只针对在前面创建工程时没有添加设计文件的情况。如果添加过了就可以直接跳过这一步。在object Navigator 里面选择files选项出现一个文件夹。

在这是我们双击文件夹就可以进入添加设计文件的界面。

这里的界面和我们在创建文件时添加设计文件的页面是同一个,操作方法按照前面添加的步骤操作即可。 

2、顶层文件的选择

这个操作是针对在建立工程师顶层文件名称设置得不合适导致找不到顶层文件的问题操作的,没有问题就跳过这步。同样也是在object Navigator 里面的files这里,右键我们将要设置的顶层文件,选择Set as Top-Level Entity选项就可以设置我们所需要的顶层文件。

3、下载编译

图中1是全编译,2是分析综合,我们首先选择分析综合,看编写的程序是否有错。

 

4、引脚配置

我们需要下板进行结果验证,那么就需要进行引脚配置,这里有三种配置方法,我就讲pin planner进行直接配置的方法。在图中我们查看相应的原理图,进行各个引脚的配置就行

5、功能仿真

如果这里要在Quartus里面进行联合仿真,我们就要添加测试文件,如果不需要就跳过。

 

 

这里点击浏览之后选择我们的文件夹下的tb文件夹的测试文件即可。 

 

 这里我们选择好文件之后讲测试文件的名称复制到上面的框里,最后点击添加。

最后一直点击OK知道退出setting界面就可以了。

6、功能仿真

最后点击全编译之后等待编译完成,按照图中操作,我们就可以在Quartus进行modelsim仿真了。

7、下板验证

最后需要下载到开发板进行验证的按照此步骤操作(这里默认驱动已经安装好)。

 这时我们将开发板接入电脑,一般情况下USB就会自动识别,我们只需要点击2下载即可,如果没有识别到USB,我们就点击1,手动选择USB即可。

到这里本次文章就结束了,不足之处欢迎点评。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1976320.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

程序执行的环境和预处理

目录: 思维导图 一 程序的翻译环境 二 程序的执行环境 三 C 语言程序的编译和链接 四 预定义符号 五 预处理指令 六 宏和函数对比 七 预处理操作符# 和 ## 八 命令定义 九 预处理指令#include 十 预处理指令#undef 十一 条件编译 WeChat_2024073122290…

JavaScript 打印 V 和倒 V 图案的程序(Program to print V and inverted-V pattern)

倒 V 型模式:给定 n 的值,打印倒 V 型模式。示例: 输入:n 5 输出 : E D D C C B B A A 输入:n 7 输出 : G F F E E D D C C B B A…

中药养发护发

按照中医理论,头发和肝肾有密切联系,肝主血,肾藏精, 其华在发,肝肾强健,上荣于头,则毛发乌黑浓密. 中药育发的应用 以当归,天麻,桑疹子养血润发,配合干姜祛风活血,能通畅经络, 加快循环,激活毛囊,能促进皮肤组织营养成分吸收和废弃物的排泄,改善 头发生态. 用苦参 皂角 清热化…

yum仓库的制作与使用

目录 前言: 1 查看系统内核 2 获取网络源 3 搭建yum网络仓库 4 rpm包的下载 4.1 将rpm包下载至本地 4.2 对下载的rpm包进行备份 5 制作本地yum源 5.1 软件仓库制作工具createrepo 5.2 使用createrepo创建本地yum仓库 6 搭建docker本地仓库 前言&#x…

【Dash】使用 HTML 和 CSS 创建图表

一、Styling Your App The examples in the previous section used Dash HTML Components to build a simple app layout, but you can style your app to look more professional. This section will give a brief overview of the multiple tools that you can use to enhan…

Scalable Diffusion Models with Transformers(DIT)代码笔记

完整代码来源:DiT DiT模型主要是在diffusion中,使用transformer模型替换了UNet模型,使用class来控制图像生成。 根据论文,模型越大,patch size 越小,FID越小。 模型越大,参数越多,pa…

3.罗马数字转数字

3.罗马数字转数字 题目题目分析 题目 题目分析 基础思路是先想到键值对,然后遍历字符串利用键值对匹配来计算值,要注意处理IV,IX之类需要将当前处理字符与前一个字符进行比较。 class Solution { public:int romanToInt(string s) {//这个函…

项目负责人视角:结构化思考在竞赛中的力量

项目负责人视角:结构化思考在竞赛中的力量 前言结构化思考的定义与重要性结构化思考的五个关键步骤1. 明确问题2. 问题分解3. 优先级排序4. 制定行动计划5. 执行与监控 结构化思考的实际应用案例结语 前言 在这个充满挑战和机遇的时代,项目管理已成为企业…

Nero Lens 智图 - 适用于 iOS 和 iPadOS 的专业图片处理 App

首先是手机端的无损放大 App:Nero Lens 智图,适用于 iOS 和 iPadOS,不仅可以放大,还有多种 AI 图片增强功能。 使用这款 App 可以通过 AI 模型智能放大可达 400%,还有老照片去划痕、上色,抠图移除背景、照…

数论第四节:不定方程(习题)

文章目录 例1例2例3例4例5 例1 解下列不定方程: ( a ) 15 x 25 y 100 (a)15x25y100 (a)15x25y100 ( b ) 306 x − 360 y 630 (b)306x-360y630 (b)306x−360y630 (a)解: (15,25)5,且5|100,所以方程有解。 方程两边同时除以(15,24)&…

53 SSLVPN IP 接入

(1) 配置接口IP地址 # 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。 <Device> system-view [Device] interface gigabitethernet 1/2/5/1 [Device-GigabitEthernet1/2/5/1] ip address 1.1.1.2 255.255.255.0 [Device-GigabitEthernet1/2/…

Unity获取Animator动画播放完成事件

整理了一些在日常经验中处理动画播放完成事件的方法 方法: 1.Dotween配合异步实现 2.状态机计时方法实现 3.原生动画行为方法实现 方法一&#xff1a;Dotween异步方法 using UnityEngine; using System.Threading.Tasks; using DG.Tweening;public class PlayerAnimAsync : M…

从Excel高手到SQL大师-解锁数据分析的无限潜力 -10分钟读懂职场必备技能

目录 Excel 和 SQL&#xff1a;看似相似却大不相同的数据处理利器Excel vs SQL&#xff1a;表面相似&#xff0c;本质迥异Excel&#xff1a;直观但受限的电子表格SQL&#xff1a;强大而灵活的数据库查询语言 从 Excel 到 SQL&#xff1a;跨越鸿沟Excel 数据筛选SQL 数据筛选 结…

MySQL:数据库权限与角色

权限 MySQL 的权限管理系统是保障数据库安全性的关键组件之一。它允许数据库管理员精确控制哪些用户可以对哪些数据库对象执行哪些操作。 自主存取控制 DAC&#xff08;DiscretionaryAccess Control)&#xff1a;用户对于不同的数据库对象有不同的存取权限&#xff0c;不同的…

Java并发编程中的FutureTask详解

Java并发编程中的FutureTask详解 1、核心特点2、基本用法2.1 包装 Callable 任务2.2 包装 Runnable 任务 3、注意事项 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; FutureTask 是 Java 并发包 java.util.concurrent 中的一个类&#xff0…

Trimble 电子水准仪数据传输与预处理

0 安装软件。 1 将设备传输线与电脑相连接。 2 运行软件&#xff0c;选择对应的设备&#xff0c;显示连接成功。 3 点击添加&#xff0c;选择工程文件&#xff0c;再点击打开&#xff08;可以选择多个&#xff09;。 4 点击Transfer All&#xff0c;数据会传输到对应路径。 5 查…

职场生存秘籍:16条黄金法则

作者简介&#xff1a;一名计算机萌新、前来进行学习VUE,让我们一起进步吧。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;我叫于豆豆吖的主页 写在前面 在这个瞬息万变的时代&#xff0c;职场不仅是实现个人价值与梦想的舞台&#xff0c;更是一…

操作列表(运用for循环)

1、遍历整个列表 1.1、使用for循环 对列表中的每个元素都执行相同的操作&#xff0c;这就需要使用到for循环。 例&#xff1a;运用fou循环&#xff0c;把列表中的元素依次打印出来 citys[beijing,jiangxi,chongqing] for city in citys:print(city) 输出很简单&#xff0c;…

Spring Boot 整合 Dubbo3 + Nacos 2.4.0【进阶】+ 踩坑记录

上一篇文章中&#xff0c;Spring Boot 整合 Dubbo3 Nacos 2.4.0 进行了简单的集成使用&#xff0c;此文简单进阶并记录踩坑日常&#xff1b; Nacos 2.4.0 增加鉴权的配置Nacos 2.4.0 配置 MySQLNacos2.4.0 的热更新Dubbo3 自动负载Dubbo3 的重试和超时机制踩坑记录 一、Nacos…

Spring - 统一返回数据格式

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 今天你敲代码了吗 文章目录 1. 使用2. 字符串问题2.1 解决方法:2.2 问题分析 有时候后端返回的响应可能是String,Boolean之类的类型,但是我们希望响应将可能描述清除,如失败的原因等由于一次只能返回一个对象,因…