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

📄 testwrapper.h

📁 包括USB
💻 H
字号:
#ifndef __TESTWRAPPER_H__
#define __TESTWRAPPER_H__

#include <systemc.h>
#include "usbHostSlaveTB.h"
#include "transactor.h"

SC_MODULE(testwrapper)
{
	sc_in<sc_logic > busClk;
	sc_in<sc_logic > usbClk;
	sc_out<sc_lv<2> > usbLineDefaultState;

	sc_out<sc_logic > host_rst_o;
    sc_out<sc_lv<8> > host_address_o;
	sc_out<sc_lv<8> > host_data_o;
	sc_in<sc_lv<8> > host_data_i;
	sc_out<sc_logic > host_we_o;
	sc_out<sc_logic > host_strobe_o;
	sc_in<sc_logic > host_ack_i;
	sc_in<sc_logic > host_hostSOFSentIntOut;
	sc_in<sc_logic > host_hostConnEventIntOut;
	sc_in<sc_logic > host_hostResumeIntOut;
	sc_in<sc_logic > host_hostTransDoneIntOut;
	sc_in<sc_logic > host_slaveNAKSentIntOut;
	sc_in<sc_logic > host_slaveSOFRxedIntOut;
	sc_in<sc_logic > host_slaveResetEventIntOut;
	sc_in<sc_logic > host_slaveResumeIntOut;
	sc_in<sc_logic > host_slaveTransDoneIntOut;

	sc_out<sc_logic > slave_rst_o;
    sc_out<sc_lv<8> > slave_address_o;
	sc_out<sc_lv<8> > slave_data_o;
	sc_in<sc_lv<8> > slave_data_i;
	sc_out<sc_logic > slave_we_o;
	sc_out<sc_logic > slave_strobe_o;
	sc_in<sc_logic > slave_ack_i;
	sc_in<sc_logic > slave_hostSOFSentIntOut;
	sc_in<sc_logic > slave_hostConnEventIntOut;
	sc_in<sc_logic > slave_hostResumeIntOut;
	sc_in<sc_logic > slave_hostTransDoneIntOut;
	sc_in<sc_logic > slave_slaveNAKSentIntOut;
	sc_in<sc_logic > slave_slaveSOFRxedIntOut;
	sc_in<sc_logic > slave_slaveResetEventIntOut;
	sc_in<sc_logic > slave_slaveResumeIntOut;
	sc_in<sc_logic > slave_slaveTransDoneIntOut;

	usbHostSlaveTB *testBench;
	transactor *usbHostTrans;
	transactor *usbSlaveTrans;

	SC_CTOR(testwrapper) :
		busClk("busClk"),
		usbLineDefaultState("usbLineDefaultState"),
		usbClk("usbClk"),
		
		host_rst_o("host_rst_o"),
		host_address_o("host_address_o"),
		host_data_o("host_data_o"),
		host_data_i("host_data_i"),
		host_we_o("host_we_o"),
		host_strobe_o("host_strobe_o"),
		host_ack_i("host_ack_i"),
		host_hostSOFSentIntOut("host_hostSOFSentIntOut"),
		host_hostConnEventIntOut("host_hostConnEventIntOut"),
		host_hostResumeIntOut("host_hostResumeIntOut"),
		host_hostTransDoneIntOut("host_hostTransDoneIntOut"),
		host_slaveNAKSentIntOut("host_slaveNAKSentIntOut"),
		host_slaveSOFRxedIntOut("host_slaveSOFRxedIntOut"),
		host_slaveResetEventIntOut("host_slaveResetEventIntOut"),
		host_slaveResumeIntOut("host_slaveResumeIntOut"),
		host_slaveTransDoneIntOut("host_slaveTransDoneIntOut"),

		slave_rst_o("slave_rst_o"),
		slave_address_o("slave_address_o"),
		slave_data_o("slave_data_o"),
		slave_data_i("slave_data_i"),
		slave_we_o("slave_we_o"),
		slave_strobe_o("slave_strobe_o"),
		slave_ack_i("slave_ack_i"),
		slave_hostSOFSentIntOut("slave_hostSOFSentIntOut"),
		slave_hostConnEventIntOut("slave_hostConnEventIntOut"),
		slave_hostResumeIntOut("slave_hostResumeIntOut"),
		slave_hostTransDoneIntOut("slave_hostTransDoneIntOut"),
		slave_slaveNAKSentIntOut("slave_slaveNAKSentIntOut"),
		slave_slaveSOFRxedIntOut("slave_slaveSOFRxedIntOut"),
		slave_slaveResetEventIntOut("slave_slaveResetEventIntOut"),
		slave_slaveResumeIntOut("slave_slaveResumeIntOut"),
		slave_slaveTransDoneIntOut("slave_slaveTransDoneIntOut")

  {
		testBench = new usbHostSlaveTB("testBench");
		usbHostTrans = new transactor("usbHostTrans");
		usbSlaveTrans = new transactor("usbSlaveTrans");

		usbHostTrans->busClk(busClk);
		usbHostTrans->reset(host_rst_o);
		usbHostTrans->address_o(host_address_o);
		usbHostTrans->data_o(host_data_o);
		usbHostTrans->data_i(host_data_i);
		usbHostTrans->we_o(host_we_o);
		usbHostTrans->strobe_o(host_strobe_o);
		usbHostTrans->ack_i(host_ack_i);
		usbHostTrans->usbClk(usbClk);
		usbHostTrans->hostSOFSentIntOut(host_hostSOFSentIntOut);
		usbHostTrans->hostConnEventIntOut(host_hostConnEventIntOut);
		usbHostTrans->hostResumeIntOut(host_hostResumeIntOut);
		usbHostTrans->hostTransDoneIntOut(host_hostTransDoneIntOut);
		usbHostTrans->slaveNAKSentIntOut(host_slaveNAKSentIntOut);
		usbHostTrans->slaveSOFRxedIntOut(host_slaveSOFRxedIntOut);
		usbHostTrans->slaveResetEventIntOut(host_slaveResetEventIntOut);
		usbHostTrans->slaveResumeIntOut(host_slaveResumeIntOut);
		usbHostTrans->slaveTransDoneIntOut(host_slaveTransDoneIntOut);

		usbSlaveTrans->busClk(busClk);
		usbSlaveTrans->reset(slave_rst_o);
		usbSlaveTrans->address_o(slave_address_o);
		usbSlaveTrans->data_o(slave_data_o);
		usbSlaveTrans->data_i(slave_data_i);
		usbSlaveTrans->we_o(slave_we_o);
		usbSlaveTrans->strobe_o(slave_strobe_o);
		usbSlaveTrans->ack_i(slave_ack_i);
		usbSlaveTrans->usbClk(usbClk);
		usbSlaveTrans->hostSOFSentIntOut(slave_hostSOFSentIntOut);
		usbSlaveTrans->hostConnEventIntOut(slave_hostConnEventIntOut);
		usbSlaveTrans->hostResumeIntOut(slave_hostResumeIntOut);
		usbSlaveTrans->hostTransDoneIntOut(slave_hostTransDoneIntOut);
		usbSlaveTrans->slaveNAKSentIntOut(slave_slaveNAKSentIntOut);
		usbSlaveTrans->slaveSOFRxedIntOut(slave_slaveSOFRxedIntOut);
		usbSlaveTrans->slaveResetEventIntOut(slave_slaveResetEventIntOut);
		usbSlaveTrans->slaveResumeIntOut(slave_slaveResumeIntOut);
		usbSlaveTrans->slaveTransDoneIntOut(slave_slaveTransDoneIntOut);

		testBench->hostTransPort.bind(*usbHostTrans);
		testBench->slaveTransPort.bind(*usbSlaveTrans);
		testBench->usbLineDefaultState(usbLineDefaultState);

	}

	~testwrapper()
	{
		delete testBench;
		delete usbHostTrans;
		delete usbSlaveTrans;
	}
};

SC_MODULE_EXPORT(testwrapper);

#endif //__TESTWRAPPER_H__


⌨️ 快捷键说明

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