Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【笔记】Altera – Quartus II使用方法——工程创建、Modelsim破解/仿真、Verilog编写、举例(待续)[通俗易懂]

【笔记】Altera – Quartus II使用方法——工程创建、Modelsim破解/仿真、Verilog编写、举例(待续)[通俗易懂]

作者头像
全栈程序员站长
发布于 2022-08-31 12:42:31
发布于 2022-08-31 12:42:31
2.4K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

Altera – Quartus II食用方法

@ 代码 => 模块原理图

[1/2]Processing => Start => Start Analysis & Elaboration

[2/2] Tools => Netlist Viewers => RTL Viewers

[效果] 模块原理图

开发板 – EP4CE10

开发板综合测试

FPGA-test

FPGA简介

  • FPGA(Field Programmable Gate Array)现场可编程门阵列。
  • 半定制电路 ZYNQ:FPGA + ARM

FPGA & ARM

单片机

FPGA

哈佛总线结构、冯诺依曼结构

查找表

串行执行

并行执行

软件范畴

硬件范畴

C、汇编编程

Verilog HDL、VHDL硬件描述语言编程

FPGA制造商

  • Xilinx(赛灵思):发明FPGA 50%
  • Altera(阿尔特拉),现已被Intel收购 40%
  • Lattice(莱迪思)
  • Microsemi(美高森美)

FPGA优势

  • 运行速度快
  • 引脚多(数百上千),适合大规模系统设计
  • 并行执行,效率高
  • 包含大量IP核,方便开发
  • 设计灵活

FPGA应用领域

  • 通信领域
  • 算法实现
  • 嵌入式
  • 5G无线、自动驾驶人工智能云计算

FPGA内部结构

  • **可编程IO单元:**可编程IO、上下拉电阻、驱动电流大小
  • **可编程逻辑单元:**查找表(LUT)、寄存器
  • **底层嵌入式功能:**锁相环、DSP、。。。
  • **块RAM:**存储器、RAM、ROM
  • **布线资源:**影响驱动能力、传输速度
  • 硬核:

FPGA开发流程

  • 设计输入最重要。

Quartus II

  • Quartus II 是Altera公司为FPGA/CPLD芯片设计的集成开发软件。
  • 输入形式:原理图、VHDL、Verilog、HDL。
  • 包含PFGA完整实际流程:设计输入、综合适配、仿真、下载。

开发流程

工程路径 =>打开软件 =>新建工程 =>设计输入 =>配置工程 =>分析综合 =>分配引脚 =>编译工程sof =>下载程序

0、工程路径

1、打开软件

2、新建工程

1/5 选择路径、工程名

2/5 添加已有的设计文件

3/5 芯片选型:EP4CE10

4/5 第三方工具,不使用

5/5 总结

3、设计输入

  • 双击,可更改芯片型号

1、双击,无设计文件时:File => New => Verilog HDL File

2、编写设计文件

3、保存 设计文件

  • 保存到rtl文件夹中;
  • 文件名与module名一致。

4、配置工程

TAB 配置

双用引脚,改为GPIO功能:

5、分析与综合

  • 启动:分析与综合
  • 分析与综合结果

6、引脚分配(Pin Planner)

7、编译工程

  • 开始编译
  • 编译结果

8、下载程序

下载到SRAM,断电丢失

生成FLASH文件

下载FLASH文件,重新上电后运行FLASH

擦除FLASH

SignalTap II(信号窃听)

  • SignalTap II全称SignalTap II Logic Analyzer
  • 捕获和显示实时信号(类似示波器)
  • FPGA片上调试软件
  • 消耗FPGA逻辑资源和RAM资源

1、打开

2、添加信号

3、配置信号时钟(采样频率、采样个数)

4、连接下载器

5、编译工程

6、下载代码

7、查看信号

8、使用后关闭SignalTap II,节约资源

Modelsim仿真环境搭建——业界公认仿真最优秀

Modelsim简介

  • Modelsim是Mentor公司的,业界最优秀的语言仿真工具;
  • 支持WindowsLinux系统;
  • 单一内核支持VHDL和Verilog混合仿真;
  • 仿真速度快、代码与平台无关,便于保护IP核。

☑前仿真FPGA(功能仿真)

  • 功能仿真。
  • 验证电路是否符合设计功能
  • 不考虑电路门延迟、线延迟。

后仿真设计(时序仿真,布局布线后仿真)

  • 综合考虑门延迟、线延迟。
  • 反映电路实际情况。

Modelsim版本(功能最全的SE版)

  • SE(System Edition,系统版本):最高级版本
  • PE(Personal Edition,个人版本)
  • OEM(Original Equipment Manufacture,原始设备制造商)

Modelsim安装

Modelsim破解

联合仿真(自动仿真)

1、Quartus II关联ModelSim:

2、Quartus II选择ModelSim作为仿真软件:

3、生成Test Bench模板

4、打开生成的Test Bench文件

5、修改Test Bench激励文件,保存

6、修改顶层文件的延迟时间,保存

7、Quartus II配置仿真功能

8、开始仿真

8.1、功能仿真前仿真

显示进制:

时间测量: 0-10,计11个数。11*20ns = 220ns

修改代码,达到10个数,220ns.

8.2、门级仿真/时序仿真,需要先编译后仿真

选择内核:1.2V,85℃。直接点击“Run”

手动仿真前仿真(修改代码后不必重启ModelSim)

1、新建项目,添加设计文件,新建激励文件

2、编辑激励文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 延时:单位/精度
`timescale 1ns/1ns

module flow_led_tb;

reg		sys_clk;
reg		sys_rst_n;

wire		[3:0]  led;

initial begin
	sys_clk = 1'b0;
	sys_rst_n = 1'b0;
	#100
	sys_rst_n = 1'b1;
end

always #(T/2)	sys_clk = ~sys_clk;

flow_led u_flow_led(
	.sys_clk	(sys_clk),
	.sys_rst_n	(sys_rst_n),
	.led		(led)
);

endmodule

3、代码检查

4、启动仿真

5、添加波形

6、观察波形(同上)

7、修改设计文件

也可以用命令进行重新仿真。

仿真波形运行5us:

手动仿真后仿真

1、Quartus II重新编译,生成编译后文件

2、拷贝文件

3、ModelSim添加、编译网表文件

4、开始仿真

5、添加到波形

6、观察波形,与时钟不对应,有延时

Verilog简介

1、什么是FPGA:可编程的集成电路

可编程逻辑器件:

  • 早期集成电路逻辑功能 固定不变
  • 允许用户修改内部集成电路,可编程逻辑器件(Programmable Logic Device)
    • PLD内部电路编程设置;
    • PLD编程数据可擦写。 常用的可编程逻辑器件:
  • CPLD:复杂可编程逻辑器件(Complex Programmable Logic Device);基于“乘积项”的编程设置;
  • FPGA:现场可编程门阵列(Field Programmable Gate Array);基于“查找表”的CLB阵列;

2、什么是HDL:硬件描述语言

3、Verilog简介

FPGA设计语言:

  • 原理图输入法:直观、易于理解;难移植,复杂;
  • Verilog:占绝对主导地位; | Verilog | 硬件描述语言、编译下载到FPGA之后,生成电路、并行运行 | | :—–: | ———————————————————— | | C | **软件编译语言、存储到存储器中的指令、串行执行 ** |

Verilog基础语法

1、基础知识

逻辑值:

数字进制格式:

标识符:

标识符推荐写法:

2、数据类型

寄存器reg: x

线网wire/tri: z

参数parameter

3、运算符

1、算术

2、关系

3、逻辑

4、条件

5、位

6、移位

7、位拼接

运算符优先级

Verilog程序框架

1、Verilog注释

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 注释内容
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/* 注释内容 */

2、Verilog关键字

常用关键字:

所有关键字:

3、Verilog程序框架

4、模块调用

Verilog高级知识点

1、结构语句initial,always

2、赋值语句

3、条件语句initial,always

case:

有限状态机Finite State Machine

1、状态机概念

2、状态机模型

3、状态机设计(4段论)

4、状态机举例

输出寄存器作用:

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142259.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Modelsim与Quartus联合调用
注意:教程中sys_clk 取反用的是 负号"-",实际应当用波浪号"~",否则语句不报错,但不生效。
zstar
2022/06/14
4430
Modelsim与Quartus联合调用
基于FPGA的电子计算器系统设计(附代码)
本篇介绍了一个简单计算器的设计,基于 FPGA 硬件描述语言 Verilog HDL,系统设计由计算部分、显示部分和输入部分四个部分组成,计算以及存储主要用状态机来实现。显示部分由六个七段译码管组成,分别来显示输入数字,输入部分采用4*4矩阵键盘,由0-9一共十个数字按键,加减乘除四个运算符按键,一个等号按键组成的。通过外部的按键可以完成加、减、乘、除四种功能运算,其结构简单,易于实现。本篇为本人毕业设计部分整理,各位大侠可依据自己的需要进行阅读,参考学习。
FPGA技术江湖
2022/02/16
2.4K0
基于FPGA的电子计算器系统设计(附代码)
系统设计精选 | 基于FPGA的电子计算器系统设计(附代码)
大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。
FPGA技术江湖
2021/04/26
2.9K0
系统设计精选 | 基于FPGA的电子计算器系统设计(附代码)
FPGA学习笔记
FPGA(Field-Programmable Gate Array,现场可编程门阵列)作为数字系统设计领域的明星,以其灵活性和高性能受到广泛青睐。本文旨在深入浅出地介绍FPGA的核心理论概念、学习过程中常见的问题及易错点,并提供实用建议帮助你避免这些陷阱。同时,我们还将通过代码示例让你对FPGA编程有更直观的理解。
Jimaks
2024/05/13
2710
FPGA Quartus ll使用
FPGA是一种新型的嵌入式硬件,使用可编程电路,其电路由程序设计语言编程即时修改并应用。一般的嵌入式电路设计是首先设计好电路,然后生产出电路,而FPGA只需要通过编程即可修改FPGA硬件内部的电路。
AnieaLanie
2022/03/14
1.3K0
基于FPGA的电子计算器设计(上)
今天给大侠带来基于FPGA的电子计算器设计,由于篇幅较长,分三篇。今天带来第一篇,上篇,话不多说,上货。
FPGA技术江湖
2020/12/30
1.3K0
Quartus II 13.1的安装及使用
百度网盘下载链接: https://pan.baidu.com/s/1a9d-bq9RZmWrRV542X4IEA 提取码:ifte 说明: 本链接来自于正点原子官方资料下载
全栈程序员站长
2022/11/03
2.8K0
Quartus II 13.1的安装及使用
FPGA系统性学习笔记连载_Day2-3开发流程篇之Quartus prime 18.0
本系列为FPGA系统性学习学员学习笔记整理分享,如有学习或者购买开发板意向,可加交流群联系群主。
FPGA技术江湖
2021/03/30
9300
FPGA系统性学习笔记连载_Day2-3开发流程篇之Quartus prime 18.0
ModelSim 使用【一】介绍
【注】本文为系列教程,使用同一个仿真代码,关注公众号“数字积木”,对话框回复“ modelsim_prj ”,即可获得。这是系列第一篇。
数字积木
2021/04/15
1.9K0
Quartus II 上手攻略
Quartus II 是Altera公司为其FPGA/CPLD芯片设计的集成化专用开发软件,有原理图、VHDL、Verilog HDL等多种设计输入形式,内嵌综合器以及仿真器,可以完成从设计输入、综合适配、仿真到下载的完整FPGA设计流程。
zstar
2022/06/14
1.5K0
Quartus II 上手攻略
最实用的Modelsim初级使用教程
Modelsim仿真工具是Model公司开发的。它支持Verilog、VHDL以及他们的混合仿真,它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow窗口查看某一单元或模块的输入输出的连续变化等,比quartus自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。
FPGA技术江湖
2020/12/30
2.6K0
从汇编、C语言到开发FPGA,总结出的“三多”一个也不能少!
从大学时代第一次接触FPGA至今已有10多年的时间,至今记得当初第一次在EDA实验平台上完成数字秒表、抢答器、密码锁等实验时那个兴奋劲。当时由于没有接触到HDL硬件描述语言,设计都是在MAX+plus II原理图环境下用74系列逻辑器件搭建起来的。
MCU起航
2020/06/29
2.1K0
Vivado初体验LED工程
本节我们要做的是熟练使用 Vivado 创建工程并实现对 LED 灯控制,每秒钟控制开发板上的 LED 灯翻转一次,实现亮、灭、亮、灭的控制。会控制 LED 灯,其它外设也慢慢就会了。
Gnep@97
2023/09/19
8630
Vivado初体验LED工程
硬件工程师离不开的那些电路设计工具,你会有几个呢
  EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的 最新成果,进行电子产品的自动设计。利用EDA工具,可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。
用户6754675
2019/11/26
2.2K0
FPGA开篇
接下来很长一段时间都将进行FPGA的表述,中间也不时的发一些设计硬件电路和嵌入式开发的讲解,如果对FPGA也还不知道是什么东西的朋友可以自己上网了解,反正一个字表述就是:“强”,还有呢就是以后的表达以Verilog这个硬件描述语言进行,VHDL是真的打扰了,感觉太严谨,不适合我的编程习惯。
狂人V
2020/06/29
7510
ModelSim 使用【二】联合Quarus自动仿真
【注】本文为系列教程,使用同一个仿真代码,关注公众号“数字积木”,对话框回复“ modelsim_prj ”,即可获得。这是系列第二篇。
数字积木
2021/04/15
2.7K0
零基础入门FPGA,如何学习?
问:本人零基础,想学FPGA,求有经验的人说说,我应该从哪入手,应该看什么教程,应该用什么学习板和开发板,看什么书等,希望有经验的好心人能够给我一些引导。
碎碎思
2021/01/13
1.2K0
零基础入门FPGA,如何学习?
FPGA零基础学习:Intel FPGA 开发流程
大侠好,欢迎来到FPGA技术江湖。本次带来FPGA系统性学习系列,今天开始正式更新,之前更新过类似的郝旭帅FPGA零基础学习系列,由于时间久远,之前的系列所用开发操作软件、硬件设备及所涉及知识维度都有待更新及完善。
FPGA技术江湖
2021/03/12
1.1K0
FPGA零基础学习:Intel FPGA 开发流程
ISE14.7使用教程(一个完整工程的建立)
       FPGA公司主要是两个Xilinx和Altera(现intel PSG),我们目前用的ISE是Xilinx的开发套件,现在ISE更新到14.7已经不更新了,换成了另一款开发套件Vivado,也是Xilinx的产品,intel的开发套件是Quartus II系列,我们实验室这两款公司的开发板都有,不过对于入门来说,选择ISE有两个原因,一是它比Vivado快多了,二是它和Quartus II相比不用自己写测试文件(激励)。实验室的板子这两个公司都有,代码都是可以移植的,学习的话都要学的,软件不是
NingHeChuan
2018/04/02
3.7K0
ISE14.7使用教程(一个完整工程的建立)
为什么你会觉得FPGA难学?
大侠们,江湖偌大,有缘相见,欢迎一叙。又到了每日学习的时候了,近期很多人问我该如何去学FPGA,那么今天咱们就来聊一聊。
FPGA技术江湖
2020/12/29
2K4
相关推荐
Modelsim与Quartus联合调用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档