欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

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

发布时间:2023/12/14 45 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【笔记】Altera - Quartus II使用方法——工程创建、Modelsim破解/仿真、Verilog编写、举例(待续) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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、位拼接
    • 运算符优先级
  • 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、编辑激励文件

// 延时:单位/精度 `timescale 1ns/1nsmodule flow_led_tb;reg sys_clk; reg sys_rst_n;wire [3:0] led;initial beginsys_clk = 1'b0;sys_rst_n = 1'b0;#100sys_rst_n = 1'b1; endalways #(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注释

// 注释内容 /*注释内容 */

2、Verilog关键字

常用关键字:

所有关键字:

3、Verilog程序框架


4、模块调用


Verilog高级知识点

1、结构语句initial,always



2、赋值语句




3、条件语句initial,always


case:

有限状态机Finite State Machine

1、状态机概念


2、状态机模型


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




4、状态机举例


输出寄存器作用:

总结

以上是生活随笔为你收集整理的【笔记】Altera - Quartus II使用方法——工程创建、Modelsim破解/仿真、Verilog编写、举例(待续)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。