Make/Day

毎日なにか作ります

31日目 ~rom~

こんにちは!今日もデジタル回路の話題で更新します!

今回は、CPUへの命令を保存するためのメモリ装置(Read Only Memory略してROM)を設計していきます。
といっても、ROMはROM専、つまり読むだけの機能しか持たないので、前回のramよりも機能は少なくなります。
なので、つまり、前回より単純なverilogコードになります。

参考書籍に従って32KBのROMを作るので、2Byte*2^14のメモリを構築して、出力のout信号へ接続するだけで設計は終わりです。

module ROM32K(
    input[14:0] address,
    output[15:0] out
);
    // 2byte × 2^14行の配列で32KB確保
    reg[15:0] m[2**14-1:0];
	
    assign out = m[address];
endmodule

これで、記憶装置はあらかた作れました。後は、面倒で引き延ばしてきた検証になりますね...(-ω-;)
頑張ります💪('ω'💪)

参考書籍