自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 FPGA结构分析——IDELAY2,网口储备点3

FPGA结构,IODELAY

2022-09-05 23:30:28 2951

原创 FPGA结构分析——ODDR,网口储备点2

FPGA结构分析,ODDR

2022-08-31 15:35:39 4175

原创 FPGA结构分析——IDDR,网口储备点1

IDDR、网口

2022-08-30 18:45:58 3980 1

原创 SDRAM操作说明——打开DDR3的大门

SDRAM(synchronous dynamic random access memory),同步动态随机存储器,所谓同步就是指需要时钟信号来控制命令数据,动态是指存储阵列需要不断地刷新来保证数据不会丢失,随机是指存取数据可以根据需要在不同地址上进行,不需要像FIFO一样只能线性存储。操作芯片选型;Winbond的W9825G6KH。一、SDRAM操作流程1.芯片初始化,SDRAM上电之后需要一段初始化的过程,以保证芯片按照需要进行正常工作,初始化过程如下:上电200us稳定期,所有Bank预充

2022-04-04 19:03:07 2976 1

原创 SRAM器件详细操作分析——打开新世界大门

前言:这是第一篇介绍外置存储器的博文,当然也从较为简单的 SRAM 开始,了解存储器如何使用操作后,能够触及FPGA的功能和算法格局一下就打开了,我愿将这篇博文称之为打开新世界大门的钥匙。本篇使用 ISSI 公司的 SRAM作为说明,型号为IS64WV51232BLL一、器件功能描述一个存储芯片必然包括两种端口:地址端口和数据端口,一个告诉存在哪里(A0-A18),一个告诉存在那里的是什么(DQx),此外还会添加一些控制端口,用来控制什么时候往存储器里写(/WE、/BWx),什么时候从存储器里读(

2021-12-26 23:11:06 3044

原创 FPGA状态机——如何使用SPI配置多组静态数据和动态数据

在使用一些芯片或其他器件的时候需要对其内部的寄存器进行配置,或使用SPI或使用I2C,SPI、I2C的底层IP可以通用,关键如何在顶层对IP进行控制,从而对器件的寄存器进行配置。一、流程总体框架二、配置静态数据器件的某些寄存器从上电工作一开始就确定下来,后期不需要改写三、配置动态数据器件的另外一些寄存器后期需要实际的需要进行改写,从而满足某种性能要求...

2021-12-22 00:38:14 749 1

原创 什么?你竟然对FPGA做这种事 —— FPGA如何处理复杂函数

记得刚上高中那会,数学课本的前几章说的就是函数,函数的本质是什么?函数的本质是映射,即定义域和值域之间的对应关系,X和Y之间的对应关系……对于FPGA来说,相对简单的加减乘除在特定系列的FPGA中可以直接使用“+”、“-”、“*”、“/”这些符号进行计算,如果遇到复杂一点的函数,FPGA中这些基本的运算满足不了,比如Y=ln(x),该怎么办?函数的关系既然是映射,如果先通过其他的工具将定义域和值域的数据先列出来,比如EXCEL表,只要确定定义域中的某个值,就一定能找到对应的函数值。定义域和值域的关系怎

2021-09-30 23:23:23 810

原创 最强 OSERDES IP核使用详解;FPGA 结构分析 —— IO 并串转换资源 OSERDES

先抛出几个问题:1.什么是 OSERDES? OSERDES 的作用是什么?使用场景?2.OSERDES 结构是什么样?都有哪些端口?端口属性都是什么?3.OSERDES 参数属性说明?4.OSERDES 位扩展如何使用?5.OSERDES 时序是什么样,延迟 latency,3-state 控制 ?6.时序仿真怎么做?先上仿真结果图,后面会贴上代码理解上面几个问题,也就清楚 OSERDES 如何使用了,接下来会按照上面问题的顺序对 OSERDES 进行说明。注意本次使用的是OSERDES

2021-09-29 22:54:51 3799

原创 解决Chipscope,ERROR:No server found at:localhost,Win10,JTAG

一、问题:在Win10系统上,用 ISE 将 bit文件 烧写到 FPGA 上,可以烧写进去,但打开Chipscope后发现报如下错误:ERROR:No server found at:localhost……二、处理方法:1.打开Win10设置界面2.选择“语言”3.下拉选择“管理语言设置”4.点击更改系统区域设置5.选择“英语(美国)”6.完成,重新烧录bit后即可正常使用Chipscope。...

2021-06-22 00:59:59 1869

原创 FPGA 设计算法篇 —— 格雷码编解码原理及实现

前言:在这篇文章中FPGA 设计时序篇 —— 跨时钟域问题及解决方法提到格雷码在跨时钟域的应用,本篇作为对该篇文章的补充,详细介绍格雷码的编解码原理及语法实现。一、格雷码简介格雷码,即 Gray code。由于自然二进制码在相邻数据之间可能存在多个bit的变化,比如8和7对应的4bit二进制码分别为:1000,0111,当寄存器的输出在这两个数据简跳转的时候,寄存器的每一位都会发生变化,从而造成不稳定态。为了解决上面的问题,出现了格雷码编码规则。在格雷码中,所有相邻两数据的二进制表示中只有一位不同。下

2021-04-05 11:57:14 3591

原创 FPGA 数据存储篇 —— 单口RAM 的使用说明

一、单口RAM 的基本概念1.RAM 不是 HDL语法所支持的基本描述元素,因为HDL所支持的基本描述元素是寄存器(DFF)和线网(Wire)类型。当使用RAM功能时,要么通过现成的IP核生成,要么通过HDL语法生成。2.单口RAM,即仅有一套操作接口的RAM,这一套接口包括:一个数据写入总线、一个数据读出总线、一个地址总线和一些控制使能端口。由于单口RAM 仅有一个地址总线,数据读入的写入和读出都要使用这个地址总线,所以读写操作可能存在冲突。3.根据单口RAM 读写操作冲突时的仲裁机制(写信号使能与

2021-03-28 21:27:28 4524

原创 FPGA 设计时序篇 —— 跨时钟域问题及解决方法

一、什么是跨时钟域问题为什么要跨时钟域?就是因为一个时钟域要采集另一个时钟域传输的数据。举个例子:FPGA外部信号 A 在时钟 CLK1 的节奏下反复旋转跳跃,FPGA需要采集外部信号A,但FPGA采集用的时钟CLK2很可能与CLK1的频率、相位都不同,这种情况下肯定会遇到采样到不稳定态的问题。二、解决跨时钟域问题的原理思路很简单,躲过不稳定态即可。三、解决跨时钟域的方法1.两级采样法2.握手法3.异步FIFO4.异步RAM法5.格雷码法...

2021-03-11 23:13:04 2659 1

原创 FPGA 结构分析 —— IO 资源(一)

FPGA IO资源的基本单元架构如下图所示:一个 IO tile 包含两个 IOBs、两个 ILOGICs 和 两个 OLOGICs。本篇

2021-02-19 23:32:09 4715 2

原创 单 EEPROM 与 FPGA 间I2C通信的 Verilog 实现思想(授人与渔)

前言:关于 I2C 通信协议时序详细介绍在我的这篇文章“基于 AT24C02 2-Wire serial EEPROM 的 I2C 协议说明”,可以简单回顾一下再来看这篇文章,尤其是 时序 这块。一、FPGA 与 EEPROM 的通信链路。二、时序I2C通信的两个端口 SCL 和 SDA,要做就是如何对这两个端口进行操作。EEPROM 的 串行时钟 SCL 端由 FPGA 生成,所以必须生成;SDA 上的所有数据通信都是基于 SCL,所以必须控制好在 SCL 的相应相位上对 SDA 进行相应操作

2020-09-14 23:48:45 682

原创 LVDS 显示屏的两种接口标准:VESA 和 JEIDA;单/双路 LVDS 信号

一、什么是LVDS?LVDS,Low Voltage Differential Signaling,低压差分信号,传输速率可达几百Mbps(下文会用到)。二、LVDS 两种接口标准比较这两种接口标准的区别在于:每对低压差分信号上传输的 R、G、B 三色的位数和 HS 、VS、DE 位置不同。1. 8bit 液晶屏需要 4 对差分对传输 R、G、B 三色和 HS 、VS、DE控制信号(1)对应到 VESA 接口标准0+/-:R0,R1,R2,R3,R4,R5,G01+/-:G1,G2,G3

2020-09-08 00:25:46 9233 2

原创 Verilog Tips 1:TestBench编写注意事项【concurrent assignment to a non-net ‘xxxx‘ is not permitted】解决

一个案例:待测试模块输入输出为:TestBench测试文件为:一仿真,报错 concurrent assignment to a non-net ‘xxxx’ is not permitted原因分析:对于待测试模块的输出 “dout_7888”,在编写测试文件的时候,不能将与之交联的“dout_7888”定义为 reg 型,须改为 wire 型。对于模块中的输出来说即,不能以 TestBench中的 reg 型赋值给被测模块作为输出的 wire 型;同,不能以 TestBench中的

2020-08-29 01:09:11 23925

原创 基于 AT24C02 2-Wire serial EEPROM 的 I2C 协议说明

一、I2C总线通信协议1.线路I2C通信结构中的两个线路:时钟线 SCL数据线 SDA2.协议内容数据传送过程中,在时钟线SCL为高电平时间段内,要想成功传输数据,数据线 SDA 必须为固定状态(要么高要么低),不允许有跳变。时钟线 SCL 为高电平时间段内,数据线 SDA 的任何电平变化将将引起总线的数据传输为的启动或停止。(1)启动条件时钟线 SCL 保持高电平期间,数据线 SDA 电平从高变低,即为启动。(2)停止条件时钟线 SCL 保持高电平期间,数据线 SDA 电平从低变高,

2020-08-24 00:00:20 900

原创 [附代码]多输入AD模数转换,数据接受模块 Verilog 实现 (授人与渔)

要素察觉:本文基于 AD7888 八输入通道 模数转换芯片,对转换后的数据在FPGA中进接受,所使用的 HDL 为 Verilog。所有实现步骤依据 AD7888 DataSheet 中给出的相关数据和时序图,对原理和对应Verilog实现进行系统、完整说明。一、为什么需要模数转换在许多电路系统中会对一些变量进行收集,从而实现对相应电路模块的控制。这些变量无论是光照强度,还是温度和湿度,都通过一定的传感器电路变成电压这个模拟量。通过对电压模拟量的采集和AD转换,达到芯片进行读取和控制的目的。二

2020-08-23 23:25:19 6644 34

原创 最强 Verilog 中 IP核 调用实现及思想

写在前面:无论是在 ISE 还是 Vivado 中,关于 IP核 的调用都是非常方便的,所以对于初学者来说最关键的不是在 IP Catalog 中设置相关的 IP核 参数,而是在生成相关的 IP核 后该怎么做,也即如何让这些 IP核 为项目工程服务。接下来,以 MMCM / PLL IP 核作为实例,在 Vivado 中演示该 IP 核的实现及进一步操作,包括测试仿真文件TestBench的实现思想。本文的关键在于下文实验步骤的第二项 -->"怎么使用这个生成的用户IP"实验任务时钟输入为50

2020-08-03 00:43:25 12568 3

原创 Verilog:状态机、Mealy/Moore状态机、三段式状态机

1.定义状态机,全称是有限状态机(Finite Stata Machine,FSM),是一种在有限个状态之间按一定要求和规律转换的时序电路。状态机通过控制各个状态的跳转来控制流程。在Verilog中编写相关代码时,类似在学习C语言用到的case语句。2 Moore、Mealy状态机。根据状态机的输出是否与输入条件相关分为两类:Moore状态机、Mealy状态机。Moore 状态机:组合逻辑的输出只取决于当前状态。Mealy 状态机:组合逻辑的输出不仅取决于当前状态,还取决于输入状态。3.三段式

2020-07-31 02:27:37 1260

原创 Verilog测试(仿真)文件TestBench如何编写

一、哪些步骤需要进行仿真下图是FPGA开发的整个流程,先看一下仿真都出现在哪里。流程图中绿色的步骤是要进行测试仿真的,即有三个步骤是要进行仿真操作的(有时会省略“综合后仿真”这一步)1.RTL仿真也称为综合前仿真、前仿真和功能仿真。这一步只验证在顶层模块和功能子模块的设计输入完成后,其电路的逻辑功能是否符合设计要求,不考虑门延时和线延时。2.综合后仿真综合后仿真加入了门延时。3.时许仿真也称为后仿真,在门延时的基础上又加入了线延时。二、如何编写仿真测试文件下面以功能仿真为例子,说明测试

2020-07-27 01:24:35 70778 8

原创 最强深入浅出上拉、OC门、OD门 —— 电子电路基础2

写在前面:对于本科阶段数电课程课时比较少的学校,这一块老师很可能就跳过了,对于这一块的知识来源,清华大学阎石的数电课本在第三章CMOS门电路和TTL门电路。先看一些电路;(1)为什么时候单片机不直接加电阻等负载器件,来使这些器件工作,非要上拉。单片机的输出引脚不是可以是高电平吗,不就能驱动负载了吗?(2)有些运放为什么怎么也是上面这样?我们先理一下思路:要想知道上拉,就得知道OC门和OD门;要想知道OC门和OD门,就得知道TTL电路和CMOS电路。讲完TTL电路中的OC门和上拉,CMOS电路中

2020-07-23 03:14:09 5361 1

原创 深入浅出场效应管(MOS管)—— 电子电路基础1

写在前面:由于本科阶段,课程老师对于场效应管的讲解是一笔带过,所以对于场效应管的认识非常模糊。最近工作接触MOS管的相关电路比较多,抽了一些时间对场效应管做了学习理解,希望对有需求的小伙伴有所帮助。基础准备:1.什么是N型、P型半导体中多子和少子?2.PN结及其单向导电性。场效应管分为:1.绝缘栅型场效应管(IGFET),又称MOS管;2.结型场效应管(JFET)。当了解完MOS管,结型场效应管自然就理解了。一、原理说明(以N型增强型MOS管主要对象) ...

2020-07-21 22:37:53 1496

翻译 最强Verilog例化说明

Verilog例化说明1.什么是模块例化?为什么要例化?模块例化可以理解成模块调用。对于一个FPGA工程,通常是由一个顶层模块与多个功能子模块组成,为了实现顶层模块与子模块的连接,需要进行模块间的例化(或说是例化)。在一个FPGA项目工程中,其输入、输出端口命名通常在设计前期就已确定下来,但会存在一些中间变量,一个工程可能会让不同的工程师在不同的时间段内共同完成,不同的人对于这些变量的命名会有所不同,故例化很有必要。2.实例说明例化方法实例:静态数码管显示根据功能将 FPGA 顶层例化了以下两个功

2020-07-18 01:32:46 65284 21

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除