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

Subversion Repositories m32632

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /m32632/trunk
    from Rev 12 to Rev 13
    Reverse comparison

Rev 12 → Rev 13

/rtl/I_PFAD.v
4,8 → 4,9
// http://opencores.org/project,m32632
//
// Filename: I_PFAD.v
// Version: 1.0
// Date: 30 May 2015
// Version: 1.1 bug fix
// History: 1.0 first release of 30 Mai 2015
// Date: 7 November 2015
//
// Copyright (C) 2015 Udo Moeller
//
617,11 → 618,16
reg [11:0] spointer,dpointer;
reg [9:0] todo;
reg [9:4] todo_reg;
wire [3:0] abzug;
reg dis_opt;
wire [31:0] diff_poi;
wire mehr,weiter,op_str,no_opt;
assign op_str = (OPCODE[7:3] == 5'b0101_0);
assign diff_poi = SRC2 - SRC1; // Special Case
always @(posedge BCLK) if (op_str && OPCODE[2]) dis_opt <= (diff_poi[31:3] == 29'd0);
// This logic is for detection if an accelerated MOVS/MOVM inside a page is possible - Backward is not possible
always @(posedge BCLK)
if (op_str)
631,11 → 637,10
end
assign no_opt = OPCODE[1] | ((spointer[11:3] == 9'h1FF) & (spointer[2:0] != 3'b000))
| kill_opt | ((dpointer[11:3] == 9'h1FF) & (dpointer[2:0] != 3'b000));
| kill_opt | ((dpointer[11:3] == 9'h1FF) & (dpointer[2:0] != 3'b000))
| dis_opt;
assign abzug = OPCODE[0] ? todo_reg[7:4] : 4'h0 ;
assign pfad_5 = SRC1 - {28'h0,abzug};
assign pfad_5 = SRC1 - {28'h0,todo_reg[7:4]};
 
assign mehr = (pfad_5[31:4] != 28'h0);
665,7 → 670,7
default : todo = 10'hxxx;
endcase
always @(posedge BCLK) if (op_str) todo_reg <= todo[9:4]; // store for next phase 51
always @(posedge BCLK) if (op_str) todo_reg <= {todo[9:8],(OPCODE[2] ? 4'd0 : todo[7:4])}; // store for next phase 51
assign weiter = mehr | (pfad_5[3:0] != 4'h0);

powered by: WebSVN 2.1.0

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