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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? pci_pci_decoder.v

?? 用verilog編寫的pci——rtl級(jí)。
?? V
字號(hào):
//////////////////////////////////////////////////////////////////////
////                                                              ////
////  File name: pci_decoder.v                                    ////
////                                                              ////
////  This file is part of the "PCI bridge" project               ////
////  http://www.opencores.org/cores/pci/                         ////
////                                                              ////
////  Author(s):                                                  ////
////      - Tadej Markovic, tadej@opencores.org                   ////
////                                                              ////
////  All additional information is avaliable in the README.txt   ////
////  file.                                                       ////
////                                                              ////
////                                                              ////
//////////////////////////////////////////////////////////////////////
////                                                              ////
//// Copyright (C) 2000 Tadej Markovic, tadej@opencores.org       ////
////                                                              ////
//// This source file may be used and distributed without         ////
//// restriction provided that this copyright statement is not    ////
//// removed from the file and that any derivative work contains  ////
//// the original copyright notice and the associated disclaimer. ////
////                                                              ////
//// This source file is free software; you can redistribute it   ////
//// and/or modify it under the terms of the GNU Lesser General   ////
//// Public License as published by the Free Software Foundation; ////
//// either version 2.1 of the License, or (at your option) any   ////
//// later version.                                               ////
////                                                              ////
//// This source is distributed in the hope that it will be       ////
//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
//// PURPOSE.  See the GNU Lesser General Public License for more ////
//// details.                                                     ////
////                                                              ////
//// You should have received a copy of the GNU Lesser General    ////
//// Public License along with this source; if not, download it   ////
//// from http://www.opencores.org/lgpl.shtml                     ////
////                                                              ////
//////////////////////////////////////////////////////////////////////
//
// CVS Revision History
//
// $Log: pci_pci_decoder.v,v $
// Revision 1.1  2003/01/27 16:49:31  mihad
// Changed module and file names. Updated scripts accordingly. FIFO synchronizations changed.
//
// Revision 1.3  2002/02/01 15:25:12  mihad
// Repaired a few bugs, updated specification, added test bench files and design document
//
// Revision 1.2  2001/10/05 08:14:28  mihad
// Updated all files with inclusion of timescale file for simulation purposes.
//
// Revision 1.1.1.1  2001/10/02 15:33:46  mihad
// New project directory structure
//
//

`include "pci_constants.v"

// synopsys translate_off
`include "timescale.v"
// synopsys translate_on

module pci_pci_decoder (hit, addr_out, 
					addr_in, bc_in,
					base_addr, mask_addr, tran_addr, at_en, 
					mem_io_space, mem_en, io_en) ;

// Decoding address size parameter - for FPGAs 1MegByte is recommended
//   MAXIMUM is 20 (4KBytes), length 12 is 1 MByte !!!
parameter		decode_len     = 12 ;

//###########################################################################################################
// ALL COMMENTS are written as there were decode_len 20. This number and 12 (32 - 20) are assigning the
// numbers of decoded and compared bits, etc.
//###########################################################################################################

/*-----------------------------------------------------------------------------------------------------------
DECODER interface decodes input address (ADDR_IN); what means that it validates (HIT), if input address
falls within the defined image space boundaries. Image space boundarie is defined with image base address
register (BASE_ADDR) and address mask register (MASK_ADDR).
Beside that, it also translates (maps) the input address to the output address (ADDR_OUT), regarding the
translation address register (TRAN_ADDR) and the address mask register.
-----------------------------------------------------------------------------------------------------------*/

// output control
output	hit ;
// output address
output	[31:0]	addr_out ;
// input address and bus command
input	[31:0]	addr_in ;
input	[3:0]	bc_in ;

// input registers - 12 LSbits are not valid since the smallest possible size is 4KB !
input	[31:(32-decode_len)]	base_addr ;
input	[31:(32-decode_len)]	mask_addr ;
input	[31:(32-decode_len)]	tran_addr ;

// input bit[2] of the Image Control register used to enable the address translation !
input	at_en ;

// memory or io space selection and its enable signals !
input	mem_io_space ;
input	mem_en ;
input	io_en ;

/*-----------------------------------------------------------------------------------------------------------
Internal signals !
-----------------------------------------------------------------------------------------------------------*/

// bit[31] if address mask register is IMAGE ENABLE bit (img_en)
wire	img_en ;

// addr_in_compare are masked input address bits that are compared with masked base_addr
wire	[31:(32-decode_len)]	addr_in_compare ;
// base_addr_compare are masked base address bits that are compared with masked addr_in
wire	[31:(32-decode_len)]	base_addr_compare ;

/*-----------------------------------------------------------------------------------------------------------
Decoding the input address!
This logic produces the loghest path in this module!

20 MSbits of input addres are as well as base address (20 bits) masked with corrected address mask. Only
masked bits of each vector are actually logically compared.
Bit[31] of address mask register is used to enable the image space !
Because of PCI bus specifications, there is also the comparison of memory/io selection (mem_io_space) and
its appropriate enable bit (mem_en / io_en).
-----------------------------------------------------------------------------------------------------------*/

assign	addr_in_compare = (addr_in[31:(32-decode_len)] & mask_addr) ;

assign	base_addr_compare = (base_addr & mask_addr) ;

assign	img_en = mask_addr[31] ;

wire	addr_hit = (addr_in_compare == base_addr_compare) ;

wire	space_hit = (!mem_io_space && mem_en && img_en) || (mem_io_space && io_en && img_en) ;

reg		bc_hit ;
always@(bc_in or mem_io_space)
begin // Allowed bus commands for accesses through IMAGEs to WB bus - BC_CONF_WRITE/READ are not used with address claim!!!
	case ( {bc_in[3:1], mem_io_space} )
	4'b001_1,	// BC_IO_READ	  or BC_IO_WRITE		and IO space
	4'b011_0,	// BC_MEM_READ	  or BC_MEM_WRITE		and MEM space
	4'b110_0,	// BC_MEM_READ_MUL						and MEM space - BC_DUAL_ADDR_CYC must NOT be allowed!
	4'b111_0:	// BC_MEM_READ_LN or BC_MEM_WRITE_INVAL	and MEM space
		bc_hit <= 1'b1 ;
	default:
		bc_hit <= 1'b0 ;
	endcase
end

wire	bc_forbid = bc_in[3] && bc_in[2] && !bc_in[1] && bc_in[0] ; // BC_DUAL_ADDR_CYC must NOT be allowed!


assign	hit = (addr_hit && space_hit && bc_hit && !bc_forbid) ;

/*-----------------------------------------------------------------------------------------------------------
Translating the input address!

Translation of input address is not implemented if ADDR_TRAN_IMPL is not defined

20 MSbits of input address are masked with negated value of the corrected address mask in order to get
address bits of the input address which won't be replaced with translation address bits.
Translation address bits (20 bits) are masked with corrected address mask. Only masked bits of vector are
actually valid, all others are zero.
Boath vectors are bit-wise ORed in order to get the valid translation address with an offset of an input
address.
12 LSbits of an input address are assigned to 12 LSbits of an output addres.
-----------------------------------------------------------------------------------------------------------*/

`ifdef ADDR_TRAN_IMPL
    // if Address Translation Enable bit is set, then translation address is used othervise input address is used!
    // addr_in_combine input address bits are not replaced with translation address!
    wire	[31:(32-decode_len)] addr_in_combine ;
    // tran_addr_combine are masked and combined with addr_in_combine!
    reg		[31:(32-decode_len)] tran_addr_combine ;

    assign addr_in_combine = (addr_in[31:(32-decode_len)] & ~mask_addr) ;
    always@(at_en or tran_addr or mask_addr or addr_in)
	begin
	    if (at_en)
			begin
				tran_addr_combine <= (tran_addr & mask_addr) ;
    		end
    	else
			begin
				tran_addr_combine <= (addr_in[31:(32-decode_len)] & mask_addr) ;
			end
	end

    assign addr_out[31:(32-decode_len)] = (addr_in_combine | tran_addr_combine) ;
    assign addr_out[(31-decode_len):0] = addr_in [(31-decode_len):0] ;
`else
    assign addr_out = addr_in ;
`endif

endmodule

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲永久免费av| 最新国产の精品合集bt伙计| 天天综合网天天综合色| 91福利在线免费观看| 亚洲国产你懂的| 日韩一区二区精品在线观看| 麻豆精品在线视频| 久久久99久久精品欧美| 成人夜色视频网站在线观看| 亚洲人精品一区| 欧美人妇做爰xxxⅹ性高电影| 午夜电影网一区| 久久综合久久综合久久| 成人午夜短视频| 亚洲午夜视频在线观看| 欧美一区二区在线免费播放| 久久精品国产亚洲高清剧情介绍| www国产精品av| 一本到不卡精品视频在线观看 | 成人夜色视频网站在线观看| 国产精品网曝门| 精品视频1区2区3区| 麻豆91免费看| 亚洲欧美经典视频| 欧美一区二区在线免费播放| 国产河南妇女毛片精品久久久| 亚洲欧洲日产国码二区| 欧美一区午夜精品| 精品嫩草影院久久| 色婷婷av一区二区三区之一色屋| 三级成人在线视频| 国产精品久久免费看| 欧美日韩国产乱码电影| 懂色av一区二区三区蜜臀| 亚洲国产毛片aaaaa无费看 | 国产精品人人做人人爽人人添| 色婷婷av一区二区三区软件| 看电影不卡的网站| 亚洲综合无码一区二区| 久久蜜臀中文字幕| 欧美日韩国产精选| 成人精品视频一区二区三区| 日本成人在线网站| 亚洲女女做受ⅹxx高潮| 久久人人超碰精品| 在线播放日韩导航| 91热门视频在线观看| 国产在线视频精品一区| 亚洲大片精品永久免费| 中文字幕在线一区二区三区| 欧美变态凌虐bdsm| 欧美猛男男办公室激情| 国产精品久久久久久久久免费相片 | 精品999在线播放| 欧美日韩亚洲综合一区| 波多野结衣亚洲| 国产在线精品不卡| 男人操女人的视频在线观看欧美| 亚洲欧美日韩成人高清在线一区| 久久久不卡网国产精品二区| 日韩精品一区二区三区视频在线观看| 欧美在线制服丝袜| 99re热这里只有精品视频| 粉嫩aⅴ一区二区三区四区| 精品一区二区三区视频在线观看 | 日本中文一区二区三区| 一区二区三区四区乱视频| 中文字幕日韩一区二区| 国产精品三级久久久久三级| 久久久.com| 国产婷婷色一区二区三区四区| 精品噜噜噜噜久久久久久久久试看| 欧美日韩精品电影| 欧美日韩高清在线| 欧美日韩免费观看一区三区| 欧美四级电影网| 欧美日韩综合不卡| 欧美丝袜第三区| 欧美色爱综合网| 欧美日韩另类国产亚洲欧美一级| 在线亚洲欧美专区二区| 91福利在线观看| 欧美午夜精品理论片a级按摩| 欧美自拍偷拍一区| 欧美日韩在线播| 欧美日韩国产免费一区二区 | 亚洲色图清纯唯美| **网站欧美大片在线观看| 亚洲欧美自拍偷拍色图| 亚洲欧美日韩久久精品| 亚洲线精品一区二区三区| 亚洲午夜久久久久久久久久久 | 欧美放荡的少妇| 91精品国产综合久久福利软件| 欧美一区二区私人影院日本| 日韩美一区二区三区| 亚洲精品一区二区三区蜜桃下载| 久久精品一区二区三区av| 国产精品乱码久久久久久| 日本一不卡视频| 国产欧美一区二区精品性色超碰| 久久精品一区二区三区不卡牛牛| 国产精品久久久爽爽爽麻豆色哟哟 | 欧美精品欧美精品系列| 日韩欧美中文一区二区| 国产色一区二区| 综合久久国产九一剧情麻豆| 亚洲三级在线免费观看| 五月天婷婷综合| 国产精品77777竹菊影视小说| 9色porny自拍视频一区二区| 欧美日韩一区三区四区| 欧美大片在线观看| **网站欧美大片在线观看| 日韩高清不卡在线| 国产精品一区二区三区99| 色综合色综合色综合色综合色综合 | 亚洲h在线观看| 国产美女在线精品| 欧洲视频一区二区| 精品区一区二区| 一区二区三区在线免费视频| 久久国产精品色| 日本韩国欧美在线| 久久久91精品国产一区二区三区| 夜夜嗨av一区二区三区中文字幕| 激情文学综合丁香| 欧美中文字幕一二三区视频| 久久午夜老司机| 午夜日韩在线电影| 91影院在线免费观看| 欧美成人一区二区三区在线观看 | 国产视频一区在线观看| 性做久久久久久免费观看欧美| 国产乱码精品一区二区三区五月婷| 91久久精品一区二区三区| 久久影院午夜论| 亚洲国产wwwccc36天堂| av电影在线观看不卡| 欧美xxxxx牲另类人与| 亚洲成人激情自拍| 91麻豆文化传媒在线观看| 久久综合色婷婷| 美脚の诱脚舐め脚责91| 欧美三区在线观看| 亚洲乱码中文字幕综合| 懂色av一区二区三区蜜臀| 精品久久久久一区二区国产| 亚洲第一主播视频| 色婷婷精品久久二区二区蜜臂av| 久久久国产综合精品女国产盗摄| 日韩精品每日更新| 欧美日韩国产在线播放网站| 亚洲欧美电影院| www.欧美日韩国产在线| 久久久不卡网国产精品二区| 久久国产精品无码网站| 这里只有精品电影| 日本三级韩国三级欧美三级| 欧美图区在线视频| 亚洲成av人影院在线观看网| 一本久久a久久免费精品不卡| 国产精品久久久久久久久免费樱桃| 粉嫩嫩av羞羞动漫久久久| 国产欧美综合在线观看第十页 | 99久久伊人网影院| 亚洲国产精品激情在线观看| 国产一区二区三区国产| 26uuu色噜噜精品一区二区| 麻豆一区二区在线| 2020国产精品自拍| 国产精品1区2区3区在线观看| 久久综合色播五月| 国产成人免费在线观看| 国产精品福利一区| 91一区二区在线观看| 一区二区三区在线高清| 欧洲视频一区二区| 日韩经典中文字幕一区| 日韩美女一区二区三区四区| 久久福利资源站| 国产欧美一区二区精品性| 成人午夜视频福利| 一区在线中文字幕| 欧美色爱综合网| 久久不见久久见免费视频1| 久久夜色精品国产噜噜av| 成人一二三区视频| 一区二区三区精品| 4438x亚洲最大成人网| 国产在线视频不卡二| 国产精品午夜久久| 欧美在线不卡视频| 婷婷中文字幕综合| 久久女同精品一区二区| 91免费视频网址| 久久精品国产亚洲a| 国产精品国产三级国产普通话99 | 欧美伊人久久久久久午夜久久久久| 日日夜夜一区二区|