当前位置: 首页 > news >正文

基于Quartus Prime18.1的安装与FPGA的基础仿真教程

Quartus是一种美国科技公司Intel(英特尔)公司开发的FPGA(现场可编辑门阵列)设计编译软件,用作设计、仿真、综合和布局、支持多种编程语言,包括VHDL、Verilog等,并具有丰富的功能和工具库,可广泛应用于各种数字电路设计和实现。

一、 Quartus Prime 18.1 的下载

剑指官网:Intel® Quartus® Prime Lite Edition Design Software Version 18.1 for Windows

选择好相应安装包、版本号、相应操作系统

对应下载即可,大约24GB大小下载后打开安装包

二、安装教程

2.1 quartus程序的安装

完成上述下载操作后点击如上图所框选的运行文件,打开点next

同意安装使用协议,点Next;

选择安装路径后,继续下一步;

选择需要安装的内容,进行下一步

下一步直到设备驱动程序完成

2.2 ModelSim的安装

此安装影响后续的仿真模拟,所以仍需要安装调制,打开setup,点Next

无协议,选择License is not required,选择Next

接受条款选择路径,next

默认安装内容,继续下一步直到设备驱动程序完成

三、基于Quartus 的 CPLD/FPGA 应用开发

3.1. 建立工程

打开 Quartus Prime Lite 18.1 开发环境。菜单 File->New Project
Wizard.
Directory, Name, Top-Level Entity 页选择合适的工程存储路径(路
径不要有中文,最好 不要在桌面 ),输入工程名和顶层实体名。
例如:
     工程存储路径 D:/zhidao
     工程名 zhidao
     顶层实体名 zhidao
接下来 Project Type 选 Empty project,即建立一个空的工程
Add Files 页直接 Next
Family, Device & Board Settings 页里器件 Family 选择 Cyclone IV E,在下方选择 EP4CE15F17C8 (不要选成 EP4CE15F17C8L,最后带 L为低电压版)
EDA Tool Settings 页里,Simulation 选择 ModelSim- Altera 不要选 ModelSim )和 VHDL
Summary 页点 Finish,完成工程的建立
菜单 New -> Design Files -> VHDL File。
贴入 zhidao_vhdl.txt 中的代码
下面给出自己学习当中的课程实验相关代码:三八译码器
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;ENTITY zhidao IS
PORT(x: IN STD_LOGIC_VECTOR(7 DOWNTO 0);y: OUT STD_LOGIC_VECTOR(2 DOWNTO 0)
);
END zhidao;ARCHITECTURE tt OF zhidao IS
BEGINPROCESS(x)BEGINCASE x ISWHEN "11111110" => y <= "000";WHEN "11111101" => y <= "001";WHEN "11111011" => y <= "010";WHEN "11110111" => y <= "011";WHEN "11101111" => y <= "100";WHEN "11011111" => y <= "101";WHEN "10111111" => y <= "110";WHEN "01111111" => y <= "111";WHEN OTHERS     => y <= "XXX";END CASE;END PROCESS;
END tt;

(注意:实体名保持一致)保存文件为 zhidao.vhd 到之前选择的工程目录下(D:/zhidao)

3.2 编译

如果编译只是为了做功能仿真来验证逻辑,可以直接编译。 但如果编译是为了最后下载至硬件器件中运行,则在编译前还需要做如下操作:
菜单 Assignments->Device,点击 Device and Pin Options
在 Unused Pins 里,选择 As input tri-stated, 将其它未使用的引脚 状态设置为三态输入
在 Task 栏里双击 Compile Design,全部绿色对勾编译通过

3.3 仿真

菜单 Tools->Options,General->EDA Tool Options 中设置好 ModelSim Altera 可执行程序的路径 注意不要设置为倒数第三项 ModelSim)

菜单 Processing->Start->Start Test Bench Template Writer,在工程文件夹 simulation/modelsim下自动生成了Test Bench 模 板 zhidao.vht

直接用 Quartus 打开上一步生成的文件 zhidao.vht。(File->Open 找到 并打开文件,需要选择 All Files 才能看到 .vht 文件)
将 init:PROCESS 和 always:PROCESS 两个进程删除(从 init:PROCESS一直到 END PROCESS always)
将 zhidao_vht.txt 中的 init:PROCESS 和 always:PROCESS 两个进程的代码复制到原处,保存文件。
(进程 init 用来描述一般的输入信号,按顺序书写各个输入信号的变化即可,需要等待一段时间则利用 wait for 语句)
(进程 always 用来描述时钟信号之类的周期信号,在此进程中添加语句后需要删除最后的一句 wait,从而使此进程能够反复循环执行)
菜单 Assignments->Settings,EDA Tool Settings->Simulation 中,在 NativeLink settings 里选中 Compile test bench,点击后面的 Test Benches 按钮
在弹出的 Test Benches 选项卡里点 New

Test bench name 输入 zhidao_vhd_tst、End simulation at 设置为 1ms

最下方 Test bench files 里把 simulation/modelsim 下的 zhidao.vht 添加进去。点击 OK 设置完毕

菜 单 Tools->Run RTL Simulation 会自动打开 ModelSim 并 运 行TestBench 得到仿真结果

注意

是不是有手就行?

注意!!!!

每进行一个项目,必须按照相应的流程重新操作,切不可复制新代码到源文件,否则将会报错

(本文源于学校课程学习研究总结内容)

相关文章:

基于Quartus Prime18.1的安装与FPGA的基础仿真教程

Quartus是一种美国科技公司Intel&#xff08;英特尔&#xff09;公司开发的FPGA&#xff08;现场可编辑门阵列&#xff09;设计编译软件&#xff0c;用作设计、仿真、综合和布局、支持多种编程语言&#xff0c;包括VHDL、Verilog等&#xff0c;并具有丰富的功能和工具库&#x…...

AJAX 和 XML:现代 Web 开发的关键技术

AJAX 和 XML:现代 Web 开发的关键技术 引言 在当今的 Web 开发领域,AJAX 和 XML 是两项至关重要的技术。AJAX(Asynchronous JavaScript and XML)允许网页在不重新加载整个页面的情况下,与服务器交换数据和更新部分网页内容。而 XML(eXtensible Markup Language)则是一…...

vue实现图片预览

在 Vue 中实现图片预览功能&#xff0c;通常涉及监听文件输入的变化&#xff0c;并在用户选择文件后&#xff0c;使用 FileReader API 来读取文件内容&#xff0c;然后显示这个内容作为图片的预览。以下是一个简单的 Vue 组件示例&#xff0c;它实现了图片预览功能&#xff1a;…...

C语言入门系列:流程控制

一&#xff0c;C代码执行顺序 默认情况下&#xff0c;C语言程序从main()函数开始执行&#xff0c;随后按源代码中语句出现的顺序逐一执行。 这意味着&#xff0c;如果不考虑任何控制结构&#xff0c;程序会自上而下&#xff0c;逐行执行每条语句&#xff0c;直到遇到函数调用…...

【深度学习】NLP,Transformer讲解,代码实战

文章目录 1. 前言2. Transformer结构训练过程1. 输入嵌入和位置编码2. 编码器层2.1 单头的注意力机制(便于理解)2.2 多头的注意力机制(Transformer真实使用的)2.3 残差连接和层归一化2.4 前馈神经网络&#xff08;FFN&#xff09;2.5 残差连接和层归一化2.6 总结 3. 解码器层 推…...

ES6 .entries用法

.entries() 返回数组的可迭代对象itarator,可以通过for of 来遍历数组或对象的值。但是它们的写法不一样。 数组用法 obj [apple,bananer,orange] for(let [i,v] of obj.entries()){console.log(i)console.log(v) } //输出 // 0 // apple // 1 // bananer // 2 //orange对象…...

【LeetCode 动态规划】买卖股票的最佳时机问题合集

文章目录 1. 买卖股票的最佳时机含冷冻期 1. 买卖股票的最佳时机含冷冻期 题目链接&#x1f517; &#x1f34e;题目思路&#xff1a; &#x1f34e;题目代码&#xff1a; class Solution { public:int maxProfit(vector<int>& prices) {int n prices.size();ve…...

python学习:语法(2)

目录 对象的布尔值 分支结构 双分支结构 多分支结构 嵌套if的使用 条件表达式 Pass语句 range()函数的使用 流程控制语句 对象的布尔值 Python一切皆对象&#xff0c;所有对象都有一个布尔值&#xff0c;通过内置函数bool&#xff08;&#xff09;获取对象的布尔值 这些…...

经典电源电路基础(变压-整流-滤波-稳压)

1.电源电路的功能和组成 电子电路中的电源一般是低压直流电&#xff0c;先把220v交流电变换成低压直流电&#xff0c;再用整流电路变成脉动的直流电&#xff0c;最后用滤波电路滤除掉脉动直流中的交流成分后才能得到直流电。有的电子设备对电源的质量要求很高&#xff0c;所以…...

生成式人工智能备案办理指南,深度解析大模型备案全流程

早在2023年年初&#xff0c;国家互联网信息办公室、工业和信息化部、公安部针对深度合成服务制定的《互联网信息服务深度合成管理规定》&#xff08;“《深度合成管理规定》”&#xff09;顺利施行&#xff0c;其明确了深度合成服务相关方的义务与主体责任&#xff0c;强化了对…...

1527. 患某种疾病的患者

1527. 患某种疾病的患者 题目链接&#xff1a;1527. 患某种疾病的患者 代码如下&#xff1a; # Write your MySQL query statement below select patient_id,patient_name,conditions from Patients where conditions like "DIAB1%" or conditions like "% DI…...

【C/C++】【学生成绩管理系统】深度剖析

可接各类C/C管理系统课设 目录 实现功能 部分1&#xff1a;系统设置和主菜单 1. 引入头文件 2. 定义结构体 3. 函数声明 4. 主函数 部分2&#xff1a;添加学生信息 部分3&#xff1a;删除学生信息 部分4&#xff1a;修改学生信息 部分5&#xff1a;查询学生信息 部分…...

C++作业第四天

#include <iostream> using namespace std; class Per { private: string name; int age; int *high; double *weight; public: //构造函数 Per() { cout << "Per的无参构造" << endl; } Per(str…...

设计模式之工厂方法模式(Factory Method Pattern)

目录 1.1、前言1.2、工厂方法模式简介1.2.1、工厂方法模式的主要特点1.2.2、工厂方法模式的主要结构1.2.3、使用工厂方法模式的好处 1.3、SpringBoot中那些场景使用了工厂方法模式1.4、日常工作中那些业务场景可以使用工厂方法模式1.5、工厂方法模式实战&#xff08;以某商场一…...

API接口设计的18条规范

API接口设计的18条规范 签名 目的&#xff1a;防止数据被篡改 实现方法&#xff1a; 接口请求方将请求参数、时间戳和密钥拼接成一个字符串使用MD5等hash算法生成签名sign在请求参数或请求头中增加sign参数&#xff0c;传递给API接口API接口网关服务验证传递的sign值&#…...

adb简单使用命令

1. 查看当前连接的设备 adb devices 2. 文件路径 adb install apk 注意文件路径中不能有中文 3. adb shell ps Toplogcatlogcat可以结合greplogcat *:w 显示警告级别以上de 4. adb uninstall 软件名 1.软件名如何查看&#xff1f; 使用命令adb shell pm list packages会…...

构建 deno/fresh 的 docker 镜像

众所周知, 最近 docker 镜像的使用又出现了新的困难. 但是不怕, 窝们可以使用曲线救国的方法: 自己制作容器镜像 ! 下面以 deno/fresh 举栗, 部署一个简单的应用. 目录 1 创建 deno/fresh 项目2 构建 docker 镜像3 部署和测试4 总结与展望 1 创建 deno/fresh 项目 执行命令…...

数据库 | 数据库设计的步骤

1.需求分析 调查机构情况与熟悉业务活动&#xff0c;明确用户的需求&#xff0c;确定系统的边界&#xff0c;生成数据字典和用户需求规格说明书 2.概念结构设计 将从需求分析中得到的用户需求抽象为概念模型&#xff0c;设计E-R模型 3.逻辑结构设计 将E-R图转换为和DBMS相…...

改进YOLO系列 | CVPR 2021 | Involution:超越convolution和self-attention的神经网络算子

Involution&#xff1a;超越卷积和自注意力的新型神经网络算子&#xff08;中文综述&#xff09; 简介 Involuton是CVPR 2021上提出的新型神经网络算子&#xff0c;旨在超越卷积和自注意力&#xff0c;提供更高效、更具表达力的特征提取能力。 Involution原理 Involution的…...

落地速度与效果之争,通用VS垂直,我的观点和预测。

标题&#xff1a;AI大模型战场&#xff1a;通用VS垂直&#xff0c;谁将领跑落地新纪元&#xff1f; 摘要&#xff1a;随着人工智能技术的飞速发展&#xff0c;大模型的应用场景日益广泛。在这场竞赛中&#xff0c;通用大模型和垂直大模型各有优势&#xff0c;落地速度和可能性也…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...