OpenCores
URL https://opencores.org/ocsvn/openarty/openarty/trunk

Subversion Repositories openarty

[/] [openarty/] [trunk/] [rtl/] [rxehwmac.v] - Diff between revs 31 and 33

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 31 Rev 33
Line 47... Line 47...
        output  reg             o_v;
        output  reg             o_v;
        output  reg     [3:0]    o_d;
        output  reg     [3:0]    o_d;
        output  wire            o_err;
        output  wire            o_err;
        output  reg             o_broadcast;
        output  reg             o_broadcast;
 
 
 
        wire    [47:0]   mac_remapped;
 
 
 
        assign  mac_remapped[47:44] = i_hwmac[43:40];
 
        assign  mac_remapped[43:40] = i_hwmac[47:44];
 
        assign  mac_remapped[39:36] = i_hwmac[35:32];
 
        assign  mac_remapped[35:32] = i_hwmac[39:36];
 
        assign  mac_remapped[31:28] = i_hwmac[27:24];
 
        assign  mac_remapped[27:24] = i_hwmac[31:28];
 
        assign  mac_remapped[23:20] = i_hwmac[19:16];
 
        assign  mac_remapped[19:16] = i_hwmac[23:20];
 
        assign  mac_remapped[15:12] = i_hwmac[11: 8];
 
        assign  mac_remapped[11: 8] = i_hwmac[15:12];
 
        assign  mac_remapped[ 7: 4] = i_hwmac[ 3: 0];
 
        assign  mac_remapped[ 3: 0] = i_hwmac[ 7: 4];
 
 
        reg     [47:0]   r_hwmac;
        reg     [47:0]   r_hwmac;
        reg             r_cancel, r_err, r_hwmatch, r_broadcast;
        reg             r_cancel, r_err, r_hwmatch, r_broadcast;
        reg     [19:0]   r_buf;
        reg     [19:0]   r_buf;
        reg     [29:0]   r_p;
        reg     [29:0]   r_p;
 
 
Line 68... Line 83...
                                r_hwmatch <= 1'b0;
                                r_hwmatch <= 1'b0;
                        if (4'hf != i_d)
                        if (4'hf != i_d)
                                r_broadcast<= 1'b0;
                                r_broadcast<= 1'b0;
                end
                end
 
 
 
                if ((i_v)&&(r_p[11]))
 
                        r_hwmac <= { r_hwmac[43:0], 4'h0 };
 
 
                r_err <= (i_en)&&(!r_hwmatch)&&(!r_broadcast)&&(i_v);
                r_err <= (i_en)&&(!r_hwmatch)&&(!r_broadcast)&&(i_v);
                o_broadcast <= (r_broadcast)&&(!r_p[11])&&(i_v);
                o_broadcast <= (r_broadcast)&&(!r_p[11])&&(i_v);
 
 
                r_buf <= { r_buf[14:0], i_v, i_d };
                r_buf <= { r_buf[14:0], i_v, i_d };
                if (((!i_v)&&(!o_v))||(i_cancel))
                if (((!i_v)&&(!o_v))||(i_cancel))
                begin
                begin
                        r_p <= 30'h3fff_ffff;
                        r_p <= 30'h3fff_ffff;
                        r_hwmac <= i_hwmac;
                        r_hwmac <= mac_remapped;
                        r_hwmatch   <= 1'b1;
                        r_hwmatch   <= 1'b1;
                        r_broadcast <= 1'b1;
                        r_broadcast <= 1'b1;
                        r_buf[ 4] <= 1'b0;
                        r_buf[ 4] <= 1'b0;
                        r_buf[ 9] <= 1'b0;
                        r_buf[ 9] <= 1'b0;
                        r_buf[14] <= 1'b0;
                        r_buf[14] <= 1'b0;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.