📄 mem.v
字号:
// **********************************************************
// **Revision : 1.0
// **File name : mem.v
// **Module name : memory
// **Discription : 本文描述了一个256*8的存储器作为外围电路.
// * * FPGACS,FPGARD为低:读存储器;
// ** FPGACS,FPGAWR为低:写存储器.
// **Simulator : Modlesim XE 2 V5.6a/Verilog Pro6.5
// **Synthesizer : Design Analyzer
// **Author :
// **********************************************************
`timescale 1ns/1ns
module memory(mem_data,mem_address,CS,WRITE,READ);
parameter width=8;
inout [width-1:0] mem_data; //双向数据端口
input [7:0] mem_address; //地址输入端口
input CS,WRITE,READ; //读写控制
wire [width-1:0] mem_in; //
reg [width-1:0] mem_out; //寄存输出
reg [width-1:0] mem[255:0]; //256×8位的存储空间
//双向数据总线数据操作,写数据时要控制
assign mem_in=mem_data;
assign mem_data=(~CS & ~READ) ? mem_out : 8'bz;
always @(mem_in or mem_out or mem_address or CS or WRITE or READ)
begin
if(!CS)
begin
if(!WRITE)
mem[mem_address] = mem_in; //写数据
else
if(!READ)
mem_out = mem[mem_address];//读数据
end
end
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -