
(一)需求确认
对一个已知深度和宽度的mem进行读写操作,而后进行验证。
(二)RTL设计
假设存储器深度为8,单个reg的宽度为8。则代码实现如下:
//define input&output
module mem #(
PARAMETER
)
(
input clk,
input rstn,
input wr_en,
input rd_en,
input[2:0] wr_addr,
input[7:0] wr_data,
input[2:0] rd_addr,
output[7:0] rd_data
);
//define mem
reg[7:0] mem_01[15:0];
reg[7:0] rd_data_r;
//write logic
always@(posedge clk or negedge rstn) begin
if (wr_en) begin
mem_01[wraddr] <= wr_data;
end
end
//read logic
always@(posedge clk) begi
本文详细介绍了如何进行基础的存储器(mem)设计,包括需求确认、RTL代码实现、测试平台(TB)设计以及仿真结果分析。在8位深、8位宽的存储器中,通过wr_en、wr_addr、wr_data进行写操作,使用rd_en、rd_addr获取rd_data。仿真结果显示,当地址为3'b001,数据为8'b1010_0010时,正确实现了数据的写入和读取。
订阅专栏 解锁全文
3964

被折叠的 条评论
为什么被折叠?



