-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathextentionController.sv
More file actions
61 lines (60 loc) · 1.56 KB
/
extentionController.sv
File metadata and controls
61 lines (60 loc) · 1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
module extensionController(
input var logic [4:0]opcode,
input var logic [2:0]funct3,
input var logic [6:0]funct7,
output var logic regWE,
output var logic outmem,
output var logic aluneg,
output var logic isImm,
output var logic [1:0]immtype,
output var logic pcsr,
output var logic isoutr1,
output var logic isbr,
output var logic isjal,
output var logic iswb,
output var logic pcWE,
output var logic rwmem,
output var logic memWE,
output var logic [3:0]byteena,
output var logic [2:0]extensionModuleSelect );
always_comb begin
case (opcode)
5'b11011: begin
regWE <= 1'b0;
outmem <= 1'b0;
aluneg <= 1'b0;
isImm <= 1'b1;
immtype <= 2'b0;
pcsr <= 1'b0;
isoutr1 <= 1'b1;
isbr <= 1'b1;
isjal <= 1'b0;
iswb <= 1'b0;
pcWE <= 1'b1;
rwmem <= 1'b0;
memWE <= 1'b0;
extensionModuleSelect <= funct3;
end
//extension
//5'b00010: begin
//end
default: begin
regWE <= 1'b0;
outmem <= 1'b0;
aluneg <= 1'b0;
isImm <= 1'b0;
immtype <= 2'b0;
pcsr <= 1'b1;
isoutr1 <= 1'b0;
isbr <= 1'b0;
isjal <= 1'b1;
iswb <= 1'b0;
pcWE <= 1'b1;
rwmem <= 1'b0;
memWE <= 1'b0;
byteena <= 4'b0000;
alucontrol <= 10'b0;
end
endcase
end
endmodule