0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

《Xilinx—UG471中文翻译》(2)ISERDESE2原语介绍

C29F_xilinx_inc 来源:赛灵思 作者:赛灵思 2022-02-16 16:21 次阅读

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
// 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框图

poYBAGIMol2AWhm1AADXzPcxxb8917.png

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

5. ISERDESE2端口信号

pYYBAGIMomCAdhVFAAGCRJlTqIw895.jpg

poYBAGIMomKAexu-AAEeETdd4e0725.png

pYYBAGIMomWAKtTyAALgvQ94L7U014.png

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

5.1时钟接口

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

poYBAGIMomaAYGULAABoNomWq3g988.png

5.2并行数据输出

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

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

poYBAGIMommANAruAAEEAJHXl8I794.png

5.3 数据输出选择

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

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

poYBAGIMomuAMEvvAAC7cZwCg44861.png

5.4级联接口

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

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

poYBAGIMom2AO8HJAAC6ShvqdHc536.png

6.数据对齐操作

SDR Mode:

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

DDR Mode:

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

pYYBAGIMom-AE9dhAAENKABPGM0380.png

注意:

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

审核编辑:符乾江

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6876

    浏览量

    88803
  • Xilinx
    +关注

    关注

    71

    文章

    2163

    浏览量

    120976
收藏 人收藏

    评论

    相关推荐

    ADC3583怎么用XilinxISERDESE2采集信号?

    我看datasheet上3种模式2-wire/1-wire/1/2-wireSLDVS都是9位或者18位的,我用xilinx的fpgaISER
    发表于 11-21 07:12

    UC3843BD1R2G安森美高性能电流模式PWM控制器-uc3843中文资料应用电路

    骊微电子供应UC3843BD1R2G安森美高性能电流模式PWM控制器,提供-uc3843中文资料应用电路参数等,更多产品手册、应用料资请向骊微电子申请。>>
    发表于 10-10 15:11 0次下载

    全极霍尔传感器AH471在电动牙刷起位置检测作用

    全极霍尔传感器AH471在电动牙刷起位置检测作用
    的头像 发表于 09-14 09:58 238次阅读
    全极霍尔传感器AH<b class='flag-5'>471</b>在电动牙刷<b class='flag-5'>中</b>起位置检测作用

    OV6946中文手册

    电子发烧友网站提供《OV6946中文手册.pdf》资料免费下载
    发表于 08-05 17:29 6次下载

    MSP430F471x3,MSP430F471x6, MSP430F471x7混合信号微控制器数据表

    电子发烧友网站提供《MSP430F471x3,MSP430F471x6, MSP430F471x7混合信号微控制器数据表.pdf》资料免费下载
    发表于 08-01 12:49 0次下载
    MSP430F<b class='flag-5'>471</b>x3,MSP430F<b class='flag-5'>471</b>x6, MSP430F<b class='flag-5'>471</b>x7混合信号微控制器数据表

    IPC-6012E CN 2020中文 CN 刚性印制板的鉴定及性能规范

    *附件:IPC-6012E CN 2020中文 CN 刚性印制板的鉴定及性能规范.pdf IPC-6012E CN 2020中文 CN 刚性印制板的鉴定及性能规范
    发表于 07-27 10:16

    FPGA | Xilinx ISE14.7 LVDS应用

    今天给大侠带来 Xilinx ISE14.7 LVDS应用,话不多说,上货。 最近项目需要用到差分信号传输,于是看了一下FPGA上差分信号的使用。Xilinx FPGA,主要通过原语
    发表于 06-13 16:28

    xilinx的carry4原语在高云FPGA中用什么原语替代?

    xilinx的carry4原语在高云FPGA中用什么原语替代
    发表于 05-09 16:13

    Xilinx ISE14.7 LVDS的应用

    最近项目需要用到差分信号传输,于是看了一下FPGA上差分信号的使用。Xilinx FPGA,主要通过原语实现差分信号的收发:OBUFDS(差分输出BUF),IBUFDS(差分输入BUF)。
    的头像 发表于 05-07 17:17 761次阅读
    <b class='flag-5'>Xilinx</b> ISE14.7 LVDS的应用

    W5500V1.3中文数据手册

    电子发烧友网站提供《W5500V1.3中文数据手册.pdf》资料免费下载
    发表于 05-06 15:04 6次下载

    Xilinx SelectIO资源内部的IDELAYE2应用介绍

    本文我们介绍Xilinx SelectIO资源内部IDELAYE2资源应用。IDELAYE2原句配合IDELAYCTRL原句主要用于在信号通过引脚进入芯片内部之前,进行延时调节,一般
    的头像 发表于 04-26 11:33 1820次阅读
    <b class='flag-5'>Xilinx</b> SelectIO资源内部的IDELAYE<b class='flag-5'>2</b>应用<b class='flag-5'>介绍</b>

    STM32H723中文和英文手册TIMx_BDTR寄存器的26到29位不一致是为什么?

    STM32H723中文和英文手册TIMx_BDTR寄存器的26到29位不一致,为什么?
    发表于 03-21 08:19

    AT89S51中文资料介绍

    电子发烧友网站提供《AT89S51中文资料介绍.pdf》资料免费下载
    发表于 02-20 09:24 7次下载

    你知道压敏电阻10D 471K与20D 471K的区别在哪吗?

    你知道压敏电阻10D 471K与20D 471K的区别在哪吗? 压敏电阻是一种特殊的电阻器件,其电阻值会受到外部压力或力的变化而发生变化。在压敏电阻,10D 471K和20D
    的头像 发表于 02-02 10:40 2122次阅读

    如何用RTL原语实现MUX门级映射呢?

    对于前端设计人员,经常会需要一个MUX来对工作模式,数据路径进行明确(explicit)的声明,这个对于后端工程师下约束也很重要。这里介绍一种巧用的RTL原语,实现MUX的方法。
    的头像 发表于 12-14 16:26 1334次阅读
    如何用RTL<b class='flag-5'>原语</b>实现MUX门级映射呢?