找回密码
 立即注册
首页 资源区 代码 verilog 中实现 sram 代码

verilog 中实现 sram 代码

染罕习 2025-6-5 09:22:20
目录

  • verilog/systemverilog中sram的实现

    • sram的基本知识
    • verilog/systemverilog中sram的实现

      • 单口SSRAM(同步SRAM)
      • 单时钟简双口SSRAM(同步SRAM)
      • 单时钟真双口SSRAM(同步SRAM)
      • 双时钟简双口SSRAM(同步SRAM)
      • 双时钟真双口SSRAM(同步SRAM)
      • 多bank SRAM



verilog/systemverilog中sram的实现

sram的基本知识

SRAM 即静态随机存取存储器,它是随机存取存储器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以一直保持。
在IC设计中,常用SRAM在各个block中实现存储单元,用这些存储单元来缓存数据,交换数据,从而实现block的功能。
verilog/systemverilog中sram的实现

在verilog中,我们可以用变量数组来描述sram,一般每一bit都将综合成一个触发器。比如下面的代码,将定义一个宽度为8,深度为256的sram。
logic [7:0] sram[256]
根据读写控制的不同,我们可以把sram的实现分类为,单口sram,单时钟简双口sram,单时钟真双口sram,双时钟简双口sram,双时钟真双口sram,下面分别来学习这几种sram的verilog实现。
单口SSRAM(同步SRAM)

下面是同步先读模式的单口SRAM代码,如果we=1,会并行读写ram[addr]中的值,所以这时qout中保存的是写之前的值。
文件名称 code4_18.v
[code]`timescale 1ns/1psmodule TestMem;    logic clk = 1'b0;    initial begin        $display("start a clock pulse");        $dumpfile("testmem.vcd");         $dumpvars(0, TestMem);         #300 $finish;    end    always begin        #5 clk = ~clk;    end    logic [7:0] a=0,d=0,q;    logic  we=0;    initial begin        #10 we

相关推荐

2025-12-8 05:18:11

举报

2025-12-15 15:55:11

举报

2025-12-26 03:30:11

举报

喜欢鼓捣这些软件,现在用得少,谢谢分享!
2025-12-26 05:52:32

举报

2026-1-16 05:33:07

举报

2026-1-19 12:06:11

举报

2026-1-20 01:08:06

举报

2026-1-21 20:00:34

举报

2026-1-22 12:23:13

举报

喜欢鼓捣这些软件,现在用得少,谢谢分享!
2026-1-24 05:30:39

举报

2026-2-3 07:10:05

举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册