大家好,又见面了,我是你们的朋友全栈君。
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内部结构![在这里插入图片描述](https://img-blog.csdnimg.cn/8ad9bf1acae04ab5a565135bcc7d21cf.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMyNDczNTYz,size_16,color_FFFFFF,t_70)
- 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、位拼接
- 运算符优先级
- 1、基础知识
- 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、状态机举例
- 输出寄存器作用:
@ 代码 => 模块原理图
[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、修改设计文件
也可以用命令进行重新仿真。
仿真波形运行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