名称:SRAM的设计Verilog代码VIVADO仿真
软件:VIVADO
语言:Verilog
代码功能:
SRAM的设计
256×32的SRAM的设计,位宽32bit,深度256。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. Testbench
5. 仿真图
往地址1~10分别写了3,6,9,12,15,18,21,24,27,30,读数时对应地址读出来的数据与写入一致,仿真正确
部分代码展示:
`timescale?1ns?/?1ps ////////////////////////////////////////////////////////////////////////////////// //?Company:? //?Engineer:? //? //?Create?Date:?2020/04/05?15:44:04 //?Design?Name:? //?Module?Name:?SRAM //?Project?Name:? //?Target?Devienables:? //?Tool?Versions:? //?Description:? //? //?Dependencies:? //? //?Revision: //?Revision?0.01?-?File?Created //?Additional?Comments: //? ////////////////////////////////////////////////////////////////////////////////// //256×32的SRAM的设计,位宽32bit,深度256 module?SRAM( input?clk, input?reset, input?[?7:0]?RAM_addr,//SRAM地址 input?[?31:0]?din,//RAM输入 input?enable,//SRAM使能 input?write_en,//读写控制 output?reg?[?31:0]?dout//RAM读出 ????); ???? reg?[31:0]?RAM_mem[255:0];??//RAM_mem是256*32的寄存器数组 //初始化RAM为全零 ????integer?i; ????initial?begin ????????for(i=0;?i<256;i=i+1)?begin ????????????RAM_mem[i]?=?32'h00000000; ????????end ????end //write_en=1,enable=1时写SRAM ????always?@(posedge?clk?or?posedge?reset)?begin ????if(reset) ????????for(i=0;?i<256;i=i+1)?begin ????????????RAM_mem[i]?=?32'h00000000;//复位清零 ????????end
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=882
阅读全文