Lattice FPGA 7:1 LVDS 接口
包括多个数据位和时钟的源同步接口已经成为电子系统中移动图像数据的常用方法。一个通用的标准是7:1 LVDS接口(用于通道连接,扁平电缆连接和摄像机连接),这已成为许多电子产品,包括消费电子设备、工业控制、医疗,汽车远程信息处理中的通用标准。如Sony的ECX337 OLED采用的就是7:1 LVDS的接口。7:1 LVDS信号示意图如下:
发表于 2018/7/3 15:59:37
阅读(6035)
PCIe扫盲——Lattice ECP3/ECP5 SerDes简介
FPGA发展到今天,SerDes (Serializer - Deserializer) 基本上是标配了。从PCI到PCI Express,从ATA到SATA,从并行ADC接口到JESD204,从RIO到Serial RIO,……等等,都是...
发表于 2018/6/3 19:02:41
阅读(13806)
FPGA定点小数计算(四)——平方根倒数
0 引言在图像处理及3D图形编程时,经常要求解特征向量的长度或者将向量归一化,其中尤为关键的运算便是平方根倒数运算。而开平方根运算与倒数运算都是很复杂的过程,如果将平方根倒数运算分为这两个步骤则需要更多的时间开销和空间开销。而采用常规的浮点...
发表于 2018/5/13 14:46:08
阅读(5581)
FPGA定点小数计算(三)——定点与浮点的转换
0 引言前面的文章中介绍了定点小数的基本格式,乘法和除法运算等。我们知道,定点小数具有消耗资源少,运算速度快等优势;同时也有动态范围小,容易数值溢出等缺陷。虽然定点小数可以满足一些场合下的运算需求,但是对于雷达成像,医学成像,高精度数据采集...
发表于 2018/5/13 14:44:22
阅读(5926)
FPGA定点小数计算(二)——除法运算
0 引言在四则运算中,除法最为复杂,在时间上和空间上的开销都比较大。因此很多算法都极力避免进行除法运算,或者采用其他的方案来代替除法运算。但是,除法运算作为基本的四则运算之一,在很多情况下依旧是不可避免的。近年来,陆续出现了很多种除法实现算...
发表于 2018/5/13 14:39:07
阅读(9870)
PCIe扫盲——物理层电气部分基础(二)之De-emphasis
这一篇文章中,我们主要来聊一聊PCIe中的信号补偿技术(Signal Compensation)——De-emphasis。需要注意的是,Gen1&Gen2与Gen3的De-emphasis实现机制差别较大,而本文只介绍Gen1&Gen2相...
发表于 2018/4/23 20:01:37
阅读(18472)
PCIe扫盲——物理层电气部分基础(一)
之所以把物理层电气部分的文章放在链路初始化与训练文章的后面,是因为这一部分涉及到一些相关的概念,如Beacon Signal、LTSSM等等。前面已经多次提及,由于本次连载的文章主要是基于Gen2的,所以关于Gen3的相关内容只会提及,但是...
发表于 2018/4/23 19:59:42
阅读(14387)
PCIe扫盲——链路初始化与训练基础(三)之LTSSM
这一篇文章来简单地介绍一下链路训练状态机(Link Training and Status State Machine,LTSSM),并简要地介绍各个状态的作用和实现机制。
发表于 2018/4/21 16:14:51
阅读(28342)
PCIe扫盲——链路初始化与训练基础(二)
前面的文章中提到过,Ordered Sets分别有以下几种:TS1 and TS2 Ordered Set (TS1OS/TS2OS)、Electrical Idle Ordered Set (EIOS)、FTS Ordered Set (...
发表于 2018/4/21 15:37:06
阅读(17743)
PCIe扫盲——链路初始化与训练基础(一)
PCIe总线中的链路初始化与训练(Link Initialization & Training)是一种完全由硬件实现的功能,处于PCIe体系结构中的物理层。整个过程由链路训练状态机(Link Training and Status State Machine,LTSSM)自动完成,也就说基本没有数据链路层和事务层啥事。
发表于 2018/4/21 12:50:59
阅读(25293)
PCIe扫盲系列博文连载目录篇(第三阶段)
本文为PCIe扫盲系列博文连载目录篇(第三阶段),主要内容包括TLP Header详解、Flow Control(流量控制)基础、Quality of Service简介、数据链路层包(DLLP)、Ack/Nak 机制详解和物理层逻辑子层基础等。
发表于 2018/4/18 8:59:39
阅读(86368)
PCIe扫盲——物理层逻辑部分基础(三)
PCIe扫盲——物理层逻辑部分基础(三)这一篇文章来继续聊一聊接收端物理层逻辑子层的实现细节。回顾一下之前的那张图片:其中的一个Lane的具体逻辑如下图所示:其中,Rx Clock Recovery从输入的串行数据流中提取出Rx Clock...
发表于 2018/4/17 20:53:40
阅读(12629)
PCIe扫盲——物理层逻辑部分基础(二)
上一篇文章中提到了Mux会对来自数据链路层的数据(TLP&DLLP)插入一些控制字符,如下图所示。当然,这些控制字符只用于物理层之间的传输,接收端的设备的物理层接收到这些数据后,会将这些控制字符去除,在往上传到其数据链路层。当然,除了STP...
发表于 2018/4/17 20:51:44
阅读(22176)
PCIe扫盲——物理层逻辑部分基础(一)
首先,回顾一下,之前看了很多遍的PCIe的Layer结构图:PCIe中的物理层主要完成编解码(8b/10b for Gen1&Gen2,128b/130b for Gen3 and later)、扰码与解扰码、串并转换、差分发送与接收、链路...
发表于 2018/4/17 20:48:51
阅读(17493)
PCIe扫盲——Ack/Nak 机制详解(二)
这一篇文章来简单地分析几个Ack/Nak机制的例子。Example 1. Example of AckStep1 设备A准备依次向设备B发送5个TLP,其对应的序列号分别为3,4,5,6,7;Step2 设备B成功的接收到了TL...
发表于 2018/4/17 20:45:29
阅读(10760)