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

📄 cache_braml2.h

📁 改进的基于6个mips核的NOC网络
💻 H
字号:
/* *  TU Eindhoven *  Eindhoven, The Netherlands * *  Name            :   cache_braml2.h * *  Author          :   A.S.Slusarczyk@tue.nl * *  Date            :    * *  Function        :   Cache interface to the main memory in BlockRAM * * */#ifndef CACHE_BRAML2_H_INCLUDED#define CACHE_BRAML2_H_INCLUDED#include <systemc.h>#include "xlxram.h"SC_MODULE(CACHE_BRAML2_WRAP){  sc_in< bool > clk;  sc_in< sc_bv<32> > addr, din;  sc_out< sc_bv<32> > dout;  sc_in< bool > ww, wb, r;  sc_out< bool > rdy;  sc_in<sc_int<32> > DOA0, DOB0, DOA1, DOB1;  sc_in<sc_int<4> > DOPA0, DOPB0, DOPA1, DOPB1;  sc_out<sc_uint<9> > ADDRA0, ADDRB0, ADDRA1, ADDRB1;  sc_out<sc_int<32> > DIA0, DIB0, DIA1, DIB1;  sc_out<sc_int<4> > DIPA0, DIPB0, DIPA1, DIPB1;  sc_out<bool> ENA0, ENB0, ENA1, ENB1;  sc_out<bool> CLKA0, CLKB0, CLKA1, CLKB1;  sc_out<bool> WEA0, WEB0, WEA1, WEB1;  sc_out<bool> SSRA0, SSRB0, SSRA1, SSRB1;  sc_signal< sc_uint<2> > word;    void reg();  void in();  void out();    SC_CTOR(CACHE_BRAML2_WRAP)	{	  SC_METHOD(in);	  sensitive << clk << din << valid_in << tagi << index << offset << we << en;	  SC_METHOD(out);	  sensitive << word << DOA0 << DOPA0 << DOB0 << DOPB0 << DOA1 << DOPA1 << DOB1 << DOPB1;	  SC_METHOD(reg);	  sensitive_pos << clk; 	}};SC_MODULE(CACHE_BRAML2){	  sc_in< bool > clk;  sc_in< sc_bv<32> > addr, din;  sc_out< sc_bv<32> > dout;  sc_in< bool > ww, wb, r;  sc_out< bool > rdy;    CACHE_BRAML2_WRAP *wrap;  RAMB16_S36_S36 *bram0, *bram1;  sc_signal<sc_int<32> > DOA0, DOB0, DOA1, DOB1;  sc_signal<sc_int<4> > DOPA0, DOPB0, DOPA1, DOPB1;  sc_signal<sc_uint<9> > ADDRA0, ADDRB0, ADDRA1, ADDRB1;  sc_signal<sc_int<32> > DIA0, DIB0, DIA1, DIB1;  sc_signal<sc_int<4> > DIPA0, DIPB0, DIPA1, DIPB1;  sc_signal<bool> ENA0, ENB0, ENA1, ENB1;  sc_signal<bool> CLKA0, CLKB0, CLKA1, CLKB1;  sc_signal<bool> WEA0, WEB0, WEA1, WEB1;  sc_signal<bool> SSRA0, SSRB0, SSRA1, SSRB1;    SC_CTOR(CACHE_MEMORY)	{	  wrap = new CACHE_BRAML2_WRAP("wrap");	  bram0 = new RAMB16_S36_S36("bram0");	  bram1 = new RAMB16_S36_S36("bram1");	  	  wrap->clk(clk);	  wrap->din(din);	  wrap->addr(addr);	  wrap->ww(ww);	  wrap->wb(wb);	  wrap->r(r);	  wrap->rdy(rdy);	  wrap->dout(dout);	  	  wrap->DOA0(DOA0); wrap->DOB0(DOB0); wrap->DOA1(DOA1); wrap->DOB1(DOB1);	  wrap->DOPA0(DOPA0); wrap->DOPB0(DOPB0); wrap->DOPA1(DOPA1); wrap->DOPB1(DOPB1);	  wrap->ADDRA0(ADDRA0); wrap->ADDRB0(ADDRB0); wrap->ADDRA1(ADDRA1); wrap->ADDRB1(ADDRB1);	  wrap->DIA0(DIA0); wrap->DIB0(DIB0); wrap->DIA1(DIA1); wrap->DIB1(DIB1);	  wrap->DIPA0(DIPA0); wrap->DIPB0(DIPB0); wrap->DIPA1(DIPA1); wrap->DIPB1(DIPB1);	  wrap->ENA0(ENA0); wrap->ENB0(ENB0); wrap->ENA1(ENA1); wrap->ENB1(ENB1);	  wrap->CLKA0(CLKA0); wrap->CLKB0(CLKB0); wrap->CLKA1(CLKA1); wrap->CLKB1(CLKB1);	  wrap->WEA0(WEA0); wrap->WEB0(WEB0); wrap->WEA1(WEA1); wrap->WEB1(WEB1);	  wrap->SSRA0(SSRA0); wrap->SSRB0(SSRB0); wrap->SSRA1(SSRA1); wrap->SSRB1(SSRB1);	  bram0->DOA(DOA0); bram0->DOB(DOB0); bram1->DOA(DOA1); bram1->DOB(DOB1);	  bram0->DOPA(DOPA0); bram0->DOPB(DOPB0); bram1->DOPA(DOPA1); bram1->DOPB(DOPB1);	  bram0->ADDRA(ADDRA0); bram0->ADDRB(ADDRB0); bram1->ADDRA(ADDRA1); bram1->ADDRB(ADDRB1);	  bram0->DIA(DIA0); bram0->DIB(DIB0); bram1->DIA(DIA1); bram1->DIB(DIB1);	  bram0->DIPA(DIPA0); bram0->DIPB(DIPB0); bram1->DIPA(DIPA1); bram1->DIPB(DIPB1);	  bram0->ENA(ENA0); bram0->ENB(ENB0); bram1->ENA(ENA1); bram1->ENB(ENB1);	  bram0->CLKA(CLKA0); bram0->CLKB(CLKB0); bram1->CLKA(CLKA1); bram1->CLKB(CLKB1);	  bram0->WEA(WEA0); bram0->WEB(WEB0); bram1->WEA(WEA1); bram1->WEB(WEB1);	  bram0->SSRA(SSRA0); bram0->SSRB(SSRB0); bram1->SSRA(SSRA1); bram1->SSRB(SSRB1);	  	}    };#endif

⌨️ 快捷键说明

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