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

📄 mips_trace.cpp

📁 国外开源的一个片上网络系统的源代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
  _do_trace(tf, queue->next_state, "next_state");  _do_trace(tf, queue->buffer, "buffer");  _do_trace(tf, queue->buffer_write, "buffer_write");  _do_trace(tf, queue->buffer_clear, "buffer_clear");}void trace_router_arbiter( sc_trace_file *tf,  OUTPUT_ARBITER* arbiter ){  _do_trace(tf, arbiter->arb_req0, "arb_req0");  _do_trace(tf, arbiter->arb_req1, "arb_req1");  _do_trace(tf, arbiter->arb_grant0, "arb_grant0");  _do_trace(tf, arbiter->arb_grant1, "arb_grant1");  _do_trace(tf, arbiter->ch0ctrl->current_state, "ch0.current_state");  _do_trace(tf, arbiter->ch1ctrl->current_state, "ch1.current_state");  _do_trace(tf, arbiter->arbiter->channel_busy, "arbiter.channel_busy");  _do_trace(tf, arbiter->arbiter->selected_channel, "arbiter.selected_channel");  }void trace_router_switch( sc_trace_file *tf,  CROSSBAR3x3* swtch ){  _do_trace(tf, swtch->grant0, "grant0");  _do_trace(tf, swtch->grant1, "grant1");  _do_trace(tf, swtch->grant2, "grant2");  }void trace_router_1dim( sc_trace_file *tf, ECUBE_ROUTER_1DIM *router ){  _do_trace(tf, router->data0in, "conn.data0in");  _do_trace(tf, router->data1in, "conn.data1in");  _do_trace(tf, router->data2in, "conn.data2in");  _do_trace(tf, router->data0out, "conn.data0out");  _do_trace(tf, router->data1out, "conn.data1out");  _do_trace(tf, router->data2out, "conn.data2out");  _do_trace(tf, router->select0, "conn.select0");  _do_trace(tf, router->select1, "conn.select1");  _do_trace(tf, router->select2, "conn.select2");  _do_trace(tf, router->rqs0, "conn.rqs0");  _do_trace(tf, router->rqs1, "conn.rqs1");  _do_trace(tf, router->rqs2, "conn.rqs2");  _do_trace(tf, router->req0in, "conn.req0in");  _do_trace(tf, router->req1in, "conn.req1in");  _do_trace(tf, router->req2in, "conn.req2in");  _do_trace(tf, router->req0out, "conn.req0out");  _do_trace(tf, router->req1out, "conn.req1out");  _do_trace(tf, router->req2out, "conn.req2out");  _do_trace(tf, router->ack0in, "conn.ack0in");  _do_trace(tf, router->ack1in, "conn.ack1in");  _do_trace(tf, router->ack2in, "conn.ack2in");  _do_trace(tf, router->ack0out, "conn.ack0out");  _do_trace(tf, router->ack1out, "conn.ack1out");  _do_trace(tf, router->ack2out, "conn.ack2out");  _do_trace(tf, router->arb_data0, "conn.arb_data0");  _do_trace(tf, router->arb_data1, "conn.arb_data1");  _do_trace(tf, router->arb_req0, "conn.arb_req0");  _do_trace(tf, router->arb_req1, "conn.arb_req1");  _do_trace(tf, router->arb_ack0, "conn.arb_ack0");  _do_trace(tf, router->arb_ack1, "conn.arb_ack1");  push_prefix("x0inctrl.");  trace_router_inctrl( tf, router->x0inctrl );  pop_prefix();  push_prefix("x1inctrl.");  trace_router_inctrl( tf, router->x1inctrl );  pop_prefix();    push_prefix("dinctrl.");  trace_router_inctrl( tf, router->dinctrl );  pop_prefix();  push_prefix("x0queue.");  trace_router_queue( tf, router->x0queue );  pop_prefix();  push_prefix("x1queue.");  trace_router_queue( tf, router->x1queue );  pop_prefix();  push_prefix("dqueue.");  trace_router_queue( tf, router->dqueue );  pop_prefix();  push_prefix("arbiter.");  trace_router_arbiter( tf, router->arbiter );  pop_prefix();  push_prefix("switch.");  trace_router_switch( tf, router->swtch );  pop_prefix();}void trace_router( sc_trace_file *tf, ECUBE_ROUTER *router, const char *prefix ){  push_prefix(prefix);    _do_trace(tf, router->xydata, "xydata");  _do_trace(tf, router->xyreq, "xyreq");  _do_trace(tf, router->xyack, "xyack");  push_prefix("xrouter.");  trace_router_1dim( tf, router->xrouter );  pop_prefix();  push_prefix("yrouter.");  trace_router_1dim( tf, router->yrouter );  pop_prefix();    pop_prefix();}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void trace_netif( sc_trace_file *tf, NETWORK_INTERFACE *netif, const char *prefix ){  push_prefix( prefix );    _do_trace(tf, netif->buffer_addr, "buffer_addr");  _do_trace(tf, netif->buffer_in, "buffer_in");  _do_trace(tf, netif->buffer_out, "buffer_out");  _do_trace(tf, netif->send_flit, "send_flit");  _do_trace(tf, netif->next_send_flit, "next_send_flit");  _do_trace(tf, netif->send_current_state, "send_current_state");  _do_trace(tf, netif->send_next_state, "send_next_state");  _do_trace(tf, netif->rcv_flit, "rcv_flit");  _do_trace(tf, netif->rcv_current_state, "rcv_current_state");      pop_prefix();}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void trace_netmips( sc_trace_file *tf, NETmMIPS *mips, const char *prefix ){  push_prefix( prefix );  _do_trace(tf, mips->dout, "dout");  _do_trace(tf, mips->din, "din");  _do_trace(tf, mips->r, "r");  _do_trace(tf, mips->w, "w");  _do_trace(tf, mips->rdyr, "rdyr");  _do_trace(tf, mips->rdyw, "rdyw");  _do_trace(tf, mips->wdata, "wdata");  _do_trace(tf, mips->waddr, "waddr");  _do_trace(tf, mips->send_eop, "send_eop");  _do_trace(tf, mips->rcv_eop, "rcv_eop");  pop_prefix();}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void trace_mainmem( sc_trace_file *tf, CACHE_MAINMEM *memory, const char *prefix ){  push_prefix( prefix );    _do_trace(tf, memory->mem_addr, "mem_addr");  _do_trace(tf, memory->mem_dout, "mem_dout");  _do_trace(tf, memory->mem_din, "mem_din");  _do_trace(tf, memory->mem_ww, "mem_ww");  _do_trace(tf, memory->mem_wb, "mem_wb");  _do_trace(tf, memory->mem_r, "mem_r");  _do_trace(tf, memory->mem_clk, "mem_clk");  _do_trace(tf, memory->arbiter->addr0_reg, "arbiter.addr0_reg");  _do_trace(tf, memory->arbiter->addr1_reg, "arbiter.addr1_reg");  _do_trace(tf, memory->arbiter->din0_reg, "arbiter.din0_reg");  _do_trace(tf, memory->arbiter->din1_reg, "arbiter.din1_reg");  _do_trace(tf, memory->arbiter->ww0_reg, "arbiter.ww0_reg");  _do_trace(tf, memory->arbiter->ww1_reg, "arbiter.ww1_reg");  _do_trace(tf, memory->arbiter->wb0_reg, "arbiter.wb0_reg");  _do_trace(tf, memory->arbiter->wb1_reg, "arbiter.wb1_reg");  _do_trace(tf, memory->arbiter->r0_reg, "arbiter.r0_reg");  _do_trace(tf, memory->arbiter->r1_reg, "arbiter.r1_reg");  _do_trace(tf, memory->arbiter->grant, "arbiter.grant");  _do_trace(tf, memory->arbiter->reg0, "arbiter.reg0");  _do_trace(tf, memory->arbiter->reg1, "arbiter.reg1");  _do_trace(tf, memory->arbiter->clr0, "arbiter.clr0");  _do_trace(tf, memory->arbiter->clr1, "arbiter.clr1");  /*  char stbuf[32];  for (int i = 0; i < RAMSIZE+ROMSIZE; i+=4)	{	  sprintf(stbuf, "memory.mem(%d)", i);	  _do_trace(tf, memory->memory->bram0->memory[i/4], stbuf);	  sprintf(stbuf, "memory.mem(%d)", i+1);	  _do_trace(tf, memory->memory->bram1->memory[i/4], stbuf);	  sprintf(stbuf, "memory.mem(%d)", i+2);	  _do_trace(tf, memory->memory->bram2->memory[i/4], stbuf);	  sprintf(stbuf, "memory.mem(%d)", i+3);	  _do_trace(tf, memory->memory->bram3->memory[i/4], stbuf);    }  */  pop_prefix();}//added by fbz to monitor memdev operationvoid trace_memdev( sc_trace_file *tf, MEMDEV * memdev, const char *prefix ){	push_prefix( prefix);	_do_trace(tf, memdev->a_read, "mem_dev.a_read");	_do_trace(tf, memdev->a_read_reg, "mem_dev.a_read_reg");	_do_trace(tf, memdev->d_read, "mem_dev.d_read");	_do_trace(tf, memdev->d_write, "mem_dev.d_write");	_do_trace(tf, memdev->w, "mem_dev.w");	_do_trace(tf, memdev->r, "mem_dev.r");	_do_trace(tf, memdev->dmem_wait, "mem_dev.dmem_wait");	_do_trace(tf, memdev->ram_dout, "mem_dev.ram_dout");	_do_trace(tf, memdev->ram_wait, "mem_dev.ram_wait");	_do_trace(tf, memdev->ram_w, "mem_dev.ram_w");	_do_trace(tf, memdev->ram_r, "mem_dev.ram_r");	_do_trace(tf, memdev->ram_addr, "mem_dev.ram_addr");	_do_trace(tf, memdev->ram_din, "mem_dev.ram_din");	_do_trace(tf, memdev->dev_dout, "mem_dev.dev_dout");	_do_trace(tf, memdev->dev_rdyr, "mem_dev.dev_rdyr");	_do_trace(tf, memdev->dev_rdyw, "mem_dev.dev_rdyw");	_do_trace(tf, memdev->dev_w, "mem_dev.dev_w");	_do_trace(tf, memdev->dev_r, "mem_dev.dev_r");	_do_trace(tf, memdev->dev_din, "mem_dev.dev_din");	_do_trace(tf, memdev->dev_wdata, "mem_dev.dev_wdata");	_do_trace(tf, memdev->dev_waddr, "mem_dev.dev_waddr");	_do_trace(tf, memdev->dev_rcv_eop, "mem_dev.dev_rcv_eop");	_do_trace(tf, memdev->dev_send_eop, "mem_dev.dev_send_eop");	_do_trace(tf, memdev->bufw, "mem_dev.bufw");	_do_trace(tf, memdev->dev_buffer, "mem_dev.dev_buffer");	_do_trace(tf, memdev->sending, "mem_dev.sending");	_do_trace(tf, memdev->n_sending, "mem_dev.n_sending");	pop_prefix();}

⌨️ 快捷键说明

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