芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 1481|回复: 0

FPGA差分转单端,单端转差分 IBUFDS OBUFDS BUFG

[复制链接]
  • TA的每日心情
    慵懒
    2021-2-24 10:16
  • 428

    主题

    811

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    16107
    QQ
    发表于 2024-3-5 15:14:18 | 显示全部楼层 |阅读模式
    IBUFDS #(
          .DIFF_TERM("FALSE"),       // Differential Termination
          .IBUF_LOW_PWR("TRUE"),     // Low power="TRUE", Highest performance="FALSE"
          .IOSTANDARD("DEFAULT")     // Specify the input I/O standard
       ) IBUFDS_inst (
          .O(data_clk_tmp),  // Buffer output
          .I(data_clk_p),  // Diff_p buffer input (connect directly to top-level port)
          .IB(data_clk_n) // Diff_n buffer input (connect directly to top-level port)
       );

    将需要转换的data_clk P端和N端接入IBUFDS的I和IB端口,就可以在O端口得到转换的单端信号。

    除了CLK时钟信号,其他信号的输入转换基本结束了;

    而CLK时钟信号还需要接入BUFG,因为CLK时钟只有接入BUFG才能接入全局时钟网络。

    BUFG BUFG_i0 (
          .O(data_clk),                 // 1-bit output: Clock output, 36MHz.
          .I(data_clk_tmp)                          // 1-bit input: Clock input, 36MHz.
        );

    一个输入一个输出

    用一个OBUFDS原语实现单端转差分,在Language Template中找到原语,修改后如下:

    OBUFDS #(
          .IOSTANDARD("LVDS18"), // Specify the output I/O standard
          .SLEW("SLOW")           // Specify the output slew rate
       ) OBUFDS_inst (
          .O(tx_frame_p),     // Diff_p output (connect directly to top-level port)
          .OB(tx_frame_n),   // Diff_n output (connect directly to top-level port)
          .I(tx_frame)      // Buffer input
       );

    设置好相应的参数之后,将单端信号接入OBUFDS的I端口,O端口输出差分信号的P端,OB端口输出差分信号的N端。



    在设置输入输出端口的“IOSTANDARD”中,遇到了些许问题,这里写出来记录一下,也让后面遇到这个问题的人有个参考;最初设置差分信号的“IOSTANDARD”时,我想当然的使用了“LVDS”,“LVDS18”等参数,但是这些参数都不能最终生成比特流;

    在查了一些资料以及Vivado本身的I/O Port界面里参数后发现,差分信号的IOSTANDARD需要这样设置:

    set_property IOSTANDARD DIFF_HSTL_II_18 [get_ports tx_frame_p]


    因为我的IO电压是1.8V,所以最终使用了“DIFF_HSTL_II_18”,如果有更好的方案,可以一起探讨探讨。



    总结:

    输入信号需要用到IBUFDS实现差分转单端,输入时钟还需要加BUFG
    输出信号使用OBUFDS实现单端转差分
    差分信号只需要绑P端管脚,“IOSTANDARD”设置需要注意
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-11-21 17:09 , Processed in 0.109852 second(s), 32 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

    快速回复 返回顶部 返回列表