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

Subversion Repositories rtf65002

[/] [rtf65002/] [trunk/] [rtl/] [verilog/] [load_mac.v] - Diff between revs 32 and 35

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

Rev 32 Rev 35
Line 25... Line 25...
        if (unCachedData)
        if (unCachedData)
`endif
`endif
        begin
        begin
                if (isRMW)
                if (isRMW)
                        lock_o <= 1'b1;
                        lock_o <= 1'b1;
                cyc_o <= 1'b1;
                wb_read({radr,2'b00});
                stb_o <= 1'b1;
 
                sel_o <= 4'hF;
 
                adr_o <= {radr,2'b00};
 
                state <= LOAD_MAC2;
                state <= LOAD_MAC2;
        end
        end
`ifdef SUPPORT_DCACHE
`ifdef SUPPORT_DCACHE
        else if (dhit)
        else if (dhit)
                load_tsk(rdat,rdat8);
                load_tsk(rdat,rdat8);
Line 41... Line 38...
                state <= DCACHE1;
                state <= DCACHE1;
        end
        end
`endif
`endif
LOAD_MAC2:
LOAD_MAC2:
        if (ack_i) begin
        if (ack_i) begin
                cyc_o <= 1'b0;
                wb_nack();
                stb_o <= 1'b0;
 
                sel_o <= 4'h0;
 
                adr_o <= 34'h0;
 
                load_tsk(dat_i,dati);
                load_tsk(dat_i,dati);
        end
        end
`ifdef SUPPORT_BERR
`ifdef SUPPORT_BERR
        else if (err_i) begin
        else if (err_i) begin
                lock_o <= 1'b0;
                lock_o <= 1'b0;
                cyc_o <= 1'b0;
                wb_nack();
                stb_o <= 1'b0;
                if (em | isOrb)
                we_o <= 1'b0;
                        derr_address <= adr_o[31:0];
                sel_o <= 4'h0;
                else
                dat_o <= 32'h0;
                        derr_address <= adr_o[33:2];
 
                intno <= 9'd508;
                state <= BUS_ERROR;
                state <= BUS_ERROR;
        end
        end
`endif
`endif
LOAD_MAC3:
LOAD_MAC3:
        begin
        begin
                regfile[Rt] <= res;
                regfile[Rt] <= res[31:0];
                case(Rt)
                case(Rt)
                4'h1:   acc <= res;
                4'h1:   acc <= res[31:0];
                4'h2:   x <= res;
                4'h2:   x <= res[31:0];
                4'h3:   y <= res;
                4'h3:   y <= res[31:0];
                default:        ;
                default:        ;
                endcase
                endcase
                // Rt will be zero by the time the IFETCH stage is entered because of
                // Rt will be zero by the time the IFETCH stage is entered because of
                // the decrement below.
                // the decrement below.
                if (Rt==4'd1)
                if (Rt==4'd1)

powered by: WebSVN 2.1.0

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