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

Subversion Repositories theia_gpu

[/] [theia_gpu/] [branches/] [icarus_version/] [rtl/] [Module_OMemInterface.v] - Blame information for rev 228

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 158 diegovalve
`timescale 1ns / 1ps
2
`include "aDefinitions.v"
3
 
4
module Module_OMemInterface
5
(
6
        input wire Clock,
7
        input wire Reset,
8
        input wire                  iWriteEnable,
9
        input wire [`DATA_ROW_WIDTH-1:0]     iData,
10
        input wire [`DATA_ROW_WIDTH-1:0]     iAddress,
11
        output wire [`WB_WIDTH-1:0] ADR_O,
12
        output wire[`WB_WIDTH-1:0]  DAT_O,
13
        output wire                                         WE_O
14
 
15
);
16
wire [2:0] wCurrentWord;
17
assign WE_O = iWriteEnable;
18
 
19
CIRCULAR_SHIFTLEFT_POSEDGE #(3) SHL
20
(
21
  .Clock(Clock),
22
  .Enable(iWriteEnable),
23
  .Reset(Reset),
24
  .Initial(3'b1),
25
  .O(wCurrentWord)
26
 
27
);
28
 
29
MUXFULLPARALELL_3SEL_WALKINGONE # ( `WB_WIDTH ) MUX1
30
 (
31
        .Sel( wCurrentWord ),
32
        .I3(iAddress[31:0]),
33
        .I2(iAddress[63:32]),
34
        .I1(iAddress[95:64]),
35
        .O1( ADR_O )
36
 );
37
 
38
 MUXFULLPARALELL_3SEL_WALKINGONE # ( `WB_WIDTH ) MUX2
39
 (
40
        .Sel( wCurrentWord ),
41
        .I3(iData[31:0]),
42
        .I2(iData[63:32]),
43
        .I1(iData[95:64]),
44
        .O1( DAT_O )
45
 );
46
 
47
endmodule

powered by: WebSVN 2.1.0

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