Quartus II使用小技巧

工程结构:

在建立完某项设计的文件后,依次在其里面新建四个文件夹,分别为:rtl、qprj、msim、doc。

75c80585959941afbce1c18692a775c3.png

rtl文件夹用于存放设计的源文件。

doc文件夹用于存放设计的一些文档性的资料。

qprj文件夹用于存放quaruts 工程以及quartus生成的一些过程性文件。

msim文件夹用于存放仿真文件。

如何查看一个Quartus工程用的是什么版本呢?

用notepad++打开工程名.qsf文件,查看最后一次打开使用的版本即可。

工程名.qsf文件部分内容如下:

set_global_assignment -name ORIGINAL_QUARTUS_VERSION 21.4.0
set_global_assignment -name PROJECT_CREATION_TIME_DATE "22:28:56  JANUARY 09, 2024"
set_global_assignment -name LAST_QUARTUS_VERSION "21.4.0 Pro Edition"

快捷键:

Ctrl+LStart Copilation开始全局编译
Ctrl+KStart Analysis & Synthesis开始分析与综合

输入设计有三种:

HDL代码输入、原理图输入、原理图和HDL代码混合输入。

2f0026a01ae64f5699edebd66044783c.png

Verilog布置接口的两种方式:

e7848343d6d140a08abc27111af50668.png

使用Quartus21.4自带编辑器查找变量:

快捷键:Ctrl+F

638cf8c1c2864ae9ad339e4b8faf4d06.png

弹出Match case:匹配大小写

Find whole words only:只显示完全相同的文本

Use regular expressions:使用正则表达式

Quartus可以直接打开的文件类型

qpf、stp1.stp、sof文件均可直接拖到桌面Quartus图标上,从而Quartus直接打开该文件。

在Quartus中Using Verilog Templates(Verilog模板)

在打开Quartus自带的文本编辑器的情况下,在文本编辑器中左键单击确定位置,Edit > Insert Template > Verilog HDL,选择自己想要添加的模板。

21697702be7f4bc28e1a35c8039b47b5.png

27237ff1e337468aa4f4861758019543.png

7d636978738c4139aabfdfb58ff7e1f1.png

Adding Design Files to a Project

方法一:

Assignments > Settings > Files > 点击File name 右边的...,添加.v文件。

19250524963b485cb0ce5d14e1b665a5.png

方法二:

Project Navigator > 左键单击选中Files窗口 > 右键单击 Files弹出Add/Remove Files in Project

49ca9cb0f37940e0a311aa9e6844c813.png

新建Quartus工程时选的芯片不对,需要重新选择:

Assignment 》Device,在弹出的Device弹窗中选择号想要的芯片后点击OK即可。

常用方法:选择芯片系列后,在Filter中输入完整器件型号,确认芯片后点击OK即可。

b5e3f2a073724f6cbca93e1dc02de2a6.png

两个同版本Quartus工程可以共用同一个stp1.stp文件

有两个Quartus工程:q_pfj_1.qpf与q_prj_2.qpf,其中q_prj_2.qpf是q_prj_1.qpf的衍生工程,两个工程想要在Signal Tap Logic Analyzer中观察的信号一样,直接将q_prj_1.qpf中已经设置好的stp1.stp挪到q_prj_2.qpf工程中,替换掉q_prj_2.qpf中原来的stp1.stp文件,即可在q_prj_2.qpf中的Signal Tap Logic Analyze抓取相同的信号。

但是注意换了stp1.stp的要q_prj_2.qpf工程要重新编译才能生效。

多个工程同理;

为什么会有多个工程?

因为服务器以及Quartus可以同时打开多个工程,而每个工程验证的方向不一样,因此会存在临时在Signal Tap Logic Analyzer中新增一些观察信号,这时笨办法是重复将其他工程一样设置一遍,省事的办法是直接copy已经设置好的stp1.stp到目的工程目录下覆盖即可。

可以在qsf文件中设置stp文件:

set_global_assignment -name SIGNALTAP_FILE stp1.stp

合并两个相同Quartus版本的工程:

1、将prj_1整个文件夹copy到prj_2的prj_2中;

2、修改prj_2的prj_2.qsf,添加prj_1的ip与.v文件,以及添加prj_1中有,而prj_2中没有设置的引脚约束等;

prj_2.qsf添加ip文件:

set_global_assignment -name IP_FILE ../fifo/fifo_test.ip

prj_2.qsf添加ip的约束文件(不是所有的ip都有sdc约束文件):

set_global_assignment -name SDC_FILE ../fifo/fifo_test.sdc

prj_2.qsf添加qip文件:

set_global_assignment -name QIP_FILE ../self_fifo/self_fifo.qip

prj_2.qsf添加qsys文件:

set_global_assignment -name QSYS_FILE ../hdmi_example/aux_mux.qsys

prj_2.qsf添加tcl脚本文件:

set_global_assignment -name TCL_SCRIPT_FILE ../rtl/FPGA_number.tcl

prj_2.qsf添加system_verilog.sv文件:

set_global_assignment -name SYSTEMVERILOG_FILE ../fifo/fifo.sv

prj_2.qsf添加verilog.v文件:
set_global_assignment -name VERILOG_FILE ../rtl/led_test.v

note:QIP文件里的内容是典型的脚本格式,如上。

3、很重要的一步,将prj_1中的顶层文件例化到prj_2中的顶层文件中

4、分析与阐释,先检查错误

5、全编译,生成sof文件验证

注意:以qar的形式打包prj_2工程得到一个prj_2.qar的文件,该文件内部的prj_1文件夹下仅有ip与.v模块,不能再使用Quartus软件打开prj_1.qpf工程了,因为解压后的prj_2_restored文件夹下的prj_1文件夹内已经没有了prj_1.qpf。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git入门详细教程

一、Git概述🎇 Git官网 Git是一个开源的分布式版本控制系统,用于跟踪文件的变化和协作开发。它允许多个开发者在同一项目中共同工作,并能够有效地管理代码的版本和历史记录。Git可以帮助开发团队更好地协作,追踪代码变更&#xf…

记一次多平台免杀PHP木马的制作过程

注意:本文转载自本作者稀土掘金博客 博客地址: 御坂19008号 的个人主页 - 动态 - 掘金 文章目录 前言声明绕过情况使用方法运行环境绕过点介绍技术原理讲解变量传值覆盖模块代码执行阻断模块InazumaPuzzle程序锁定器PerlinNoise危险函数生成与执行类构造…

Android 基础技术——addView 流程

笔者希望做一个系列,整理 Android 基础技术,本章是关于 addView 在了解 addView 流程之前,先回答下以下几个问题: PhoneWindow是什么时候创建的? DectorView 是什么? DectorView 是什么时候创建的&#xf…

Oracle行转列函数,列转行函数

Oracle行转列函数,列转行函数 Oracle 可以通过PIVOT,UNPIVOT,分解一行里面的值为多个列,及来合并多个列为一行。 PIVOT PIVOT是用于将行数据转换为列数据的查询操作(类似数据透视表)。通过使用PIVOT,您可以按照特定的列值将数据进行汇总,并将…

Flowable 生成流程图

/*** 生成流程图** param processId 任务ID*/ RequestMapping("/diagram/{processId}") public void genProcessDiagram(HttpServletResponse response,PathVariable("processId") String processId) {InputStream inputStream flowTaskService.diagram(p…

SpringCloud整合Zookeeper代替Eureka案例

文章目录 本期代码下载地址zookeeper简介zookeeper下载安装新建服务提供者测试 新建消费者测试 本期代码下载地址 地址:https://github.com/13thm/study_springcloud/tree/main/days4 zookeeper简介 zookeeper是一个分布式协调工具,可以实现注册中心功能 关闭Lin…

WampServer

开发笔记 推荐链接php无法保存SESSION问题部署SSL时候产生的问题 推荐链接 链接目录 php无法保存SESSION问题 php.ini文件和phpForApache.ini 文件 里面都有 对路径的控制,相关路径问题可能也需要进行修改,打开文件搜索wamp64或wamp 就可以看到了&…

线程池--JAVA

虽然线程是轻量级进程,但是如果当创建和销毁的的频率非常之高,那么它也就会消耗很多的资源。 而线程池就是用来优化线程频繁创建和销毁的场景,减少线程创建、销毁的频率。 ExecutorService JAVA标准库为我们实现了线程池,Execu…

windows11上安装虚拟机VMware

1、安装虚拟机(待补充) 第二步:安装VMware tools 实现windows文件上传到虚拟机中 1、安装好虚拟机后,查看虚拟机ip用Xshell连接虚拟机,并安装VMware tools(只有安装了VMware tools才能实现虚拟机和本机的文件共享。在…

无人机航迹规划(四):七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划(提供MATLAB代码)

一、七种算法(DBO、LO、SWO、COA、LSO、KOA、GRO)简介 1、蜣螂优化算法DBO 蜣螂优化算法(Dung beetle optimizer,DBO)由Jiankai Xue和Bo Shen于2022年提出,该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁殖…

Python编辑开发---pycharm pro 2023 中文

PyCharm Pro 2023是一款功能强大的Python集成开发环境(IDE),旨在提高Python开发人员的生产力。它提供了智能代码编辑、实时代码分析和调试工具,支持版本控制和数据库工具,以及可扩展的插件系统。PyCharm Pro 2023可在多…

什么是区块链?

区块链 区块链 (英语:blockchain)是借由 密码学 与 共识机制 等技术建立,存储数据的 保证不可篡改和不可伪造的 分布式技术。 什么是区块 区块 就是将一批数据打包在一起,并且给打包出来的区块编号。第一个区块的编…

Kylin 安装novnc 远程访问

noVNC可以使用浏览器直接访问服务器,而不需要使用VNC客户端。 1.初始环境 关闭防火墙或允许IP访问本机 2.安装依赖 dnf install -y tigervnc-server git 3.git下载novnc git clone https://github.com/novnc/noVNC.git git clone https://gitee.com/yangyizhao…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用相机日志跟踪功能(C++)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用相机日志跟踪功能(C) Baumer工业相机Baumer工业相机NEOAPI SDK和短曝光功能的技术背景Baumer工业相机通过NEOAPI SDK使用相机日志跟踪功能1.引用合适的类文件2.通过NEOAPI SDK使用相机日志跟踪功能3.通…

如何用数据赋能社媒营销决策?

在数字化时代,越来越多的商家开始意识到数据分析对于改善经营的重要性。 传统决策更多依赖过往经验、商业直觉、他人的思路模板等方法,或者依靠描述性统计、简单的数据分析。在数字时代,则通过精细化数据分析,做出更明智的营销决策…

S2-08 ESP-IDF开发 : 存储

S2-06 和 S2-07 暂时先不发,课上没给同学们将,分别是 DMA 和 USB 章节,作为专项讲 存储 ESP32 系列芯片中,不同型号的芯片所携带的 ROM、SRAM、RCT SRAM、PSRAM 以及 Flash大小不同,他们的作用如下: SRAM…

2023年总结我所经历的技术大变革

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,我们面对的不仅…

如何使用支付宝沙箱环境本地配置模拟支付并结合内网穿透远程调试

文章目录 前言1. 下载当面付demo2. 修改配置文件3. 打包成web服务4. 局域网测试5. 内网穿透6. 测试公网访问7. 配置二级子域名8. 测试使用固定二级子域名访问 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学习网站, 通俗易懂&#xff…

基本查找(顺序查找)

基本查找/顺序查找 基本思想思路代码示例输出结果 ​ 说明:顺序查找适合于存储结构为数组或者链表。 基本思想 顺序查找也称为线形查找,属于无序查找算法。从数据结构线的一端开始,顺序扫描,依次将遍历到的结点与要查找的值相比…

linux基础学习(5):yum

yum是为了解决rpm包安装依赖性而产生的一种安装工具 1.yum源 1.1配置文件位置 yum源的配置文件在/etc/yum.repos.d/中 *Base源是网络yum源,也就是需要联网才能使用的yum源。默认情况下,系统会使用Base源 *Media源是光盘yum源,是本地yum源…