//virtual ulong read(class cl_mem *mem, long addr);
//virtual void write(class cl_mem *mem, long addr, ulong *val);
//virtual int tick(int cycles);
//virtual ulong read(class cl_mem *mem, long addr);
//virtual void write(class cl_mem *mem, long addr, ulong *val);
//virtual int tick(int cycles);