题解 | #单端口RAM#

单端口RAM

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

//深度是128 ram【127:0】 adder【$clog(depth)]
//有一个复位时候,必须吧ram每一位都置0
integer i;
	always@(posedge clk or negedge rst)
	begin
	if(!rst)
    begin
    for(i=0;i<128;i=i+1)
    begin
	num[i]<=0;
    end
`timescale 1ns/1ns

module RAM_1port(
    input clk,
    input rst,
    input enb,
    input [6:0]addr,
    input [3:0]w_data,
    output wire [3:0]r_data
);
//*************code***********//
parameter depth=128,width=4;
    reg [3:0]num[0:127];
    reg [3:0]data;
    integer i;
    
	always@(posedge clk or negedge rst)
	begin
	if(!rst)
    begin
    for(i=0;i<128;i=i+1)
    begin
	num[i]<=0;
    end
    end
	else if(enb)
	num[addr]<=w_data;
	end

   assign r_data=enb?0:num[addr];


//*************code***********//
endmodule

全部评论

相关推荐

11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务