Files
WMU-ECE-3570-Lab/lab2CA.srcs/sources_1/new/lab2testing.v
goochey 34376a588e fetch unit
Should be done. also added 2 to 1 mux
2019-02-16 12:28:49 -05:00

85 lines
1.7 KiB
Verilog

`timescale 1ns / 1ps
module lab2testing();
endmodule
module regFile(input wire clk, reset,
input wire [1:0] write_index, op0_idx, op1_idx,
input wire [8:0] write_data,
output wire [8:0] op0, op1);
wire [8:0] r0_out, r1_out, r2_out, r3_out;
// To select a register En input must be 2'b00
register r0(
.clk(clk),
.reset(reset),
.En({write_index[0], write_index[1]}),
.Din(write_data),
.Dout(r0_out));
register r1(
.clk(clk),
.reset(reset),
.En({write_index[0], ~write_index[1]}),
.Din(write_data),
.Dout(r1_out));
register r2(
.clk(clk),
.reset(reset),
.En({~write_index[0], write_index[1]}),
.Din(write_data),
.Dout(r2_out));
register r3(
.clk(clk),
.reset(reset),
.En({~write_index[0], ~write_index[1]}),
.Din(write_data),
.Dout(r3_out));
Mux m0(
.A(r0_out),
.B(r1_out),
.C(r2_out),
.D(r3_out),
.switch(op0_idx));
Mux m1(
.A(r0_out),
.B(r1_out),
.C(r2_out),
.D(r3_out),
.switch(op1_idx));
<<<<<<< Updated upstream
endmodule
=======
endmodule
module register(input wire clk, reset,
input wire [1:0] En,
input wire [7:0] Din,
output reg [7:0] Dout);
endmodule
module MUX();
endmodule
module fetchUnit(input wire clk, reset, write_en);
register progcount(
.clk(clk),
.reset(reset),
.En(),
.Din(),
.Dout());
endmodule
>>>>>>> Stashed changes