0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【黑金云课堂笔记】第三期知识点总结

FPGA技术专栏 来源:FPGA技术专栏 作者:FPGA技术专栏 2026-04-01 16:08 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

恭喜黑金云课堂的小伙伴完成第三期内容的学习

上周我们掌握了 Verilog 基础与逻辑设计、Vitis 搭建工程及 Zynq 配置流,并初步了解了 Linux 系统 ✊

大家在交流群里反馈非常积极,对 FPGA 免费直播课的热情也感染到了黑金云课堂的老师们。接下来我们会再接再厉,把每一期直播都做得更扎实

更多精彩课程欢迎关注我们黑金云课堂全年免费直播课,现在让我们先来回顾一下上周的知识点精华——

数据类型

常量

进制表示:二进制(b/B)、八进制(o/O)、十进制(d/D)、十六进制(h/H)

格式:位宽 +’+ 进制 + 数值例:8’b0000_1111、4’ha

特殊值:X(不定值)、Z(高阻值)

下划线(_):仅提升可读性,无实际意义

定义关键字

parameter:可模块间传递/修改,用于通用常量

localparam:仅本模块有效,多用于状态机

变量

wire

特性:无存储,物理连接

赋值:assign 连续赋值

应用:组合逻辑、连线

示例:wire [7:0] a;

reg

特性:可存储值

赋值:always 块内赋值

应用:时序 / 组合逻辑

示例:reg [7:0] b;

memory

特性:多个 reg 组成

赋值:寻址赋值

应用:RAM / ROM

示例:reg [7:0] ram [255:0];

*关键点:wire 不能存值,reg 不代表真实硬件寄存

运算符

常用运算符

算术:+、-、*、/、%(注意位宽与取整)

赋值:=(阻塞)、<=(非阻塞)

关系:>、<、>=、<=、==、!=
结果为 1(真)/0(假)

逻辑:&&、||、!

条件:?:(等效简单 if-else)

位运算:~、&、|、^、^~

移位:<<、>>
逻辑移位,高位 / 低位补 0;例a<<1(左移 1 位,低位补 0)

拼接:{}、{n{}}
拼接多个信号:{a[3:0],b[1:0]};重复拼接:{n{信号}},例{8{1’b0}}(8 位 0)

赋值运算符(高频易错)

阻塞赋值 =
组合逻辑必须用
立即生效,顺序执行

非阻塞赋值 <=
时序逻辑必须用
并行更新,无竞争冒险

组合逻辑

核心特征:输出仅由当前输入决定,无时钟、无记忆,输入变输出立即变

实现方式:assign 或无时钟的 always 块

典型电路

基础门电路:

与:assign c = a & b;

或:assign c = a | b;

非:assign b = ~a;

异或:assign c = a ^ b;

运算与比较:

比较器:assign c = (a> b);

半加器:sum=a^b,cout=a&b

全加器:{cout,sum}=a+b+cin;

乘法器:直接用 *,注意输出位宽

选择器 / 译码器

四选一 MUX:case 语句实现

3-8 译码器:地址映射输出

三态门(双向 IO):

assign bio = en ? din : 1'bz;

en=1:输出

en=0:高阻输入

时序逻辑

核心特征: 依赖时钟沿触发,有记忆功能

实现方式:带时钟的 always 块 + 非阻塞赋值 <=

典型电路

D 触发器

基本:always @(posedge clk) q <= d;

异步复位:always @(posedge clk or negedge rst)

同步清零:依附时钟沿

移位寄存器

左移:q <= {q[6:0], d};

右移:q <= {d, q[7:1]};

存储器

单口 RAM:共用地址

伪双口 RAM:读写地址独立

真双口 RAM:双端口独立读写

单口 ROM:只读,初始化用 case 或 IP + .mif/.coe

有限状态机(FSM)

Mealy 型

输出由当前状态 + 输入决定

一段式写法

优点:代码简洁

缺点:输出易受输入干扰

Moore 型

输出仅由当前状态决定

三段式写法

优点:输出稳定,结构清晰

缺点:代码稍多,多一个状态周期

Verilog 开发核心规则(必记)

组合逻辑:wire + assign 或 always 无时钟,用 =

时序逻辑:always 时钟沿,用 <=

敏感列表:组合逻辑包含所有输入,异步复位必须加入

参数化:用 parameter 提高复用性

存储器:大容量优先使用 FPGA IP 核

状态机:复杂逻辑用三段式 Moore 型

位宽匹配:避免数据截断

wKgZO2nM0nqAUNi6AAAs4J69pQU484.jpg

ZYNQ7000 基础工程创建

创建工程 → 选定芯片 → 创建块设计(Block Design)

添加 ZYNQ7 Processing System IP

配置 PS 外设及 MIO

配置 PS 时钟输入频率

配置 PS DDR3

ZYNQ7000 概述

系列特点:全可编程 SoC,ARM Cortex-A9 双核 + 28nm FPGA

硬件结构

PS:双核 ARM Cortex-A9,最高 667MHz

PL:Artix-7 / Kintex-7 FPGA 逻辑资源

调试与验证

ILA 逻辑分析

SDK / Vitis 软硬件协同验证

Vivado 工程创建与配置

选择目标器件:New Project → 选择ZYNQ7000系列器件(如xc7z020clg400-2)

配置 PS:添加ZYNQ7 Processing System → 配置时钟、DDR、外设(UART、ETH、USB等)

配置 PL:添加自定义RTL模块或IP核 → 配置PL资源(LUT、FF、BRAM、DSP

连接与验证:Run Connection Automation → Validate Design 检查设计完整性

生成比特流 → Generate Bitstream → 导出硬件(Export Hardware)生成XSA文件)

MPSoC 工程创建

架构特性

四核 Cortex-A53 + 双核 Cortex-R5 + Mali-400 GPU

可编程逻辑部分:基于16nm FinFET工艺的UltraScale+ FPGA架构,提供更高性能与更低功耗

相比 ZYNQ7000 升级点:16nm 工艺、更多核心、更强逻辑资源、更高带宽存储器

Vivado 工程流程

选择 MPSoC 器件:New Project → 选择Zynq UltraScale+ MPSoC器件(如xczu3eg-sfvc784-2-i)

配置 PS:添加Zynq UltraScale+ MPSoC IP → 配置A53/R5核心、时钟、DDR4、外设接口

Block Design 连接 PS 与 PL,配置 AXI 互联

生成比特流(Generate Bitstream)→ 导出 XSA → 硬件验证

关键配置要点

硬件外设与 MIO 正确匹配

DDR4 控制器参数匹配实际硬件

PCIe 配置(如需)

wKgZPGnM0nqABY0GAAAlA2jh7BM392.jpg

芯片介绍

Zynq 平台架构

PS 端:ARM 处理器 + 外设

PL 端:FPGA 可编程逻辑

Zynq 系列对比

Zynq 7000 SoC:Cortex-A9 双核 / 单核

Zynq UltraScale+ MPSoC:Cortex-A53 + Cortex-R5

两者在性能、外设、功耗上存在差异

开发板使用

开发板硬件组成

电源连接与上电准备

串口调试配置

启动模式选择:JTAG、SD 卡、eMMC 等

U-Boot

U-Boot 作用与意义

环境变量管理

MMC 命令操作

常用调试命令

引导内核与设备树

启动流程

BootROM → FSBL → ATF → U-Boot → Linux

各阶段职责与功能

启动配置方法

设备树的作用

系统启动配置示例

更多细节欢迎关注我们黑金云课堂全年免费直播课,我们将在每周二、三、四,同步推进 Verilog开发、Vitis开发、Linux开发 三大系列,带你从零开始,稳扎稳打掌握 FPGA 开发全流程!


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1663

    文章

    22492

    浏览量

    638936
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【有奖问答】疯狂爱答之电路设计-第三期获奖名单公布

    第三期结束,小编上周末去了桂林一趟,桂林山水真的很美,希望疯狂问答也能带给您们美丽和智慧{:4_95:}赶紧加入我们吧!点击查看【有奖问答】疯狂爱答 汇总(4月22日更新)第三期获奖名单公布
    发表于 04-22 11:04

    【有奖问答】疯狂爱答之电源技术—第三期获奖名单公布

    第三期结束,小编上周末去了桂林一趟,桂林山水真的很美,希望疯狂问答也能带给您们美丽和智慧{:4_95:}赶紧加入我们吧!点击查看【有奖问答】疯狂爱答 汇总(4月22日更新)第三期获奖名单公布
    发表于 04-22 11:34

    【有奖问答】疯狂爱答之FPGA—第三期获奖名单公布

    第三期结束,小编上周末去了桂林一趟,桂林山水真的很美,希望疯狂问答也能带给您们美丽和智慧{:4_95:}赶紧加入我们吧!点击查看【有奖问答】疯狂爱答 汇总(4月22日更新)第三期获奖名单公布
    发表于 04-22 13:36

    HarmonyOS特刊——第三期上线啦!!!

    `Hello各位,让大家久等了,好了话不多说,我们直接进入正题。本期迎来了HarmonyOS系列特刊的第三期了,一起来看看本期精彩内容吧!本期为大家带来的是小A同学的开发经验,很适合刚开始研究鸿蒙
    发表于 01-21 14:20

    开关电源免费教程(第三期)开关电源的钳位电路讲解

    本帖最后由 张飞电子学院吕布 于 2021-3-26 15:05 编辑 大家下午好!该系列视频为开关电源免费教程,特邀姜维老师为大家讲解,本期为第三期内容。持续关注,我们会继续更新!大家有关于开关电源以及工作中遇到的关于电源相关的难题,都可以在帖子下面与我们交流讨论。上期回顾:输出二极管选取
    发表于 03-19 14:00

    【视频教程】单片机新手教程(第三期)单片机介绍

    本帖最后由 松山归人 于 2021-3-26 16:02 编辑 大家下午好!今天邀请了张角老师,来为大家深入讲解单片机,视频为一个系列,本次为第三期内容,请持续关注,我会进行更新!上期回顾:单片机新手教程(第二)单片机介绍
    发表于 03-26 15:55

    单片机实战教程(第三期)M1A时钟PCB布局

    本帖最后由 松山归人 于 2021-4-7 14:48 编辑 大家下午好!今天给大家带来单片机实际项目教程,由黄忠老师为大家讲解,本期内容为第三期,M1A开发板PCB布局详细讲解,欢迎大家留言讨论与交流! 上期回顾:(第二)M1A时钟显示原理图设计2
    发表于 04-06 15:31

    硬件实战教程(第三期)常用运放电路原理图讲解3

    本帖最后由 松山归人 于 2021-4-17 09:31 编辑 大家上午好!这是我们硬件实战教程的第三期内容,由鲁肃老师继续为大家带来一个实例项目的讲解。大家关于原理图设计的问题都可以提出来
    发表于 04-09 09:41

    硬件免费教程(第三期)稳压电源LDO详解

    大家下午好!今天给大家带来郭嘉老师的硬件教程,本次视频为第三期,本次视频教程全部免费公开。我们会持续进行更新,有问题可以留言一同交流讨论。上期回顾:硬件免费教程(第二)基本积分运算电路和微分电路及公式推导
    发表于 04-16 14:03

    高一数学知识点总结

    高一数学知识点总结高一数学知识点总结高一数学知识点总结
    发表于 02-23 15:27 0次下载

    高二数学知识点总结

    高二数学知识点总结高二数学知识点总结高二数学知识点总结
    发表于 02-23 15:27 0次下载

    动手玩转Arduino(第三期)

    动手玩转Arduino(第三期),下来看看
    发表于 07-08 15:20 12次下载

    嵌入式知识点总结

    嵌入式知识点总结(arm嵌入式开发led过程)-嵌入式知识点总结                    
    发表于 07-30 14:20 23次下载
    嵌入式<b class='flag-5'>知识点</b><b class='flag-5'>总结</b>

    无线在中国-第三期-PDF

    电子发烧友网站提供《无线在中国-第三期-PDF.pdf》资料免费下载
    发表于 11-17 10:48 0次下载
    无线在中国-<b class='flag-5'>第三期</b>-PDF

    网课回放 I 升级版“一站式” PCB 设计第三期:原理图完整性及可靠性分析

    网课回放 I 升级版“一站式” PCB 设计第三期:原理图完整性及可靠性分析
    的头像 发表于 05-10 11:09 774次阅读
    网课回放 I 升级版“一站式” PCB 设计<b class='flag-5'>第三期</b>:原理图完整性及可靠性分析