Skip to content

Commit cf2e4e3

Browse files
committed
edited ALUcntrlUNIT
1 parent 28f4f09 commit cf2e4e3

File tree

1 file changed

+43
-17
lines changed

1 file changed

+43
-17
lines changed

ALUcntrlUNIT.v

Lines changed: 43 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,12 @@
2626
// comp | 000000 | 00001 | 0 | 0001
2727
// and | 000000 | 00010 | 0 | 0010
2828
// xor | 000000 | 00011 | 0 | 0011
29-
// shll | 000000 | 00100 | 0 | 0110
30-
// shrl | 000000 | 00101 | 0 | 0101
29+
// shll | 000001 | 00010 | 0 | 0110
30+
// shrl | 000001 | 00011 | 0 | 0101
3131
// shllv | 000000 | 00110 | 0 | 0110
3232
// shrlv | 000000 | 00111 | 0 | 0101
33-
// shra | 000000 | 01000 | 0 | 0101
34-
// shrav | 000000 | 01001 | 0 | 0101
33+
// shra | 000001 | 00100 | 0 | 0111
34+
// shrav | 000000 | 01001 | 0 | 0111
3535
// diff | 000000 | 01010 | 0 | 0100
3636
// addi | 000001 | 00000 | 1 | 0000
3737
// compi | 000001 | 00001 | 1 | 0001
@@ -47,6 +47,20 @@
4747
// bncy | 001011 | -- | 3 | 1000
4848
//////////////////////////////////////////////////////////////////////////////////
4949

50+
//////////////////////////////////////////////////////////////////////////////////
51+
// Operation | ALU Control Required
52+
//--------------------------------------------------------------------------------
53+
// Sum | 0000 -- 0
54+
// Compliment | 0001 -- 1
55+
// AND | 0010 -- 2
56+
// XOR | 0011 -- 3
57+
// diff | 0100 -- 4
58+
// Right Shift | 0101 -- 5
59+
// Left Shift | 0110 -- 6
60+
// Arithematic Right Shift | 0111 -- 7
61+
// Only Flags | any --- 8+
62+
//////////////////////////////////////////////////////////////////////////////////
63+
5064
module ALUcntrlUNIT(
5165
input [1:0] ALUop,
5266
input [4:0] func,
@@ -75,14 +89,14 @@ module ALUcntrlUNIT(
7589
begin
7690
ALUcntrl <= 4'b0011;
7791
end
78-
5'b00100: // shll
79-
begin
80-
ALUcntrl <= 4'b0110;
81-
end
82-
5'b00101: // shrl
83-
begin
84-
ALUcntrl <= 4'b0101;
85-
end
92+
// 5'b00100: // shll
93+
// begin
94+
// ALUcntrl <= 4'b0110;
95+
// end
96+
// 5'b00101: // shrl
97+
// begin
98+
// ALUcntrl <= 4'b0101;
99+
// end
86100
5'b00110: // shllv
87101
begin
88102
ALUcntrl <= 4'b0110;
@@ -91,10 +105,10 @@ module ALUcntrlUNIT(
91105
begin
92106
ALUcntrl <= 4'b0101;
93107
end
94-
5'b01000: // shra
95-
begin
96-
ALUcntrl <= 4'b0111;
97-
end
108+
// 5'b01000: // shra
109+
// begin
110+
// ALUcntrl <= 4'b0111;
111+
// end
98112
5'b01001: // shrav
99113
begin
100114
ALUcntrl <= 4'b0111;
@@ -120,7 +134,19 @@ module ALUcntrlUNIT(
120134
begin
121135
ALUcntrl <= 4'b0001;
122136
end
123-
default: // only flags
137+
5'b00010: // shll
138+
begin
139+
ALUcntrl <= 4'b0110;
140+
end
141+
5'b00011: // shrl
142+
begin
143+
ALUcntrl <= 4'b0101;
144+
end
145+
5'b00100: // shra
146+
begin
147+
ALUcntrl <= 4'b0111;
148+
end
149+
default: // only flags
124150
begin
125151
ALUcntrl <= 4'b1000;
126152
end

0 commit comments

Comments
 (0)