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

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

作者头像
全栈程序员站长
发布2022-08-31 20:42:31
1.6K0
发布2022-08-31 20:42:31
举报

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

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公司的,业界最优秀的语言仿真工具;
  • 支持Windows和Linux系统;
  • 单一内核支持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
复制
// 延时:单位/精度
`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、修改设计文件

在这里插入图片描述
在这里插入图片描述

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

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

仿真波形运行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
复制
// 注释内容
代码语言:javascript
复制
/* 注释内容 */

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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Altera – Quartus II食用方法
  • @ 代码 => 模块原理图
    • [1/2]Processing => Start => Start Analysis & Elaboration
      • [2/2] Tools => Netlist Viewers => RTL Viewers
        • [效果] 模块原理图
        • 开发板 – EP4CE10
          • 开发板综合测试
          • FPGA简介
            • FPGA & ARM
              • FPGA制造商
                • FPGA优势
                  • FPGA应用领域
                    • FPGA内部结构
                      • FPGA开发流程
                      • Quartus II
                        • 开发流程
                          • 0、工程路径
                            • 1、打开软件
                              • 2、新建工程
                                • 1/5 选择路径、工程名
                                • 2/5 添加已有的设计文件
                                • 3/5 芯片选型:EP4CE10
                                • 4/5 第三方工具,不使用
                                • 5/5 总结
                              • 3、设计输入
                                • 1、双击,无设计文件时:File => New => Verilog HDL File
                                • 2、编写设计文件
                                • 3、保存 设计文件
                              • 4、配置工程
                                • TAB 配置
                                • 双用引脚,改为GPIO功能:
                              • 5、分析与综合
                                • 6、引脚分配(Pin Planner)
                                  • 7、编译工程
                                    • 8、下载程序
                                      • 下载到SRAM,断电丢失
                                      • 生成FLASH文件
                                      • 下载FLASH文件,重新上电后运行FLASH
                                      • 擦除FLASH
                                  • SignalTap II(信号窃听)
                                    • 1、打开
                                      • 2、添加信号
                                        • 3、配置信号时钟(采样频率、采样个数)
                                          • 4、连接下载器
                                            • 5、编译工程
                                              • 6、下载代码
                                                • 7、查看信号
                                                  • 8、使用后关闭SignalTap II,节约资源
                                                  • Modelsim仿真环境搭建——业界公认仿真最优秀
                                                    • Modelsim简介
                                                      • ☑前仿真FPGA(功能仿真)
                                                        • 后仿真设计(时序仿真,布局布线后仿真)
                                                          • Modelsim版本(功能最全的SE版)
                                                            • Modelsim安装
                                                              • Modelsim破解
                                                                • 联合仿真(自动仿真)
                                                                  • 1、Quartus II关联ModelSim:
                                                                  • 3、生成Test Bench模板
                                                                  • 4、打开生成的Test Bench文件
                                                                  • 5、修改Test Bench激励文件,保存
                                                                  • 6、修改顶层文件的延迟时间,保存
                                                                  • 7、Quartus II配置仿真功能
                                                                  • 8、开始仿真
                                                                  • 8.1、功能仿真前仿真
                                                                  • 8.2、门级仿真/时序仿真,需要先编译后仿真
                                                                • 手动仿真前仿真(修改代码后不必重启ModelSim)
                                                                  • 1、新建项目,添加设计文件,新建激励文件
                                                                  • 2、编辑激励文件
                                                                  • 3、代码检查
                                                                  • 4、启动仿真
                                                                  • 5、添加波形
                                                                  • 6、观察波形(同上)
                                                                  • 7、修改设计文件
                                                                • 手动仿真后仿真
                                                                  • 1、Quartus II重新编译,生成编译后文件
                                                                  • 2、拷贝文件
                                                                  • 3、ModelSim添加、编译网表文件
                                                                  • 4、开始仿真
                                                                  • 5、添加到波形
                                                                  • 6、观察波形,与时钟不对应,有延时
                                                              • Verilog简介
                                                                • 1、什么是FPGA:可编程的集成电路
                                                                  • 2、什么是HDL:硬件描述语言
                                                                    • 3、Verilog简介
                                                                    • Verilog基础语法
                                                                      • 1、基础知识
                                                                        • 逻辑值:
                                                                        • 数字进制格式:
                                                                        • 标识符:
                                                                        • 标识符推荐写法:
                                                                      • 2、数据类型
                                                                        • 寄存器reg: x
                                                                        • 线网wire/tri: z
                                                                        • 参数parameter
                                                                      • 3、运算符
                                                                        • 1、算术
                                                                        • 2、关系
                                                                        • 3、逻辑
                                                                        • 4、条件
                                                                        • 5、位
                                                                        • 6、移位
                                                                        • 7、位拼接
                                                                      • 运算符优先级
                                                                      • Verilog程序框架
                                                                        • 1、Verilog注释
                                                                          • 2、Verilog关键字
                                                                            • 3、Verilog程序框架
                                                                              • 4、模块调用
                                                                              • Verilog高级知识点
                                                                                • 1、结构语句initial,always
                                                                                  • 2、赋值语句
                                                                                    • 3、条件语句initial,always
                                                                                      • case:
                                                                                      • 有限状态机Finite State Machine
                                                                                        • 1、状态机概念
                                                                                          • 2、状态机模型
                                                                                            • 3、状态机设计(4段论)
                                                                                              • 4、状态机举例
                                                                                                • 输出寄存器作用:
                                                                                                相关产品与服务
                                                                                                腾讯云代码分析
                                                                                                腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。
                                                                                                领券
                                                                                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档