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.题目链接:最…...

Go 1.19.4 HTTP编程-Day 20
1. HTTP协议 1.1 基本介绍 HTTP协议又称超文本传输协议,属于应用层协议,在传输层使用TCP协议。HTTP协议属是无状态的,对事务处理没有记忆能力,如果需要保存状态需要引用其他技术,如Cookie。HTTP协议属是无连接的&…...

MySQL 8.0 的主主复制(双向复制)
在 Windows Server 2022 Datacenter 上配置 MySQL 8.0 的主主复制(双向复制),步骤与 Linux 类似,但有一些特定的配置和路径需要注意。以下是详细的简化步骤: 1. 使用 root 用户登录 确保你以 root 用户登录到 MySQL …...

四、自然语言处理_03LSTM与GRU
0、前言 随着循环神经网络(RNN)在各种序列数据处理任务中被广泛应用,研究人员逐渐发现了其在处理长序列数据时会容易出现梯度消失(vanishing gradient)和梯度爆炸(exploding gradient)问题&…...

磁盘系列基础知识(一):硬盘;IDE;ATA;SATA;AHCI;SCSI;SAS
磁盘系列基础知识(一)硬盘 IDE ATA SATA AHCI SCSI SAS 硬盘厂家 西部数据Western Digital/WD. 希捷 SEAGATE、三星 SAMSUNG、东之 Toshiba、英特尔 Intel、金士顿 Kingston、闪迪 SanDisk、 英睿达 Crucial、浦科特 Plextor 硬盘类别 HDD (…...

taro小程序进入腾讯验证码
接入原因 昨天突然晚上有人刷我们公司的登录发送短信接口,紧急将小程序的验证码校验更新上去了 接下来就是我们的接入方法,其实很简单,不过有时候可能大家着急就没有仔细看文档,腾讯验证码文档微信小程序地址,注意这里…...

原子类相关
原子引用 JUC 并发包提供了: AtomicReferenceAtomicMarkableReferenceAtomicStampedReference AtomicReference 使用举例 public interface DecimalAccount {// 获取余额BigDecimal getBalance();// 取款void withdraw(BigDecimal amount);/*** 方法内会启动 10…...

RabbitMQ 客户端 连接、发送、接收处理消息
RabbitMQ 客户端 连接、发送、接收处理消息 一. RabbitMQ 的机制跟 Tcp、Udp、Http 这种还不太一样 RabbitMQ 服务,不是像其他服务器一样,负责逻辑处理,然后转发给客户端 而是所有客户端想要向 RabbitMQ服务发送消息, 第一步&a…...

Java Web 3 Axios Vue组件库
一 Ajax 1 同步 异步 2 原生Ajax 比较繁琐 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Documen…...

双目相机的标定,视差图,深度图,点云生成思路与实现。
该文档记录从双目相机标定到点云生成的所有过程,同时会附上代码。 代码直接能跑。https://github.com/stu-yzZ/stereoCamera 目录 大致思路如下: 一、相机标定 1、相机参数介绍 2、单目相机标定 3、双目相机标定 二、图片畸变矫正 三、极线矫正…...

【H2O2|全栈】MySQL的基本操作(三)
目录 前言 开篇语 准备工作 案例准备 多表查询 笛卡尔积 等值连接 外连接 内连接 自连接 子查询 存在和所有 含于 分页查询 建表语句 结束语 前言 开篇语 本篇继续讲解MySQL的一些基础的操作——数据字段的查询中的多表查询和分页查询,与单表查询…...