首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

xilinx原语使用文献(3)(转)

xilinx原语使用文献(3)(转)

IDELAY
               用户IO管脚的输入通路都有一个IDELAY模块,可用于数据信号或时钟信号,使二者同步,实现准确采集输入数据.IDELAY具有可控的64抽头延迟线,每个抽头的延迟都是经过精密校准的78ps(这个不同的芯片应该不同),且与进程,电压和温度特性无关.可弥补PCB的布线长度不一致带来的延时不同的问题.
               信号说明:

        I:单比特输入信号,来自于IOB 的串行输入数据;

        C:单比特输入信号,时钟输入信号;

        INC:单比特输入信号,用于增加或减少延迟抽头数;

        CE:单比特输入信号,使能延迟抽头数增加或减少的功能;

        RST:单比特输入信号,复位延迟链的延迟抽头数,如果没有编程输入则为0;

        O:单比特输出信号。
        Eg.  IDELAY#(
                             .IOBDELAY_TYPE(“DEFAULT”),
                             .IOBDELAY_VALUE(0)   //输入延迟周期,可设置0—63
                             ) IDELAY_inst(
                                                  .O(data_o),
                                                  .C(c),
                                                  .CE(ce),
                                                  .I(data_i),
                                                  .INC(inc),
                                                  .RST(rst)
                                                  );
        OBUFDS
               将标准单端信号转换成差分信号,输出端口需要直接对应到顶层模块的输出信号.与IBUFDS为一对互逆操作.

       

        Eg.  OBUFDS #(

        .IOSTANDARD("DEFAULT")

        // 指名输出端口的电平标准

        ) OBUFDS_inst (

        .O(O), // 差分正端输出,直接连接到顶层模块端口

        .OB(OB), // 差分负端输出,直接连接到顶层模块端口

        .I(I) // 缓冲器输入

        );

        IOBUF
               单端双向缓冲器,其IO接口必须和指定的电平标准相对应,支持LVTTL,LVCOMS12, LVCMOS18, LVCMOS25以及33等信号标准.同时还可通过DRIVE, FAST以及SLOW等约束来满足不同驱动和抖动速率的需求.默认的驱动能力是12mA,低抖动. IOBUF由IBUF和OBUFT两个基本组件构成,当IO端口为高阻时,其输出口O为不定态.

       

               Eg.  // Xilinx HDL 库向导版本,ISE 9.1

        IOBUF #(

        .DRIVE(12),

        // 指定输出驱动的强度

        .IOSTANDARD("DEFAULT"),

        // 指定I/O 电平的标准,不同的芯片支持的接口电平可能会有所不同

        .SLEW("SLOW")

        // 制定输出抖动速率

        ) IOBUF_inst (

        .O(O), // 缓冲器的单元输出

        .IO(IO), // 缓冲器的双向输出

        .I(I), // 缓冲器的输人

        .T(T) // 3 态使能输入信号

        );


        PULLDOWN / PULLUP
               IO口内部上位或下位.上位是为了解决总线驱动能力不足时提供电流的,下拉电阻是用来吸引电流的.
               Eg.  PULLDOWN pulldown_inst( .O(data_o) );
                      PULLUP              pullup_inst( .O(data_o) );
继承事业,薪火相传
返回列表