重要接口部件——SRAM

重要接口部件——SRAM

SRAM在数学模型中对应着静态数组。

当给出地址下标后,数组会输出所存储的数据值。当给出数据地址(Address),并被时钟上升采样后,SRAM的数据输出Q端将会输出存储的数据;当SRAM处于存储数据改写状态时,SRAM将在时钟上升沿采样数据输入D端的信号,并将其存储到内部单元中。

下面是SRAM的Verilog仿真模型:

module spram #(parameter ADDR_WIDTH=6 ,DATA_WIDTH=8)(
	input [(DATA_WIDTH-1):0] data,
	input [(ADDR_WIDTH-1):0] addr,
	input we, clk,
	output [(DATA_WIDTH-1):0] q
);
reg [DATA_WIDTH-1:0] ram[2**ADDR_WIDTH-1:0];
reg [ADDR_WIDTH-1:0] addr_reg;
always @ (posedge clk)begin
    if (we) begin
		ram[addr] <= data;
    end
	addr_reg <= addr;
end
assign q = ram[addr_reg];
endmodule

SRAM的时序

标准的SRAM读写时序如下图所示,该图源自SMIC65nmSRAM模型,其他厂家SRAM时序图也基本一样。

在这里插入图片描述

同步SRAM的时序与寄存器(D触发器)的最大区别就是读取的数据内容相对于寄存器晚一个时钟节拍,写时序则是完全一样(在时钟沿锁存)。

SRAM时序于APB读写时序基本一致。

寄存器堆

无论时RegFile还是SRAM,如果地址位宽于数据存储深度比例较大,都会有较大的面积浪费。

例如256×256的RAM,地址位宽为256位,数据存储个数位256个,在ASIC中回有较大的MUX单元浪费,而相对FPGA,也有一些额外的开销浪费,所以在使用时尽量用小的地址位宽。

此外在FPGA中,只有SRAM而没有RegFile,而在CPLD中则存在异步SRAM,即类似组合电路的RAM,一旦给出地址,数据立刻输出。

双口RAM

除了上面的单口RAM外,还有一种支持双地址操作的RAM,称为双口RAM(Dual Port RAM)。

双口RAM分成两种:一种是简单双口RAM,采用单一时钟,支持一个都地址口和一个写地址口;另外一种时真双口RAM,真双口RAM支持两个时钟,同时支持完整的两套地址读写。

在低端FPGA种一般只有简单双口RAM,只有在高端的FPGA中才有真双口RAM,这是因为真双口RAM的成本代价很高,而简单双口RAM的设计相对容易。

在ASIC工艺厂商里同样只有真双口RAM与双口Register File,而没有简单的双口RAM。

下面内容时一个简单双口RAM的行为模型:

module dpram #(parameter ADDR_WIDTH=6 ,DATA_WIDTH=8) (
input [(DATA_WIDTH-1):0] data,
input [(ADDR_WIDTH-1):0] read_addr,
input [(ADDR_WIDTH-1):0] write_addr,
input we,
input clk,
output [(DATA_WIDTH-1):0] q  
);
reg [DATA_WIDTH-1:0] ram[2**ADDR_WIDTH-1:0];
reg [(DATA_WIDTH-1):0] q_out;
always @ (posedge clk) begin
    if (we) begin
		ram[write_addr] <= data;
    end
	q_out <= ram[read_addr]; // read old data!
end
assign q = q_out ;
endmodule

源自:《通信IC设计》,摘录下来,只做学习;

  • 6
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShareWow丶

前人栽树,分享知识,传播快乐。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值