[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
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)