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/] [WB_Stage.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
 
4
module WB_Stage(
5
        input Clk,
6
        input RST,
7
        input branch,
8
        input bubble_free,
9
        input [0:`MEM_WB_reg_w] MEM_WB_reg,
10
        output [0:`bc_msb] wb_dst,
11
        output [0:`dpw] wb_data,
12
        output write_rf, write_intr, write_uop
13
    );
14
 
15
        wire [0:`type_msb] Type;
16
        wire [0:`wb_dst_msb] WB_Dest;
17
        wire [0:`reg_sel_w] Rd;
18
        wire write;
19
 
20
        assign Type = MEM_WB_reg[0:`type_msb];
21
        assign WB_Dest = MEM_WB_reg[`type_msb+1:`type_msb+1+`wb_dst_msb];
22
        assign Rd = MEM_WB_reg[`type_msb+1+`wb_dst_msb+1:`type_msb+1+`wb_dst_msb+1+`reg_sel_w];
23
 
24
        assign wb_dst =  ((Clk) && ((Type==`type_other) || (Type==`type_load))) ? Rd : 'bZ;
25
        assign wb_data = ((Clk) && ((Type==`type_other) || (Type==`type_load))) ? MEM_WB_reg[`type_msb+1+`wb_dst_msb+1+`reg_sel_w+1:`type_msb+1+`wb_dst_msb+1+`reg_sel_w+1+`dpw]:'bZ;
26
        assign write = ((Type==`type_other) || (Type==`type_load)) && (branch || bubble_free);
27
        assign write_rf =  (WB_Dest==`wb_rf) && write;
28
        assign write_intr = (WB_Dest==`wb_int) && write;
29
        assign write_uop = (WB_Dest==`wb_uop) && write;
30
 
31
endmodule

powered by: WebSVN 2.1.0

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