diff --git a/PipelineProcessor.sim/sim_1/behav/xsim/xelab.pb b/PipelineProcessor.sim/sim_1/behav/xsim/xelab.pb index 71a5e13..86c31e2 100644 Binary files a/PipelineProcessor.sim/sim_1/behav/xsim/xelab.pb and b/PipelineProcessor.sim/sim_1/behav/xsim/xelab.pb differ diff --git a/PipelineProcessor.sim/sim_1/behav/xsim/xsim.dir/test_cpu_behav/obj/xsim_2.c b/PipelineProcessor.sim/sim_1/behav/xsim/xsim.dir/test_cpu_behav/obj/xsim_2.c index 003c94e..b19bb18 100644 --- a/PipelineProcessor.sim/sim_1/behav/xsim/xsim.dir/test_cpu_behav/obj/xsim_2.c +++ b/PipelineProcessor.sim/sim_1/behav/xsim/xsim.dir/test_cpu_behav/obj/xsim_2.c @@ -55,19 +55,19 @@ typedef void (*funcp)(char *, char *); extern int main(int, char**); IKI_DLLESPEC extern void execute_2(char*, char *); +IKI_DLLESPEC extern void execute_157(char*, char *); IKI_DLLESPEC extern void execute_158(char*, char *); -IKI_DLLESPEC extern void execute_159(char*, char *); -IKI_DLLESPEC extern void execute_313(char*, char *); -IKI_DLLESPEC extern void execute_314(char*, char *); -IKI_DLLESPEC extern void execute_237(char*, char *); -IKI_DLLESPEC extern void execute_238(char*, char *); +IKI_DLLESPEC extern void execute_310(char*, char *); IKI_DLLESPEC extern void execute_311(char*, char *); -IKI_DLLESPEC extern void execute_312(char*, char *); +IKI_DLLESPEC extern void execute_236(char*, char *); +IKI_DLLESPEC extern void execute_237(char*, char *); +IKI_DLLESPEC extern void execute_308(char*, char *); +IKI_DLLESPEC extern void execute_309(char*, char *); IKI_DLLESPEC extern void vlog_simple_process_execute_0_fast_no_reg_no_agg(char*, char*, char*); IKI_DLLESPEC extern void vlog_const_rhs_process_execute_0_fast_no_reg_no_agg(char*, char*, char*); +IKI_DLLESPEC extern void execute_234(char*, char *); IKI_DLLESPEC extern void execute_235(char*, char *); -IKI_DLLESPEC extern void execute_236(char*, char *); -IKI_DLLESPEC extern void execute_165(char*, char *); +IKI_DLLESPEC extern void execute_164(char*, char *); IKI_DLLESPEC extern void execute_8(char*, char *); IKI_DLLESPEC extern void execute_9(char*, char *); IKI_DLLESPEC extern void execute_10(char*, char *); @@ -181,15 +181,16 @@ IKI_DLLESPEC extern void execute_118(char*, char *); IKI_DLLESPEC extern void execute_119(char*, char *); IKI_DLLESPEC extern void execute_120(char*, char *); IKI_DLLESPEC extern void execute_129(char*, char *); +IKI_DLLESPEC extern void execute_165(char*, char *); IKI_DLLESPEC extern void execute_166(char*, char *); -IKI_DLLESPEC extern void execute_167(char*, char *); +IKI_DLLESPEC extern void execute_170(char*, char *); IKI_DLLESPEC extern void execute_171(char*, char *); -IKI_DLLESPEC extern void execute_172(char*, char *); +IKI_DLLESPEC extern void execute_180(char*, char *); IKI_DLLESPEC extern void execute_181(char*, char *); IKI_DLLESPEC extern void execute_182(char*, char *); IKI_DLLESPEC extern void execute_183(char*, char *); IKI_DLLESPEC extern void execute_184(char*, char *); -IKI_DLLESPEC extern void execute_185(char*, char *); +IKI_DLLESPEC extern void execute_192(char*, char *); IKI_DLLESPEC extern void execute_193(char*, char *); IKI_DLLESPEC extern void execute_194(char*, char *); IKI_DLLESPEC extern void execute_195(char*, char *); @@ -225,14 +226,14 @@ IKI_DLLESPEC extern void execute_224(char*, char *); IKI_DLLESPEC extern void execute_225(char*, char *); IKI_DLLESPEC extern void execute_226(char*, char *); IKI_DLLESPEC extern void execute_227(char*, char *); -IKI_DLLESPEC extern void execute_228(char*, char *); -IKI_DLLESPEC extern void execute_231(char*, char *); +IKI_DLLESPEC extern void execute_230(char*, char *); IKI_DLLESPEC extern void execute_135(char*, char *); -IKI_DLLESPEC extern void execute_239(char*, char *); +IKI_DLLESPEC extern void execute_238(char*, char *); +IKI_DLLESPEC extern void execute_240(char*, char *); IKI_DLLESPEC extern void execute_241(char*, char *); -IKI_DLLESPEC extern void execute_242(char*, char *); IKI_DLLESPEC extern void execute_134(char*, char *); IKI_DLLESPEC extern void execute_142(char*, char *); +IKI_DLLESPEC extern void execute_242(char*, char *); IKI_DLLESPEC extern void execute_243(char*, char *); IKI_DLLESPEC extern void execute_244(char*, char *); IKI_DLLESPEC extern void execute_245(char*, char *); @@ -240,10 +241,10 @@ IKI_DLLESPEC extern void execute_246(char*, char *); IKI_DLLESPEC extern void execute_247(char*, char *); IKI_DLLESPEC extern void execute_248(char*, char *); IKI_DLLESPEC extern void execute_249(char*, char *); -IKI_DLLESPEC extern void execute_250(char*, char *); -IKI_DLLESPEC extern void execute_252(char*, char *); -IKI_DLLESPEC extern void execute_269(char*, char *); -IKI_DLLESPEC extern void execute_275(char*, char *); +IKI_DLLESPEC extern void execute_251(char*, char *); +IKI_DLLESPEC extern void execute_268(char*, char *); +IKI_DLLESPEC extern void execute_274(char*, char *); +IKI_DLLESPEC extern void execute_255(char*, char *); IKI_DLLESPEC extern void execute_256(char*, char *); IKI_DLLESPEC extern void execute_257(char*, char *); IKI_DLLESPEC extern void execute_258(char*, char *); @@ -256,78 +257,75 @@ IKI_DLLESPEC extern void execute_264(char*, char *); IKI_DLLESPEC extern void execute_265(char*, char *); IKI_DLLESPEC extern void execute_266(char*, char *); IKI_DLLESPEC extern void execute_267(char*, char *); -IKI_DLLESPEC extern void execute_268(char*, char *); IKI_DLLESPEC extern void execute_139(char*, char *); IKI_DLLESPEC extern void execute_140(char*, char *); +IKI_DLLESPEC extern void execute_269(char*, char *); IKI_DLLESPEC extern void execute_270(char*, char *); -IKI_DLLESPEC extern void execute_271(char*, char *); -IKI_DLLESPEC extern void execute_274(char*, char *); +IKI_DLLESPEC extern void execute_273(char*, char *); IKI_DLLESPEC extern void execute_146(char*, char *); +IKI_DLLESPEC extern void execute_275(char*, char *); IKI_DLLESPEC extern void execute_276(char*, char *); IKI_DLLESPEC extern void execute_277(char*, char *); -IKI_DLLESPEC extern void execute_278(char*, char *); -IKI_DLLESPEC extern void execute_280(char*, char *); -IKI_DLLESPEC extern void execute_281(char*, char *); -IKI_DLLESPEC extern void execute_287(char*, char *); -IKI_DLLESPEC extern void execute_290(char*, char *); -IKI_DLLESPEC extern void execute_291(char*, char *); -IKI_DLLESPEC extern void execute_145(char*, char *); IKI_DLLESPEC extern void execute_279(char*, char *); +IKI_DLLESPEC extern void execute_280(char*, char *); +IKI_DLLESPEC extern void execute_286(char*, char *); +IKI_DLLESPEC extern void execute_289(char*, char *); +IKI_DLLESPEC extern void execute_290(char*, char *); +IKI_DLLESPEC extern void execute_145(char*, char *); +IKI_DLLESPEC extern void execute_278(char*, char *); IKI_DLLESPEC extern void execute_148(char*, char *); -IKI_DLLESPEC extern void execute_294(char*, char *); IKI_DLLESPEC extern void execute_150(char*, char *); -IKI_DLLESPEC extern void execute_302(char*, char *); +IKI_DLLESPEC extern void execute_300(char*, char *); IKI_DLLESPEC extern void execute_152(char*, char *); IKI_DLLESPEC extern void execute_153(char*, char *); +IKI_DLLESPEC extern void execute_302(char*, char *); +IKI_DLLESPEC extern void execute_303(char*, char *); +IKI_DLLESPEC extern void execute_155(char*, char *); IKI_DLLESPEC extern void execute_304(char*, char *); IKI_DLLESPEC extern void execute_305(char*, char *); -IKI_DLLESPEC extern void execute_155(char*, char *); IKI_DLLESPEC extern void execute_306(char*, char *); IKI_DLLESPEC extern void execute_307(char*, char *); -IKI_DLLESPEC extern void execute_308(char*, char *); -IKI_DLLESPEC extern void execute_309(char*, char *); -IKI_DLLESPEC extern void execute_310(char*, char *); +IKI_DLLESPEC extern void execute_160(char*, char *); IKI_DLLESPEC extern void execute_161(char*, char *); IKI_DLLESPEC extern void execute_162(char*, char *); IKI_DLLESPEC extern void execute_163(char*, char *); -IKI_DLLESPEC extern void execute_164(char*, char *); +IKI_DLLESPEC extern void execute_312(char*, char *); +IKI_DLLESPEC extern void execute_313(char*, char *); +IKI_DLLESPEC extern void execute_314(char*, char *); IKI_DLLESPEC extern void execute_315(char*, char *); IKI_DLLESPEC extern void execute_316(char*, char *); IKI_DLLESPEC extern void execute_317(char*, char *); -IKI_DLLESPEC extern void execute_318(char*, char *); -IKI_DLLESPEC extern void execute_319(char*, char *); -IKI_DLLESPEC extern void execute_320(char*, char *); IKI_DLLESPEC extern void vlog_transfunc_eventcallback(char*, char*, unsigned, unsigned, unsigned, char *); -IKI_DLLESPEC extern void transaction_61(char*, char*, unsigned, unsigned, unsigned); -IKI_DLLESPEC extern void transaction_63(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_60(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_62(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_69(char*, char*, unsigned, unsigned, unsigned); IKI_DLLESPEC extern void transaction_70(char*, char*, unsigned, unsigned, unsigned); -IKI_DLLESPEC extern void transaction_71(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_72(char*, char*, unsigned, unsigned, unsigned); IKI_DLLESPEC extern void transaction_73(char*, char*, unsigned, unsigned, unsigned); -IKI_DLLESPEC extern void transaction_74(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_76(char*, char*, unsigned, unsigned, unsigned); IKI_DLLESPEC extern void transaction_77(char*, char*, unsigned, unsigned, unsigned); IKI_DLLESPEC extern void transaction_78(char*, char*, unsigned, unsigned, unsigned); IKI_DLLESPEC extern void transaction_79(char*, char*, unsigned, unsigned, unsigned); IKI_DLLESPEC extern void transaction_80(char*, char*, unsigned, unsigned, unsigned); -IKI_DLLESPEC extern void transaction_81(char*, char*, unsigned, unsigned, unsigned); -IKI_DLLESPEC extern void transaction_85(char*, char*, unsigned, unsigned, unsigned); -IKI_DLLESPEC extern void transaction_89(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_84(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_88(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_106(char*, char*, unsigned, unsigned, unsigned); IKI_DLLESPEC extern void transaction_107(char*, char*, unsigned, unsigned, unsigned); -IKI_DLLESPEC extern void transaction_108(char*, char*, unsigned, unsigned, unsigned); -IKI_DLLESPEC extern void transaction_153(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_152(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_187(char*, char*, unsigned, unsigned, unsigned); IKI_DLLESPEC extern void transaction_188(char*, char*, unsigned, unsigned, unsigned); -IKI_DLLESPEC extern void transaction_189(char*, char*, unsigned, unsigned, unsigned); -IKI_DLLESPEC extern void transaction_214(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_213(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_260(char*, char*, unsigned, unsigned, unsigned); IKI_DLLESPEC extern void transaction_261(char*, char*, unsigned, unsigned, unsigned); -IKI_DLLESPEC extern void transaction_262(char*, char*, unsigned, unsigned, unsigned); -IKI_DLLESPEC extern void transaction_293(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_292(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_321(char*, char*, unsigned, unsigned, unsigned); IKI_DLLESPEC extern void transaction_322(char*, char*, unsigned, unsigned, unsigned); -IKI_DLLESPEC extern void transaction_323(char*, char*, unsigned, unsigned, unsigned); -funcp funcTab[268] = {(funcp)execute_2, (funcp)execute_158, (funcp)execute_159, (funcp)execute_313, (funcp)execute_314, (funcp)execute_237, (funcp)execute_238, (funcp)execute_311, (funcp)execute_312, (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_235, (funcp)execute_236, (funcp)execute_165, (funcp)execute_8, (funcp)execute_9, (funcp)execute_10, (funcp)execute_11, (funcp)execute_12, (funcp)execute_13, (funcp)execute_14, (funcp)execute_15, (funcp)execute_16, (funcp)execute_17, (funcp)execute_18, (funcp)execute_19, (funcp)execute_20, (funcp)execute_21, (funcp)execute_22, (funcp)execute_24, (funcp)execute_25, (funcp)execute_26, (funcp)execute_27, (funcp)execute_28, (funcp)execute_29, (funcp)execute_30, (funcp)execute_31, (funcp)execute_32, (funcp)execute_33, (funcp)execute_34, (funcp)execute_35, (funcp)execute_36, (funcp)execute_37, (funcp)execute_38, (funcp)execute_39, (funcp)execute_40, (funcp)execute_41, (funcp)execute_42, (funcp)execute_43, (funcp)execute_44, (funcp)execute_45, (funcp)execute_46, (funcp)execute_47, (funcp)execute_48, (funcp)execute_49, (funcp)execute_50, (funcp)execute_51, (funcp)execute_52, (funcp)execute_53, (funcp)execute_54, (funcp)execute_55, (funcp)execute_56, (funcp)execute_57, (funcp)execute_58, (funcp)execute_59, (funcp)execute_60, (funcp)execute_61, (funcp)execute_62, (funcp)execute_63, (funcp)execute_64, (funcp)execute_65, (funcp)execute_66, (funcp)execute_67, (funcp)execute_68, (funcp)execute_69, (funcp)execute_70, (funcp)execute_71, (funcp)execute_72, (funcp)execute_73, (funcp)execute_74, (funcp)execute_75, (funcp)execute_76, (funcp)execute_77, (funcp)execute_78, (funcp)execute_79, (funcp)execute_80, (funcp)execute_81, (funcp)execute_82, (funcp)execute_83, (funcp)execute_84, (funcp)execute_85, (funcp)execute_86, (funcp)execute_87, (funcp)execute_88, (funcp)execute_89, (funcp)execute_90, (funcp)execute_91, (funcp)execute_92, (funcp)execute_93, (funcp)execute_94, (funcp)execute_95, (funcp)execute_96, (funcp)execute_97, (funcp)execute_98, (funcp)execute_99, (funcp)execute_100, (funcp)execute_101, (funcp)execute_102, (funcp)execute_103, (funcp)execute_104, (funcp)execute_105, (funcp)execute_106, (funcp)execute_107, (funcp)execute_108, (funcp)execute_109, (funcp)execute_110, (funcp)execute_111, (funcp)execute_112, (funcp)execute_113, (funcp)execute_114, (funcp)execute_115, (funcp)execute_116, (funcp)execute_117, (funcp)execute_118, (funcp)execute_119, (funcp)execute_120, (funcp)execute_129, (funcp)execute_166, (funcp)execute_167, (funcp)execute_171, (funcp)execute_172, (funcp)execute_181, (funcp)execute_182, (funcp)execute_183, (funcp)execute_184, (funcp)execute_185, (funcp)execute_193, (funcp)execute_194, (funcp)execute_195, (funcp)execute_196, (funcp)execute_197, (funcp)execute_198, (funcp)execute_199, (funcp)execute_200, (funcp)execute_201, (funcp)execute_202, (funcp)execute_203, (funcp)execute_204, (funcp)execute_205, (funcp)execute_206, (funcp)execute_207, (funcp)execute_208, (funcp)execute_209, (funcp)execute_210, (funcp)execute_211, (funcp)execute_212, (funcp)execute_213, (funcp)execute_214, (funcp)execute_215, (funcp)execute_216, (funcp)execute_217, (funcp)execute_218, (funcp)execute_219, (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_231, (funcp)execute_135, (funcp)execute_239, (funcp)execute_241, (funcp)execute_242, (funcp)execute_134, (funcp)execute_142, (funcp)execute_243, (funcp)execute_244, (funcp)execute_245, (funcp)execute_246, (funcp)execute_247, (funcp)execute_248, (funcp)execute_249, (funcp)execute_250, (funcp)execute_252, (funcp)execute_269, (funcp)execute_275, (funcp)execute_256, (funcp)execute_257, (funcp)execute_258, (funcp)execute_259, (funcp)execute_260, (funcp)execute_261, (funcp)execute_262, (funcp)execute_263, (funcp)execute_264, (funcp)execute_265, (funcp)execute_266, (funcp)execute_267, (funcp)execute_268, (funcp)execute_139, (funcp)execute_140, (funcp)execute_270, (funcp)execute_271, (funcp)execute_274, (funcp)execute_146, (funcp)execute_276, (funcp)execute_277, (funcp)execute_278, (funcp)execute_280, (funcp)execute_281, (funcp)execute_287, (funcp)execute_290, (funcp)execute_291, (funcp)execute_145, (funcp)execute_279, (funcp)execute_148, (funcp)execute_294, (funcp)execute_150, (funcp)execute_302, (funcp)execute_152, (funcp)execute_153, (funcp)execute_304, (funcp)execute_305, (funcp)execute_155, (funcp)execute_306, (funcp)execute_307, (funcp)execute_308, (funcp)execute_309, (funcp)execute_310, (funcp)execute_161, (funcp)execute_162, (funcp)execute_163, (funcp)execute_164, (funcp)execute_315, (funcp)execute_316, (funcp)execute_317, (funcp)execute_318, (funcp)execute_319, (funcp)execute_320, (funcp)vlog_transfunc_eventcallback, (funcp)transaction_61, (funcp)transaction_63, (funcp)transaction_70, (funcp)transaction_71, (funcp)transaction_73, (funcp)transaction_74, (funcp)transaction_77, (funcp)transaction_78, (funcp)transaction_79, (funcp)transaction_80, (funcp)transaction_81, (funcp)transaction_85, (funcp)transaction_89, (funcp)transaction_107, (funcp)transaction_108, (funcp)transaction_153, (funcp)transaction_188, (funcp)transaction_189, (funcp)transaction_214, (funcp)transaction_261, (funcp)transaction_262, (funcp)transaction_293, (funcp)transaction_322, (funcp)transaction_323}; -const int NumRelocateId= 268; +funcp funcTab[266] = {(funcp)execute_2, (funcp)execute_157, (funcp)execute_158, (funcp)execute_310, (funcp)execute_311, (funcp)execute_236, (funcp)execute_237, (funcp)execute_308, (funcp)execute_309, (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_234, (funcp)execute_235, (funcp)execute_164, (funcp)execute_8, (funcp)execute_9, (funcp)execute_10, (funcp)execute_11, (funcp)execute_12, (funcp)execute_13, (funcp)execute_14, (funcp)execute_15, (funcp)execute_16, (funcp)execute_17, (funcp)execute_18, (funcp)execute_19, (funcp)execute_20, (funcp)execute_21, (funcp)execute_22, (funcp)execute_24, (funcp)execute_25, (funcp)execute_26, (funcp)execute_27, (funcp)execute_28, (funcp)execute_29, (funcp)execute_30, (funcp)execute_31, (funcp)execute_32, (funcp)execute_33, (funcp)execute_34, (funcp)execute_35, (funcp)execute_36, (funcp)execute_37, (funcp)execute_38, (funcp)execute_39, (funcp)execute_40, (funcp)execute_41, (funcp)execute_42, (funcp)execute_43, (funcp)execute_44, (funcp)execute_45, (funcp)execute_46, (funcp)execute_47, (funcp)execute_48, (funcp)execute_49, (funcp)execute_50, (funcp)execute_51, (funcp)execute_52, (funcp)execute_53, (funcp)execute_54, (funcp)execute_55, (funcp)execute_56, (funcp)execute_57, (funcp)execute_58, (funcp)execute_59, (funcp)execute_60, (funcp)execute_61, (funcp)execute_62, (funcp)execute_63, (funcp)execute_64, (funcp)execute_65, (funcp)execute_66, (funcp)execute_67, (funcp)execute_68, (funcp)execute_69, (funcp)execute_70, (funcp)execute_71, (funcp)execute_72, (funcp)execute_73, (funcp)execute_74, (funcp)execute_75, (funcp)execute_76, (funcp)execute_77, (funcp)execute_78, (funcp)execute_79, (funcp)execute_80, (funcp)execute_81, (funcp)execute_82, (funcp)execute_83, (funcp)execute_84, (funcp)execute_85, (funcp)execute_86, (funcp)execute_87, (funcp)execute_88, (funcp)execute_89, (funcp)execute_90, (funcp)execute_91, (funcp)execute_92, (funcp)execute_93, (funcp)execute_94, (funcp)execute_95, (funcp)execute_96, (funcp)execute_97, (funcp)execute_98, (funcp)execute_99, (funcp)execute_100, (funcp)execute_101, (funcp)execute_102, (funcp)execute_103, (funcp)execute_104, (funcp)execute_105, (funcp)execute_106, (funcp)execute_107, (funcp)execute_108, (funcp)execute_109, (funcp)execute_110, (funcp)execute_111, (funcp)execute_112, (funcp)execute_113, (funcp)execute_114, (funcp)execute_115, (funcp)execute_116, (funcp)execute_117, (funcp)execute_118, (funcp)execute_119, (funcp)execute_120, (funcp)execute_129, (funcp)execute_165, (funcp)execute_166, (funcp)execute_170, (funcp)execute_171, (funcp)execute_180, (funcp)execute_181, (funcp)execute_182, (funcp)execute_183, (funcp)execute_184, (funcp)execute_192, (funcp)execute_193, (funcp)execute_194, (funcp)execute_195, (funcp)execute_196, (funcp)execute_197, (funcp)execute_198, (funcp)execute_199, (funcp)execute_200, (funcp)execute_201, (funcp)execute_202, (funcp)execute_203, (funcp)execute_204, (funcp)execute_205, (funcp)execute_206, (funcp)execute_207, (funcp)execute_208, (funcp)execute_209, (funcp)execute_210, (funcp)execute_211, (funcp)execute_212, (funcp)execute_213, (funcp)execute_214, (funcp)execute_215, (funcp)execute_216, (funcp)execute_217, (funcp)execute_218, (funcp)execute_219, (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_230, (funcp)execute_135, (funcp)execute_238, (funcp)execute_240, (funcp)execute_241, (funcp)execute_134, (funcp)execute_142, (funcp)execute_242, (funcp)execute_243, (funcp)execute_244, (funcp)execute_245, (funcp)execute_246, (funcp)execute_247, (funcp)execute_248, (funcp)execute_249, (funcp)execute_251, (funcp)execute_268, (funcp)execute_274, (funcp)execute_255, (funcp)execute_256, (funcp)execute_257, (funcp)execute_258, (funcp)execute_259, (funcp)execute_260, (funcp)execute_261, (funcp)execute_262, (funcp)execute_263, (funcp)execute_264, (funcp)execute_265, (funcp)execute_266, (funcp)execute_267, (funcp)execute_139, (funcp)execute_140, (funcp)execute_269, (funcp)execute_270, (funcp)execute_273, (funcp)execute_146, (funcp)execute_275, (funcp)execute_276, (funcp)execute_277, (funcp)execute_279, (funcp)execute_280, (funcp)execute_286, (funcp)execute_289, (funcp)execute_290, (funcp)execute_145, (funcp)execute_278, (funcp)execute_148, (funcp)execute_150, (funcp)execute_300, (funcp)execute_152, (funcp)execute_153, (funcp)execute_302, (funcp)execute_303, (funcp)execute_155, (funcp)execute_304, (funcp)execute_305, (funcp)execute_306, (funcp)execute_307, (funcp)execute_160, (funcp)execute_161, (funcp)execute_162, (funcp)execute_163, (funcp)execute_312, (funcp)execute_313, (funcp)execute_314, (funcp)execute_315, (funcp)execute_316, (funcp)execute_317, (funcp)vlog_transfunc_eventcallback, (funcp)transaction_60, (funcp)transaction_62, (funcp)transaction_69, (funcp)transaction_70, (funcp)transaction_72, (funcp)transaction_73, (funcp)transaction_76, (funcp)transaction_77, (funcp)transaction_78, (funcp)transaction_79, (funcp)transaction_80, (funcp)transaction_84, (funcp)transaction_88, (funcp)transaction_106, (funcp)transaction_107, (funcp)transaction_152, (funcp)transaction_187, (funcp)transaction_188, (funcp)transaction_213, (funcp)transaction_260, (funcp)transaction_261, (funcp)transaction_292, (funcp)transaction_321, (funcp)transaction_322}; +const int NumRelocateId= 266; void relocate(char *dp) { - iki_relocate(dp, "xsim.dir/test_cpu_behav/xsim.reloc", (void **)funcTab, 268); + iki_relocate(dp, "xsim.dir/test_cpu_behav/xsim.reloc", (void **)funcTab, 266); /*Populate the transaction function pointer field in the whole net structure */ } diff --git a/PipelineProcessor.sim/sim_1/behav/xsim/xsim.dir/test_cpu_behav/xsim.mem b/PipelineProcessor.sim/sim_1/behav/xsim/xsim.dir/test_cpu_behav/xsim.mem index 8b1c125..c0ae0c5 100644 Binary files a/PipelineProcessor.sim/sim_1/behav/xsim/xsim.dir/test_cpu_behav/xsim.mem and b/PipelineProcessor.sim/sim_1/behav/xsim/xsim.dir/test_cpu_behav/xsim.mem differ diff --git a/PipelineProcessor.srcs/sources_1/new/CPU.v b/PipelineProcessor.srcs/sources_1/new/CPU.v index 6d3d7bb..71cd2c1 100644 --- a/PipelineProcessor.srcs/sources_1/new/CPU.v +++ b/PipelineProcessor.srcs/sources_1/new/CPU.v @@ -82,9 +82,6 @@ module CPU ( wire [1:0] EXforward_IDA_source; wire [1:0] EXforward_IDB_source; - // Out of mem forward - wire MEMforward_MEM_write_data_source; - // Out of data memory wire [31:0] datamemory_read_data; wire [31:0] bcd_hardwire_control; @@ -180,10 +177,7 @@ module CPU ( .prev_ALU_result(EX_ALU_result), .prev_memory_write_data(EX_memory_write_data), .prev_register_write_destination(EX_register_write_destination), - .prev_rt_address(EX_rt_address), - .MEM_write_data_source(MEMforward_MEM_write_data_source), .WB_forwarded_data(WB_register_write_data), - .rt_address(MEM_rt_address), .register_write(MEM_register_write), .WB_source(MEM_WB_source), .memory_read_data(MEM_memory_read_data), @@ -230,13 +224,6 @@ module CPU ( .IDB_source(EXforward_IDB_source) ); - MemoryForward memory_forward ( - .WB_register_write(WB_register_write), - .WB_register_write_address(WB_register_write_address), - .MEM_rt_address(MEM_rt_address), - .MEM_write_data_source(MEMforward_MEM_write_data_source) - ); - HazardUnit hazard_unit ( .PC_jump(ID_PC_jump), .is_loadword(ID_is_loadword), diff --git a/PipelineProcessor.srcs/sources_1/new/InstructionMemory.v b/PipelineProcessor.srcs/sources_1/new/InstructionMemory.v index 05f3c23..c44a256 100644 --- a/PipelineProcessor.srcs/sources_1/new/InstructionMemory.v +++ b/PipelineProcessor.srcs/sources_1/new/InstructionMemory.v @@ -7,12 +7,17 @@ module InstructionMemory ( always @(*) begin case (address[31:2]) - 20'd0: instruction <= 32'h20110001; - 20'd1: instruction <= 32'h20120002; - 20'd2: instruction <= 32'h02319820; - 20'd3: instruction <= 32'h02719820; - 20'd4: instruction <= 32'h20140003; - 20'd5: instruction <= 32'h02729820; + 20'd0: instruction <= 32'h3c104000; + 20'd6: instruction <= 32'h2011000a; + 20'd11: instruction <= 32'hae110010; + 20'd16: instruction <= 32'h8e120010; + 20'd21: instruction <= 32'h2231fffe; + 20'd26: instruction <= 32'h02329820; + 20'd31: instruction <= 32'h02529821; + 20'd36: instruction <= 32'h02519822; + 20'd41: instruction <= 32'h02338823; + 20'd46: instruction <= 32'h26310004; + 20'd51: instruction <= 32'h02339018; default: instruction <= 32'h00000000; endcase end diff --git a/PipelineProcessor.srcs/sources_1/new/MemoryAccess.v b/PipelineProcessor.srcs/sources_1/new/MemoryAccess.v index 44a0ecd..ab7360f 100644 --- a/PipelineProcessor.srcs/sources_1/new/MemoryAccess.v +++ b/PipelineProcessor.srcs/sources_1/new/MemoryAccess.v @@ -9,13 +9,8 @@ module MemoryAccess ( input [31:0] prev_ALU_result, input [31:0] prev_memory_write_data, input [4:0] prev_register_write_destination, - input [4:0] prev_rt_address, - // From forward unit - input MEM_write_data_source, // From WB input [31:0] WB_forwarded_data, - // To Forward unit - output [4:0] rt_address, // To next stage output register_write, output WB_source, @@ -36,7 +31,6 @@ module MemoryAccess ( reg [31:0] MEM_ALU_result; reg [31:0] MEM_memory_write_data; reg [4:0] MEM_register_write_destination; - reg [4:0] MEM_rt_address; // wire memory_write_data_include_forward; // assign memory_write_data_include_forward = (MEM_write_data_source == 1'b0) ? @@ -51,11 +45,9 @@ module MemoryAccess ( // ); assign data_memory_write = MEM_memory_write; assign data_memory_address = MEM_ALU_result; - assign data_memory_write_data = (MEM_write_data_source == 1'b0) ? - MEM_memory_write_data : WB_forwarded_data; + assign data_memory_write_data = MEM_memory_write_data; assign memory_read_data = data_memory_read_data; - assign rt_address = MEM_rt_address; assign register_write = MEM_register_write; assign WB_source = MEM_WB_source; assign ALU_result = MEM_ALU_result; @@ -69,7 +61,6 @@ module MemoryAccess ( MEM_ALU_result <= 32'h00000000; MEM_memory_write_data <= 32'h00000000; MEM_register_write_destination <= 5'b00000; - MEM_rt_address <= 5'b00000; end else begin MEM_register_write <= prev_register_write; MEM_WB_source <= prev_WB_source; @@ -77,7 +68,6 @@ module MemoryAccess ( MEM_ALU_result <= prev_ALU_result; MEM_memory_write_data <= prev_memory_write_data; MEM_register_write_destination <= prev_register_write_destination; - MEM_rt_address <= prev_rt_address; end end endmodule diff --git a/PipelineProcessor.xpr b/PipelineProcessor.xpr index 3b3f13e..12c7679 100644 --- a/PipelineProcessor.xpr +++ b/PipelineProcessor.xpr @@ -60,7 +60,7 @@