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

Subversion Repositories fluid_core_2

[/] [fluid_core_2/] [trunk/] [xilinx14.5 project/] [Reg_File.v] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 azmathmoos
`timescale 1ns / 1ps
2
`include "Configuration.v"
3
module Reg_File(
4
        input Clk,
5
        input RST,
6
        input [0:`reg_sel_w] reg_a,
7
        input [0:`reg_sel_w] reg_b,
8
        input [0:`reg_sel_w] wb_reg,
9
        input [0: `dpw] word,
10
        output [0:`dpw] op_a,
11
        output [0:`dpw] op_b,
12
        input write
13
    );
14
 
15
//------------Register Array---------------//
16
        reg [0:`dpw] registers[0:`reg_n];
17
 
18
        //Init for Testing
19
        initial begin
20
        registers[0] <= 0;
21
        registers[1] <= 0;
22
        registers[2] <= 0;
23
        registers[3] <= 0;
24
        registers[4] <= 0;
25
        registers[5] <= 0;
26
        registers[6] <= 0;
27
        registers[7] <= 0;
28
        end
29
 
30
 
31
        //Write Back Stage
32
 
33
 
34
        always@(posedge Clk) begin                                                      //---The reg_a and word lines are ready before the edge, the rising edge of next cycle completes the write back---//
35
                if (write) begin//write
36
                        registers[wb_reg] <= word;
37
                end
38
        end
39
 
40
        //ID stage - Read
41
        assign op_a = registers[reg_a];
42
        assign op_b = registers[reg_b];
43
 
44
endmodule

powered by: WebSVN 2.1.0

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