-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstallmux.v
35 lines (31 loc) · 953 Bytes
/
stallmux.v
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
module stallmux(wb, m, ex, MemToReg, RegWrite,
MemRead, MemWrite,
RegDst, AluOp, AluSrc, AluMux, HiLoEnable,
HazardMuxSelect);
output [1:0] wb;
output [1:0] m;
output [6:0] ex;
reg [1:0] wb;
reg [1:0] m;
reg [13:0] ex;
input MemToReg, RegWrite, MemRead, MemWrite, RegDst, AluSrc, HazardMuxSelect;
input [1:0] AluMux;
input HiLoEnable;
input [8:0] AluOp;
always @(MemToReg or RegWrite or MemRead or MemWrite or RegDst or AluOp or AluSrc or HazardMuxSelect
or AluMux or HiLoEnable)
begin
if(~HazardMuxSelect)
begin
wb = {MemToReg, RegWrite};
m = {MemRead, MemWrite};
ex = {RegDst, AluOp, AluSrc, AluMux, HiLoEnable};
end
else
begin
wb = 0;
m = 0;
ex = 0;
end
end
endmodule