sp_syn_ram.v

来自「FPGA-CPLD_DesignTool,事例程序3-4」· Verilog 代码 · 共 53 行

V
53
字号
// Copyright Model Technology, a Mentor Graphics// Corporation company 2003, - All rights reserved.`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 + -
显示快捷键?