亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? read_master.v

?? altera 的示例ip
?? V
字號:
/******************************************************************************
*                                                                             *
* License Agreement                                                           *
*                                                                             *
* Copyright (c) 2007 Altera Corporation, San Jose, California, USA.           *
* All rights reserved.                                                        *
*                                                                             *
* Permission is hereby granted, free of charge, to any person obtaining a     *
* copy of this software and associated documentation files (the "Software"),  *
* to deal in the Software without restriction, including without limitation   *
* the rights to use, copy, modify, merge, publish, distribute, sublicense,    *
* and/or sell copies of the Software, and to permit persons to whom the       *
* Software is furnished to do so, subject to the following conditions:        *
*                                                                             *
* The above copyright notice and this permission notice shall be included in  *
* all copies or substantial portions of the Software.                         *
*                                                                             *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR  *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,    *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE *
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      *
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING     *
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER         *
* DEALINGS IN THE SOFTWARE.                                                   *
*                                                                             *
* This agreement shall be governed in all respects by the laws of the State   *
* of California and by the laws of the United States of America.              *
*                                                                             *
******************************************************************************/

module read_master
	(
		//Global Avalon interface siganals    
		gls_clk,
		gls_reset_n,
		//Signals for Avalon-MM master port
		avm_m1_address,
		//address,		  // debug - full address output
		avm_m1_byteenable,  // for future byte lane control  
		avm_m1_read_n,
		avm_m1_readdata,
		avm_m1_waitrequest,
		// Signals from slave registers
		addr_reg,
		len_reg,
		go,
		
		avm_m1_byteenable_mask,  // debug - for byteenable mask values
		
		read_busy,
		data_in_ready,
		count,		// debug - check count value and for future enhancement
		data_to_process
		
	);

		input gls_clk;
		input gls_reset_n;

		output [31:0]avm_m1_address;
		//output [31:0]address;		  // debug - full address output
		output [3:0]avm_m1_byteenable;  //for future byte lane control  
		output avm_m1_read_n;
		input [31:0] avm_m1_readdata;
		input avm_m1_waitrequest;

		input [31:0]addr_reg;
		input [15:0]len_reg;
		input go;
		
		output [3:0]avm_m1_byteenable_mask;  // debug - for byteenable mask values
		
		output read_busy;
		output data_in_ready;
		output [15:0]count;  // debug - check count value and  for future enhancement
		output [31:0]data_to_process;


wire [31:0] avm_m1_address = { addr[31:2], 2'b0 }; // Lower address bits are not used assume world aligned addresses

//wire [31:0] address = addr;

// Check for valid read data on the master port by looking for waitrequest with each read
wire data_in_ready = ( (avm_m1_read_n == 1'b0) && !avm_m1_waitrequest) ? 1'b1 : 1'b0;

// passing readdata to task logic
// mask data to process based on byteenable mask

assign data_to_process[31:0] = 	(avm_m1_byteenable_mask == 4'b0001) ? ( 32'h000000FF & avm_m1_readdata[31:0]) :
						(avm_m1_byteenable_mask == 4'b0011) ? ( 32'h0000FFFF & avm_m1_readdata[31:0]) :
						(avm_m1_byteenable_mask == 4'b0111) ? ( 32'h00FFFFFF & avm_m1_readdata[31:0]) :
															 avm_m1_readdata[31:0];
reg [31:0] addr;
reg avm_m1_read_n;
reg [15:0] count_tmp;
wire [3:0] avm_m1_byteenable = 4'b1111;  // drive byteenables high
reg [3:0] avm_m1_byteenable_mask;
reg read_busy;

//Statemachine block for controlling read master signals 

	always @(posedge gls_clk or negedge gls_reset_n)
	begin
		if (gls_reset_n == 1'b0)
			begin
			count_tmp <= 'b0;
			read_busy <= 1'b0;
			addr <= 'b0;
			avm_m1_byteenable_mask <= 4'b0000;
			avm_m1_read_n <= 1'b1;			
			read_busy <= 1'b0;
			end
		else if (go)					// loads count and start read master statemachine
			begin
			count_tmp <= len_reg - 3'h4; 		// decrement count for this initial load/read state
			addr <= addr_reg ;			// loads address - must be 32-bit word aligned addess
			avm_m1_byteenable_mask <= 4'b1111;
			avm_m1_read_n <= 1'b1;   
			read_busy <= 1'b1;
			end
		else if (count > 3 && data_in_ready)  	// Main loop for read master statemachine
			begin
			count_tmp <= count_tmp - 3'h4;
			addr <= addr + 3'h4;
			avm_m1_byteenable_mask <= 4'b1111;		// assert byteenable mask byte lane(s) 3,2,1,0
			avm_m1_read_n <= 1'b0;
			read_busy <= 1'b1;
			end
		else if (count == 3 && data_in_ready) 	// Last read for un-aligned word lengths - 3 bytes
			begin
			count_tmp <= count_tmp - 3'h3;
			addr <= addr + 3'h4;
			avm_m1_byteenable_mask <= 4'b0111;		// assert byteenable mask byte lane(s) 2,1,0
			avm_m1_read_n <= 1'b0;
			read_busy <= 1'b1;
			end	
		else if (count == 2 && data_in_ready) 	// Last read for un-aligned word lengths - 2 bytes	
			begin
			count_tmp <= count_tmp - 3'h2;
			addr <= addr + 3'h4;
			avm_m1_byteenable_mask <= 4'b0011;		// assert byteenable mask byte lane(s) 1,0
			avm_m1_read_n <= 1'b0;
			read_busy <= 1'b1;
			end				
		else if (count == 1 && data_in_ready)	// Last read for un-aligned word lengths - 1 bytes
			begin
			count_tmp <= count_tmp - 3'h1;
			addr <= addr + 3'h4;
			avm_m1_byteenable_mask <= 4'b0001;		// assert byteenable mask byte lane(s) 0
			avm_m1_read_n <= 1'b0;
			read_busy <= 1'b1;
			end			
		else if (count ==0 && !data_in_ready) 	// Hold outputs if waitrequest asserted during last read cycle
			begin
			count_tmp <= count_tmp;
			addr <= addr ;
			avm_m1_byteenable_mask <= avm_m1_byteenable_mask;
			avm_m1_read_n <= avm_m1_read_n;  
			read_busy <= read_busy;	
			end
				
		else if (count ==0)				// byte count is zero and the exit condition for read master statemachine
			begin
			addr <= 'b0;						// clear address
			avm_m1_byteenable_mask <= 4'b0000;		// clear byteenables
			avm_m1_read_n <= 1'b1; 				// stop reading
			read_busy <= 1'b0;					// deassert busy bit	
			end
		else   // Starts the read cycle after a load or holds master outputs static when waitrequest asserted
			begin
			count_tmp <= count_tmp;
			addr <= addr ;
			avm_m1_byteenable_mask <= avm_m1_byteenable_mask;
			avm_m1_read_n <= 1'b0;   		// starts the read cycle
			read_busy <= 1'b1;				

			end
       
	end

assign count = count_tmp;

endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级在线视频| 亚洲欧美一区二区久久| 天天综合天天综合色| 成人一区在线观看| 日韩久久久久久| 午夜激情久久久| 色婷婷久久综合| 成人免费小视频| 国产成人综合在线播放| 欧美中文字幕亚洲一区二区va在线| 久久综合九色综合久久久精品综合 | 麻豆传媒一区二区三区| 欧美视频你懂的| 亚洲激情欧美激情| av动漫一区二区| 国产精品欧美一区喷水| 国产乱人伦偷精品视频不卡| 在线观看欧美精品| 亚洲人一二三区| 成人av在线看| 国产喷白浆一区二区三区| 久久99精品久久久久久| 欧美日韩在线综合| 亚洲九九爱视频| 91美女蜜桃在线| 亚洲三级在线观看| 色8久久精品久久久久久蜜| 国产精品免费丝袜| 丁香啪啪综合成人亚洲小说| 国产欧美日韩精品在线| 国产精品一二三四区| 精品福利在线导航| 极品少妇一区二区三区精品视频 | 久久伊99综合婷婷久久伊| 精品午夜久久福利影院| 久久婷婷一区二区三区| 国产精品888| 欧美国产综合一区二区| 99久久精品国产一区二区三区| 中文字幕第一区二区| 北条麻妃一区二区三区| 一区在线中文字幕| 色婷婷av一区二区三区gif | 欧美v日韩v国产v| 伦理电影国产精品| 久久麻豆一区二区| 欧美精品aⅴ在线视频| 日韩av一区二| 精品国精品国产尤物美女| 激情综合网最新| 国产欧美精品一区二区色综合朱莉| 懂色av中文一区二区三区| 国产精品初高中害羞小美女文| 91在线porny国产在线看| 一区二区三区欧美亚洲| 欧美电影一区二区| 国模一区二区三区白浆| 精品国免费一区二区三区| 国产在线精品一区二区不卡了| 国产亚洲精品aa午夜观看| av成人老司机| 亚洲高清免费视频| 日韩视频免费观看高清完整版在线观看 | 成人一区二区三区| 亚洲你懂的在线视频| 欧美日韩成人综合在线一区二区| 午夜精品久久久久久久| 日韩一区二区三区观看| 蜜臀久久99精品久久久久久9| 欧美成人三级电影在线| 国产999精品久久久久久绿帽| 最近中文字幕一区二区三区| 欧美精品在线一区二区| 国产一区二区三区国产| 亚洲特黄一级片| 91麻豆精品国产自产在线观看一区| 久久国产福利国产秒拍| 国产精品福利在线播放| 欧美精品久久久久久久多人混战 | 亚洲五月六月丁香激情| 欧美丰满美乳xxx高潮www| 国产精品自拍毛片| 亚洲二区视频在线| 久久综合五月天婷婷伊人| 97精品久久久午夜一区二区三区| 婷婷亚洲久悠悠色悠在线播放| 日韩欧美三级在线| 97精品久久久午夜一区二区三区 | 丰满少妇久久久久久久| 亚洲成人动漫在线免费观看| 国产亚洲欧美在线| 欧美午夜一区二区三区免费大片| 久久国产免费看| 国产精品免费丝袜| 欧美电影在哪看比较好| 成人免费观看视频| 久久精品理论片| 亚洲精品视频在线看| 26uuu久久天堂性欧美| 91福利视频久久久久| 国产精品一区二区久久不卡 | 一个色综合网站| 国产欧美一区二区在线| 欧美日韩小视频| 成人激情免费电影网址| 九色综合国产一区二区三区| 亚洲激情欧美激情| 中文字幕第一区| ww亚洲ww在线观看国产| 欧美日本韩国一区二区三区视频 | 亚洲免费观看高清完整版在线观看| 日韩美女一区二区三区| 色中色一区二区| 国产高清在线观看免费不卡| 毛片一区二区三区| 亚洲国产成人高清精品| 亚洲欧洲无码一区二区三区| 久久欧美一区二区| 欧美一级二级三级蜜桃| 欧美亚洲动漫制服丝袜| av不卡在线播放| 国产综合色视频| 青青草91视频| 亚洲男同性恋视频| 欧美激情艳妇裸体舞| 久久久亚洲综合| 精品久久久久久无| 欧美精品自拍偷拍动漫精品| 在线中文字幕一区| 99久久99久久精品国产片果冻 | 亚洲无线码一区二区三区| 亚洲天堂福利av| 中文幕一区二区三区久久蜜桃| 亚洲精品一区二区三区福利| 欧美天堂一区二区三区| av福利精品导航| 色哟哟国产精品| 色一情一伦一子一伦一区| 99久久国产综合色|国产精品| 国产大片一区二区| 国产福利一区二区三区视频在线| 久久av老司机精品网站导航| 免费在线看一区| 日韩成人一级大片| 天堂蜜桃91精品| 日日摸夜夜添夜夜添精品视频 | 午夜国产不卡在线观看视频| 亚洲成人在线免费| 亚洲一二三区不卡| 亚洲人成网站色在线观看| 国产精品久久午夜夜伦鲁鲁| 亚洲婷婷综合色高清在线| 136国产福利精品导航| 综合色中文字幕| 亚洲欧美另类久久久精品2019| 国产精品不卡一区| 亚洲乱码日产精品bd| 亚洲蜜桃精久久久久久久| 亚洲激情网站免费观看| 亚洲综合丝袜美腿| 亚洲成av人片在线| 视频在线在亚洲| 另类综合日韩欧美亚洲| 国产一区二区三区国产| 国产原创一区二区三区| 国产在线视频一区二区三区| 国产成人福利片| 成人黄色av网站在线| av网站免费线看精品| 91久久精品一区二区三区| 欧美三区在线视频| 在线电影院国产精品| 欧美tk—视频vk| 欧美—级在线免费片| 亚洲日本乱码在线观看| 夜夜揉揉日日人人青青一国产精品 | 99re亚洲国产精品| 91黄色激情网站| 欧美卡1卡2卡| 久久久久久久综合色一本| 国产精品免费观看视频| 亚洲精品日产精品乱码不卡| 天天射综合影视| 国产自产2019最新不卡| 9久草视频在线视频精品| 欧美日韩日日夜夜| 日韩精品一区国产麻豆| 中文字幕乱码久久午夜不卡| 一区二区三区美女视频| 免费久久精品视频| 国产成人精品综合在线观看| 一本久久精品一区二区| 欧美一区二区三区公司| 国产欧美日韩另类视频免费观看| 最新不卡av在线| 蜜臀久久99精品久久久画质超高清| 99精品久久久久久| 欧美大片一区二区| 一区二区三区在线观看视频| 国产一区二区三区高清播放|