上次的因為重點是 emulator,實作上把 memory access 簡化了
但未來我們會跟 RTL 共用一組 memory 實作,需要拆分出來做一個共同的介面
cpu.clk(clock);
cpu.reset(reset);
cpu.imem_req_valid(imem_req_valid);
cpu.imem_req_ready(imem_req_ready);
cpu.imem_req_addr(imem_req_addr);
cpu.imem_rsp_valid(imem_rsp_valid);
cpu.imem_rsp_ready(imem_rsp_ready);
cpu.imem_rsp_data(imem_rsp_data);
cpu.imem_rsp_status(imem_rsp_status);
memory.req_valid(imem_req_valid);
memory.req_ready(imem_req_ready);
memory.req_addr(imem_req_addr);
memory.rsp_valid(imem_rsp_valid);
memory.rsp_ready(imem_rsp_ready);
memory.rsp_data(imem_rsp_data);
memory.rsp_status(imem_rsp_status);
github link with tag: https://github.com/hsufit/TINY5_OOO/tree/ithome2026_D5