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

【笔记】Altera – Quartus II使用方法——工程创建、Modelsim破解/仿真、Verilog编写、举例(待续)[通俗易懂]Altera-QuartusII食用方法@代码=>模块原理图[1/2]Processing=>Start=>StartAnalysis&Elaboration[2/2]Tools=>NetlistViewers=>RTLViewers[效果]模块原理图开发板-EP4CE10开发板综合测试FPGA简介FPGA&ARMFPGA制造商FPGA优势FPGA应用领域FPGA内部结构![在这里插入图片描述](https://

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

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、编辑激励文件

在这里插入图片描述

// 延时:单位/精度
`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编写、举例(待续)[通俗易懂]
仿真波形运行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、状态机举例

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

输出寄存器作用:

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2022年5月24日 上午8:20
下一篇 2022年5月24日 上午8:40


相关推荐

  • SpringBoot防止大量请求攻击

    SpringBoot防止大量请求攻击我们使用Jmeter测试同学的网站时,就会出现网站无法访问,403等错误。Anerroroccurred.Sorry,thepageyouarelookingforiscurrentlyunavailable.Pleasetryagainlater.Ifyouarethesystemadministratorofthisresourcethenyoushouldchecktheerrorlogfordetails.Faithfull

    2022年7月20日
    29
  • java变量的定义有哪些规则_java变量命名规范

    java变量的定义有哪些规则_java变量命名规范天才意识到在 java 语言里面 进行编程 命名确实很重要 因为有时实在是不知道该起什么名字 可以参照一下的规范 学习一下 推荐 定义规范的目的是为了使项目的代码样式统一 使程序有良好的可读性 包的命名 全部小写 由域名定义 Java 包的名字都是由小写单词组成 但是由于 Java 面向对象编程的特性 每一名 Java 程序员都可以编写属于自己的 Java 包 为了保障每个 Java 包命名的唯一性 在最新的 Java

    2026年3月18日
    1
  • SVN——SVN项目迁移到GIT

    svn有很多优点,但是git的出现对svn的冲击的确很大,现在很多公司项目的都迁移的git上了,下面是我自己在做svn迁移项目到git上面时候整理的一些资料。暂时就些整理这些,具体的操作如果有看不懂的,可以和我联系!右侧的qq号,欢迎一起探讨。 相关操作: 1:命令行执行##clone svn -> git 地址支持协议 : svn://, http://, https://. 注意这个 UR

    2022年2月25日
    55
  • Snapde和常用的CSV文件编辑器对比

    Snapde和常用的CSV文件编辑器对比Snapde,一个专门为编辑超大型数据量CSV文件而设计的单机版电子表格软件;它运行的速度非常快,反应非常灵敏。CSV是一种用逗号分隔列、回车分割行的文本文件,市面上常用的CSV编辑软件有:Snapde、Ron’sEditor、CSVEditorPro、DMcsvEditor、CSVPad、CSVed、CSVFileView、KillinkCSVEditor、CSVBuddy、Me…

    2022年7月21日
    29
  • hdu 1507 Largest Rectangle in a Histogram 动态规划计算最大面积

    hdu 1507 Largest Rectangle in a Histogram 动态规划计算最大面积

    2021年12月5日
    63
  • 菜地公告:元宵节《菜农新唐M0技术交流群》有条件散群预告

    菜地公告:元宵节《菜农新唐M0技术交流群》有条件散群预告菜地公告:菜农助学园地500人支柱群菜农新唐M0技术交流群:12047788长期致力于纯技术交流,与菜农助学群校:134915667一同奉行“饮水思源”之精神。菜农为了网友的合法权宜得到公正的待遇,特此做出如下沉痛之决议:在元宵节晚上8:25以前,若链接:http://bbs.ednchina.com/BLOG_ARTICLE_3001363.HTM中的“发表评论”少于

    2022年5月19日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号