⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main_org.cpp

📁 改进的基于6个mips核的NOC网络
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/* *  TU Eindhoven *  Eindhoven, The Netherlands * *  Name            : * *  Author          :   Sander Stuijk (sander@ics.ele.tue.nl) * *  Date            :   November 18, 2002 * *  Function        :   Pipelined mMIPS * *  History         : *      18-11-02    :   Initial version. *						- lw, sw, beq, add, addu, subu, *						- and, or, slt *		19-11-02	:	- xor, sltu *						- addiu, andi, ori, xori, slti, sltiu *						- lui, bne *						- sll, srl, sra (1, 2, 8 bits) *						- sb, lb *		21-11-02	:	- j, jal, jalr, jr *      13-12-02    :   Synthesizable version A.S.Slusarczyk@tue.nl */#include "top.h"////  MAIN//int sc_main(int argc, char *argv[]){  sc_signal<bool> clk;  sc_signal< bool > rst, en;  char stbuf[32];  // the processor  mMIPS mips("mips");  mips.clock(clk);  mips.reset(rst);  mips.enable(en);  // PC for display  sc_signal< sc_bv<DWORD> > bus_pc;  mips.bus_pc(bus_pc);#ifdef SPYING  sc_signal< sc_lv<5> > commin;  sc_signal_rv<4> comminout;  mips.comminout(comminout);  // control input to SPY_COMM  mips.commin(commin);  // SPY control signals  mips.spy_reset(rst);  mips.spy_clock(clk);  // some signals to display the state of communication  sc_signal<CTL_STATE> ctl_state;  sc_signal< sc_uint<4> > sr_nibble;  mips.ctl_state(ctl_state);  mips.sr_nibble(sr_nibble);#endif  /*   *	Initialization   */  mips.imem->rom_init("mips_rom.bin");  mips.imem->rom_dump("mips_rom.0.dump");  mips.dmem->ram_init("mips_ram.bin");  mips.dmem->ram_dump("mips_ram.0.dump");  /*   *	Tracing   */  sc_trace_file *tf;  tf = sc_create_vcd_trace_file("mips");  // Signals  sc_trace(tf, clk, 				"clock");  sc_trace(tf, rst, 				"reset");  sc_trace(tf, en, 				"enable");  sc_trace(tf, mips.bus_add1, 					"bus_add1");  sc_trace(tf, mips.bus_add2, 					"bus_add2");  sc_trace(tf, mips.bus_aluctrl, 				"bus_aluctrl");  sc_trace(tf, mips.bus_alu_result, 			"bus_alu_result");  sc_trace(tf, mips.bus_alu_zero, 				"bus_alu_zero");  sc_trace(tf, mips.bus_branch, 				"bus_branch");  sc_trace(tf, mips.bus_ctrl2hazard_aluop,		"bus_ctrl2hazard_aluop");  sc_trace(tf, mips.bus_ctrl2hazard_alusrc,	"bus_ctrl2hazard_alusrc");  sc_trace(tf, mips.bus_ctrl2hazard_branch,	"bus_ctrl2hazard_branch");  sc_trace(tf, mips.bus_ctrl2hazard_memread,	"bus_ctrl2hazard_memread");  sc_trace(tf, mips.bus_ctrl2hazard_memtoreg,	"bus_ctrl2hazard_memtoreg");  sc_trace(tf, mips.bus_ctrl2hazard_memwrite,	"bus_ctrl2hazard_memwrite");  sc_trace(tf, mips.bus_ctrl2hazard_regdst,	"bus_ctrl2hazard_regdst");  sc_trace(tf, mips.bus_ctrl2hazard_regvalue,	"bus_ctrl2hazard_regvalue");  sc_trace(tf, mips.bus_ctrl2hazard_regwrite,	"bus_ctrl2hazard_regwrite");  sc_trace(tf, mips.bus_ctrl2hazard_target,	"bus_ctrl2hazard_target");  sc_trace(tf, mips.bus_ctrl_aluop,			"bus_ctrl_aluop");  sc_trace(tf, mips.bus_ctrl_alusrc, 			"bus_ctrl_alusrc");  sc_trace(tf, mips.bus_ctrl_branch, 			"bus_ctrl_branch");  sc_trace(tf, mips.bus_ctrl_c1, 				"bus_ctrl_c1");  sc_trace(tf, mips.bus_ctrl_c31, 				"bus_ctrl_c31");  sc_trace(tf, mips.bus_ctrl_c4, 				"bus_ctrl_c4");  sc_trace(tf, mips.bus_ctrl_memread, 			"bus_ctrl_memread");  sc_trace(tf, mips.bus_ctrl_memtoreg, 		"bus_ctrl_memtoreg");  sc_trace(tf, mips.bus_ctrl_memwrite, 		"bus_ctrl_memwrite");  sc_trace(tf, mips.bus_ctrl_regdst, 			"bus_ctrl_regdst");  sc_trace(tf, mips.bus_ctrl_regvalue,			"bus_ctrl_regvalue");  sc_trace(tf, mips.bus_ctrl_regwrite, 		"bus_ctrl_regwrite");  sc_trace(tf, mips.bus_ctrl_target, 			"bus_ctrl_target");  sc_trace(tf, mips.bus_ctrl_enable, 			"bus_ctrl_enable");  sc_trace(tf, mips.bus_decoder_instr_10_6, 	"bus_decoder_instr_10_6");  sc_trace(tf, mips.bus_decoder_instr_15_0, 	"bus_decoder_instr_15_0");  sc_trace(tf, mips.bus_decoder_instr_15_11, 	"bus_decoder_instr_15_11");  sc_trace(tf, mips.bus_decoder_instr_20_16, 	"bus_decoder_instr_20_16");  sc_trace(tf, mips.bus_decoder_instr_25_0, 	"bus_decoder_instr_25_0");  sc_trace(tf, mips.bus_decoder_instr_25_21, 	"bus_decoder_instr_25_21");  sc_trace(tf, mips.bus_decoder_instr_31_26, 	"bus_decoder_instr_31_26");  sc_trace(tf, mips.bus_decoder_instr_5_0, 	"bus_decoder_instr_5_0");  sc_trace(tf, mips.bus_dmem_1, 				"bus_dmem_1");  sc_trace(tf, mips.bus_ex_alu_result,			"bus_ex_alu_result"); #ifndef BRAM  sc_trace(tf, mips.bus_ex_ctrl_mem_memread,	"bus_ex_ctrl_mem_memread");   sc_trace(tf, mips.bus_ex_ctrl_mem_memwrite,	"bus_ex_ctrl_mem_memwrite"); #endif  sc_trace(tf, mips.bus_ex_ctrl_wb_memtoreg,	"bus_ex_ctrl_wb_memtoreg");  sc_trace(tf, mips.bus_ex_ctrl_wb_regwrite,	"bus_ex_ctrl_wb_regwrite"); #ifndef BRAM  sc_trace(tf, mips.bus_ex_data_reg2,			"bus_ex_data_reg2"); #endif  sc_trace(tf, mips.bus_ex_regdst_addr,		"bus_ex_regdst_addr");   sc_trace(tf, mips.bus_hazard_hazard,			"bus_hazard_hazard");  sc_trace(tf, mips.bus_hazard_ifidwrite,		"bus_hazard_ifidwrite");  sc_trace(tf, mips.bus_hazard_pcwrite,		"bus_hazard_pcwrite");  sc_trace(tf, mips.bus_id_ctrl_ex_aluop,		"bus_id_ctrl_ex_aluop");   sc_trace(tf, mips.bus_id_ctrl_ex_alusrc,		"bus_id_ctrl_ex_alusrc");   sc_trace(tf, mips.bus_id_ctrl_ex_regdst,		"bus_id_ctrl_ex_regdst");   sc_trace(tf, mips.bus_id_ctrl_ex_regvalue,	"bus_id_ctrl_ex_regvalue");   sc_trace(tf, mips.bus_id_ctrl_ex_target,		"bus_id_ctrl_ex_target");   sc_trace(tf, mips.bus_id_ctrl_mem_branch,	"bus_id_ctrl_mem_branch");   sc_trace(tf, mips.bus_id_ctrl_mem_memread,	"bus_id_ctrl_mem_memread");   sc_trace(tf, mips.bus_id_ctrl_mem_memwrite,	"bus_id_ctrl_mem_memwrite");   sc_trace(tf, mips.bus_id_ctrl_wb_memtoreg,	"bus_id_ctrl_wb_memtoreg");   sc_trace(tf, mips.bus_id_ctrl_wb_regwrite,	"bus_id_ctrl_wb_regwrite");  sc_trace(tf, mips.bus_id_data_reg1,			"bus_id_data_reg1");   sc_trace(tf, mips.bus_id_data_reg2,			"bus_id_data_reg2");   sc_trace(tf, mips.bus_id_instr_15_11,		"bus_id_instr_15_11");   sc_trace(tf, mips.bus_id_instr_20_16,		"bus_id_instr_20_16");  sc_trace(tf, mips.bus_id_instr_25_0,			"bus_id_instr_25_0");  sc_trace(tf, mips.bus_id_instr_5_0,			"bus_id_instr_5_0");   sc_trace(tf, mips.bus_id_pc,					"bus_id_pc");   sc_trace(tf, mips.bus_id_signextend,			"bus_id_signextend");   sc_trace(tf, mips.bus_if_instr,				"bus_if_instr");   sc_trace(tf, mips.bus_if_pc,					"bus_if_pc");   sc_trace(tf, mips.bus_imem_1, 				"bus_imem_1");  sc_trace(tf, mips.bus_mem_alu_result,		"bus_mem_alu_result");  sc_trace(tf, mips.bus_mem_ctrl_wb_memtoreg,	"bus_mem_ctrl_wb_memtoreg");   sc_trace(tf, mips.bus_mem_ctrl_wb_regwrite,	"bus_mem_ctrl_wb_regwrite");   sc_trace(tf, mips.bus_mem_dmem_data,			"bus_mem_dmem_data");  sc_trace(tf, mips.bus_mem_regdst_addr,		"bus_mem_regdst_addr");   sc_trace(tf, mips.bus_mux1, 					"bus_mux1");  sc_trace(tf, mips.bus_mux2, 					"bus_mux2");  sc_trace(tf, mips.bus_mux3, 					"bus_mux3");  sc_trace(tf, mips.bus_mux4, 					"bus_mux4");  sc_trace(tf, mips.bus_mux5, 					"bus_mux5");  sc_trace(tf, mips.bus_mux6, 					"bus_mux6");  sc_trace(tf, mips.bus_pc, 					"bus_pc");  sc_trace(tf, mips.bus_registers_1, 			"bus_registers_1");  sc_trace(tf, mips.bus_registers_2, 			"bus_registers_2");  sc_trace(tf, mips.bus_shiftleft, 			"bus_shiftleft");  sc_trace(tf, mips.bus_shiftleft_jmp, 		"bus_shiftleft_jmp");  sc_trace(tf, mips.bus_signextend, 			"bus_signextend");  sc_trace(tf, mips.bus_signextendbyte, 		"bus_signextendbyte");#ifndef BREG  for (int i = 0; i < REGSIZE; i++)	{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -