⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mem.v

📁 verilog语言写的8位CPU源代码
💻 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 + -