From 42d2bf2d8037104f0378137d4c968f35c29dee91 Mon Sep 17 00:00:00 2001 From: "jose.rodriguezlabra" Date: Thu, 11 Apr 2019 17:32:17 -0400 Subject: [PATCH] Fixed pip enables, fixed Nop/Halt --- CPU9bits_tb_behav.wcfg | 746 ++---------------- lab2CA.cache/wt/webtalk_pa.xml | 22 +- lab2CA.runs/synth_1/gen_run.xml | 3 - lab2CA.sim/sim_1/behav/xsim/webtalk.jou | 14 +- .../sim_1/behav/xsim/webtalk_16352.backup.jou | 12 - .../sim_1/behav/xsim/webtalk_7088.backup.jou | 12 + .../xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c | 16 +- .../webtalk/xsim_webtalk.tcl | 24 +- .../xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem | Bin 22323 -> 22310 bytes lab2CA.sim/sim_1/behav/xsim/xvlog.pb | Bin 10328 -> 9619 bytes lab2CA.srcs/sources_1/new/CPU9bits.v | 7 +- lab2CA.srcs/sources_1/new/ControlUnit.v | 4 +- lab2CA.xpr | 4 +- 13 files changed, 111 insertions(+), 753 deletions(-) delete mode 100644 lab2CA.sim/sim_1/behav/xsim/webtalk_16352.backup.jou create mode 100644 lab2CA.sim/sim_1/behav/xsim/webtalk_7088.backup.jou diff --git a/CPU9bits_tb_behav.wcfg b/CPU9bits_tb_behav.wcfg index 5f2fe37..d0808e6 100644 --- a/CPU9bits_tb_behav.wcfg +++ b/CPU9bits_tb_behav.wcfg @@ -12,14 +12,14 @@ - - + + - + - + Program Counter label @@ -47,77 +47,10 @@ UNSIGNEDDECRADIX - - Register File - label - - - clk - clk - - - reset - reset - - - 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] - SIGNEDDECRADIX - - - op0[8:0] - op0[8:0] - SIGNEDDECRADIX - - - op1[8:0] - op1[8:0] - SIGNEDDECRADIX - - - 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 - - Fetch Unit label + clk clk @@ -133,6 +66,7 @@ AddrIn[8:0] AddrIn[8:0] + AddrOut[8:0] @@ -170,6 +104,7 @@ FU[2:0] FU[2:0] + bank[1:0] @@ -204,94 +139,6 @@ js - - ALU - label - - opcode[3:0] - opcode[3:0] - - - operand0[8:0] - operand0[8:0] - - - operand1[8:0] - operand1[8:0] - - - result[8:0] - result[8:0] - - - result_A[8:0] - result_A[8:0] - - - result_B[8:0] - result_B[8:0] - - - result_C[8:0] - result_C[8:0] - - - result_D[8:0] - result_D[8:0] - - - result_E[8:0] - result_E[8:0] - - - result_F[8:0] - result_F[8:0] - - - result_G[8:0] - result_G[8:0] - - - result_H[8:0] - result_H[8:0] - - - result_I[8:0] - result_I[8:0] - - - result_J[8:0] - result_J[8:0] - - - result_K[8:0] - result_K[8:0] - - - result_L[8:0] - result_L[8:0] - - - result_M[8:0] - result_M[8:0] - - - result_N[8:0] - result_N[8:0] - - - result_O[8:0] - result_O[8:0] - - - result_P[8:0] - result_P[8:0] - - - cout - cout - - Divider label @@ -314,544 +161,59 @@ memory[100:0][8:0] memory[100:0][8:0] - - - Data Memory - label - - + + switch + switch + + + A[8:0] + A[8:0] + + + B[8:0] + B[8:0] + + + out[8:0] + out[8:0] + + + switch + switch + + + A + A + + + B + B + + + out + out + + clk clk - - writeEnable - writeEnable + + reset + reset - - address[8:0] - address[8:0] - UNSIGNEDDECRADIX + + En + En - - writeData[8:0] - writeData[8:0] - SIGNEDDECRADIX - - - readData[8:0] - readData[8:0] - SIGNEDDECRADIX - - - memory[100:0][8:0] - memory[100:0][8:0] + + Din[50:0] + Din[50:0] + + + + Dout[50:0] + Dout[50:0] - SIGNEDDECRADIX - - [100][8:0] - [100][8:0] - SIGNEDDECRADIX - - - [99][8:0] - [99][8:0] - SIGNEDDECRADIX - - - [98][8:0] - [98][8:0] - SIGNEDDECRADIX - - - [97][8:0] - [97][8:0] - SIGNEDDECRADIX - - - [96][8:0] - [96][8:0] - SIGNEDDECRADIX - - - [95][8:0] - [95][8:0] - SIGNEDDECRADIX - - - [94][8:0] - [94][8:0] - SIGNEDDECRADIX - - - [93][8:0] - [93][8:0] - SIGNEDDECRADIX - - - [92][8:0] - [92][8:0] - SIGNEDDECRADIX - - - [91][8:0] - [91][8:0] - SIGNEDDECRADIX - - - [90][8:0] - [90][8:0] - SIGNEDDECRADIX - - - [89][8:0] - [89][8:0] - SIGNEDDECRADIX - - - [88][8:0] - [88][8:0] - SIGNEDDECRADIX - - - [87][8:0] - [87][8:0] - SIGNEDDECRADIX - - - [86][8:0] - [86][8:0] - SIGNEDDECRADIX - - - [85][8:0] - [85][8:0] - SIGNEDDECRADIX - - - [84][8:0] - [84][8:0] - SIGNEDDECRADIX - - - [83][8:0] - [83][8:0] - SIGNEDDECRADIX - - - [82][8:0] - [82][8:0] - SIGNEDDECRADIX - - - [81][8:0] - [81][8:0] - SIGNEDDECRADIX - - - [80][8:0] - [80][8:0] - SIGNEDDECRADIX - - - [79][8:0] - [79][8:0] - SIGNEDDECRADIX - - - [78][8:0] - [78][8:0] - SIGNEDDECRADIX - - - [77][8:0] - [77][8:0] - SIGNEDDECRADIX - - - [76][8:0] - [76][8:0] - SIGNEDDECRADIX - - - [75][8:0] - [75][8:0] - SIGNEDDECRADIX - - - [74][8:0] - [74][8:0] - SIGNEDDECRADIX - - - [73][8:0] - [73][8:0] - SIGNEDDECRADIX - - - [72][8:0] - [72][8:0] - SIGNEDDECRADIX - - - [71][8:0] - [71][8:0] - SIGNEDDECRADIX - - - [70][8:0] - [70][8:0] - SIGNEDDECRADIX - - - [69][8:0] - [69][8:0] - SIGNEDDECRADIX - - - [68][8:0] - [68][8:0] - SIGNEDDECRADIX - - - [67][8:0] - [67][8:0] - SIGNEDDECRADIX - - - [66][8:0] - [66][8:0] - SIGNEDDECRADIX - - - [65][8:0] - [65][8:0] - SIGNEDDECRADIX - - - [64][8:0] - [64][8:0] - SIGNEDDECRADIX - - - [63][8:0] - [63][8:0] - SIGNEDDECRADIX - - - [62][8:0] - [62][8:0] - SIGNEDDECRADIX - - - [61][8:0] - [61][8:0] - SIGNEDDECRADIX - - - [60][8:0] - [60][8:0] - SIGNEDDECRADIX - - - [59][8:0] - [59][8:0] - SIGNEDDECRADIX - - - [58][8:0] - [58][8:0] - SIGNEDDECRADIX - - - [57][8:0] - [57][8:0] - SIGNEDDECRADIX - - - [56][8:0] - [56][8:0] - SIGNEDDECRADIX - - - [55][8:0] - [55][8:0] - SIGNEDDECRADIX - - - [54][8:0] - [54][8:0] - SIGNEDDECRADIX - - - [53][8:0] - [53][8:0] - SIGNEDDECRADIX - - - [52][8:0] - [52][8:0] - SIGNEDDECRADIX - - - [51][8:0] - [51][8:0] - SIGNEDDECRADIX - - - [50][8:0] - [50][8:0] - SIGNEDDECRADIX - - - [49][8:0] - [49][8:0] - SIGNEDDECRADIX - - - [48][8:0] - [48][8:0] - SIGNEDDECRADIX - - - [47][8:0] - [47][8:0] - SIGNEDDECRADIX - - - [46][8:0] - [46][8:0] - SIGNEDDECRADIX - - - [45][8:0] - [45][8:0] - SIGNEDDECRADIX - - - [44][8:0] - [44][8:0] - SIGNEDDECRADIX - - - [43][8:0] - [43][8:0] - SIGNEDDECRADIX - - - [42][8:0] - [42][8:0] - SIGNEDDECRADIX - - - [41][8:0] - [41][8:0] - SIGNEDDECRADIX - - - [40][8:0] - [40][8:0] - SIGNEDDECRADIX - - - [39][8:0] - [39][8:0] - SIGNEDDECRADIX - - - [38][8:0] - [38][8:0] - SIGNEDDECRADIX - - - [37][8:0] - [37][8:0] - SIGNEDDECRADIX - - - [36][8:0] - [36][8:0] - SIGNEDDECRADIX - - - [35][8:0] - [35][8:0] - SIGNEDDECRADIX - - - [34][8:0] - [34][8:0] - SIGNEDDECRADIX - - - [33][8:0] - [33][8:0] - SIGNEDDECRADIX - - - [32][8:0] - [32][8:0] - SIGNEDDECRADIX - - - [31][8:0] - [31][8:0] - SIGNEDDECRADIX - - - [30][8:0] - [30][8:0] - SIGNEDDECRADIX - - - [29][8:0] - [29][8:0] - SIGNEDDECRADIX - - - [28][8:0] - [28][8:0] - SIGNEDDECRADIX - - - [27][8:0] - [27][8:0] - SIGNEDDECRADIX - - - [26][8:0] - [26][8:0] - SIGNEDDECRADIX - - - [25][8:0] - [25][8:0] - SIGNEDDECRADIX - - - [24][8:0] - [24][8:0] - SIGNEDDECRADIX - - - [23][8:0] - [23][8:0] - SIGNEDDECRADIX - - - [22][8:0] - [22][8:0] - SIGNEDDECRADIX - - - [21][8:0] - [21][8:0] - SIGNEDDECRADIX - - - [20][8:0] - [20][8:0] - SIGNEDDECRADIX - - - [19][8:0] - [19][8:0] - SIGNEDDECRADIX - - - [18][8:0] - [18][8:0] - SIGNEDDECRADIX - - - [17][8:0] - [17][8:0] - SIGNEDDECRADIX - - - [16][8:0] - [16][8:0] - SIGNEDDECRADIX - - - [15][8:0] - [15][8:0] - SIGNEDDECRADIX - - - [14][8:0] - [14][8:0] - SIGNEDDECRADIX - - - [13][8:0] - [13][8:0] - SIGNEDDECRADIX - - - [12][8:0] - [12][8:0] - SIGNEDDECRADIX - - - [11][8:0] - [11][8:0] - SIGNEDDECRADIX - - - [10][8:0] - [10][8:0] - SIGNEDDECRADIX - - - [9][8:0] - [9][8:0] - SIGNEDDECRADIX - - - [8][8:0] - [8][8:0] - SIGNEDDECRADIX - - - [7][8:0] - [7][8:0] - SIGNEDDECRADIX - - - [6][8:0] - [6][8:0] - SIGNEDDECRADIX - - - [5][8:0] - [5][8:0] - SIGNEDDECRADIX - - - [4][8:0] - [4][8:0] - SIGNEDDECRADIX - - - [3][8:0] - [3][8:0] - SIGNEDDECRADIX - - - [2][8:0] - [2][8:0] - SIGNEDDECRADIX - - - [1][8:0] - [1][8:0] - SIGNEDDECRADIX - - - [0][8:0] - [0][8:0] - SIGNEDDECRADIX - diff --git a/lab2CA.cache/wt/webtalk_pa.xml b/lab2CA.cache/wt/webtalk_pa.xml index ef41784..7da5dff 100644 --- a/lab2CA.cache/wt/webtalk_pa.xml +++ b/lab2CA.cache/wt/webtalk_pa.xml @@ -3,7 +3,7 @@ - +
@@ -18,7 +18,7 @@ This means code written to parse this file will need to be revisited each subseq - + @@ -61,7 +61,7 @@ This means code written to parse this file will need to be revisited each subseq - + @@ -69,7 +69,7 @@ This means code written to parse this file will need to be revisited each subseq - + @@ -81,7 +81,7 @@ This means code written to parse this file will need to be revisited each subseq - + @@ -91,12 +91,12 @@ This means code written to parse this file will need to be revisited each subseq - + - + @@ -125,7 +125,7 @@ This means code written to parse this file will need to be revisited each subseq - + @@ -188,7 +188,7 @@ This means code written to parse this file will need to be revisited each subseq - + @@ -203,9 +203,9 @@ This means code written to parse this file will need to be revisited each subseq - + - +
diff --git a/lab2CA.runs/synth_1/gen_run.xml b/lab2CA.runs/synth_1/gen_run.xml index 5b61254..46bfdca 100644 --- a/lab2CA.runs/synth_1/gen_run.xml +++ b/lab2CA.runs/synth_1/gen_run.xml @@ -1,14 +1,11 @@ - - - diff --git a/lab2CA.sim/sim_1/behav/xsim/webtalk.jou b/lab2CA.sim/sim_1/behav/xsim/webtalk.jou index 330f588..a2bcd83 100644 --- a/lab2CA.sim/sim_1/behav/xsim/webtalk.jou +++ b/lab2CA.sim/sim_1/behav/xsim/webtalk.jou @@ -2,11 +2,11 @@ # Webtalk v2018.3 (64-bit) # SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 # IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 -# Start of session at: Wed Apr 10 10:36:59 2019 -# Process ID: 20220 -# Current directory: C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim -# Command line: wbtcv.exe -mode batch -source C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl -notrace -# Log file: C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/webtalk.log -# Journal file: C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim\webtalk.jou +# Start of session at: Thu Apr 11 16:19:32 2019 +# Process ID: 16612 +# Current directory: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim +# Command line: wbtcv.exe -mode batch -source C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl -notrace +# Log file: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/webtalk.log +# Journal file: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim\webtalk.jou #----------------------------------------------------------- -source C:/REPOSITORIES/Educational/Western -notrace +source C:/Users/JoseIgnacio/CA -notrace diff --git a/lab2CA.sim/sim_1/behav/xsim/webtalk_16352.backup.jou b/lab2CA.sim/sim_1/behav/xsim/webtalk_16352.backup.jou deleted file mode 100644 index ebcc5c7..0000000 --- a/lab2CA.sim/sim_1/behav/xsim/webtalk_16352.backup.jou +++ /dev/null @@ -1,12 +0,0 @@ -#----------------------------------------------------------- -# Webtalk v2018.3 (64-bit) -# SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 -# IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 -# Start of session at: Sat Apr 6 14:28:59 2019 -# Process ID: 16352 -# Current directory: C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim -# Command line: wbtcv.exe -mode batch -source C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl -notrace -# Log file: C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/webtalk.log -# Journal file: C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim\webtalk.jou -#----------------------------------------------------------- -source C:/REPOSITORIES/Educational/Western -notrace diff --git a/lab2CA.sim/sim_1/behav/xsim/webtalk_7088.backup.jou b/lab2CA.sim/sim_1/behav/xsim/webtalk_7088.backup.jou new file mode 100644 index 0000000..4b0e6a4 --- /dev/null +++ b/lab2CA.sim/sim_1/behav/xsim/webtalk_7088.backup.jou @@ -0,0 +1,12 @@ +#----------------------------------------------------------- +# Webtalk v2018.3 (64-bit) +# SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 +# IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 +# Start of session at: Thu Apr 11 16:05:33 2019 +# Process ID: 7088 +# Current directory: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim +# Command line: wbtcv.exe -mode batch -source C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl -notrace +# Log file: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/webtalk.log +# Journal file: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim\webtalk.jou +#----------------------------------------------------------- +source C:/Users/JoseIgnacio/CA -notrace diff --git a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c index 832c70c..84a03bd 100644 --- a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c +++ b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c @@ -47,11 +47,12 @@ extern int main(int, char**); extern void execute_2(char*, char *); extern void execute_3(char*, char *); extern void execute_183(char*, char *); +extern void execute_456(char*, char *); +extern void execute_457(char*, char *); +extern void vlog_simple_process_execute_0_fast_no_reg_no_agg(char*, char*, char*); +extern void vlog_const_rhs_process_execute_0_fast_no_reg_no_agg(char*, char*, char*); extern void execute_454(char*, char *); extern void execute_455(char*, char *); -extern void vlog_simple_process_execute_0_fast_no_reg_no_agg(char*, char*, char*); -extern void execute_452(char*, char *); -extern void execute_453(char*, char *); extern void execute_189(char*, char *); extern void execute_220(char*, char *); extern void execute_221(char*, char *); @@ -66,7 +67,6 @@ extern void execute_229(char*, char *); extern void execute_230(char*, char *); extern void execute_7(char*, char *); extern void execute_8(char*, char *); -extern void vlog_const_rhs_process_execute_0_fast_no_reg_no_agg(char*, char*, char*); extern void execute_209(char*, char *); extern void execute_211(char*, char *); extern void execute_212(char*, char *); @@ -149,14 +149,14 @@ extern void execute_451(char*, char *); extern void execute_185(char*, char *); extern void execute_186(char*, char *); extern void execute_187(char*, char *); -extern void execute_456(char*, char *); -extern void execute_457(char*, char *); extern void execute_458(char*, char *); extern void execute_459(char*, char *); extern void execute_460(char*, char *); +extern void execute_461(char*, char *); +extern void execute_462(char*, char *); extern void vlog_transfunc_eventcallback(char*, char*, unsigned, unsigned, unsigned, char *); -extern void transaction_107(char*, char*, unsigned, unsigned, unsigned); -funcp funcTab[112] = {(funcp)execute_2, (funcp)execute_3, (funcp)execute_183, (funcp)execute_454, (funcp)execute_455, (funcp)vlog_simple_process_execute_0_fast_no_reg_no_agg, (funcp)execute_452, (funcp)execute_453, (funcp)execute_189, (funcp)execute_220, (funcp)execute_221, (funcp)execute_222, (funcp)execute_223, (funcp)execute_224, (funcp)execute_225, (funcp)execute_226, (funcp)execute_227, (funcp)execute_228, (funcp)execute_229, (funcp)execute_230, (funcp)execute_7, (funcp)execute_8, (funcp)vlog_const_rhs_process_execute_0_fast_no_reg_no_agg, (funcp)execute_209, (funcp)execute_211, (funcp)execute_212, (funcp)execute_11, (funcp)execute_190, (funcp)execute_191, (funcp)execute_23, (funcp)execute_213, (funcp)execute_214, (funcp)execute_215, (funcp)execute_216, (funcp)execute_217, (funcp)execute_218, (funcp)execute_219, (funcp)execute_26, (funcp)execute_36, (funcp)execute_40, (funcp)execute_42, (funcp)execute_231, (funcp)execute_232, (funcp)execute_233, (funcp)execute_234, (funcp)execute_235, (funcp)execute_236, (funcp)execute_237, (funcp)execute_238, (funcp)execute_239, (funcp)execute_240, (funcp)execute_241, (funcp)execute_242, (funcp)execute_243, (funcp)execute_244, (funcp)execute_425, (funcp)execute_427, (funcp)execute_428, (funcp)execute_430, (funcp)execute_431, (funcp)execute_432, (funcp)execute_433, (funcp)execute_434, (funcp)execute_45, (funcp)execute_46, (funcp)execute_360, (funcp)execute_361, (funcp)execute_362, (funcp)execute_363, (funcp)execute_364, (funcp)execute_365, (funcp)execute_289, (funcp)execute_270, (funcp)execute_310, (funcp)execute_311, (funcp)execute_312, (funcp)execute_313, (funcp)execute_314, (funcp)execute_315, (funcp)execute_357, (funcp)execute_358, (funcp)execute_129, (funcp)execute_405, (funcp)execute_160, (funcp)execute_173, (funcp)execute_435, (funcp)execute_436, (funcp)execute_437, (funcp)execute_438, (funcp)execute_439, (funcp)execute_440, (funcp)execute_441, (funcp)execute_442, (funcp)execute_443, (funcp)execute_444, (funcp)execute_445, (funcp)execute_446, (funcp)execute_447, (funcp)execute_448, (funcp)execute_449, (funcp)execute_450, (funcp)execute_451, (funcp)execute_185, (funcp)execute_186, (funcp)execute_187, (funcp)execute_456, (funcp)execute_457, (funcp)execute_458, (funcp)execute_459, (funcp)execute_460, (funcp)vlog_transfunc_eventcallback, (funcp)transaction_107}; +extern void transaction_109(char*, char*, unsigned, unsigned, unsigned); +funcp funcTab[112] = {(funcp)execute_2, (funcp)execute_3, (funcp)execute_183, (funcp)execute_456, (funcp)execute_457, (funcp)vlog_simple_process_execute_0_fast_no_reg_no_agg, (funcp)vlog_const_rhs_process_execute_0_fast_no_reg_no_agg, (funcp)execute_454, (funcp)execute_455, (funcp)execute_189, (funcp)execute_220, (funcp)execute_221, (funcp)execute_222, (funcp)execute_223, (funcp)execute_224, (funcp)execute_225, (funcp)execute_226, (funcp)execute_227, (funcp)execute_228, (funcp)execute_229, (funcp)execute_230, (funcp)execute_7, (funcp)execute_8, (funcp)execute_209, (funcp)execute_211, (funcp)execute_212, (funcp)execute_11, (funcp)execute_190, (funcp)execute_191, (funcp)execute_23, (funcp)execute_213, (funcp)execute_214, (funcp)execute_215, (funcp)execute_216, (funcp)execute_217, (funcp)execute_218, (funcp)execute_219, (funcp)execute_26, (funcp)execute_36, (funcp)execute_40, (funcp)execute_42, (funcp)execute_231, (funcp)execute_232, (funcp)execute_233, (funcp)execute_234, (funcp)execute_235, (funcp)execute_236, (funcp)execute_237, (funcp)execute_238, (funcp)execute_239, (funcp)execute_240, (funcp)execute_241, (funcp)execute_242, (funcp)execute_243, (funcp)execute_244, (funcp)execute_425, (funcp)execute_427, (funcp)execute_428, (funcp)execute_430, (funcp)execute_431, (funcp)execute_432, (funcp)execute_433, (funcp)execute_434, (funcp)execute_45, (funcp)execute_46, (funcp)execute_360, (funcp)execute_361, (funcp)execute_362, (funcp)execute_363, (funcp)execute_364, (funcp)execute_365, (funcp)execute_289, (funcp)execute_270, (funcp)execute_310, (funcp)execute_311, (funcp)execute_312, (funcp)execute_313, (funcp)execute_314, (funcp)execute_315, (funcp)execute_357, (funcp)execute_358, (funcp)execute_129, (funcp)execute_405, (funcp)execute_160, (funcp)execute_173, (funcp)execute_435, (funcp)execute_436, (funcp)execute_437, (funcp)execute_438, (funcp)execute_439, (funcp)execute_440, (funcp)execute_441, (funcp)execute_442, (funcp)execute_443, (funcp)execute_444, (funcp)execute_445, (funcp)execute_446, (funcp)execute_447, (funcp)execute_448, (funcp)execute_449, (funcp)execute_450, (funcp)execute_451, (funcp)execute_185, (funcp)execute_186, (funcp)execute_187, (funcp)execute_458, (funcp)execute_459, (funcp)execute_460, (funcp)execute_461, (funcp)execute_462, (funcp)vlog_transfunc_eventcallback, (funcp)transaction_109}; const int NumRelocateId= 112; void relocate(char *dp) diff --git a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl index 333a23d..4b06394 100644 --- a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl +++ b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl @@ -1,6 +1,6 @@ -webtalk_init -webtalk_dir C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/ +webtalk_init -webtalk_dir C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/ webtalk_register_client -client project -webtalk_add_data -client project -key date_generated -value "Wed Apr 10 12:50:20 2019" -context "software_version_and_target_device" +webtalk_add_data -client project -key date_generated -value "Thu Apr 11 17:31:39 2019" -context "software_version_and_target_device" webtalk_add_data -client project -key product_version -value "XSIM v2018.3 (64-bit)" -context "software_version_and_target_device" webtalk_add_data -client project -key build_version -value "2405991" -context "software_version_and_target_device" webtalk_add_data -client project -key os_platform -value "WIN64" -context "software_version_and_target_device" @@ -12,21 +12,21 @@ webtalk_add_data -client project -key target_family -value "not_applicable" -con webtalk_add_data -client project -key target_device -value "not_applicable" -context "software_version_and_target_device" webtalk_add_data -client project -key target_package -value "not_applicable" -context "software_version_and_target_device" webtalk_add_data -client project -key target_speed -value "not_applicable" -context "software_version_and_target_device" -webtalk_add_data -client project -key random_id -value "f67bb5263bf851bf9c1beaa84fe1017c" -context "software_version_and_target_device" +webtalk_add_data -client project -key random_id -value "17336daf-0d92-4f07-b4a4-ff1c52043edb" -context "software_version_and_target_device" webtalk_add_data -client project -key project_id -value "0a5803efda44405bb28bbf43ba22e808" -context "software_version_and_target_device" -webtalk_add_data -client project -key project_iteration -value "78" -context "software_version_and_target_device" +webtalk_add_data -client project -key project_iteration -value "143" -context "software_version_and_target_device" webtalk_add_data -client project -key os_name -value "Microsoft Windows 8 or later , 64-bit" -context "user_environment" webtalk_add_data -client project -key os_release -value "major release (build 9200)" -context "user_environment" -webtalk_add_data -client project -key cpu_name -value "Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz" -context "user_environment" -webtalk_add_data -client project -key cpu_speed -value "2395 MHz" -context "user_environment" +webtalk_add_data -client project -key cpu_name -value "Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz" -context "user_environment" +webtalk_add_data -client project -key cpu_speed -value "2594 MHz" -context "user_environment" webtalk_add_data -client project -key total_processors -value "1" -context "user_environment" -webtalk_add_data -client project -key system_ram -value "17.000 GB" -context "user_environment" +webtalk_add_data -client project -key system_ram -value "8.000 GB" -context "user_environment" webtalk_register_client -client xsim webtalk_add_data -client xsim -key Command -value "xsim" -context "xsim\\command_line_options" webtalk_add_data -client xsim -key trace_waveform -value "true" -context "xsim\\usage" -webtalk_add_data -client xsim -key runtime -value "10065 ns" -context "xsim\\usage" -webtalk_add_data -client xsim -key iteration -value "3" -context "xsim\\usage" -webtalk_add_data -client xsim -key Simulation_Time -value "0.09_sec" -context "xsim\\usage" -webtalk_add_data -client xsim -key Simulation_Memory -value "6280_KB" -context "xsim\\usage" -webtalk_transmit -clientid 722425617 -regid "" -xml C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.xml -html C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.html -wdm C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.wdm -intro "

XSIM Usage Report


" +webtalk_add_data -client xsim -key runtime -value "50015 ns" -context "xsim\\usage" +webtalk_add_data -client xsim -key iteration -value "0" -context "xsim\\usage" +webtalk_add_data -client xsim -key Simulation_Time -value "0.14_sec" -context "xsim\\usage" +webtalk_add_data -client xsim -key Simulation_Memory -value "8272_KB" -context "xsim\\usage" +webtalk_transmit -clientid 2296267995 -regid "" -xml C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.xml -html C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.html -wdm C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.wdm -intro "

XSIM Usage Report


" webtalk_terminate diff --git a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem index 3f0155fd9f3bd99ae136e53ebb77d6b2b3190ad2..8ab23eaeff9f78ebcd4189e42030c960d5636985 100644 GIT binary patch literal 22310 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 I0> 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 diff --git a/lab2CA.srcs/sources_1/new/CPU9bits.v b/lab2CA.srcs/sources_1/new/CPU9bits.v index 6c48962..05c6ebb 100644 --- a/lab2CA.srcs/sources_1/new/CPU9bits.v +++ b/lab2CA.srcs/sources_1/new/CPU9bits.v @@ -29,7 +29,7 @@ module CPU9bits( fDPipReg pipe1( .clk(clk), .reset(reset), - .En(RegEn), + .En(1'b0), .Din(FDOut), .Dout(FDPipOut) ); @@ -44,7 +44,7 @@ module CPU9bits( eMPipReg pipe2( .clk(clk), .reset(reset), - .En(RegEn), + .En(1'b0), .Din(EMOut), .Dout(EMPipOut) ); @@ -72,13 +72,12 @@ module CPU9bits_tb(); #5 clk = ~clk; // Period to be determined end - CPU9bits CPU9bits0( .reset(reset), .clk(clk), .done(done), .result(result)); - + initial begin #5 reset = 1'b1; diff --git a/lab2CA.srcs/sources_1/new/ControlUnit.v b/lab2CA.srcs/sources_1/new/ControlUnit.v index c5b4f75..1a14734 100644 --- a/lab2CA.srcs/sources_1/new/ControlUnit.v +++ b/lab2CA.srcs/sources_1/new/ControlUnit.v @@ -7,14 +7,14 @@ module ControlUnit( output reg [2:0] FU, output reg [1:0] bank, output reg addi, mem, dataMemEn, RegEn, halt, link, js - ); + ); always @(instIn, functBit) begin case(instIn) 4'b0000: // Halt/NOP begin - halt <= 1'b1; + halt <= functBit; RegEn <= 1'b1; FU <= 3'b001; // Disable Branching addi <= 1'b0; diff --git a/lab2CA.xpr b/lab2CA.xpr index dff2348..4685357 100644 --- a/lab2CA.xpr +++ b/lab2CA.xpr @@ -3,7 +3,7 @@ - +