FPGA(一)Quartus II 13.1及modelsim与modelsim-altera安装教程及可能遇到的相关问题
零.前言
在学习FPGA课程时,感觉学校机房电脑用起来不是很方便,想着在自己电脑上下载一个Quartus II 来进行 基于 vhdl 语言的FPGA开发。原以为是一件很简单的事情,没想到搜了全网文章发现几乎没有一个完整且详细的流程教学安装(也可能是我没搜到,,ԾㅂԾ,,)【视频b站上有,搞完才发现T.T】,因此想做一个纯小白式安装教程,将网上分享的几位大佬关于安装部分的流程都总结到一文当中,包括软件及软件配套仿真和芯片库的安装,让大家花最少的时间完成安装。相关文章链接在文末。
多图预警
一.Quartus安装
1.首先需要先去百度网盘下载相关资料
下载链接:百度网盘 请输入提取码
提取码:qomk
2.下载的是压缩包,解压后可以看到13个文件

先打开QuartusSetup-13.1.0.162.exe文件开始安装。
3.安装流程
(1)打开后点击next

(2)选择第一个accept,再点击next

(3)选择文件夹可以自定义安装的位置,尽量建立一个新的文件夹(路径不包括中文和特殊符号)来存放,不然很多子文件夹可能会填的很乱....,选择好后点击next

(4)除了最后一个不勾选外,其他全选(默认情况),当然也可以根据自己的芯片包需要更改Devices里面的内容,然后Next

(5)Summary确保有足够的安装空间,确认后点击Next

(6)这里就开始自动安装了,需要等待一段时间
如果你之前安装过quartus却没有删除干净的话,它可能会问你是不是要建立quartus(copy),最好还是先把之前的卸载完全再重装(卸载教程在后面)

(7)完成安装后直接点击Finish,最后一个feedback不用框选

4.破解流程
(1)64位系统解压x64破解器文件,打开破解器.exe文件


选择quartus安装目录下/bin64下的sys_cpt.dll文件,打开后点击破解器的下一步(一定要关闭软件先!!!),完成破解1后再点完成,进行gcl_afcq.dll的破解




打开软件会提示30日试用,选择最后一项,选择

再用记事本打开license.dat文件将三个HOSTID的值改为NIC的任一值(我这里选择了第一个,默认=XXXXX),更改完成后点击文件->保存

在option中选择更改后的license.dat的地址,显示Version到2035即说明成功破解,点击OK即可打开软件

二.Modelsim-altera安装
1.选择ModelSimSetup-13.1.0.162.exe运行,开始安装

2.安装过程
(1)点击next

(2)选择第一个安装,next

(3)选择accept然后next

(4)单击文件夹可以更改安装位置,选择完成后next

(5)确认空间充足后next

(6)等待安装完成

(7)不用点框选,直接Finish

三.ModelSim安装
1.版本选择,32位系统选择上面win32,64位系统选择下面win64,这里我以64位的安装为例

2.解压缩文件,双击运行win64-10.4-se.exe文件

3.安装流程
(1)直接单击next

(2)单击Browse可以更改安装位置,单击next

(3)直接点击Agree

(4)等待安装完成

(5)50%时候会跳两个选型全选YES



(6)最后跳出的窗口选择NO,禁止自动更新

(7)最后Done完成安装

4.破解过程
(1)直接打开/win64/modelsim.exe会提示无注册,软件会自动关闭



(2)修改win64文件夹中mgls64.dll的属性,取消勾选只读

(3)打开crack文件夹,将里面的MentorKG.exe和patch_dll.bat一起拷贝到modelsim安装目录里的win64/win32(看第一步选择了哪个系统)下


(4)先确认关闭了杀毒软件,到之前win64文件夹中,运行patch_dll.bat,会自动打开cmd窗口,生成license文件,直接将其另存为win64文件夹当中
(默认存放在C:\Users\user\AppData\Local\Temp)

(5)右键我的电脑点击属性,在系统界面中先点击高级系统设置,再点击环境变量

(6)点击新建系统变量,设置环境变量名MGLS_LICENSE_FILE,变量值为license放置的路径,最后确定

(7)返回后在系统属性界面再点击确定

(8)重新打开modelsim se-64成功运行说明破解成功

四.Quartus和Modelsim的配置
1.通过软件快捷方式或者开始界面搜索打开quartus ii

2.
(1)打开Tools->option界面,选择EDA Tool Options,点击ModelSim和ModelSim-Altera的...选择文件


(2)ModelSim中选择win64文件夹,ModelSim-Altera中选择win32aloem文件夹,最后点击OK

3.
(1)配置compiler,Tools->Launch Simulaton Library Compiler

(2)Executable location选择Modelsim的win64文件夹,Output directory选择output_files(可以换其他文件夹),点击Start

(3)编译成功显示全绿(有warning可以不管)

4.新建一个vhdl文件用来测试,复制测试代码进去,保存文件名为div(与entity同名)

测试代码(6分频)
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;entity div isport(clk : in std_logic;rst : in std_logic; clkout :out std_logic);
end div;architecture rtl of div isconstant n : integer range 0 to 10 := 6; --这里的n可以是任意值,当然要大于1.
signal clk_p : std_logic;
signal clk_n : std_logic;signal cnt_p : integer range 0 to n;
signal cnt_n : integer range 0 to n;begin process(clk_p, clk_n)beginif((n mod 2) = 0)thenclkout <= clk_p;elseclkout <= clk_p or clk_n;end if;end process;process(clk, rst)beginif(rst = '0') thencnt_p <= 0;elsif(clk'event and clk = '1') thenif(cnt_p = n-1) thencnt_p <= 0;elsecnt_p <= cnt_p + 1;end if;end if;end process;process(clk, rst)beginif(rst = '0') thenclk_p <= '0';elsif(clk'event and clk = '1')thenif (cnt_p < (n/2)) thenclk_p <= '1';elseclk_p <= '0';end if ;end if;end process; process(clk, rst)beginif(rst = '0') thencnt_n <= 0;elsif(clk'event and clk = '0')thenif(cnt_n = n-1) thencnt_n <= 0;elsecnt_n <= cnt_n + 1;end if;end if;end process;process(clk, rst)beginif(rst = '0') thenclk_n <= '0';elsif(clk'event and clk = '0')thenif (cnt_n < (n/2)) thenclk_n <= '1';elseclk_n <= '0';end if ;end if;end process;
end rtl;
5.保存后会跳出是否建立新工程,选择YES,进入工程建立指引界面


6.新建工程
(1)写入工程名,选择工程保存文件夹(建议新建空的不含中文文件夹)

(2)完成后不加别的文件,只有div.vhd,点击next,来到芯片选择界面

(3)我这里的芯片选择是EP4CE6E22C8,先选择Famliy才会出现对应的devices,完成后next

(4)Simulation选择vhdl的ModelSim,然后可以直接点击Finish,点Next的话是会显示Summary


(5)在File->New->University Program VWF,最后点击OK,新建波形仿真文件VWF


7.波形仿真
(1)右键左侧空白区域打开Insert Node or Bus

(2)选择Node Finder

(3)List相关引脚,点击>>进行全部选择移动,最后OK完成,返回后OK完成引脚插入

(4)接下来开始设置模拟引脚输入频率,同时将rst引脚拉高


(5)选择YES保存更改,待仿真结束即可得到结果,说明前面配置全部完成


五.遇到的问题
1.
** Error: (vdel-42) Unsupported ModelSim library format for "F:/FPGA_ FILE/FSM/simulation/modelsim/rtl _work". (Format: 4 )
. ** Warning: (vdel-57) Library 'F:/FPGA_ FILE/FSM/simulation/modelsim/rtl_ work' is missing or is not a valid ModelSim library.
** Error: D:/altera/13.0/modelsim_ ase/win32aloem/vdel failed.
modelsim-altera软件附带了预编译的仿真库,如果使用modelsim-altera软件,则不会编译仿真库(错误中文翻译)
删除当前工程的simultaion文件夹重新仿真即可
2.
The ModelSim-Altera software comes packaged with precompiled simulation libraries

Executable location改为ModelSim的,而不是modelsim-altera

3.
Failed to access library 'cycloneive_ver' at "cycloneive_ver"

EDA tools里面配置可能有误,可以试下加\,或者重配置
六.卸载
Modelsim是和开始界面的快捷方式放一起的,右键快捷方式打开文件所在位置即可找到,运行uninstall 即可卸载

quartus ii 卸载也是在开始的文件快捷方式当中,不过在文件外

七.参考文章
http://t.csdnimg.cn/fXEOe
http://t.csdnimg.cn/tIPDj
http://t.csdnimg.cn/2qorA
http://t.csdnimg.cn/WshhK
http://t.csdnimg.cn/6KWA5
http://t.csdnimg.cn/i22f4
相关文章:
FPGA(一)Quartus II 13.1及modelsim与modelsim-altera安装教程及可能遇到的相关问题
零.前言 在学习FPGA课程时,感觉学校机房电脑用起来不是很方便,想着在自己电脑上下载一个Quartus II 来进行 基于 vhdl 语言的FPGA开发。原以为是一件很简单的事情,没想到搜了全网文章发现几乎没有一个完整且详细的流程教学安装(也…...
【单片机】ESP32-S3+多TMC2209控制步进电机系列1 UART通信及无传感回零 硬件部分
目录 1. 硬件选型1.1 esp32硬件型号1.2 TMC2209 硬件型号 2 原理接线图2.1 esp32接线2.2 TMC2209接线2.2.1 单向通讯 不配置地址2.2.2 单向通讯 配置地址2.2.3 双向通讯 单UART 【本文采用】2.2.4 双向通讯 多UART 3. 成品效果 1. 硬件选型 1.1 esp32硬件型号 采用的是微雪ES…...
Django之ORM
1.ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对…...
html css 图片背景透明
html css图标背景透明 css属性: background-color:transparent; mix-blend-mode: multiply; 完整HTML代码: <html><head><title>Test</title></head><body><div id"test" style"background-col…...
使用ALB实现gRPC协议的负载均衡
gRPC是一种高性能、开源的远程过程调用框架,当您使用gRPC进行后端服务通信时,您可使用应用型负载均衡ALB(Application Load Balancer)实现gRPC协议的负载均衡,统一流量入口。gRPC基于HTTP/2协议进行通信,目…...
解决IDEA的easycode插件生成的mapper.xml文件字段之间逗号丢失
问题 easycode插件生成的mapper.xml文件字段之间逗号丢失,如图 解决办法 将easycode(在settings里面的othersettings)设置里面的Template的mapper.xml.vm和Global Config的mybatisSupport.vm的所有$velocityHasNext换成$foreach.hasNext Template的mapper.xml.vm(…...
【Linux测试题】
1. 选择题 题目: 如果想将电脑中Windows C盘(hd1)安装在Linux文件系统的/winsys目录下,请问正确的命令是()。 选项: A. root104.123.123.123:~# mount dev/hd1 /winsys B. root104.123.123.12…...
python使用openpyxl处理excel
文章目录 一、写在前面1、安装openpyxl2、认识excel窗口 二、基本使用1、打开excel2、获取sheet表格3、获取sheet表格 尺寸4、获取单元格数据5、获取区域单元格数据6、sheet.iter_rows()方法7、修改单元格的值8、向表格中插入行数据9、实战:合并多个excel 三、获取E…...
【JavaWeb后端学习笔记】Mybatis基础操作以及动态SQL(增、删、改、查)
Mybatis 0、环境准备0.1 准备数据库表emp;0.2 准备SpringBoot工程0.3 配置文件中引入数据库连接信息0.4 创建对应的实体类0.5 准备Mapper接口 1、MyBatis基础操作1.1 删除1.2 新增(主键返回)1.3 更新1.4 查询(解决字段名与类属性名…...
基于MATLAB野外观测站生态气象数据处理分析实践应用
1.本课程基于MATLAB语言 2.以实践案例为主,提供所有代码 3.原理与操作结合 4.布置作业,答疑与拓展 示意图: 以野外观测站高频时序生态气象数据为例,基于MATLAB开展上机操作: 1.不同生态气象要素文件的数据读写与批处理…...
IP 地理位置定位技术原理概述
本文深入探讨 IP 地理位置定位技术的原理。介绍了 IP 地址的基本概念及其在网络中的作用,随后阐述了基于数据库查询、基于网络拓扑分析以及基于机器学习算法的三种主要 IP 地理位置定位技术原理中的基于IP数据库查询。 IP 地址基础 IP 地址是互联网协议࿰…...
C语言(分支结构)
问题引出 我们在程序设计往往会遇到如下的问题,比如下的函数的计算。 也就是我们是必须要通过一个条件的结果来选择下一步的操作,算法上属于一个分支结构,C语言中实现分支结构主要使用if语句。 条件判断 根据某个条件成立与否,…...
批量将不同的工作簿合并到同一个Excel文件
批量将不同的工作簿合并到同一个Excel文件 下面是一个示例,展示如何批量将不同的工作簿合并到同一个Excel文件,并生成模拟数据。我们将使用 Python 的 pandas 库来完成这个任务。具体步骤如下: 步骤 1: 安装必要的库 首先确保你已安装 pan…...
详解AI网关助力配电房实现智能化管控应用
对于一些建设年份久远的老旧配电房,由于配套降温散热设施设备不完善、线路设备老化等因素,极易出现因环境过热而影响设备正常稳定运行,进而导致电气故障甚至火灾等事故产生。 基于AI网关的配电房智能监控及管理 针对配电房的实时安全监测及…...
2025美赛数学建模常用数据库网站大全
优秀模板写作红宝书数学模型获取——更多资料请点击下方名片进群获取。 一、可以查询美国各个领域经济指标的网站: olap.epsnet.com.cnhttps://www.ers.usda.gov/data-products/rice-yearbook/www.ers.usda.govU.S. Energy Information Administration (EIA) www.eia.govhttp…...
Wordpress设置固定链接形式后出现404错误
比如固定连接设置为 /archives/%post_id%.html 这种形式,看起来比较舒服。对搜索引擎也友好。 出现404需要设置伪静态...
我最近在干什么【1】
前言 打算开一个新系列,偏休闲点的,不是完整全面的技术分享,话题还是聚焦个人成长(学的技术、了解到的信息、看的书……) 方面。文章偏意识流点,单纯分享我最近在干什么,不定期更新,…...
[Vue3]computed原理
Computed原理 不管在是 Vue 2 还是在 Vue 3 中,对 computed 本身的实现原理基本都是一样的。当使用 computed 计算属性时,组件初始化会对每一个计算属性都创建对应的 watcher , 然后在第一次调用自己的 getter 方法时,收集计算属性依赖的所有…...
Vue工程化开发中各文件的作用
1.main.js文件 main.js文件的主要作用:导入App.vue,基于App.vue创建结构渲染index.html。...
【c++笔试强训】(第三十一篇)
目录 最⻓回⽂⼦序列(动态规划-区间dp) 题目解析 讲解算法原理 编写代码 添加字符(字符串) 题目解析 讲解算法原理 编写代码 最⻓回⽂⼦序列(动态规划-区间dp) 题目解析 1.题目链接:最…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
