Simplified and removed latches
This commit is contained in:
@@ -5,13 +5,8 @@ module ControlUnit(
|
||||
input wire functBit,
|
||||
output reg [3:0] aluOut,
|
||||
output reg [2:0] FU,
|
||||
output reg addi,
|
||||
output reg mem, dataMemEn,
|
||||
output reg RegEn,
|
||||
output reg halt,
|
||||
output reg link,
|
||||
output reg [1:0] bank,
|
||||
output reg js);
|
||||
output reg addi, mem, dataMemEn, RegEn, halt, link, js);
|
||||
|
||||
always @(instIn, functBit)begin
|
||||
case(instIn)
|
||||
@@ -21,6 +16,7 @@ module ControlUnit(
|
||||
RegEn <= 1'b1;
|
||||
FU <= 3'b001; // Disable Branching
|
||||
addi <= 1'b0;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
aluOut <= 4'b0000;
|
||||
mem <= 1'b0;
|
||||
link <= 1'b0;
|
||||
@@ -31,7 +27,7 @@ module ControlUnit(
|
||||
begin
|
||||
aluOut <= 4'b0000;
|
||||
mem <= 1'b1;
|
||||
dataMemEn <= 1'b0;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
RegEn <= 1'b0;
|
||||
FU <= 3'b001; // Disable Branching
|
||||
addi <= 1'b0;
|
||||
@@ -44,7 +40,7 @@ module ControlUnit(
|
||||
begin
|
||||
aluOut <= 4'b0000;
|
||||
mem <= 1'b0;
|
||||
dataMemEn <= 1'b1;
|
||||
dataMemEn <= 1'b1; // Enabled
|
||||
RegEn <= 1'b1;
|
||||
FU <= 3'b001; // Disable Branching
|
||||
halt <= 1'b0;
|
||||
@@ -61,7 +57,7 @@ module ControlUnit(
|
||||
addi <= 1'b0;
|
||||
aluOut <= 4'b0000;
|
||||
mem <= 1'b0;
|
||||
dataMemEn <= 1'b0;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
link <= 1'b1;
|
||||
bank <= 2'b10;
|
||||
js <= 1'b0;
|
||||
@@ -74,7 +70,7 @@ module ControlUnit(
|
||||
halt <= 1'b0;
|
||||
addi <= 1'b0;
|
||||
mem <= 1'b0;
|
||||
dataMemEn <= 1'b0;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
link <= 1'b0;
|
||||
bank <= 2'b10;
|
||||
js <= 1'b0;
|
||||
@@ -87,7 +83,7 @@ module ControlUnit(
|
||||
halt <= 1'b0;
|
||||
addi <= 1'b0;
|
||||
mem <= 1'b0;
|
||||
dataMemEn <= 1'b0;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
link <= 1'b0;
|
||||
bank <= 2'b10;
|
||||
js <= 1'b0;
|
||||
@@ -99,7 +95,7 @@ module ControlUnit(
|
||||
halt <= 1'b0;
|
||||
addi <= 1'b0;
|
||||
mem <= 1'b0;
|
||||
dataMemEn <= 1'b0;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
link <= 1'b0;
|
||||
bank <= 2'b10;
|
||||
js <= 1'b0;
|
||||
@@ -112,7 +108,7 @@ module ControlUnit(
|
||||
FU <= 3'b001; // Disable Branching
|
||||
halt <= 1'b0;
|
||||
mem <= 1'b0;
|
||||
dataMemEn <= 1'b0;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
link <= 1'b0;
|
||||
bank <= 2'b10;
|
||||
js <= 1'b0;
|
||||
@@ -125,7 +121,7 @@ module ControlUnit(
|
||||
halt <= 1'b0;
|
||||
addi <= 1'b0;
|
||||
mem <= 1'b0;
|
||||
dataMemEn <= 1'b0;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
link <= 1'b0;
|
||||
bank <= 2'b10;
|
||||
js <= 1'b0;
|
||||
@@ -138,7 +134,7 @@ module ControlUnit(
|
||||
halt <= 1'b0;
|
||||
addi <= 1'b0;
|
||||
mem <= 1'b0;
|
||||
dataMemEn <= 1'b0;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
link <= 1'b0;
|
||||
bank <= 2'b10;
|
||||
js <= 1'b0;
|
||||
@@ -151,7 +147,7 @@ module ControlUnit(
|
||||
halt <= 1'b0;
|
||||
addi <= 1'b0;
|
||||
mem <= 1'b0;
|
||||
dataMemEn <= 1'b0;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
link <= 1'b0;
|
||||
bank <= 2'b10;
|
||||
js <= 1'b0;
|
||||
@@ -163,6 +159,7 @@ module ControlUnit(
|
||||
FU <= 3'b001; // Disable Branching
|
||||
addi <= 1'b0;
|
||||
aluOut <= 4'b0000;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
mem <= 1'b0;
|
||||
link <= 1'b0;
|
||||
bank <= {functBit,functBit};
|
||||
@@ -176,7 +173,7 @@ module ControlUnit(
|
||||
halt <= 1'b0;
|
||||
addi <= 1'b0;
|
||||
mem <= 1'b0;
|
||||
dataMemEn <= 1'b0;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
link <= 1'b0;
|
||||
bank <= 2'b10;
|
||||
js <= 1'b1;
|
||||
@@ -189,7 +186,7 @@ module ControlUnit(
|
||||
halt <= 1'b0;
|
||||
addi <= 1'b0;
|
||||
mem <= 1'b0;
|
||||
dataMemEn <= 1'b0;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
link <= 1'b0;
|
||||
bank <= 2'b10;
|
||||
js <= 1'b0;
|
||||
@@ -202,7 +199,7 @@ module ControlUnit(
|
||||
halt <= 1'b0;
|
||||
addi <= 1'b0;
|
||||
mem <= 1'b0;
|
||||
dataMemEn <= 1'b0;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
link <= 1'b0;
|
||||
bank <= 2'b10;
|
||||
js <= 1'b0;
|
||||
@@ -216,7 +213,7 @@ module ControlUnit(
|
||||
halt <= 1'b0;
|
||||
addi <= 1'b0;
|
||||
mem <= 1'b0;
|
||||
dataMemEn <= 1'b0;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
link <= 1'b0;
|
||||
bank <= 2'b10;
|
||||
js <= 1'b0;
|
||||
@@ -229,7 +226,7 @@ module ControlUnit(
|
||||
halt <= 1'b0;
|
||||
addi <= 1'b0;
|
||||
mem <= 1'b0;
|
||||
dataMemEn <= 1'b0;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
link <= 1'b0;
|
||||
bank <= 2'b10;
|
||||
js <= 1'b0;
|
||||
@@ -243,7 +240,7 @@ module ControlUnit(
|
||||
halt <= 1'b0;
|
||||
addi <= 1'b0;
|
||||
mem <= 1'b0;
|
||||
dataMemEn <= 1'b0;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
link <= 1'b0;
|
||||
bank <= 2'b10;
|
||||
js <= 1'b0;
|
||||
@@ -256,7 +253,7 @@ module ControlUnit(
|
||||
halt <= 1'b0;
|
||||
addi <= 1'b0;
|
||||
mem <= 1'b0;
|
||||
dataMemEn <= 1'b0;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
link <= 1'b0;
|
||||
bank <= 2'b10;
|
||||
js <= 1'b0;
|
||||
@@ -265,7 +262,8 @@ module ControlUnit(
|
||||
begin
|
||||
halt <= 1'b1;
|
||||
RegEn <= 1'b1;
|
||||
FU <= 3'b001;
|
||||
FU <= 3'b001;
|
||||
dataMemEn <= 1'b0; // Disabled
|
||||
addi <= 1'b0;
|
||||
aluOut <= 4'b0000;
|
||||
mem <= 1'b0;
|
||||
|
||||
Reference in New Issue
Block a user