定义:
1.单端口:读写数据共用一个地址线,一个时钟沿只能进行读写中的一种
2.伪双端口:读写数据有自己的时钟、地址、使能信号,时钟可以复用,一组端口只能读,一组端口只能写
3.双端口:两组端口均可读可写
Tips:端口组的定义:有自己的地址
- 单端口RAM
module ram_single(
input clk,
input rst_n,
input sel,
input en,
input [3:0] addr,
input [7:0] wdata,
input wr,
output [7:0] rdata
);
reg [7:0] rdata;
reg [7:0] mem [15:0];
wire wr_en,rd_en;
// sel 多个RAM的选通信号
assign wr_en = wr & sel & en;
assign rd_en = rd & sel & en;
//write data to mem
always @(posedge clk)
if(!rst_n)
for(i=0;i<=15;i=i