PCI arbiter (doubt in REQ signal)

Jan 19, 2006 1 Replies

Hi all,



I have got a doubt in PCI arbiter operation . Assume that a particular device issues a REQ(REQ0) and GRANT(GRANT 0) is issued to that particular deivce , that device pulls the FRAME signal low indicating it is using th PCI bus.Now during the entire duration for which the FRAME signal is low GRANT(GRANT 0) should be held low for that particular device.



My doubt is if in the FRAME low held duration if any other device issues a REQ (i.e pulls it low and again pulls it high before the FRAME has gone high.IS this a valid request OR does the REQ line need to be held until the GRANT is issued to that particular device.



Thanks in advance, Praveen



The PCI 2.3 spec says REQ# can be de-asserted at any time. The situation you mention is not typical, but allowed. Because of this, the arbiter needs to deal with it. Specifically if the arbiter issues a GNT# to a master that has de- asserted its REQ#, it should de-assert GNT# and allow other masters to use the bus. In fact even if a master doesn't de-assert REQ# , but fails to assert FRAME# within 16 clock cycles of the bus becoming idle, the arbiter should de-assert that master's GNT#. The arbiter may in this situation ignore further requests from the "broken" master. This is all described in section

3.4.1 of the spec.

Hope this helps, Gabor

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required