一句话或一张图讲清楚系列之——ISERDESE2的原理

主要参考:
https://blog.csdn.net/weixin_50810761/article/details/137383681
xilinx原语详解及仿真——ISERDESE2
作者:电路_fpga

https://blog.csdn.net/weixin_45372778/article/details/122036112
Xilinx ISERDESE2应用笔记及仿真实操
作者:郭郭的柳柳在学FPGA

原理

  • 校准模式
    输入端循环输入8’h5c和8’h82交替的校准序列,接收端比较接收到的并行数据,如果与发送端不一致,则产生1个CLKDIV的BITSLIP信号,使并行数据的顺序滑动一次,等待3个CLKDIV后,比较滑动后的结果是否一致,如果一致则不再产生BITSLIP信号,直到检测到8个连续一致信号,认为字节边界已经对齐,随后进入工作模式。
  • 工作模式
    可以传输字节边界对齐的数据,也可以产生伪随机字节序列检测整个发送和接收通路的正确性。

重要参数

重要参数有两个:DDR、NETWORKING

ISERDESE2 #(
			.DATA_RATE("DDR"),//位时钟的上升沿和下降沿都有效
			.DATA_WIDTH(DESER_FACTOR),
			.INTERFACE_TYPE("NETWORKING"),//可以使用BITSLIP
			.DYN_CLKDIV_INV_EN("FALSE"),
			.DYN_CLK_INV_EN("FALSE"),
			.NUM_CE(2),
			.OFB_USED("FALSE"),
			.IOBDELAY("NONE"),
			.SERDES_MODE("MASTER"))

重要端口

在这里插入图片描述

在这里插入图片描述

时钟方案

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

bit顺序

在这里插入图片描述
发送方:

.D1         ( din[0]        ),
.D2         ( din[1]        ),
.D3         ( din[2]        ),
.D4         ( din[3]        ),
.D5         ( din[4]        ),
.D6         ( din[5]        ),
.D7         ( din[6]        ),
.D8         ( din[7]        ),

接收方(高低位颠倒):

.Q1         ( q[7]          ),
.Q2         ( q[6]          ),
.Q3         ( q[5]          ),
.Q4         ( q[4]          ),
.Q5         ( q[3]          ),
.Q6         ( q[2]          ),
.Q7         ( q[1]          ),
.Q8         ( q[0]          ),

滑动

在这里插入图片描述
SDR模式下:每次的BITSLIP操作,会使输出左移1位;当8次操作后,恢复到最初状态;
DDR模式下:每次的BITSLIP操作,会使输出交替进行右移1位和左移3位操作,当8次操作后,恢复到最初状态;

移位延时

BitSlip与CLKDIV同步,移位脉冲BITSLIP在CLKDIV上升沿有效后,3个CLKDIV完成移位。
在这里插入图片描述

BITSLIP的作用

修改串转并的起始位置
BITSLIP前:
在这里插入图片描述

BITSLIP后:
丢弃1bit
在这里插入图片描述

串并转换延时

2个CLKDIV
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/566114.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙OpenHarmony【小型系统编写“Hello World”程序】 (基于Hi3516开发板)

编写“Hello World”程序 下方将展示如何在单板上运行第一个应用程序,其中包括新建应用程序、编译、烧写、运行等步骤,最终输出“Hello World!”。 前提条件 已参考[创建工程并获取源码],创建Hi3516开发板的源码工程。 鸿蒙开发…

【Python-装饰器】

Python-装饰器 ■ 简介■ 装饰器的一般写法(闭包写法)■ 装饰器的语法 (outer写法) ■ 简介 装饰器其实是一种闭包, 功能就是在不破坏目标函数原有的代码和功能的前提下为目标函数增加新功能。 ■ 装饰器的一般写法(闭包写法&am…

服务器数据恢复—StorNext文件系统下raid5阵列数据恢复案例

服务器数据恢复环境: 昆腾某型号存储,8个存放数据的存储柜1个存放元数据的存储柜。 元数据存储:8组RAID1阵列1组RAID10阵列4个全局热备硬盘。 数据存储:32组RAID5阵列,划分2个存储系统。 服务器故障: 数据…

鸿蒙开发模拟器的坑, No Devices

问题 我已经安装了模拟器,并且模拟器已经运行了 在Device Manager页面开启模拟器 No Devices 但是这里没有模拟器的选项 解决 添加环境变量 下面步骤 1、清除用户数据 2、 关闭Device Manager 3、 关闭ide 重启ide、开启模拟器 看到有模拟器的选项了

SLICEM是如何将查找表配置为分布式RAM/移位寄存器的

1.首先说SliceM和SliceL如何配置为ROM的 一个SLICE包含4个六输入查找表,因此每个查找表就能存储64bit的数据,要实现128bit的ROM,只需要通过两个LUT就可实现,具体如下表: 2.如何配置成为分布式RAM SLICEM中的LUT如下图&#xff…

iOS - Runloop在实际开发中的应用

文章目录 iOS - Runloop在实际开发中的应用1. 控制线程生命周期(线程保活)2. 解决NSTimer在滑动时停止工作的问题2.1. 案例2.2 解决 3. 监控应用卡顿4. 性能优化 iOS - Runloop在实际开发中的应用 1. 控制线程生命周期(线程保活)…

夜神、雷电、android studio手机模拟器资源占用情况

夜神、雷电、android studio手机模拟器内存资源占用情况 由于开发电脑只有16G内存,出于开发需要和本身硬件资源的限制,对多个手机模拟器进行了机器资源占用(主要是内存)的简单比较。 比较的模拟器包括: 1. Android S…

[Linux][多线程][二][线程互斥][互斥量][可重入VS线程安全][常见锁概念]

目录 1.线程互斥1.互斥相关背景概念2.多个线程并发的操作共享变量,会带来一些问题3.互斥量mutex 2.互斥量的接口1.初始化互斥量2.销毁互斥量3.加锁4.解锁5.使用 -- 改善上面代码 3.互斥量实现原理探究1.加锁是如何保证原子性的?2.如何保证锁是原子性的&a…

交通工程绪论

一、交通工程 交通工程学定义交通工程学研究的内容交通工程学的产生与发展交通工程学在道路运输管理中的作用 1. 交通工程学定义 早在20世纪30年代,美国交通工程师协会(American Institute of Traffic Engineers)给交通工程学(Traffic Engineering)下了一个定义&a…

Java中使用Graphics2D绘制字符串文本自动换行 算法

效果: 代码: /*** return void* Author xia* Description //TODO 写字换行算法* Date 18:08 2021/4/1* Param []**/private static void drawWordAndLineFeed(Graphics2D g2d, Font font, String words, int wordsX, int wordsY, int wordsWidth) {FontD…

Java微服务架构之Spring Boot —上篇

SpringBoot 概述 SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度…

CentOS 7虚拟机配置过程中所需组件的安装(二)

1.安装net-tools组件(解决无 ifconfig) # yum install net-tools 2.安装gcc、c编译器以及内核文件 # yum -y install gcc gcc-c kernel-devel 验证安装成功 3.安装nano(文本编辑器) # yum install nano

stm32——GPIO学习

对于许多刚入门stm32的同学们来说,GPIO是我们的第一课,初出茅庐的我们会对GPIO的配置感到疑惑不解,也是劝退我们的第一课,今天我们就来一起学习一下stm32的GPIO,提振一下信心。好的,发车了小卷卷们&#xf…

Redis入门到通关之Redis数据结构-ZSet篇

文章目录 ZSet也就是SortedSet,其中每一个元素都需要指定一个 score 值和 member 值: 可以根据score值排序后member必须唯一可以根据member查询分数 因此,zset底层数据结构必须满足键值存储、键必须唯一、可排序这几个需求。之前学习的哪种编…

vscode ssh远程连接服务器,一直正在下载vscode服务器的解决办法

前言 为方便描述,在本教程中,发起远程连接的叫“主机”,被远程连接的叫“服务器”。 正文 如果主机是首次用vscode远程连接服务器,会在服务器上自动下载vscode服务器,但有时候因为网络问题,会卡在&#xff…

OpenCV轻松入门(九)——使用第三方库imgaug自定义数据增强器

安装命令:pip install imgaug 代码实现: import cv2 import random import matplotlib.pyplot as pltfrom imgaug import augmenters as iaa # 数据增强——缩放效果 def zoom_img(img):# 获取一个1-1.3倍的线性图像处理器,scale参数是缩放范…

物联网配网工具多元化助力腾飞——智能连接,畅享未来

随着物联网技术的迅猛发展,智能插座、蓝牙网关作为其中常见的智能物联设备,无论是功能还是外观都有很大的改进,在智能化越来越普遍的情况下,它们的应用场景也在不断拓宽。对于智能设备而言,配网方式的选择对于设备的成…

无人驾驶 自动驾驶汽车 环境感知 精准定位 决策与规划 控制与执行 高精地图与车联网V2X 深度神经网络学习 深度强化学习 Apollo

无人驾驶 百度apollo课程 1-5 百度apollo课程 6-8 七月在线 无人驾驶系列知识入门到提高 当今,自动驾驶技术已经成为整个汽车产业的最新发展方向。应用自动驾驶技术可以全面提升汽车驾驶的安全性、舒适性,满足更高层次的市场需求等。自动驾驶技术得益于人工智能技术的应用…

Arthas下载安装及使用介绍

目录 一、简介1.1 什么是 Arthas?1.2 Arthas 可以做些什么? 二、下载安装、卸载2.1 安装方式一:在线安装2.2 安装方式二:离线安装2.3 卸载 三、常见操作3.1 dashbord 信息面板3.2 thread 线程信息3.3 jad 反编译 class 文件3.4 wa…

keil把c语言函数转成汇编

汇编可以让开发人员从根源上理解程序的运行逻辑,本文介绍如何在keil环境下如何把一个c文件中的某一个函数,转换为汇编函数,并编译运行。 右击某个c文件,选择Option for File。。。 图1 然后把下图中的Generate Assembler SRC Fi…