sp_syn_ram.v

来自「Verilog写的内存控制器代码. 很好,很容易看懂」· Verilog 代码 · 共 57 行

V
57
字号
// Copyright 2006 Mentor Graphics Corporation// All Rights Reserved.// THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION WHICH IS THE PROPERTY OF // MENTOR GRAPHICS CORPORATION OR ITS LICENSORS AND IS SUBJECT TO LICENSE TERMS.`timescale 1ns/1nsmodule \sp_syn_ram-rtl    #(parameter data_width = 8,      parameter addr_width = 3)     (input  [addr_width-1:0] addr,      input  [data_width-1:0] data_in,      input                   inclk,      input                   outclk,      input                   we,      output reg [data_width-1:0] data_out);    reg [data_width-1:0] mem [0:(2**addr_width)-1];    always @(posedge inclk) begin : write_proc        if (we == 1)            mem[addr] <= data_in;    end    always @(posedge outclk) begin : read_proc        data_out = mem[addr];    endendmodule`timescale 1ns/1nsmodule \sp_syn_ram-3D     #(parameter data_width = 8,      parameter addr_width = 3)     (input  [addr_width-1:0] addr,      input  [data_width-1:0] data_in,      input                   inclk,      input                   outclk,      input                   we,      output reg [data_width-1:0] data_out);    reg [data_width-1:0] mem [0:3] [0:(2**(addr_width-2))-1];    always @(posedge inclk) begin : write_proc        if (we == 1) begin            mem[addr[addr_width-1:addr_width-2]][addr[addr_width-3:0]] <= data_in;        end    end    always @(posedge outclk) begin : read_proc        data_out = mem[addr[addr_width-1:addr_width-2]][addr[addr_width-3:0]];    endendmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?