目录

1.前言

2.ISERDESE2原语介绍

3.原语例化

4.ISERDESE2框图

5. ISERDESE2端口信号

5.1时钟接口

5.2并行数据输出

5.3 数据输出选择

5.4级联接口

6.数据对齐操作


1.前言

本文仅对UG471 第3章《Advanced SelectIO Logic Resources》部分进行翻译和学习解读。

其他部分,后续补充。

水平所限,有不足之处,欢迎拍砖。

2.ISERDESE2原语介绍

SERDESE2是专用的串并转换器,它在完成串并转换时并不会带来多余的时序上的问题,从而很适合应用到高速源同步应用中。比如摄像头数据。

  • 专用解串器/串并转换器

它可以完成高速数据传输同时不需要FPGA端匹配数据频率,这个转换器支持SDR(single data rate)和DDR(double data rate)。SDR模式支持2-,3-,4-,5-,6-,7-,8bit位宽;DDR模式支持4-,6-,8-bit位宽。10或14-bit需要两个级联。

  • Bitslip 子模块

该子模块可以使设计者重新排列输入的并行数据。可用于源同步tranining。

  • 对strobe-based 类型存储接口的专用支持
  • 对networking接口的专用支持
  • 对DDR3接口的专用支持
  • 对QDR接口的专用支持
  • 对异步接口的专用支持

3.原语例化

ISERDESE2 #(.DATA_RATE("DDR"),           // DDR, SDR.DATA_WIDTH(4),              // Parallel data width (2-8,10,14).DYN_CLKDIV_INV_EN("FALSE"), // Enable DYNCLKDIVINVSEL inversion (FALSE, TRUE).DYN_CLK_INV_EN("FALSE"),    // Enable DYNCLKINVSEL inversion (FALSE, TRUE)// INIT_Q1 - INIT_Q4: Initial value on the Q outputs (0/1).INIT_Q1(1'b0),.INIT_Q2(1'b0),.INIT_Q3(1'b0),.INIT_Q4(1'b0),.INTERFACE_TYPE("MEMORY"),   // MEMORY, MEMORY_DDR3, MEMORY_QDR, NETWORKING, OVERSAMPLE.IOBDELAY("NONE"),           // NONE, BOTH, IBUF, IFD.NUM_CE(2),                  // Number of clock enables (1,2).OFB_USED("FALSE"),          // Select OFB path (FALSE, TRUE).SERDES_MODE("MASTER"),      // MASTER, SLAVE// SRVAL_Q1 - SRVAL_Q4: Q output values when SR is used (0/1).SRVAL_Q1(1'b0),.SRVAL_Q2(1'b0),.SRVAL_Q3(1'b0),.SRVAL_Q4(1'b0))ISERDESE2_inst (.O(O),                       // 1-bit output: Combinatorial output// Q1 - Q8: 1-bit (each) output: Registered data outputs.Q1(Q1),.Q2(Q2),.Q3(Q3),.Q4(Q4),.Q5(Q5),.Q6(Q6),.Q7(Q7),.Q8(Q8),// SHIFTOUT1, SHIFTOUT2: 1-bit (each) output: Data width expansion output ports.SHIFTOUT1(SHIFTOUT1),.SHIFTOUT2(SHIFTOUT2),.BITSLIP(BITSLIP),           // 1-bit input: The BITSLIP pin performs a Bitslip // CE1, CE2: 1-bit (each) input: Data register clock enable inputs.CE1(CE1),.CE2(CE2),.CLKDIVP(CLKDIVP),           // 1-bit input: TBD// Clocks: 1-bit (each) input: ISERDESE2 clock input ports.CLK(CLK),                   // 1-bit input: High-speed clock.CLKB(CLKB),                 // 1-bit input: High-speed secondary clock.CLKDIV(CLKDIV),             // 1-bit input: Divided clock.OCLK(OCLK),                 // 1-bit input: High speed output clock used when INTERFACE_TYPE="MEMORY" // Dynamic Clock Inversions: 1-bit (each) input: Dynamic clock inversion pins to switch clock polarity.DYNCLKDIVSEL(DYNCLKDIVSEL), // 1-bit input: Dynamic CLKDIV inversion.DYNCLKSEL(DYNCLKSEL),       // 1-bit input: Dynamic CLK/CLKB inversion// Input Data: 1-bit (each) input: ISERDESE2 data input ports.D(D),                       // 1-bit input: Data input.DDLY(DDLY),                 // 1-bit input: Serial data from IDELAYE2.OFB(OFB),                   // 1-bit input: Data feedback from OSERDESE2.OCLKB(OCLKB),               // 1-bit input: High speed negative edge output clock.RST(RST),                   // 1-bit input: Active high asynchronous reset// SHIFTIN1, SHIFTIN2: 1-bit (each) input: Data width expansion input ports.SHIFTIN1(SHIFTIN1),.SHIFTIN2(SHIFTIN2));

4.ISERDESE2框图

  • 串行输入: 即串行数据输入(D: 与IOB相连, DDLY来源于IDELAYE2原语的输出)
  • 时钟接口:包含高速时钟CLK ,分频时钟CLKDIV等;
  • 数据对齐模块:Bitslip,用于源同步,重新排列输入的并行数据;
  • 组合输出O:O输出不寄存,根据参数配置输出D / DDLY;
  • 级联接口:1个ISERDESE2最大位宽为8位,想要实现10-,14bit的数据,就需要级联两个ISERDESE2;
  • 并行数据输出:Q1-Q8

5. ISERDESE2端口信号

端口名称

I/O

位宽

描述

Q1-Q8

O

1(each)

并行数据输出;注意输出顺序与输入顺序相反;后文细讲

O

O

1

组合输出,后文细讲

SHIFTOUT1

O

1

扩展位宽,级联接口

SHIFTOUT2

O

1

扩展位宽,级联接口

D

I

1

IOB串行数据输入

DDLY

I

1

来自IDELAYE2的串行数据输入

CLK

I

1

高速时钟输入

CLKB

I

1

只用于“MEMORY_QDR”模式,其余模式CLKB=~CLK

CE1,CE2

I

1

时钟使能输入,根据参数NUM_CE确定

RST

I

1

复位,高有效

CLKDIV

I

1

低速时钟,用于数据对齐等模块

CLKDIVP

I

1

只用于“MEMORY_DDR3”模式,其余模式接地

OCLK

I

1

用于时钟域转换,与CLK资源共享,“NETWORKING”模式不使用

OCLKB

I

1

与OSERDESE2的CLKB资源共享

BITSLIP

I

1

用于数据对齐操作,后文重点讲解

SHIFTIN1

I

1

扩展位宽,级联接口

SHIFTIN2

I

1

扩展位宽,级联接口

OFB

I

1

OLOGICE2输出的的反馈输入

DYNCLKDIVSEL

I

1

动态时钟输入选择,一般不用

DYNCLKSEL

I

1

动态时钟输入选择,一般不用

重点关注标黄的信号

有些地方可能翻译的不是很准确,附上手册原文。

5.1时钟接口

提供ISERDESE2工作的高速源同步串行时钟,并行数据获取时钟和控制时钟。

5.2并行数据输出

输入输出的顺序相反,具体见下图:

当输入D1为A,输出Q8为A

5.3 数据输出选择

根据IOBDELAY参数设置的不同,组合输出O与寄存输出Q1-Q8的输出选择:

D  、 DDLY 的意思前文已讲过,不再重复。

5.4级联接口

该接口用于实现DDR模式下,位宽扩展为10bit,14bit;

通过级联接口与另外一个ISERDESE2相接;

6.数据对齐操作

SDR Mode:

输出每次左移1位;当8次操作后,恢复到最初状态;

DDR Mode:

输出交替进行右移1位和左移3位操作,当8次操作后,恢复到最初状态;

注意:

  1. 同步于CLKDIV时钟,本小节所说的时钟周期特指CLKDIV时钟周期
  2. 在“NETWORKING”模式下使用
  3. 类似于一个桶式移位”Barrel_Shifter
  4. bitslip只能拉高1个clkdiv时钟周期
  5. bitslip两次拉高之间必须间隔至少一个时钟周期;
  6. 用户逻辑需等待最少2个clkdiv时钟周期(SDR模式)/3个时钟周期(DDR)后,数据移位才能完成。

-----------------------------2021-10-26晚10:00. 洗洗睡了,未完待续

《Xilinx - UG471中文翻译》(2)ISERDESE2原语介绍相关推荐

  1. 《Xilinx - UG471中文翻译》(3)OSERDESE2原语介绍

    FPGA大部分拿来做接口,不就是靠的SelectIO么~ 目录 一.前言 二.输出(并-转-串)逻辑资源 2.1数据(并-转-串)转换器 2.2 3-State Parallel-to-Serial ...

  2. 《Xilinx - UG471中文翻译》(汇总篇)

    看到英文手册,内心是虚的,但是真正看进去的时候,发现都是"纸老虎" 目录 前言 一.<Xilinx - UG471中文翻译>(1)IDELAYE2原语介绍 二.< ...

  3. 《Xilinx - UG471中文翻译》(1)IDELAYE2原语介绍

    目录 一.7 系列FPGAs SelectIO 资源 二.selectIO的逻辑资源 2.1 ILOGIC 2.2 IDELAY 2.3 IDELAYCTRL 2.4 ODELAY 2.5 OLOGI ...

  4. 什么意思中文翻译_os常见意思介绍

    os是一个英文的缩写在不同环境状态下表达的意思不一样的,比如在计算机中就是操作系统的意思,在聊天情景的时候就是内心独白的意思,下面来看看详细的os是什么意思介绍吧. os是什么意思 一.计算机中的解释 ...

  5. LAN8742 教程(1) 数据手册 中文翻译

    LAN8742 教程(1) 数据手册 中文翻译 LAN8742 教程(1) LAN8742 教程(1) 数据手册 中文翻译 文章目录 LAN8742 教程(1) 数据手册 中文翻译 前言 1.0 介绍 ...

  6. Notepad++的第三方插件介绍中文翻译

    最近发现Markdown编辑器Typora的内测免费版也过期不能使用了,不过这个问题最后通过下载更早的版本解决了. 但是也因此,我彻底了解了一下各大编辑器对Markdown支持的情况,其中了解了一下N ...

  7. 【转】关于HTTP中文翻译的讨论

    http://www.ituring.com.cn/article/1817 讨论参与者共16位: 图灵谢工 杨博 陈睿杰 贾洪峰 李锟 丁雪丰 郭义 梁涛 吴玺喆 邓聪 胡金埔 臧秀涛 张伸 图钉派 ...

  8. MapReduce:Simplified Data Processing on Large Clusters(中文翻译2)

    [注:本人菜鸟一枚,喜欢Hadoop方向的大数据处理,现在正在研读Google影响世界的三篇论文,遂一边阅读一边翻译,错误在所难免,希望大家给予批评,我会增加学习的动力] 1 Introduction ...

  9. 论文中文翻译——Double-Fetch情况如何演变为Double-Fetch漏洞:Linux内核中的双重获取研究

    本论文相关内容 论文下载地址--Web Of Science 论文中文翻译--How Double-Fetch Situations turn into Double-Fetch Vulnerabil ...

最新文章

  1. network setup service启动后自动停止_一个简单的测试环境下的自动化部署方案
  2. 八.使用OpenCv图像平滑操作
  3. Java异常知识整理_处理异常时的性能开销
  4. 为什么剩余数不能相加_为什么各位之和是 3 的倍数的数能被 3 整除?
  5. vue lang_推荐一个基于Vue 的 H5 快速开发模板
  6. 克隆手游是如何“杀”死独立游戏开发的?
  7. jQuery Mobile 所有class选项,开发全解+完美注释
  8. ubuntu 上搭建lanp环境
  9. 《Dive Into Deeping Learing》学习笔记:深度学习基础
  10. 在windows系统调试ydlidar详细记录(物联网机器人方向)
  11. Pandas数据分析
  12. CleanMyMac X2023最新版安装图文详解
  13. 感动!有人将吴恩达的视频课程做成了文字版
  14. 【181018】纯C 编写的太空大战打字游戏
  15. 对话周傲英:数据库人的切肤之痛
  16. 决策树sklearn实现泰坦尼克号幸存者的预测 及决策树优缺点、参数、属性、接口总结
  17. k8s添加pod,k8常用命令,k8s删除pod
  18. iOS AVplayer 基本使用方法
  19. 建国集团与黄江二手车签订战略合作协议
  20. 快速批量修改文件名,微软官方软件PowerRename

热门文章

  1. 微信小程序入门(保姆级)
  2. contentType与dataType
  3. C语言实现单链表逆置算法
  4. Latex--矩阵中省略号
  5. win10登录失败未授予用户在此计算机上,登录失败:未授予用户在此计算机上的请求登录类型。无法访问...
  6. 孩子学习台灯有必要买贵的吗?2023护眼台灯推荐
  7. 云南tc焊接机器人价格_青海全自动焊接机器人批发价格优惠报价 国巨智能科技厂家直销...
  8. mysql 整型默认值,MySQL表字段设立默认值
  9. 《循序渐进学docker》书摘
  10. 国产蓝牙耳机有什么品牌好用?元旦值得入手高性价比蓝牙耳机推荐