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

Subversion Repositories m32632

[/] [m32632/] [trunk/] [rtl/] [ALIGNER.v] - Diff between revs 9 and 11

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

Rev 9 Rev 11
Line 34... Line 34...
//
//
//      Modules contained in this file:
//      Modules contained in this file:
//      1. WR_ALINGER   alignes write data to cache and external devices
//      1. WR_ALINGER   alignes write data to cache and external devices
//      2. RD_ALINGER   alignes read data for the data path
//      2. RD_ALINGER   alignes read data for the data path
//
//
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
//
//      1. WR_ALINGER   alignes write data to cache and external devices
//      1. WR_ALINGER   alignes write data to cache and external devices
//
//
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
module WR_ALIGNER ( PACKET, DP_Q, SIZE, WRDATA, ENBYTE );
module WR_ALIGNER ( PACKET, DP_Q, SIZE, WRDATA, ENBYTE );
 
 
        input    [3:0]   PACKET; // [3:2] Paketnumber , [1:0] Startaddress
        input    [3:0]   PACKET; // [3:2] Paketnumber , [1:0] Startaddress
        input   [63:0]   DP_Q;
        input   [63:0]   DP_Q;
        input    [1:0]   SIZE;
        input    [1:0]   SIZE;
Line 165... Line 165...
                  6'b10_1x_11 : ENBYTE = 4'b0111;
                  6'b10_1x_11 : ENBYTE = 4'b0111;
                endcase
                endcase
 
 
endmodule
endmodule
 
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
//
//      2. RD_ALINGER   alignes read data for the data path
//      2. RD_ALINGER   alignes read data for the data path
//
//
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
module RD_ALIGNER ( BCLK, ACC_OK, PACKET, SIZE, REG_OUT, RDDATA, CA_HIT, DP_DI, AUX_QW );
module RD_ALIGNER ( BCLK, ACC_OK, PACKET, SIZE, REG_OUT, RDDATA, CA_HIT, DP_DI, AUX_QW );
 
 
        input                   BCLK;
        input                   BCLK;
        input                   ACC_OK;
        input                   ACC_OK;
        input    [3:0]   PACKET; // [3:2] Paketnumber , [1:0] Startaddress
        input    [3:0]   PACKET; // [3:2] Paketnumber , [1:0] Startaddress
Line 194... Line 194...
// Not aligned QWORD  : ADR[1:0] = 3 i.e.
// Not aligned QWORD  : ADR[1:0] = 3 i.e.
// Bytes to datapath  : . - . - 4 - 4
// Bytes to datapath  : . - . - 4 - 4
// Bytes from memory  : 1 - 4 - 3 - .
// Bytes from memory  : 1 - 4 - 3 - .
// ACC_DONE                       :     _______/----\__
// ACC_DONE                       :     _______/----\__
//      + 1 cycle                                       ____/--
//      + 1 cycle                                       ____/--
// at the end 2 cycles lost. ACC_DONE informs the Op-Dec that data is available and sent one clock c
// at the end 2 cycles lost. ACC_DONE informs the Op-Dec that data is available and sent one clock cycle later
// the LSD of QWORD access. (ACC_DONE -> REG_OUT is happening in ADDR_UNIT.)
// the LSD of QWORD access. (ACC_DONE -> REG_OUT is happening in ADDR_UNIT.)
//
//
// SIZE PACKET ADR :    Output data                                      ACC_OK
// SIZE PACKET ADR :    Output data                                      ACC_OK
//              00      --      00               x  x  x B0             Byte                            1
//              00      --      00               x  x  x B0             Byte                            1
//              00      --      01               x  x  x B1                                                     1
//              00      --      01               x  x  x B1                                                     1

powered by: WebSVN 2.1.0

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