题解 | #ROM的简单实现#

ROM的简单实现

https://www.nowcoder.com/practice/b76fdef7ffa747909b0ea46e0d13738a

`timescale 1ns/1ns
module rom(
	input clk,
	input rst_n,
	input [7:0]addr,
	
	output [3:0]data
);
reg [3:0] d7,d6,d5,d4,d3,d2,d1,d0;
always @(posedge clk or negedge rst_n) begin
	if (~rst_n) begin
		d0 <= 0;
		d1 <= 2;
		d2 <= 4;
		d3 <= 6;
		d4 <= 8;
		d5 <= 10;
		d6 <= 12;
		d7 <= 14; 
	end
end
assign data = (addr==7)?d7:
			((addr==6)?d6:
			((addr==5)?d5:
			((addr==4)?d4:
			((addr==3)?d3:
			((addr==2)?d2:
			((addr==1)?d1:
			((addr==0)?d0:0)))))));
endmodule

前面初始化用寄存器,后面使用选择来输出。

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 12:22
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务