在数字系统中,由于ROM掉电后数据不会丢失,因此ROM单元也有着更广泛的应用。
对于容量不大的ROM,在Verilog HDL中可以通过case语句来实现。下面给出一个8×8位
的ROM设计实例。
代码语言:js复制module rom(
clk,cs_n,addm,dout
);
input clk;
input cs_n;
input [2:0]addm;
output [7:0]dout;
reg [7:0]dout;
always @( posedge clk)
begin
if(cs_n)
begin
dout<=8'b0000_0000;
end
else
begin
case(addm)
3'b000:dout<=1;
3'b001:dout<=2;
3'b010:dout<=4;
3'b011:dout<=8;
3'b100:dout<=16;
3'b101:dout<=32;
3'b110:dout<=64;
3'b111:dout<=128;
endcase
end
end
endmodule