diff --git a/CPU9bits_tb_behav.wcfg b/CPU9bits_tb_behav.wcfg index d0808e6..56a2585 100644 --- a/CPU9bits_tb_behav.wcfg +++ b/CPU9bits_tb_behav.wcfg @@ -11,19 +11,18 @@ - - - + + + - - + + - + Program Counter label - clk clk @@ -51,14 +50,6 @@ Fetch Unit label - - clk - clk - - - reset - reset - op_idx op_idx @@ -66,11 +57,12 @@ AddrIn[8:0] AddrIn[8:0] - + UNSIGNEDDECRADIX AddrOut[8:0] AddrOut[8:0] + UNSIGNEDDECRADIX progC_out[8:0] @@ -88,7 +80,6 @@ Control Unit label - instIn[3:0] instIn[3:0] @@ -104,7 +95,6 @@ FU[2:0] FU[2:0] - bank[1:0] @@ -139,6 +129,125 @@ js + + Registers + label + + En + En + + + write_index[1:0] + write_index[1:0] + UNSIGNEDDECRADIX + + + op0_idx[1:0] + op0_idx[1:0] + UNSIGNEDDECRADIX + + + op1_idx[1:0] + op1_idx[1:0] + UNSIGNEDDECRADIX + + + write_data[8:0] + write_data[8:0] + UNSIGNEDDECRADIX + + + op0[8:0] + op0[8:0] + UNSIGNEDDECRADIX + + + op1[8:0] + op1[8:0] + UNSIGNEDDECRADIX + + + decOut[3:0] + decOut[3:0] + UNSIGNEDDECRADIX + + + r0_out[8:0] + r0_out[8:0] + SIGNEDDECRADIX + + + r1_out[8:0] + r1_out[8:0] + SIGNEDDECRADIX + + + r2_out[8:0] + r2_out[8:0] + SIGNEDDECRADIX + + + r3_out[8:0] + r3_out[8:0] + SIGNEDDECRADIX + + + + Banks + label + + En + En + + + write_index[1:0] + write_index[1:0] + + + op0_idx[1:0] + op0_idx[1:0] + + + op1_idx[1:0] + op1_idx[1:0] + + + write_data[8:0] + write_data[8:0] + + + op0[8:0] + op0[8:0] + + + op1[8:0] + op1[8:0] + + + decOut[3:0] + decOut[3:0] + + + r0_out[8:0] + r0_out[8:0] + SIGNEDDECRADIX + + + r1_out[8:0] + r1_out[8:0] + SIGNEDDECRADIX + + + r2_out[8:0] + r2_out[8:0] + SIGNEDDECRADIX + + + r3_out[8:0] + r3_out[8:0] + SIGNEDDECRADIX + + Divider label @@ -146,7 +255,6 @@ Instruction Memory label - address[8:0] address[8:0] @@ -208,12 +316,135 @@ Din[50:0] Din[50:0] - Dout[50:0] Dout[50:0] - + + + + Data Memory + label + + clk + clk + + + writeEnable + writeEnable + + + address[8:0] + address[8:0] + UNSIGNEDDECRADIX + + + writeData[8:0] + writeData[8:0] + + + readData[8:0] + readData[8:0] + + + memory[100:0][8:0] + memory[100:0][8:0] + + + + Divider + label + + + Mux 3 + label + + switch + switch + + + A[8:0] + A[8:0] + SIGNEDDECRADIX + + + B[8:0] + B[8:0] + SIGNEDDECRADIX + + + out[8:0] + out[8:0] + SIGNEDDECRADIX + + + + Mux 4 + label + + switch + switch + + + A[8:0] + A[8:0] + SIGNEDDECRADIX + + + B[8:0] + B[8:0] + SIGNEDDECRADIX + + + out[8:0] + out[8:0] + SIGNEDDECRADIX + + + + Mux 5 + label + + switch + switch + + + A[8:0] + A[8:0] + SIGNEDDECRADIX + + + B[8:0] + B[8:0] + SIGNEDDECRADIX + + + out[8:0] + out[8:0] + SIGNEDDECRADIX + + + + Mux 6 + label + + switch + switch + + + A[8:0] + A[8:0] + SIGNEDDECRADIX + + + B[8:0] + B[8:0] + SIGNEDDECRADIX + + + out[8:0] + out[8:0] + SIGNEDDECRADIX diff --git a/lab2CA.srcs/sources_1/new/ControlUnit.v b/lab2CA.srcs/sources_1/new/ControlUnit.v index 93f605d..7e17462 100644 --- a/lab2CA.srcs/sources_1/new/ControlUnit.v +++ b/lab2CA.srcs/sources_1/new/ControlUnit.v @@ -7,7 +7,7 @@ module ControlUnit( output reg [2:0] FU, output reg [1:0] bank, output reg addi, mem, dataMemEn, RegEn, halt, link, js, compare0, compare1 - ); + ); always @(instIn, functBit) begin diff --git a/lab2CA.xpr b/lab2CA.xpr index 2952301..f36c02f 100644 --- a/lab2CA.xpr +++ b/lab2CA.xpr @@ -3,7 +3,7 @@ - +