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

📄 top_mt32.v

📁 Master MemoryExamples for MT32 v1.0.0 Rtl core
💻 V
字号:
//------------------------------------------------------------------------------
// 
// Name:                Master Memory 32 Example
// Module Name:         top_mt32
// Company:             Altera Corporation  www.altera.com 
// 
// Functional Description:
// 
//   This module is the top level of the Master 32-bit memory
//   example. The design example shows how to interface 
//   a 32-bit Master Function to a synchronous memory like altsyncram.
//   
//   This example also shows the sample master control logic required
//   to handle the case when the transaction is terminated by either a Target
//   Retry, Target Disconnect or Master Latency Timeout. If the
//   transaction is terminated before the entire data is transmitted,
//   the control logic will start a new PCI transaction and will
//   transfer the remaining data.
//   
//   This module instantiates the module mstr_mem32 the top level of
//   local design and the 32-bit PCI Master/Target core (pmt32)
//   
// Copyright:
//   Copyright 2004 Altera Corporation, All rights Reserved
//
//------------------------------------------------------------------------------
`timescale 1ns/1ns
module top_mt32 (/*AUTOARG*/
   // Outputs
   reqn, serrn, done, error, 
   // Inouts
   framen, irdyn, devseln, trdyn, stopn, ad, cben, par, 
   // Inputs
   clk, rstn, gntn, idsel, perrn, START, PCI_ADDR, LOCAL_ADDR, 
   LOCAL_DATA, CMD, XFR_LENGTH
   );

   input       clk;
   input       rstn;
   input       gntn;
   input       idsel;
   
   inout       framen;
   inout       irdyn;
   inout       devseln;
   inout       trdyn;
   inout       stopn;

   output      reqn;
   output      serrn;

   inout [31:0] ad;
   inout [3:0] 	cben;
   inout 	par;
   input 	perrn;

   // TB master control signals
   input 	START;
   input [31:0] PCI_ADDR;
   input [31:0] LOCAL_ADDR;
   input [31:0] LOCAL_DATA;
   input [3:0] 	CMD;
   input [10:0] XFR_LENGTH;
   output 	done;
   output 	error;
   
   // Internal Signals
   wire [31:0] 	l_adi, l_adro, l_dato;
   wire [3:0] 	l_cbeni, l_beno, l_cmdo;
   wire [9:0] 	lm_tsr;
   wire [11:0] 	lt_tsr;
   wire [6:0] 	cmd_reg;
   wire [6:0] 	stat_reg;
   wire [7:0] 	cache;
   
   pmt32 core (.clk(clk),
	       .rstn(rstn),
	       .gntn(gntn),
	       .idsel(idsel),
	       .l_adi(l_adi),
	       .l_cbeni(l_cbeni),
	       .lm_req32n(lm_req32n),
	       .lm_lastn(lm_lastn),
	       .lm_rdyn(lm_rdyn),
	       .lt_rdyn(lt_rdyn),
	       .lt_abortn(lt_abortn),
	       .lt_discn(lt_discn),
	       .lirqn(lirqn),
	       .framen(framen),
	       .irdyn(irdyn),
	       .devseln(devseln),
	       .trdyn(trdyn),
	       .stopn(stopn),
	       .intan(),
	       .reqn(reqn),
	       .serrn(serrn),
	       .l_adro(l_adro),
	       .l_dato(l_dato),
	       .l_beno(l_beno),
	       .l_cmdo(l_cmdo),
	       .lm_adr_ackn(lm_adr_ackn),
	       .lm_ackn(lm_ackn),
	       .lm_dxfrn(lm_dxfrn),
	       .lm_tsr(lm_tsr),
	       .lt_framen(lt_framen),
	       .lt_ackn(lt_ackn),
	       .lt_dxfrn(lt_dxfrn),
	       .lt_tsr(lt_tsr),
	       .cmd_reg(cmd_reg),
	       .stat_reg(stat_reg),
	       .cache(cache),
	       .ad(ad),
	       .cben(cben),
	       .par(par),
	       .perrn(perrn)
	       );


   mstr_mem32 be (.START_I			(START),
		  .PCI_ADDR_I			(PCI_ADDR[31:0]),
		  .LOCAL_ADDR_I			(LOCAL_ADDR[31:0]),
		  .LOCAL_DATA_I			(LOCAL_DATA[31:0]),
		  .PCI_CMD_I			(CMD[3:0]),
		  .XFR_LENGTH_I			(XFR_LENGTH[10:0]),
		  /*AUTOINST*/
		  // Outputs
		  .l_adi			(l_adi[31:0]),
		  .l_cbeni			(l_cbeni[3:0]),
		  .lm_req32n			(lm_req32n),
		  .lm_lastn			(lm_lastn),
		  .lm_rdyn			(lm_rdyn),
		  .lt_rdyn			(lt_rdyn),
		  .lt_abortn			(lt_abortn),
		  .lt_discn			(lt_discn),
		  .lirqn			(lirqn),
		  .done				(done),
		  .error			(error),
		  // Inputs
		  .clk				(clk),
		  .rstn				(rstn),
		  .l_adro			(l_adro[31:0]),
		  .l_dato			(l_dato[31:0]),
		  .l_beno			(l_beno[3:0]),
		  .l_cmdo			(l_cmdo[3:0]),
		  .lm_adr_ackn			(lm_adr_ackn),
		  .lm_ackn			(lm_ackn),
		  .lm_dxfrn			(lm_dxfrn),
		  .lm_tsr			(lm_tsr[9:0]),
		  .lt_framen			(lt_framen),
		  .lt_ackn			(lt_ackn),
		  .lt_dxfrn			(lt_dxfrn),
		  .lt_tsr			(lt_tsr[11:0]),
		  .cmd_reg			(cmd_reg[6:0]),
		  .stat_reg			(stat_reg[6:0]),
		  .cache			(cache[7:0])
		  );
   
	  
endmodule // top_mt32






⌨️ 快捷键说明

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