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

📄 mem_arch.h

📁 Kluwer.Academic.Pub.Systemc.From.The.Ground.Up-此全书的范例程式。
💻 H
字号:
#ifndef MEM_ARCH_H#define MEM_ARCH_H//BEGIN: mem_arch.h (systemc)//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//See hier_chan.h for more information//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#include "CPU_if.h"extern unsigned errors;struct mem_arch: public sc_channel, CPU_if {  // Constructors & destructor  explicit mem_arch(sc_module_name nm,               unsigned long ba, unsigned sz)   : sc_channel(nm), m_base(ba), m_size(sz)  { m_mem = new long[m_size]; }  ~mem_arch() { delete [] m_mem; }  // Interface implementations  void write(unsigned long addr, long data) {    if (m_base <= addr && addr < m_base+m_size) {      m_mem[addr-m_base] = data;    }  }  long read(unsigned long  addr) {    if (m_base <= addr && addr < m_base+m_size) {      return m_mem[addr-m_base];    } else {      cout << "ERROR:"<<name()<<"@"<<sc_time_stamp()           << ": Illegal address: " << addr << endl;      errors++;      //sc_stop();      return 0L;    }  }private:  unsigned long m_base;  unsigned      m_size;  long*         m_mem;  mem_arch(const mem_arch&); // Disable};#endif//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//END $Id: mem_arch.h,v 1.2 2004/04/15 17:42:17 dcblack Exp $

⌨️ 快捷键说明

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