
FPGA开发入门
文章平均质量分 93
此专栏主要用于记录我的FPGA学习笔记
lf282481431
这个作者很懒,什么都没留下…
展开
-
19 MDIO 接口读写以太网PHY寄存器
以太网(Ethernet)是应用最普遍的局域网技术。IEEE组织的 IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网凭借其成本低、通信速率高、抗干扰性强等优点被广泛应用在网络远程监控、交换机、工业自动化等对通信速率要求较高的场合。原创 2024-09-16 15:17:04 · 2477 阅读 · 0 评论 -
18 EEPROM读写
EEPROM (Electrically Erasable Progammable Read Only Memory,E2PROM)即电可擦除可编程只读存储器,是一种常用的非易失性存储器(掉电数据不丢失),EEPROM 有多种类型的产品,此次实验使用的是ATMEL 公司生产的 AT24C 系列的 AT24C64 这一型号。AT24C64 具有高可靠性,可对所存数据保存 100 年,并可多次擦写,擦写次数达一百万次。原创 2024-06-02 18:56:03 · 1357 阅读 · 0 评论 -
17 SPI FLASH读写
SPI 协议简介SPI 即 Serial Periphera linterface 的缩写,顾名思义就是串行外围设备接口,主要用于与FLASH、实时时钟、AD 转换器等外设模块的通信,它是一种高速的全双工同步的通信总线。SPI 设备分为主设备和从设备,SPI 通信必须由主设备发起,主设备通过片选引脚(CSn)来选择对应的从设备,通过时钟引脚(SCK)向从设备提供时钟,通过数据输出引脚(MOSI)引脚向从设备发送数据,通过数据输入引脚(MISO)引脚来读取从设备返回的数据,如下是 SPI 的总线拓扑图(分原创 2024-05-12 22:14:06 · 1333 阅读 · 0 评论 -
16 RGB-LCD 彩条显示
TFT-LCD 的全称是 Thin Film Transistor-Liquid Crystal Display,即薄膜晶体管液晶显示屏,它显示的每个像素点都是由集成在液晶后面的薄膜晶体管独立驱动,因此 TFT-LCD 具有较高的响应速度以及较好的图像质量。液晶显示器是现在最常用的显示器,如手机、电脑等各种人机交互设备基本都用到了 LCD。原创 2024-04-03 23:13:43 · 1844 阅读 · 0 评论 -
15 UART回环
常用的通信方式可分为为串行通信(serial communication)和并行通信(parallel communication)两种。并行通信是多比特数据同时通过并行线进行传送(一般以字或字节为单位并行进行传输),这种传输方式用的线多、成本高、速率高、要考虑时延匹配,不宜进行长距离通信,因此并行通信一般用于板载外设的通信。串行通信是数据在一条线上一比特接一比特地按顺序进行传送,这种传输方式线少、成本低、速率低,事宜用于长距离通信,因此串行通信常用于不同设备之间的通信。原创 2024-03-24 20:59:28 · 1253 阅读 · 0 评论 -
14 FIFO IP核
FIFO(First In First Out,即先入先出)是一种数据缓存器,用来实现数据先入先出的读写方式。FIFO由 RAM 加读写控制逻辑构成,其与普通 RAM 的区别在于 FIFO 没有外部读写地址线,使用起来非常简单,但 FIFO 只能顺序写入数据,并按顺序读出数据,其数据地址由内部读写指针自动加 1 完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。根据 FIFO 工作的时钟域,可以将 FIFO 分为同步 FIFO 和异步 FIFO。原创 2024-03-10 12:53:25 · 2508 阅读 · 0 评论 -
12 单口RAM IP核
RAM 是随机存取存储器(Random Access Memory)的简称,它是一种易失性存储器,RAM 工作时可以随时从任意一个合法地址写入或读取数据。Vivado 软件自带的 Block Memory Generator IP 核(缩写为 BMG,中文名为块 RAM 生成器),可以用来配置单口RAM、伪双口RAM、真双口RAM、ROM( ROM 是一种只读存储器,也就是说,在工作时只能读出数据,而不能写入数据)。对于单端口 RAM,读写操作共用一组地址端口和数据端口,因此读写操作不能同时进行;对于伪双原创 2024-02-29 21:43:55 · 1478 阅读 · 0 评论 -
11 PLL IP核
锁相环(PLL)作为一种反馈控制电路,其特点是利用外部输入的参考信号来控制环路内部震荡信号的频率和相位。因为锁相环可以实现输出信号频率对输入信号频率的自动跟踪,所以锁相环通常用于闭环跟踪电路。锁相环在工作的过程中,当输出信号的频率与输入信号的频率相等时,输出电压与输入电压保持固定的相位差值,即输出电压与输入电压的相位被锁住,这就是锁相环名称的由来。锁相环拥有强大的性能,可以对输入到 FPGA 的时钟信号进行任意分频、倍频、相位调整、占空比调整,从而输出一个期望时钟;原创 2024-02-27 21:42:37 · 1666 阅读 · 0 评论 -
10 在线逻辑分析仪的使用
传统的 FPGA 板级调试是将逻辑分析仪连接到 FPGA 的 IO 引脚上 ,然后将内部信号引出至 IO 引脚,再进行板级调试,这种方法的缺点是我们需要一个逻辑分析仪,且还要在 PCB 中预留测试点。原创 2024-02-25 19:05:52 · 2373 阅读 · 0 评论 -
09 呼吸灯
呼吸灯实际展示的效果就是一个 LED 灯的亮度由亮到暗,再由暗到亮的变化过程,并且该过程是循环往复的,像呼吸一样那么有节奏。呼吸灯通常是采用 PWM(Pulse Width Modulation,即脉冲宽度调制) 的方式实现,在 PWM 频率固定的情况下,通过调整其占空比来控制 LED 灯亮度的变化。在固定周期的 PWM 信号下,如果其占空比为 0,则 LED 灯不亮;如果其占空比为100%,则 LED 灯最亮。原创 2024-02-25 10:54:09 · 2005 阅读 · 0 评论 -
08 按键消抖
蜂鸣器按照结构原理不同可分为压电式蜂鸣器和电磁式蜂鸣器。压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成;电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。压电式蜂鸣器是利用压电效应原理工作的,当对其施加交变电压时它会产生机械振动发声;电磁式蜂鸣器是接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。蜂鸣器按照驱动方式不同又可分为有源蜂鸣器和无源蜂鸣器,其主要区别为蜂鸣器内部是否含有震荡源。原创 2024-02-21 20:33:35 · 1374 阅读 · 0 评论 -
07 按键控制 LED
按键开关是一种电子开关,属于电子元器件类。常见的按键开关有两种,第一种是轻触式按键开关(简称轻触开关),使用时以向开关的操作方向施加压力使内部电路闭合接通,当撤销压力时开关断开,其内部结构是靠金属弹片受力后发生形变来实现通断的;第二种是自锁按键,自锁按键第一次按下后保持接通,即自锁,第二次按下后,开关断开,同时开关按钮弹出来。原创 2024-02-18 17:11:45 · 2225 阅读 · 0 评论 -
06 分频器设计
实现分频一般有两种方法,一种方法是直接使用 PLL 进行分频,比如在 FPGA 或者 ASIC 设计中,都可以直接使用 PLL 进行分频。但是这种分频有时候受限于 PLL 本身的特性,无法得到频率很低的时钟信号,比如输入 100Mhz 时钟,很多PLL 都无法得到 1Mhz 以下的时钟信号。另外一种方法是直接使用 Verilog 代码来实现分频。原创 2024-02-18 12:11:52 · 1685 阅读 · 0 评论 -
05 状态机
Verilog 是硬件描述语言,它所生成的电路都是并行执行的,当需要按照流程或者步骤来完成某个功能时,可以使用多个 if 嵌套语句来实现,但是这样就增加了代码的复杂度,使得代码可读性差、维护困难,此时若通过状态机来控制程序流程即可解决这个问题。状态机相当于一个控制器,它将一项复杂流程的流程分解为若干步,每步对应于一个状态,通过预先设计的规则在各状态之间进行跳转,从而控制程序执行流程的目的。原创 2024-02-02 19:49:31 · 1390 阅读 · 0 评论 -
04 避免 Latch 的产生
latch 即锁存器,是一种对电平敏感的存储单元电路,和寄存器一样都是基本存储单元,但是寄存器是边沿触发的存储器,锁存器是电平触发的存储器。原创 2024-01-31 21:13:29 · 930 阅读 · 0 评论 -
03 Verilog HDL 语法
Verilog HDL(Hardware Description Language)是在 C 语言的基础上发展起来的一种硬件描述语言(用它可以表示逻辑电路图、逻辑表达式、数字逻辑系统所完成的逻辑功能等)具有灵活性高、易学易用等特点。Verilog HDL 可以在较短的时间内学习和掌握,目前已经在 FPGA 开发/IC 设计领域占据绝对的领导地位。原创 2024-01-29 21:30:32 · 3452 阅读 · 0 评论 -
02体验FPGA开发流程
发光二极管的原理图如下所示,发光二极管LED0阴极连到 S8050(NPN三极管)的集电极上,阳极通过电阻与 3.3V 电压相连,三极管的基极与 FPGA 的V9脚相连。可以通过改变三极管的状态来控制 LED 的亮灭,当 FPGA 输出到为高电平时,三极管导通,LED 灯亮,当 FPGA 输出到为低电平时,三极管截止,LED 灯灭。原创 2024-01-23 21:00:14 · 1320 阅读 · 0 评论 -
1 FPGA开发环境安装
Vivado 设计套件是 FPGA 厂商赛灵思(Xilinx)公司于 2012 年发布的全新集成开发环境,以提升生产力、缩短产品上市时间、实现可编程系统集成等为目的而设计的软件,是设计开发赛灵思(Xilinx)FPGA必不可少的软件根据,Modelsim 是 Mentor 公司设计的业界最优秀的语言仿真工具,它支持 VHDL 与 Verilog 混合仿真,具有编译仿真速度快、编译的代码与平台无关等特性。原创 2024-01-21 15:39:14 · 1816 阅读 · 0 评论