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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Xilinx KU系列三速以太網(wǎng)IP核RGMII時(shí)序約束方法

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-07-07 14:15 ? 次閱讀

1. 概述

基于RGMII時(shí)序廣泛應(yīng)用于以太網(wǎng)通信中,基于Xilinx的三速以太網(wǎng)時(shí)序分析,不同的Xilinx系列方法不一樣。當(dāng)使用2路以上以太網(wǎng)通信,KU系列FPGA的MAC核需要進(jìn)行修改,以支持2路以太網(wǎng)和滿足時(shí)序要求。以下筆者對(duì)修改的部分進(jìn)行說明,希望對(duì)廣大開發(fā)者有所幫助,如果有不對(duì)的地方歡迎指針。

2. 代碼修改

主要針對(duì)以上三個(gè)文件修改,詳細(xì)的可以打開我們的配套工程閱讀代碼,下圖是第一個(gè)以太網(wǎng)的三個(gè)文件

1678153197181531.png

tri_mode_ethernet_mac_1_rgmii_v2_0_if.v文件關(guān)鍵部分修改如下:

發(fā)送部分odelay3的代碼修改,原來默認(rèn)的代碼對(duì)于rgmii_tx發(fā)送時(shí)序調(diào)整是通過級(jí)聯(lián)一個(gè)idelay3模塊來實(shí)現(xiàn),這里注釋掉級(jí)聯(lián)的idelay3模塊,默認(rèn)為" TIME"模式最大是1ns延遲調(diào)整,修改odelay3模塊的delay模式為"COUNT模式",這樣每調(diào)整1個(gè)tap代表了0.005ns,最大可以調(diào)整512個(gè)tap,這樣我們可以實(shí)現(xiàn)最大2ns以上的延遲調(diào)整

//InstantiatetheOutputDelayprimitive(delayoutputby2ns).Inorderto
//achieve2ns,anODELAYiscascadedwithanIDELAYfromthebitslice
//immediatelybelowit.
ODELAYE3#(

.DELAY_VALUE(300),
.DELAY_FORMAT("COUNT"),//UnitsoftheDELAY_VALUE(COUNT,TIME)

.DELAY_TYPE("FIXED"),
//.CASCADE("MASTER"),
.REFCLK_FREQUENCY(333.333),
.SIM_DEVICE("ULTRASCALE")

)
delay_rgmii_tx_clk(
.ODATAIN(rgmii_txc_odelay),
.DATAOUT(rgmii_txc_obuf),
.CLK(1'b0),
.CE(1'b0),
.INC(1'b0),
.CNTVALUEIN(9'h0),
.CNTVALUEOUT(),
.LOAD(1'b0),
.RST(1'b0),
.CASC_IN(1'b0),
.CASC_RETURN(1'b0),
.CASC_OUT(),
.EN_VTC(1'b1)
);
/*
IDELAYE3#(
.DELAY_VALUE(320),
.DELAY_TYPE("FIXED"),
.CASCADE("SLAVE_END"),
.REFCLK_FREQUENCY(333.333),
.SIM_DEVICE("ULTRASCALE_PLUS")

)
delay_rgmii_tx_clk_casc(
.IDATAIN(1'b0),
.DATAOUT(delay_rgmii_tx_clk_casc_return),
.DATAIN(1'b0),
.CLK(1'b0),
.CE(1'b0),
.INC(1'b0),
.CNTVALUEIN(9'h0),
.CNTVALUEOUT(),
.LOAD(1'b0),
.RST(1'b0),
.CASC_IN(delay_rgmii_tx_clk_casc_out),
.CASC_RETURN(1'b0),
.CASC_OUT(),
.EN_VTC(1'b1)
);
*/

//---------------------------------------------------------------------------
//RGMIITransmitterLogic:
//driveTXsignalsthroughIOBsontoRGMIIinterface
//---------------------------------------------------------------------------

//Encodergmiictlsignal
assignrgmii_tx_ctl_int=tx_en_from_mac^tx_er_from_mac;

//InstantiateDoubleDataRateOutputcomponents.Then
//putdataandcontrolsignalsthroughODELAYcomponentsto
//providesimiliarnetdelaystothoseseenontheclksignal.

assigngmii_txd_falling=txd_from_mac[7:4];

genvari;
generatefor(i=0;i<4;?i=i+1)
?????begin?:?txdata_out_bus
???????ODDRE1?#(
?????????
??????????.SRVAL?????????(1'b0)
???????)
???????rgmii_txd_out?(
??????????.Q?????????????(rgmii_txd_odelay[i]),
??????????.C?????????????(tx_clk),
??????????.D1????????????(txd_from_mac[i]),
??????????.D2????????????(gmii_txd_falling[i]),
??????????.SR????????????(tx_reset)
???????);
?
??????ODELAYE3?#(
??????????.DELAY_VALUE??????(0),
??????????.DELAY_TYPE???????("FIXED"),
??????????.REFCLK_FREQUENCY?(333.333),
??????.SIM_DEVICE???????("ULTRASCALE")
???????
???????)
???????delay_rgmii_txd?(
??????????.ODATAIN???????(rgmii_txd_odelay[i]),
??????????.DATAOUT???????(rgmii_txd_obuf[i]),
??????????.CLK???????????(1'b0),
??????????.CE????????????(1'b0),
??????????.INC???????????(1'b0),
??????????.CNTVALUEIN????(9'h0),
??????????.CNTVALUEOUT???(),
??????????.LOAD??????????(1'b0),
??????????.RST???????????(1'b0),
??????????.CASC_IN???????(1'b0),
??????????.CASC_RETURN???(1'b0),
??????????.CASC_OUT??????(),
??????????.EN_VTC????????(1'b1)
???????);
?
?????end
???endgenerate

同理,接收部分idelay3的代碼修改,原來默認(rèn)為" TIME"模式最大是1ns延遲調(diào)整,修改idelay3模塊的delay模式為"COUNT模式",這樣每調(diào)整1個(gè)tap代表了0.005ns,最大可以調(diào)整512個(gè)tap,這樣我們可以實(shí)現(xiàn)最大2ns以上的延遲調(diào)整

IDELAYE3 #(
   .DELAY_FORMAT   ("COUNT"),   // Units of the DELAY_VALUE (COUNT, TIME)
   .DELAY_TYPE    ("FIXED"),
   .REFCLK_FREQUENCY (333.333),
   .DELAY_VALUE   (330),      // Input delay value setting
   .SIM_DEVICE  ("ULTRASCALE")

  )
  delay_rgmii_rx_ctl (
   .IDATAIN    (rgmii_rx_ctl_ibuf),
   .DATAOUT    (rgmii_rx_ctl_delay),
   .DATAIN    (1'b0),
   .CLK      (1'b0),
   .CE      (1'b0),
   .INC      (1'b0),
   .CNTVALUEIN  (9'h0),
   .CNTVALUEOUT  (),
   .LOAD     (1'b0),
   .RST      (1'b0),
   .CASC_IN    (1'b0),
   .CASC_RETURN  (1'b0),
   .CASC_OUT   (),
   .EN_VTC    (1'b1)
   );


  genvar j;
  generate for (j=0; j<4; j=j+1)
 ? ? begin : rxdata_bus



 ? ? ? IDELAYE3 #(
 ? ? ? .DELAY_FORMAT ? ? ("COUNT"), ? ? // Units of the DELAY_VALUE (COUNT, TIME) ? ? ? ?
 ? ? ? ? ?.DELAY_TYPE ? ? ? ("FIXED"),
 ? ? ? ? ?.REFCLK_FREQUENCY (333.333),
 ? ? ? ? ?.DELAY_VALUE ? ? ?(330), ? ? ? ? ? // Input delay value setting
 ? ? ? ? ?.SIM_DEVICE ? ?("ULTRASCALE")

 ? ? ? )
 ? ? ? delay_rgmii_rxd (
 ? ? ? ? ?.IDATAIN ? ? ? (rgmii_rxd_ibuf[j]),
 ? ? ? ? ?.DATAOUT ? ? ? (rgmii_rxd_delay[j]),
 ? ? ? ? ?.DATAIN ? ? ? ?(1'b0),
 ? ? ? ? ?.CLK ? ? ? ? ? (1'b0),
 ? ? ? ? ?.CE ? ? ? ? ? ?(1'b0),
 ? ? ? ? ?.INC ? ? ? ? ? (1'b0),
 ? ? ? ? ?.CNTVALUEIN ? ?(9'h0),
 ? ? ? ? ?.CNTVALUEOUT ? (),
 ? ? ? ? ?.LOAD ? ? ? ? ?(1'b0),
 ? ? ? ? ?.RST ? ? ? ? ? (1'b0),
 ? ? ? ? ?.CASC_IN ? ? ? (1'b0),
 ? ? ? ? ?.CASC_RETURN ? (1'b0),
 ? ? ? ? ?.CASC_OUT ? ? ?(),
 ? ? ? ? ?.EN_VTC ? ? ? ?(1'b1)
 ? ? ? );
 ? ? end
 ? endgenerate

下圖是第二個(gè)以太網(wǎng)的三個(gè)文件,由于需要貢獻(xiàn)一部分FPGA的delay_ctr資源,他們的代碼稍微有點(diǎn)差異。

1678153223309296.png

修改方法和第一個(gè)以太網(wǎng)修改方法一樣

ODELAYE3 #(

   .DELAY_VALUE   (300),
   .DELAY_FORMAT   ("COUNT"),   // Units of the DELAY_VALUE (COUNT, TIME) 

   .DELAY_TYPE    ("FIXED"),
   //.CASCADE     ("MASTER"),
   .REFCLK_FREQUENCY (333.333),
   .SIM_DEVICE    ("ULTRASCALE")

  )
  delay_rgmii_tx_clk (
   .ODATAIN     (rgmii_txc_odelay),
   .DATAOUT     (rgmii_txc_obuf),
   .CLK       (1'b0),
   .CE        (1'b0),
   .INC       (1'b0),
   .CNTVALUEIN    (9'h0),
   .CNTVALUEOUT   (),
   .LOAD       (1'b0),
   .RST       (1'b0),
   .CASC_IN     (1'b0),
   .CASC_RETURN   (1'b0),
   .CASC_OUT     (),
   .EN_VTC      (1'b1)
  );
/*
IDELAYE3 #(
   .DELAY_VALUE   (320),
   .DELAY_TYPE    ("FIXED"),
   .CASCADE     ("SLAVE_END"),
   .REFCLK_FREQUENCY (333.333),
   .SIM_DEVICE    ("ULTRASCALE_PLUS")

 )
 delay_rgmii_tx_clk_casc (
   .IDATAIN     (1'b0),
   .DATAOUT     (delay_rgmii_tx_clk_casc_return),
   .DATAIN      (1'b0),
   .CLK       (1'b0),
   .CE        (1'b0),
   .INC       (1'b0),
   .CNTVALUEIN    (9'h0),
   .CNTVALUEOUT   (),
   .LOAD       (1'b0),
   .RST       (1'b0),
   .CASC_IN     (delay_rgmii_tx_clk_casc_out),
   .CASC_RETURN   (1'b0),
   .CASC_OUT     (),
   .EN_VTC      (1'b1)
 );
*/


  //---------------------------------------------------------------------------
  // RGMII Transmitter Logic :
  // drive TX signals through IOBs onto RGMII interface
  //---------------------------------------------------------------------------

  // Encode rgmii ctl signal
  assign rgmii_tx_ctl_int = tx_en_from_mac ^ tx_er_from_mac;

  // Instantiate Double Data Rate Output components. Then
  // put data and control signals through ODELAY components to
  // provide similiar net delays to those seen on the clk signal.

  assign gmii_txd_falling = txd_from_mac[7:4];

  genvar i;
  generate for (i=0; i<4; i=i+1)
 ? ? begin : txdata_out_bus
 ? ? ? ODDRE1 #(

 ? ? ? ? ?.SRVAL ? ? ? ? (1'b0)
 ? ? ? )
 ? ? ? rgmii_txd_out (
 ? ? ? ? ?.Q ? ? ? ? ? ? (rgmii_txd_odelay),
 ? ? ? ? ?.C ? ? ? ? ? ? (tx_clk),
 ? ? ? ? ?.D1 ? ? ? ? ? ?(txd_from_mac),
 ? ? ? ? ?.D2 ? ? ? ? ? ?(gmii_txd_falling),
 ? ? ? ? ?.SR ? ? ? ? ? ?(tx_reset)
 ? ? ? );

 ? ? ?ODELAYE3 #(
 ? ? ? ? ?.DELAY_VALUE ? ? ?(0),
 ? ? ? ? ?.DELAY_TYPE ? ? ? ("FIXED"),
 ? ? ? ? ?.REFCLK_FREQUENCY (333.333),
 ? ? ?.SIM_DEVICE ? ? ? ("ULTRASCALE")

 ? ? ? )
 ? ? ? delay_rgmii_txd (
 ? ? ? ? ?.ODATAIN ? ? ? (rgmii_txd_odelay),
 ? ? ? ? ?.DATAOUT ? ? ? (rgmii_txd_obuf),
 ? ? ? ? ?.CLK ? ? ? ? ? (1'b0),
 ? ? ? ? ?.CE ? ? ? ? ? ?(1'b0),
 ? ? ? ? ?.INC ? ? ? ? ? (1'b0),
 ? ? ? ? ?.CNTVALUEIN ? ?(9'h0),
 ? ? ? ? ?.CNTVALUEOUT ? (),
 ? ? ? ? ?.LOAD ? ? ? ? ?(1'b0),
 ? ? ? ? ?.RST ? ? ? ? ? (1'b0),
 ? ? ? ? ?.CASC_IN ? ? ? (1'b0),
 ? ? ? ? ?.CASC_RETURN ? (1'b0),
 ? ? ? ? ?.CASC_OUT ? ? ?(),
 ? ? ? ? ?.EN_VTC ? ? ? ?(1'b1)
 ? ? ? );

 ? ? end
 ? endgenerate

接收部分

IDELAYE3 #(
   .DELAY_FORMAT   ("COUNT"),
   .DELAY_TYPE    ("FIXED"),
   .REFCLK_FREQUENCY (333.333),
   .DELAY_VALUE   (250),      // Input delay value setting       
   .SIM_DEVICE  ("ULTRASCALE")

  )
  delay_rgmii_rx_ctl (
   .IDATAIN    (rgmii_rx_ctl_ibuf),
   .DATAOUT    (rgmii_rx_ctl_delay),
   .DATAIN    (1'b0),
   .CLK      (1'b0),
   .CE      (1'b0),
   .INC      (1'b0),
   .CNTVALUEIN  (9'h0),
   .CNTVALUEOUT  (),
   .LOAD     (1'b0),
   .RST      (1'b0),
   .CASC_IN    (1'b0),
   .CASC_RETURN  (1'b0),
   .CASC_OUT   (),
   .EN_VTC    (1'b1)
   );


  genvar j;
  generate for (j=0; j<4; j=j+1)
 ? ? begin : rxdata_bus



 ? ? ? IDELAYE3 #(
 ? ? ? ? ?.DELAY_FORMAT ? ? ("COUNT"),
 ? ? ? ? ?.DELAY_TYPE ? ? ? ("FIXED"),
 ? ? ? ? ?.REFCLK_FREQUENCY (333.333),
 ? ? ? ? ?.DELAY_VALUE ? ? ?(250), ? ? ? ? ? // Input delay value setting ? ? ? ? ? ? ?
 ? ? ? ? ?.SIM_DEVICE ? ?("ULTRASCALE")
 ? ? ? )
 ? ? ? delay_rgmii_rxd (
 ? ? ? ? ?.IDATAIN ? ? ? (rgmii_rxd_ibuf[j]),
 ? ? ? ? ?.DATAOUT ? ? ? (rgmii_rxd_delay[j]),
 ? ? ? ? ?.DATAIN ? ? ? ?(1'b0),
 ? ? ? ? ?.CLK ? ? ? ? ? (1'b0),
 ? ? ? ? ?.CE ? ? ? ? ? ?(1'b0),
 ? ? ? ? ?.INC ? ? ? ? ? (1'b0),
 ? ? ? ? ?.CNTVALUEIN ? ?(9'h0),
 ? ? ? ? ?.CNTVALUEOUT ? (),
 ? ? ? ? ?.LOAD ? ? ? ? ?(1'b0),
 ? ? ? ? ?.RST ? ? ? ? ? (1'b0),
 ? ? ? ? ?.CASC_IN ? ? ? (1'b0),
 ? ? ? ? ?.CASC_RETURN ? (1'b0),
 ? ? ? ? ?.CASC_OUT ? ? ?(),
 ? ? ? ? ?.EN_VTC ? ? ? ?(1'b1)
 ? ? ? );
 ? ? end
 ? endgenerate

以上也能看出第二個(gè)以太網(wǎng)和第一個(gè)以太網(wǎng)的時(shí)序調(diào)整有所差異。

3. 約束文件修改

由于我們?cè)趖ri_mode_ethernet_mac_1_rgmii_v2_0_if.v中完成了時(shí)序的調(diào)整,因此需要注釋以下約束

1678153253659549.png

時(shí)序約束部分修改和硬件上PHY的delay延遲設(shè)置有關(guān)系,米聯(lián)客的FPGA的PHY以太網(wǎng)芯片rx 有2ns延遲,tx沒有2ns延遲。因此rgmii_rx數(shù)據(jù)是源同步中心對(duì)齊方式分析,而rgmii_tx數(shù)據(jù)是源源步邊沿對(duì)齊方式分析,米聯(lián)客使用的是RTL8211FD芯片,關(guān)鍵的時(shí)序參數(shù)如下:

1678153261672626.png

1678153267748460.png

1678153270637738.png

1678153274853743.png

1678153282882204.png

因此給出如下時(shí)序約束:

############################################################
# RX Clock period Constraints (per instance)        #
############################################################
# Receiver clock period constraints: please do not relax
set rx_clk [get_clocks -of [get_ports rgmii_rxc]]

############################################################
# Obtain input clocks from top level XDC             #
############################################################
set ip_gtx_clk   [get_clocks -of_objects [get_ports gtx_clk]]

#
####
#######
##########
#############
#################
#BLOCK CONSTRAINTS

############################################################
# For Setup and Hold time analysis on RGMII inputs     #
############################################################

# define a virtual clock to simplify the timing constraints
create_clock -name [current_instance .]_rgmii_rx_clk -period 8
set rgmii_rx_clk [current_instance .]_rgmii_rx_clk

# Identify RGMII Rx Pads only. 
# This prevents setup/hold analysis being performed on false inputs,
# eg, the configuration_vector inputs.

set_input_delay -clock [get_clocks $rgmii_rx_clk] -max -1.5 [get_ports {rgmii_rxd
rgmii_rx_ctl}]
set_input_delay -clock [get_clocks $rgmii_rx_clk] -min -2.5 [get_ports {rgmii_rxd
rgmii_rx_ctl}]
set_input_delay -clock [get_clocks $rgmii_rx_clk] -clock_fall -max -1.5 -add_delay[get_ports {rgmii_rxd
rgmii_rx_ctl}]
set_input_delay -clock [get_clocks $rgmii_rx_clk] -clock_fall -min -2.5 -add_delay[get_ports {rgmii_rxd
rgmii_rx_ctl}]

set_false_path -rise_from [get_clocks $rgmii_rx_clk] -fall_to $rx_clk -setup
set_false_path -fall_from [get_clocks $rgmii_rx_clk] -rise_to $rx_clk -setup
set_false_path -rise_from [get_clocks $rgmii_rx_clk] -rise_to $rx_clk -hold
set_false_path -fall_from [get_clocks $rgmii_rx_clk] -fall_to $rx_clk -hold

set_multicycle_path -from [get_clocks $rgmii_rx_clk] -to $rx_clk -setup 0
set_multicycle_path -from [get_clocks $rgmii_rx_clk] -to $rx_clk -hold -1

############################################################
# For Setup and Hold time analysis on RGMII outputs    #
############################################################

create_generated_clock -name [current_instance .]_rgmii_tx_clk -divide_by 1 -source[get_pins {tri_mode_ethernet_mac_i/rgmii_interface/rgmii_txc_ddr/C}] [get_ports rgmii_txc]
set rgmii_tx_clk [current_instance .]_rgmii_tx_clk

set_output_delay -0.5 -max -clock [get_clocks $rgmii_tx_clk] [get_ports {rgmii_txd
rgmii_tx_ctl}]
set_output_delay -1.2 -min -clock [get_clocks $rgmii_tx_clk] [get_ports {rgmii_txd
rgmii_tx_ctl}]
set_output_delay -0.5 -max -clock [get_clocks $rgmii_tx_clk] [get_ports {rgmii_txd
rgmii_tx_ctl}] -clock_fall -add_delay
set_output_delay -1.2 -min -clock [get_clocks $rgmii_tx_clk] [get_ports {rgmii_txd
rgmii_tx_ctl}] -clock_fall -add_delay

set_false_path -rise_from $ip_gtx_clk -fall_to [get_clocks $rgmii_tx_clk] -setup
set_false_path -fall_from $ip_gtx_clk -rise_to [get_clocks $rgmii_tx_clk] -setup
set_false_path -rise_from $ip_gtx_clk -rise_to [get_clocks $rgmii_tx_clk] -hold
set_false_path -fall_from $ip_gtx_clk -fall_to [get_clocks $rgmii_tx_clk] -hold

set_multicycle_path -from $ip_gtx_clk -to [get_clocks $rgmii_tx_clk] 0 -setup
set_multicycle_path -from $ip_gtx_clk -to [get_clocks $rgmii_tx_clk] -1 -hold

這里時(shí)序分析是比較難理解的部分,尤其是根據(jù)datasheet分析時(shí)序要求,更多的關(guān)于時(shí)序相關(guān)的內(nèi)容,請(qǐng)看米聯(lián)客時(shí)序課程相關(guān)內(nèi)容。

審核編輯:湯梓紅

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

    關(guān)注

    1625

    文章

    21620

    瀏覽量

    601232
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5343

    瀏覽量

    170799
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2155

    瀏覽量

    120850
  • 時(shí)序約束
    +關(guān)注

    關(guān)注

    1

    文章

    115

    瀏覽量

    13403
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于Xilinx FPGA的千兆以太網(wǎng)控制器的開發(fā)

    MAC子層的FPGA設(shè)計(jì)、MAC子層與上層協(xié)議的接口設(shè)計(jì)以及MAC與物理層(PHY)的MII接口設(shè)計(jì)。##Xilinx 提供了態(tài)以太網(wǎng)MAC控制器的IP Core,可實(shí)現(xiàn)單條吉比特
    發(fā)表于 01-23 11:13 ?3w次閱讀
    基于<b class='flag-5'>Xilinx</b> FPGA的千兆<b class='flag-5'>以太網(wǎng)</b>控制器的開發(fā)

    求助,怎樣控制altera的以太網(wǎng)IP呢?

    本人想使用altera的以太網(wǎng)IPtse,發(fā)現(xiàn)Quartus里面并沒有告訴怎樣控制這個(gè)。請(qǐng)問大家是怎樣控制這個(gè)
    發(fā)表于 01-22 14:55

    以太網(wǎng)

    各位大神,請(qǐng)問有誰調(diào)試過altera中的以太網(wǎng)MAC,我的MAC返回給TX的應(yīng)答信號(hào)沒有反應(yīng),請(qǐng)問是什么原因?如何解決?謝謝,萬分感
    發(fā)表于 10-06 11:23

    有誰做過xilinx k7的以太網(wǎng)

    本人最近在做xilinx k7的以太網(wǎng),主要是在100M的傳輸速率下,時(shí)序數(shù)據(jù)收發(fā)?,F(xiàn)在做著發(fā)送部分,卡住很久很久了,發(fā)送的目的地址一直
    發(fā)表于 04-13 14:46

    vivado以太網(wǎng)IP怎么用

    vivado的以太網(wǎng)IP接口太多了,完全不知道應(yīng)該怎么用,哪位大佬能發(fā)我一份設(shè)計(jì)或者仿真嗎?簡(jiǎn)單的就好
    發(fā)表于 04-15 12:58

    萊迪思和Flexibilis推出FPGA以太網(wǎng)交換IP

    萊迪思半導(dǎo)體公司和FLEXIBILIS Oy日前宣布了即可獲取Flexibilis以太網(wǎng)交換(FES)IP。(10Mbps/100Mb
    發(fā)表于 06-16 08:44 ?598次閱讀
    萊迪思和Flexibilis推出FPGA<b class='flag-5'>以太網(wǎng)</b>交換<b class='flag-5'>IP</b><b class='flag-5'>核</b>

    基于Xilinx公司的SOPC的以太網(wǎng)設(shè)計(jì)

    1.設(shè)計(jì)(論文)的主要任務(wù)及目標(biāo) (1) 研究SOPC理論如何應(yīng)用于以太網(wǎng)終端設(shè)計(jì); (2) 研究如何使用EDK軟件和IP搭建整個(gè)設(shè)計(jì)硬件結(jié)構(gòu); (3) 在開發(fā)板上實(shí)現(xiàn)以太網(wǎng)終端設(shè)計(jì)
    發(fā)表于 09-18 11:09 ?134次下載
    基于<b class='flag-5'>Xilinx</b>公司的SOPC的<b class='flag-5'>以太網(wǎng)</b>設(shè)計(jì)

    Xilinx時(shí)序約束設(shè)計(jì)

    Xilinx時(shí)序約束設(shè)計(jì),有需要的下來看看
    發(fā)表于 05-10 11:24 ?18次下載

    基于Avalon總線的非標(biāo)準(zhǔn)以太網(wǎng)控制器IP設(shè)計(jì)_薛毅

    基于Avalon總線的非標(biāo)準(zhǔn)以太網(wǎng)控制器IP設(shè)計(jì)_薛毅
    發(fā)表于 03-19 11:33 ?1次下載

    xilinx時(shí)序分析及約束

    詳細(xì)講解了xilinx時(shí)序約束實(shí)現(xiàn)方法和意義。包括:初級(jí)時(shí)鐘,衍生時(shí)鐘,異步時(shí)終域,多時(shí)終周期的講解
    發(fā)表于 01-25 09:53 ?6次下載

    千兆以太網(wǎng)IP接口和萬兆以太網(wǎng)IP接口

    對(duì)于IP輸出數(shù)據(jù)的解析最好的工具就是其自帶的仿真文件,里面既將接收的數(shù)據(jù)進(jìn)行了解析,又將發(fā)送給IP的數(shù)據(jù)進(jìn)行了封裝,這對(duì)于了解數(shù)據(jù)結(jié)構(gòu)和協(xié)議是十分有幫助的,
    發(fā)表于 07-09 14:07 ?3835次閱讀

    Xilinx平臺(tái)以太網(wǎng)接口(一)TCP/IP基礎(chǔ)

    在完成以太網(wǎng)通信實(shí)驗(yàn)之前,必須要對(duì)以太網(wǎng)基礎(chǔ)知識(shí)進(jìn)行了解。時(shí)間充裕的可以看看《圖解TCP/IP》作為掃盲。本文重點(diǎn)對(duì)以太網(wǎng)幀結(jié)構(gòu)進(jìn)行介紹。
    的頭像 發(fā)表于 02-19 17:54 ?2264次閱讀
    <b class='flag-5'>Xilinx</b>平臺(tái)<b class='flag-5'>以太網(wǎng)</b>接口(一)TCP/<b class='flag-5'>IP</b>基礎(chǔ)

    基于FPGA的UDP RGMII千兆以太網(wǎng)通信方案

    本文介紹一個(gè)FPGA開源項(xiàng)目:UDP RGMII千兆以太網(wǎng)通信。該項(xiàng)目在我之前的工作中主要是用于FPGA和電腦端之間進(jìn)行圖像數(shù)據(jù)傳輸。本文簡(jiǎn)要介紹一下該項(xiàng)目的千兆以太網(wǎng)通信方案、以太網(wǎng)
    的頭像 發(fā)表于 09-04 16:49 ?1486次閱讀
    基于FPGA的UDP <b class='flag-5'>RGMII</b>千兆<b class='flag-5'>以太網(wǎng)</b>通信方案

    設(shè)置AMD以太網(wǎng)IP的Pause幀處理

    目前 AMD 的以太網(wǎng) IP ,如軟 10G/25G,40G/50G 或者硬核 CMAC,MRMAC,DCMAC 等等,都采用的是同一種 Pause 幀處理方式。
    的頭像 發(fā)表于 10-18 09:15 ?897次閱讀
    設(shè)置AMD<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>IP</b><b class='flag-5'>核</b>的Pause幀處理

    解決以太網(wǎng)RGMII通信的電源時(shí)序難題

    電子發(fā)燒友網(wǎng)站提供《解決以太網(wǎng)RGMII通信的電源時(shí)序難題.pdf》資料免費(fèi)下載
    發(fā)表于 08-27 11:23 ?0次下載
    解決<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>RGMII</b>通信的電源<b class='flag-5'>時(shí)序</b>難題