LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cvs-checkins > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: cvs at opencores.org<cvs@o...>
    Date: Sun Jun 25 06:58:56 CEST 2006
    Subject: [cvs-checkins] MODIFIED: ethernet_tri_mode ...
    Top
    Date: 00/06/06 25:06:58

    Modified: ethernet_tri_mode/rtl/verilog/MAC_rx MAC_rx_FF.v
    MAC_rx_ctrl.v
    Log:
    no message


    Revision Changes Path
    1.5 ethernet_tri_mode/rtl/verilog/MAC_rx/MAC_rx_FF.v

    http://www.opencores.org/cvsweb.shtml/ethernet_tri_mode/rtl/verilog/MAC_rx/MAC_rx_FF.v.diff?r1=1.4&r2=1.5

    (In the diff below, changes in quantity of whitespace are not shown.)

    Index: MAC_rx_FF.v
    ===================================================================
    RCS file: /cvsroot/maverickist/ethernet_tri_mode/rtl/verilog/MAC_rx/MAC_rx_FF.v,v
    retrieving revision 1.4
    retrieving revision 1.5
    diff -u -b -r1.4 -r1.5
    --- MAC_rx_FF.v 28 May 2006 05:09:20 -0000 1.4
    +++ MAC_rx_FF.v 25 Jun 2006 04:58:56 -0000 1.5
    @@ -39,6 +39,9 @@
    // CVS Revision History
    //
    // $Log: MAC_rx_FF.v,v $
    +// Revision 1.5 2006/06/25 04:58:56 maverickist
    +// no message
    +//
    // Revision 1.4 2006/05/28 05:09:20 maverickist
    // no message
    //
    @@ -139,7 +142,11 @@
    reg Wr_en_tmp;
    reg Wr_en_ptr;
    wire[`MAC_TX_FF_DEPTH-1:0] Add_wr_pluse;
    +wire[`MAC_TX_FF_DEPTH-1:0] Add_wr_pluse4;
    +wire[`MAC_TX_FF_DEPTH-1:0] Add_wr_pluse3;
    +wire[`MAC_TX_FF_DEPTH-1:0] Add_wr_pluse2;
    reg Full;
    +reg Almost_full;
    reg Empty /* synthesis syn_keep=1 */;
    reg [3:0] Current_state /* synthesis syn_keep=1 */;
    reg [3:0] Next_state;
    @@ -172,7 +179,10 @@
    reg [35:0] Dout_dl1;
    reg [4:0] Fifo_data_count;
    reg Rx_mac_pa_tmp ;
    -
    +reg Add_wr_jump_tmp ;
    +reg Add_wr_jump_tmp_pl1 ;
    +reg Add_wr_jump ;
    +reg Add_wr_jump_rd_pl1 ;
    reg [4:0] Rx_Hwmark_pl ;
    reg [4:0] Rx_Lwmark_pl ;
    integer i ;
    @@ -280,6 +290,11 @@
    Add_rd_ungray[i] =Add_rd_ungray[i+1]^Add_rd_gray_dl1[i];
    end
    assign Add_wr_pluse=Add_wr+1;
    +assign Add_wr_pluse4=Add_wr+4;
    +assign Add_wr_pluse3=Add_wr+3;
    +assign Add_wr_pluse2=Add_wr+2;
    +
    +

    always @ (posedge Clk_MAC or posedge Reset)
    if (Reset)
    @@ -289,7 +304,19 @@
    else
    Full <=0;

    -assign Fifo_full =Full;
    +always @ (posedge Clk_MAC or posedge Reset)
    + if (Reset)
    + Almost_full <=0;
    + else if (Add_wr_pluse4==Add_rd_ungray||
    + Add_wr_pluse3==Add_rd_ungray||
    + Add_wr_pluse2==Add_rd_ungray||
    + Add_wr_pluse==Add_rd_ungray
    + )
    + Almost_full <=1;
    + else
    + Almost_full <=0;
    +
    +assign Fifo_full =Almost_full;

    //
    always @ (posedge Clk_MAC or posedge Reset)
    @@ -300,6 +327,28 @@
    else if (Wr_en&&!Full)
    Add_wr <=Add_wr +1;

    +always @ (posedge Clk_MAC or posedge Reset)
    + if (Reset)
    + Add_wr_jump_tmp <=0;
    + else if (Current_state==State_err_end)
    + Add_wr_jump_tmp <=1;
    + else
    + Add_wr_jump_tmp <=0;
    +
    +always @ (posedge Clk_MAC or posedge Reset) + if (Reset) + Add_wr_jump_tmp_pl1 <=0; + else + Add_wr_jump_tmp_pl1 <=Add_wr_jump_tmp; + +always @ (posedge Clk_MAC or posedge Reset) + if (Reset) + Add_wr_jump <=0; + else if (Current_state==State_err_end) + Add_wr_jump <=1; + else if (Add_wr_jump_tmp_pl1) + Add_wr_jump <=0; + // always @ (posedge Clk_MAC or posedge Reset) if (Reset) @@ -455,8 +504,10 @@ always @ (Current_state_SYS or Rx_mac_rd or Rx_mac_ra or Dout or Empty) case (Current_state_SYS) SYS_idle: - if (Rx_mac_rd&&Rx_mac_ra) + if (Rx_mac_rd&&Rx_mac_ra&&!Empty) Next_state_SYS =SYS_read; + else if(Rx_mac_rd&&Rx_mac_ra&&Empty) + Next_state_SYS =FF_emtpy_err; else Next_state_SYS =Current_state_SYS; SYS_read: @@ -513,7 +564,7 @@ Packet_number_inFF <=0; else if (Packet_number_add_edge&&!Packet_number_sub) Packet_number_inFF <=Packet_number_inFF + 1; - else if (!Packet_number_add_edge&&Packet_number_sub) + else if (!Packet_number_add_edge&&Packet_number_sub&&Packet_number_inFF!=0) Packet_number_inFF <=Packet_number_inFF - 1; always @ (posedge Clk_SYS or posedge Reset) @@ -570,8 +621,14 @@ always @ (posedge Clk_SYS or posedge Reset) if (Reset) - Add_wr_ungray =0; + Add_wr_jump_rd_pl1 <=0; else + Add_wr_jump_rd_pl1 <=Add_wr_jump; + +always @ (posedge Clk_SYS or posedge Reset) + if (Reset) + Add_wr_ungray =0; + else if (!Add_wr_jump_rd_pl1) begin Add_wr_ungray[`MAC_RX_FF_DEPTH-1] =Add_wr_gray_dl1[`MAC_RX_FF_DEPTH-1]; for (i=`MAC_RX_FF_DEPTH-2;i>=0;i=i-1) 1.4 ethernet_tri_mode/rtl/verilog/MAC_rx/MAC_rx_ctrl.v http://www.opencores.org/cvsweb.shtml/ethernet_tri_mode/rtl/verilog/MAC_rx/MAC_rx_ctrl.v.diff?r1=1.3&r2=1.4 (In the diff below, changes in quantity of whitespace are not shown.) Index: MAC_rx_ctrl.v =================================================================== RCS file: /cvsroot/maverickist/ethernet_tri_mode/rtl/verilog/MAC_rx/MAC_rx_ctrl.v,v retrieving revision 1.3 retrieving revision 1.4 diff -u -b -r1.3 -r1.4 --- MAC_rx_ctrl.v 19 Jan 2006 14:07:54 -0000 1.3 +++ MAC_rx_ctrl.v 25 Jun 2006 04:58:56 -0000 1.4 @@ -39,6 +39,9 @@ // CVS Revision History // // $Log: MAC_rx_ctrl.v,v $ +// Revision 1.4 2006/06/25 04:58:56 maverickist +// no message +// // Revision 1.3 2006/01/19 14:07:54 maverickist // verification is complete. // @@ -165,6 +168,8 @@ reg CRC_en; reg CRC_init; reg Rx_apply_rmon; +reg Rx_apply_rmon_tmp; +reg Rx_apply_rmon_tmp_pl1; reg [2:0] Rx_pkt_err_type_rmon; reg MAC_add_en; reg [2:0] Rx_pkt_type_rmon; @@ -269,7 +274,7 @@ State_FFFullErrEnd: Next_state =State_FFFullDrop; State_IFG: - if (IFG_counter==RX_IFG_SET) + if (IFG_counter==RX_IFG_SET-4) //remove some additional time Next_state =State_idle; else Next_state =Current_state; @@ -336,7 +341,7 @@ else if (Current_state==State_SFD) Frame_length_counter <=1; else if (Current_state==State_data) - Frame_length_counter <=Frame_length_counter+ 1; + Frame_length_counter <=Frame_length_counter+ 1'b1; always @ (Frame_length_counter or RX_MIN_LENGTH) if (Frame_length_counter<RX_MIN_LENGTH) @@ -350,7 +355,22 @@ else Too_long =0; -assign Rx_pkt_length_rmon=Frame_length_counter; +assign Rx_pkt_length_rmon=Frame_length_counter-1'b1; + +always @ (posedge Clk or posedge Reset) + if (Reset) + Rx_apply_rmon_tmp <=0; + else if (Current_state==State_OkEnd||Current_state==State_ErrEnd + ||Current_state==State_CRCErrEnd||Current_state==State_FFFullErrEnd) + Rx_apply_rmon_tmp <=1; + else + Rx_apply_rmon_tmp <=0; + +always @ (posedge Clk or posedge Reset) + if (Reset) + Rx_apply_rmon_tmp_pl1 <=0; + else + Rx_apply_rmon_tmp_pl1 <=Rx_apply_rmon_tmp; always @ (posedge Clk or posedge Reset) if (Reset) @@ -358,7 +378,7 @@ else if (Current_state==State_OkEnd||Current_state==State_ErrEnd ||Current_state==State_CRCErrEnd||Current_state==State_FFFullErrEnd) Rx_apply_rmon <=1; - else + else if (Rx_apply_rmon_tmp_pl1) Rx_apply_rmon <=0; always @ (posedge Clk or posedge Reset)

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.