예제 #1
0
CModule * CDsnInfo::AddModule(string name, EClkRate clkRate)
{
	m_modList.push_back(new CModule(name, clkRate, false));

	CModule * pModule = m_modList.back();

	if (g_appArgs.GetIqModName() == name)
		pModule->AddQueIntf("hif", "hifInQue", Pop, "5");

	if (g_appArgs.GetOqModName() == name)
		pModule->AddQueIntf("hif", "hifOutQue", Push, "5");

	return pModule;
}
예제 #2
0
void CDsnInfo::AddHostData(void * pHandle, HtdFile::EHostMsgDir msgDir, bool bMaxBw)
{
	CModule * pModule = (CModule *)pHandle;

	switch (msgDir) {
	case HtdFile::Inbound:
		m_modList[0]->AddQueIntf(pModule->m_modName.AsStr(), "ihd", Push, "5", HtdFile::eDistRam, bMaxBw);
		pModule->AddQueIntf("hif", "ihd", Pop, "5", HtdFile::eDistRam, bMaxBw);
		break;
	case HtdFile::Outbound:
		m_modList[0]->AddQueIntf(pModule->m_modName.AsStr(), "ohd", Pop, "5");
		pModule->AddQueIntf("hif", "ohd", Push, "5");
		break;
	default:
		break;
	}
}