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

📄 usbf_mem_arb.v

📁 USB2.0 chip的一部分verilog源码。opencore上下的
💻 V
字号:
`include "usbf_defines.v"module usbf_mem_arb(	phy_clk, wclk, rst,		// SSRAM Interface		sram_adr, sram_din, sram_dout, sram_re, sram_we,		// IDMA Memory Interface		madr, mdout, mdin, mwe, mreq, mack,		// WISHBONE Memory Interface		wadr, wdout, wdin, wwe, wreq, wack		);parameter	SSRAM_HADR = 14;input		phy_clk, wclk, rst;output	[SSRAM_HADR:0]	sram_adr;input	[31:0]	sram_din;output	[31:0]	sram_dout;output		sram_re, sram_we;input	[SSRAM_HADR:0]	madr;output	[31:0]	mdout;input	[31:0]	mdin;input		mwe;input		mreq;output		mack;input	[SSRAM_HADR:0]	wadr;output	[31:0]	wdout;input	[31:0]	wdin;input		wwe;input		wreq;output		wack;/////////////////////////////////////////////////////////////////////// Local Wires and Registers//wire		wsel;reg	[SSRAM_HADR:0]	sram_adr;reg	[31:0]	sram_dout;reg		sram_we;wire		mack;wire		mcyc;reg		wack_r;/////////////////////////////////////////////////////////////////////// Memory Arbiter Logic//// IDMA has always first priority// -----------------------------------------// Ctrl Signalsassign wsel = (wreq | wack) & !mreq;// -----------------------------------------// SSRAM Specific// Data Pathalways @(wsel or wdin or mdin)	if(wsel)	sram_dout = wdin;	else		sram_dout = mdin;// Address Pathalways @(wsel or wadr or madr)	if(wsel)	sram_adr = wadr;	else		sram_adr = madr;// Write Enable Pathalways @(wsel or wwe or wreq or mwe or mcyc)	if(wsel)	sram_we = wreq & wwe;	else		sram_we = mwe & mcyc;assign sram_re = 1'b1;// -----------------------------------------// IDMA specificassign mdout = sram_din;assign mack = mreq;assign mcyc = mack;	// Qualifier for writes// -----------------------------------------// WISHBONE specificassign wdout = sram_din;assign wack = wack_r & !mreq;`ifdef USBF_ASYNC_RESETalways @(posedge phy_clk or negedge rst)`elsealways @(posedge phy_clk)`endif	if(!rst)	wack_r <= 1'b0;	else		wack_r <= wreq & !mreq & !wack;endmodule

⌨️ 快捷键说明

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