1
2
3
4
5 module fadd_rs #(
6 parameter TAG = 4,
7 parameter OP = 3,
8 parameter DATA = 32
9 ) (
10 input wire clk,
11 input wire rstn,
12
13 input wire [TAG-1:0] cdb_r0_id,
14 input wire [DATA-1:0] cdb_r0_data,
15 input wire [TAG-1:0] cdb_r1_id,
16 input wire [DATA-1:0] cdb_r1_data,
17 input wire [TAG-1:0] cdb_r2_id,
18 input wire [DATA-1:0] cdb_r2_data,
19 input wire [TAG-1:0] cdb_a_id,
20 input wire [DATA-1:0] cdb_a_data,
21 input wire [TAG-1:0] cdb_m_id,
22 input wire [DATA-1:0] cdb_m_data,
23 input wire [TAG-1:0] cdb_l_id,
24 input wire [DATA-1:0] cdb_l_data,
25 input wire [OP+4*TAG-1:0] disp_bus0,
26 input wire [OP+4*TAG-1:0] disp_bus1,
27
28 output wire [1:0] func_val,
29 input wire [1:0] func_ack,
30 output wire [OP-1:0] func0_op,
31 output wire [DATA-1:0] func0_src1,
32 output wire [DATA-1:0] func0_src2,
33 output wire [OP-1:0] func1_op,
34 output wire [DATA-1:0] func1_src1,
35 output wire [DATA-1:0] func1_src2
36 );
37
38 rs #(
39 .ID(4'b1000),
40 .TAG(TAG),
41 .OP(OP),
42 .DATA(DATA)
43 ) rs0 (
44 .clk(clk),
45 .rstn(rstn),
46 .cdb_r0_id(cdb_r0_id),
47 .cdb_r0_data(cdb_r0_data),
48 .cdb_r1_id(cdb_r1_id),
49 .cdb_r1_data(cdb_r1_data),
50 .cdb_r2_id(cdb_r2_id),
51 .cdb_r2_data(cdb_r2_data),
52 .cdb_a_id(cdb_a_id),
53 .cdb_a_data(cdb_a_data),
54 .cdb_m_id(cdb_m_id),
55 .cdb_m_data(cdb_m_data),
56 .cdb_l_id(cdb_l_id),
57 .cdb_l_data(cdb_l_data),
58 .disp_bus0(disp_bus0),
59 .disp_bus1(disp_bus1),
60 .func_val(func_val[0]),
61 .func_ack(func_ack[0]),
62 .func_op(func0_op),
63 .func_src1(func0_src1),
64 .func_src2(func0_src2)
65 );
66
67 rs #(
68 .ID(4'b1001),
69 .TAG(TAG),
70 .OP(OP),
71 .DATA(DATA)
72 ) rs1 (
73 .clk(clk),
74 .rstn(rstn),
75 .cdb_r0_id(cdb_r0_id),
76 .cdb_r0_data(cdb_r0_data),
77 .cdb_r1_id(cdb_r1_id),
78 .cdb_r1_data(cdb_r1_data),
79 .cdb_r2_id(cdb_r2_id),
80 .cdb_r2_data(cdb_r2_data),
81 .cdb_a_id(cdb_a_id),
82 .cdb_a_data(cdb_a_data),
83 .cdb_m_id(cdb_m_id),
84 .cdb_m_data(cdb_m_data),
85 .cdb_l_id(cdb_l_id),
86 .cdb_l_data(cdb_l_data),
87 .disp_bus0(disp_bus0),
88 .disp_bus1(disp_bus1),
89 .func_val(func_val[1]),
90 .func_ack(func_ack[1]),
91 .func_op(func1_op),
92 .func_src1(func1_src1),
93 .func_src2(func1_src2)
94 );
95
96 endmodule
97