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.hqwc.cn/news/422633.html

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

相关文章

SAP CDS VIEW实现行列转换

需求: 销售订单上的业务伙伴数据都在VBPA存储,根据PARVW来区分是售达方或者是送达方等等,有时候一些报表取数时有一些条件,比如售达方等于xxxxx并且送达方等于xxxxx,这时候就不是简单的一条sql就能搞定的事了&#xf…

C++学习笔记——指针

1,指针的基本概念 指针的作用:可以通过指针间接访问内存 内存的编号是从0开始记录的,一般用十六进制数字表示可以利用指针变量保存地址 上图中的p就是a变量的指针,也可以记作*a 2,指针变量的定义和使用 指针变量定…

漫漫数学之旅009

文章目录 经典格言数学习题古今评注拓展学习(一)大数定理(二)伯努利级数 经典格言 真正的问题,不在于机器是否思考,而在于人们是否思考。——BF斯金纳(B. F. Skinner) BF斯金纳&…

力扣hot100 相交链表 超全注释 满级表达

Problem: 160. 相交链表 文章目录 思路复杂度💖 Ac Code 思路 👨‍🏫 参考题解 👩‍🏫 参考图解 复杂度 时间复杂度: O ( n m ) O(nm) O(nm) 空间复杂度: 添加空间复杂度, 示例: O ( 1 ) O(1) O(…

宠物空气净化器推荐哪个好?实惠的猫用猫用净化器牌子测评

作为宠物主人,我们深知养宠物的乐趣和责任,但同时也面临着一些挑战,比如宠物掉毛、异味和空气质量等问题。这就是为什么越来越多的家庭选择宠物空气净化器,为我们创造一个清新、健康的室内环境。 无论我们多么爱我们的毛茸茸伙伴…

uniapp中uview组件库TopTips 顶部提示使用方法

目录 #平台差异说明 #基本使用 #自定义导航栏使用本组件的问题 #主题设置 #显示时间设置 #API #Methods #Props 该组件一般用于页面顶部向下滑出一个提示,尔后自动收起的场景。 #平台差异说明 AppH5微信小程序支付宝小程序百度小程序头条小程序QQ小程序√…

优维全面可观测产品能力分解①:架构可观测

2023年,基于客户需求的洞察,历经1年的潜心优化,优维在第四季度推出集大成产品——「全面可观测解决方案」,涵盖架构可观测、故障可观测、变更可观测、用户可观测、应用服可观测、资源可观测、运维状态可观测等不同场景的可观测能力…

Linux开发工具

Linux开发工具 我们在Linux下 编写代码:vim编译代码:gcc/g调试代码:gdb运行或者自动化构建程序:make/makefile Linux编辑器 vim 编辑器 – 只负责写代码 打开vim时是命令模式(默认打开的模式)&#xf…

【 CSS 】基础1

“坚持就是胜利。” - 温斯顿丘吉尔 【 CSS 】基础 1 CSS 简介 CSS 是层叠样式表 ( Cascading Style Sheets ) 的简称.有时我们也会称之为 CSS 样式表或级联样式表。CSS 也是一种标记语言CSS 主要用于设置 HTML 页面中的文本内容(字体、大小、对齐方式等&#xff…

uniapp让图片缩小

image{width: 500rpx;height:500rpx;} 在图片属性设置为image{}宽高改变但是大小不改变,解决办法是改成下面的代码 & > img {width: 50px; height: auto; } 如图:

【车载开发系列】AutoSar当中的诊断会话控制

【车载开发系列】AutoSar当中的诊断会话控制 【车载开发系列】AutoSar当中的诊断会话控制 【车载开发系列】AutoSar当中的诊断会话控制一. 什么是诊断会话控制服务二. 会话模式分类三. 会话的接口1)获取当前会话状态2)设置会话状态3)返回默认…

《GitHub Copilot 操作指南》课程介绍

第1节:GitHub Copilot 概述 一、什么是 GitHub Copilot 什么是 GitHub Copilot GitHub Copilot是GitHub与OpenAI合作开发的编程助手工具,利用机器学习模型生成代码建议。它集成在开发者的集成开发环境(IDE)中,可以根…