[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: 64-bit on-board devices on 32-bit PCI bus



	Hi Weng,

	The PCI bus to which the devices are connected is 32-bit  and hence
64-bit transactions cannot happen (which is an under-utilization of the
devices capability). 
	Hence the first option mentioned by Neal is quite appropriate.

	Anand.




	From:	Weng Tianxiang <WTX@umem.com> on 08/05/2002 10:08 PM
	Please respond to WTX@umem.com@SMTP@Exchange
	To:	pci-sig@znyx.com@SMTP@Exchange
	cc:	 

	Subject:	RE: 64-bit on-board devices on 32-bit PCI bus

	Hi Neal,
	I disagree with you.

	PCI Specs 2.2, page 101:
	64-bit transactions on PCI are dynamically negotiated(once per
	transaction) between the Target and Master, ...

	If a motherboard is stick to your option 1, no ways for other 64-bit
	boards in a system to do any 64-bit transaction.

	A motherboard should use your option 2 and IT WILL IMPROVE SYSTEM
	PERFORMANCE for ANY 64-BIT BOARDS.

	Weng

	-----Original Message-----
	From: Neal Palmer [mailto:neal@dinigroup.com] 
	Sent: Tuesday, July 30, 2002 11:54 PM
	To: Venkateshwarlu V
	Cc: Anand.Kuriakose@smartm.com; pci-sig@znyx.com; Gopal Savanur
	Subject: Re: 64-bit on-board devices on 32-bit PCI bus



	Anand,

	  You are making a motherboard right?  You have 2 options, both of
which

	are valid:

	1) connect ONLY the 32-bit signals between all 3 parts.  Keep the
64-bit

	signals disconnected (no connections between any devices).  Do not 
	assert REQ64# during RST#.  The two 64-bit devices will
automatically 
	drive the upper 32-bits of data and CBE to some non-floating state.
	This 
	doesn't require any extra resistors.

	2) Connect the devices with the full bus width.  And put down some
logic

	to drive REQ64# active during RST#.  You will have to add pullup
	resistors 
	for upper AD and CBE lines.  But note that this will NOT improve
system 
	performance because the SCSI and network cards will ALWAYS access
host 
	memory which is connected to the PCI bus through a 32-bit chip (i.e.
all

	of your transactions to host memory will have ACK64# deasserted).

	  So, you should probably just go with option #1 (unless you are
going
	to 
	write special SCSI or network drivers to send the data to a
different 
	64-bit card plugged into an expansion slot).

	-- Neal

	On Wed, 31 Jul 2002, Venkateshwarlu V wrote:

	> ** Proprietary **
	> 
	> Hello Mr.Anand,
	> I will try to answer ur questions here.
	> 
	> Should i provide on-board pull-ups on the upper 32-bit extension
or 
	> just leave them unconnected? U should not provide any on-board 
	> pull-ups, incase if u use same extension board for 64-bit
connector, 
	> there are pull-ups for all the data lines on mother-board also,
due to

	> two pull-ups on each data line, there will be more pull-up
current. So

	> upper 32-bits must be unconnected.  I personnaly feel that the
32-bit 
	> extension of these individaul devices should be left unconnected 
	> (hoping that the devices will take care of preventing the bus from

	> floating). The device cannot take care of preventing from floating

	> The other thing i thought if i provided a common on-board pull-up
for 
	> the 32-bit extension of both these devices is that there could be 
	> probable data contention, because at any time and on any of the
upper 
	> 32-bit signals, the two devices could be driving opposite levels.
Am i
	right in thinking in this direction?
	> Sol'n: Configure Ur device in output mode(upper 32-bits), when u
	insert it in 32-bit slots(according to REQ64# logic), drive zero/one
	onto the upper 32-bit bus.
	> 
	> 
	> 
	> >>> <Anand.Kuriakose@smartm.com> 07/30/02 11:00PM >>>
	> 
	> 
	> Hi,
	> 
	> As per the PCI spec 2.2, sec 3.8.1, the 32-bit PCI extension has
to be

	> pulled on the  motherboard, to prevent them from floating. Heres a

	> situation where the motherboard has a 32bit PCI bus . There are
two 
	> on-board 64-bit PCI devices (LAN and SCSI) on the 32-bit bus.
Again, 
	> as per the PCI spec 2.2, sec 3.8., we see that these PCI devices 
	> monitors the REQ64# signals during PCI reset de-assertion to
determine

	> the width of the PCI bus. In the above case, these devices will
see 
	> that the REQ64# signals is de-asserted during reset de-assertion
and 
	> hence conclude that the bus width is only 32-bit. Upon determining

	> that the bus width is 32-bit, these devices will start driving
valid 
	> bit patterns on the upper 32-bit extension in order to prevent the
bus

	> from floating. So heres the question.
	> 
	> Should i provide on-board pull-ups on the upper 32-bit extension
or 
	> just leave them unconnected?  I personnaly feel that the 32-bit 
	> extension of these individaul devices should be left unconnected 
	> (hoping that the devices will take care of preventing the bus from

	> floating). The other thing i thought if i provided a common
on-board 
	> pull-up for the 32-bit extension of both these devices is that
there 
	> could be probable data contention, because at any time and on any
of 
	> the upper 32-bit signals, the two devices could be driving
opposite 
	> levels. Am i right in thinking in this direction?
	> 
	> Thanks in advance.
	> 
	> Anand.
	> 
	> 
	> 

	-- 
	-- Neal Palmer

	The Dini Group
	1010 Pearl St #6
	La Jolla, CA 92037
	(858) 454-3419 x16
	(858) 454-1728 (Fax)