91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Xilinx原語IBUFDS、OBUFDS的使用及仿真

C29F_xilinx_inc ? 來源:賽靈思 ? 作者:賽靈思 ? 2022-02-16 16:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、介紹
IBUFDS、和OBUFDS都是差分信號緩沖器,用于不同電平接口之間的緩沖和轉換。IBUFDS 用于差分輸入,OBUFDS用于差分輸出。

2、IBUFDS
2.1、理論
IBUFDS是差分輸入緩沖器,支持低壓差分信號(如LVCMOS、LVDS等)。在IBUFDS中,一個電平接口用兩個獨特的電平接口(I和IB)表示。一個可以認為是主信號,另一個可以認為是從信號。

IBUFDS原語示意圖如下所示:

poYBAGIMo8CAALk3AAEdiqFyBeM912.png

端口說明如下表:

pYYBAGIMo8KABdfrAABz27Hr64s722.jpg

信號真值表如下:

pYYBAGIMo8OAWS7NAAB_UX4wMsI250.jpg

2.2、仿真
打開VIvado--Tools--Language Templates,搜索“IBUFDS”,可以找到Xilinx提供的模板如下:

IBUFDS #(
.DIFF_TERM("FALSE"), // Differential Termination
.IBUF_LOW_PWR("TRUE"), // Low power="TRUE", Highest
.IOSTANDARD("DEFAULT") // Specify the input I/O standard
) IBUFDS_inst (
.O(O), // Buffer output
.I(I), // Diff_p buffer input (connect directly to top-level port)
.IB(IB) // Diff_n buffer input (connect directly to top-level port)
);

DIFF_TERM、IBUF_LOW_PWR分別指定差分終端和性能模式,IOSTANDARD指定你需要輸出的電平標準。

接下來例化一個IBUFDS原語進行測試,Verilog代碼如下:

//------------------------------------------------------------------------
//--IBUFDS測試模塊
//------------------------------------------------------------------------
//----------------------------------------------------
module IBUFDS_test(
input clk , //時鐘,50M
input rst_n , //復位,低電平有效
input data_p , //輸入數(shù)據(jù),差分+
input data_n , //輸入數(shù)據(jù),差分-

output out
);
//----------------------------------------------------
IBUFDS #(
.DIFF_TERM ("FALSE") , // Differential Termination
.IBUF_LOW_PWR ("TRUE") , // Low power="TRUE", Highest
.IOSTANDARD ("DEFAULT") // 選擇I/O電平標準,這里選擇默認
)
IBUFDS_inst (
.O (out) , // 輸出
.I (data_p) , // 差分輸入+(需要直接連接到頂層端口)
.IB (data_n) // 差分輸入-(需要直接連接到頂層端口)
);

endmodule

每隔20ns分別隨機生成2個1位2進制數(shù)據(jù)作為差分輸入,觀察輸出,Testbench如下:

//------------------------------------------------
//--IBUFDS原語仿真
//------------------------------------------------
`timescale 1ns/1ns //時間單位/精度
//----------------------------------------------------
module tb_IBUFDS_test();

reg clk ;
reg rst_n ;
reg data_p ;
reg data_n ;

wire out ;
//----------------------------------------------------
IBUFDS_test IBUFDS_test_inst(
.clk (clk) ,
.rst_n (rst_n) ,
.data_p (data_p) ,
.data_n (data_n) ,

.out (out)
);
//----------------------------------------------------
initial begin
clk = 1'b1; //初始時鐘為1
rst_n data_p data_n #60 //60個時鐘周期后
rst_n end
//----------------------------------------------------------
always #10 clk = ~clk; //系統(tǒng)時鐘周期20ns

always #20 data_p always #20 data_n

endmodule

仿真結果如下:

poYBAGIMo8WAVpdHAABSPSP73JI139.png

每隔20ns,2個差分輸入端口分別隨機生成2個1位2進制數(shù)據(jù);輸出輸入符合上述的真值表。

3、OBUFDS
3.1、理論
OBUFDS 是一個差分輸出緩沖器,用于將來自 FPGA 內部邏輯的信號轉換成差分信號輸出,支持 TMDS、LVDS等電平標準。它的輸出用O和OB兩個獨立接口表示。一個可以認為是主信號,另一個可以認為是從信號。

OBUFDS原語示意圖如下所示:

pYYBAGIMo8eAbDmlAAB2RftdfvY623.png

端口說明如下表:

pYYBAGIMo8iAURjGAABz9h5PcJg152.jpg

信號真值表如下:

poYBAGIMo8qACBjeAABWnDTlHRQ858.jpg

可以看出,輸出+端與輸入一致,輸出-端與輸入相反。

3.2、仿真
打開VIvado--Tools--Language Templates,搜索“OBUFDS”,可以找到Xilinx提供的模板如下:

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

其中IOSTANDARD指定你需要輸出的差分電平標準,SLEW根據(jù)你的要求輸出FAST或者SLOW。

接下來例化一個OBUFDS原語進行測試,Verilog代碼如下:

//------------------------------------------------------------------------
//--OBUFDS測試模塊
//------------------------------------------------------------------------
//----------------------------------------------------
module OBUFDS_test(
input clk , //時鐘,50M
input rst_n , //復位,低電平有效
input data , //輸入數(shù)據(jù)

output out_p , //輸出數(shù)據(jù),差分+
output out_n //輸出數(shù)據(jù),差分-
);
//----------------------------------------------------
OBUFDS #(
.IOSTANDARD ("DEFAULT") , // 選擇I/O電平標準,這里選擇默認
.SLEW ("SLOW") // 選擇輸出速率,這里選擇SLOW
)
OBUFDS_inst (
.O (out_p) , // 差分輸出+(需要直接連接到頂層端口)
.OB (out_n) , // 差分輸出-(需要直接連接到頂層端口)
.I (data) // 輸入
);

endmodule

每隔20ns隨機生成一個1位2進制數(shù)據(jù),觀察差分輸出,Testbench如下:

//------------------------------------------------
//--OBUFDS原語仿真
//------------------------------------------------
`timescale 1ns/1ns //時間單位/精度
//----------------------------------------------------
module tb_OBUFDS_test();
reg clk ;
reg rst_n ;
reg data ;

wire out_p ;
wire out_n ;
//----------------------------------------------------
OBUFDS_test OBUFDS_test_inst(
.clk (clk),
.rst_n (rst_n),
.data (data),

.out_p (out_p),
.out_n (out_n)
);
//----------------------------------------------------
initial begin
clk = 1'b1; //初始時鐘為1
rst_n data #60 //60個時鐘周期后
rst_n end
//----------------------------------------------------------
always #10 clk = ~clk; //系統(tǒng)時鐘周期20ns
always #20 data

endmodule

仿真結果如下:

pYYBAGIMo8yAeXMTAABKljcqjio357.png

每隔20ns,data隨機生成0或者1,out_p與輸入一致,out_n與輸入相反;差分輸出信號符合上述的真值表。

審核編輯:符乾江

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Xilinx
    +關注

    關注

    73

    文章

    2200

    瀏覽量

    131158
  • 仿真
    +關注

    關注

    54

    文章

    4483

    瀏覽量

    138282
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RDMA設計46:RoCE v2原語功能:單邊語義

    本博文主要交流設計思路,在本博客已給出相關博文約170篇,希望對初學者有用。注意這里只是拋磚引玉,切莫認為參考這就可以完成商用IP設計。 續(xù)上,為便于查看,給出表1部分表1 RoCE v2原語功能
    發(fā)表于 03-01 23:14

    Xilinx FPGA中IDELAYCTRL參考時鐘控制模塊的使用

    IDELAYCTRL 是 Xilinx FPGA(特別是支持高速 I/O 的系列,如 Virtex-5/6/7、Kintex-7、Artix-7、Spartan-6/7 等)中用于管理和校準輸入延遲模塊(IDELAYE2/IDELAYE3)的必須存在的參考時鐘控制模塊。
    的頭像 發(fā)表于 02-26 14:41 ?3046次閱讀

    RDMA設計45:RoCE v2 原語功能驗證與分析2

    本博文主要交流設計思路,在本博客已給出相關博文約170篇,希望對初學者有用。注意這里只是拋磚引玉,切莫認為參考這就可以完成商用IP設計。續(xù)上,為便于查看,給出表1部分 表1 RoCE v2原語功能
    發(fā)表于 02-26 07:52

    RDMA設計44:RoCE v2原語功能驗證與分析

    它是RoCE v2協(xié)議進行信息及數(shù)據(jù)交換的核心機制,也是DUT需要實現(xiàn)的核心機制之一,對該功能的仿真驗證需要考慮指令的提交數(shù)據(jù)包的組裝及發(fā)送、數(shù)據(jù)的DMA處理等。
    的頭像 發(fā)表于 02-25 09:26 ?109次閱讀
    RDMA設計44:RoCE v2<b class='flag-5'>原語</b>功能驗證與分析

    探索AMD XILINX Versal Prime Series VMK180評估套件,開啟硬件創(chuàng)新之旅

    探索AMD XILINX Versal Prime Series VMK180評估套件,開啟硬件創(chuàng)新之旅 在電子設計的領域中,快速實現(xiàn)原型設計并確保高性能是每一位工程師的追求。AMD XILINX
    的頭像 發(fā)表于 12-15 14:40 ?528次閱讀

    Xilinx FPGA串行通信協(xié)議介紹

    Xilinx FPGA因其高性能和低延遲,常用于串行通信接口設計。本文深入分析了Aurora、PCI Express和Serial RapidIO這三種在Xilinx系統(tǒng)設計中關鍵的串行通信協(xié)議。介紹了它們的特性、優(yōu)勢和應用場景,以及如何在不同需求下選擇合適的協(xié)議。
    的頭像 發(fā)表于 11-14 15:02 ?2543次閱讀
    <b class='flag-5'>Xilinx</b> FPGA串行通信協(xié)議介紹

    板子的差分時鐘如何正確地轉化為單端

    正確的時序 看起來這兩種方法都是將差分轉為單端,可是實際上是不一樣的,我們進入差分分頻IP核的代碼,可以看到如下內容 IP核用的是IBUFDS原語將差分時鐘信號轉為了單端,所以真正的區(qū)別在于原語的區(qū)別
    發(fā)表于 10-27 07:29

    vivado仿真時GSR信號的影響

    利用vivado進行設計xilinx FPGA時,寫完設計代碼和仿真代碼后,點擊run simulation(啟動modelsim進行仿真)。
    的頭像 發(fā)表于 08-30 14:22 ?1377次閱讀
    vivado<b class='flag-5'>仿真</b>時GSR信號的影響

    詳解ADC電路的靜態(tài)仿真和動態(tài)仿真

    ADC電路主要存在靜態(tài)仿真和動態(tài)仿真兩類仿真,針對兩種不同的仿真,我們存在不同的輸入信號和不同的數(shù)據(jù)采樣,因此靜態(tài)仿真和動態(tài)
    的頭像 發(fā)表于 06-05 10:19 ?1995次閱讀
    詳解ADC電路的靜態(tài)<b class='flag-5'>仿真</b>和動態(tài)<b class='flag-5'>仿真</b>

    基于AD9613與Xilinx MPSoC平臺的高速AD/DA案例分享

    本文主要介紹基于Xilinx UltraScale+MPSoC XCZU7EV的高速AD采集與高速DA輸出案例
    的頭像 發(fā)表于 06-03 14:22 ?908次閱讀
    基于AD9613與<b class='flag-5'>Xilinx</b> MPSoC平臺的高速AD/DA案例分享

    XILINX XCZU67DR FPGA完整原理圖

    電子發(fā)燒友網(wǎng)站提供《XILINX XCZU67DR FPGA完整原理圖.pdf》資料免費下載
    發(fā)表于 05-30 15:29 ?26次下載

    Xilinx Shift RAM IP概述和主要功能

    Xilinx Shift RAM IP 是 AMD Xilinx 提供的一個 LogiCORE IP 核,用于在 FPGA 中實現(xiàn)高效的移位寄存器(Shift Register)。該 IP 核利用
    的頭像 發(fā)表于 05-14 09:36 ?1081次閱讀

    《聊一聊ZXDoc》之CAN總線仿真、面板仿真

    ZXDoc支持CAN總線仿真、面板仿真功能,通過虛擬化通信環(huán)境,提前驗證、優(yōu)化和保障系統(tǒng)可靠性,降低開發(fā)成本與風險,面板仿真還使其畫面實物化,便于操作和理解,仿真功能已成為ECU研發(fā)和
    的頭像 發(fā)表于 05-09 11:30 ?1492次閱讀
    《聊一聊ZXDoc》之CAN總線<b class='flag-5'>仿真</b>、面板<b class='flag-5'>仿真</b>

    ad9467沒有數(shù)據(jù)的輸出是怎么回事?

    ;// 用于時鐘觸發(fā)的寄存器信號 wire adc_dco_ibuf_s;// 時鐘信號 regadc_dco_reg; // IBUFDS: 將差分輸入信號轉換為單端信號 IBUFDS i_dco
    發(fā)表于 04-28 07:52

    ISERDESE2原語端口及參數(shù)介紹

    前面在講解HDMI接口之前,講解過IDDR、ODDR、OSERDESE2、IBUF等原語,之后一直有讀者在問什么時候更新ISERDESE2這個原語。前文講解過這些原語都在HDMI或者RGMII中使用過,但是ISERDESE2這個
    的頭像 發(fā)表于 03-17 10:52 ?2678次閱讀
    ISERDESE2<b class='flag-5'>原語</b>端口及參數(shù)介紹