PicoRV32のネイティブメモリインターフェース
PicoRVのメモリインターフェース。
code:verilog
output mem_valid
output mem_instr
input mem_ready
https://gyazo.com/c5d1e2839abf57193e48c098f39f9ddc
メモ
信号線
instr_addr(32ビット)
instr_addr_valid(1ビット)
instr(32ビット)
instr_ready(1ビット)
【ケース1】CPUがROMへ指定したアドレスの命令取得を依頼
クロック1(命令取得リクエスト)
OUT信号
instr_addr = PCの値
instr_addr_valid = 1
IN信号
instr = (なんでもいい)
instr_ready = (なんでもいい)
クロック2(命令取得待ち)
OUT信号
instr_addr = (前の値のままキープ)
instr_addr_valid = (前の値のままキープ)
IN信号
instr_ready = 0 の場合(読み込み中)
何も行わない
instr_ready = 1 の場合(読み込み中)
instr = (なんでもいい)
instr_ready = (なんでもいい)
参考