📄 mem.v
字号:
/**************************************************************************************** MODULE: Sub Level Memory Block FILE NAME: mem.v VERSION: 1.0 DATE: September 28th, 2001 AUTHOR: Hossein Amidi COMPANY: California Unique Electrical Co. CODE TYPE: Behavioral Level Instantiations: DESCRIPTION: Sub Level Behavioral Memory Block, It uses 12 Address and 16 Data Line the memory size would be 2 ^ 12 = 4096 * 16-bit wide = 65536 bits. 65536 bits / 8 = 8192 Byte -> 8K Byte of memory. This memory is organized as 4096 locations of 16-bit (2 Byte) wide. Hossein Amidi (C) September 2001 California Unique Electric***************************************************************************************/ `timescale 1ns / 1psmodule MEM (// Input DataIn, Address, MemReq, RdWrBar, clock, // Output DataOut );// Parameterparameter words = 4096;parameter AccessTime = 0;parameter DataWidth = 32;parameter AddrWidth = 24;// Inputinput [DataWidth - 1 : 0] DataIn;input [AddrWidth - 1 : 0] Address;input MemReq;input RdWrBar;input clock;// Outputoutput [DataWidth - 1 : 0] DataOut;// Internal Memory Declerations// 4096 x 16 bit widereg [DataWidth - 1 : 0] MEM_Data [0:words-1];// Signal Declerationswire [DataWidth - 1 : 0] Data;// Assignments// Read Cycleassign Data = (MemReq && RdWrBar)? MEM_Data [Address]:32'hz;assign #AccessTime DataOut = Data; // Delay in a continuous assign// Write Cyclealways @(posedge clock)begin if(MemReq && ~RdWrBar) MEM_Data [Address] <= DataIn;endendmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -