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

Re: Query regarding Eq's of Master State Machine



Hi,
1. IRDY# = ![M_DATA * (Ready + Dev_to)]
Dev_to: is used when 4 clocks had passed without Target response with FRAME#
asserted as clock 1. See. page 51. of PCI 2.2.

Under the above situation, Master must quit the transaction, no matter it is
ready to send data or receive it or not. "Ready" signal may be not asserted
at the time, so Dev_to is needed to make it sure Master will quit under the
above situation.

If you omit the item, Master may be possible not to react with above
situation properly at some cases. If not properly, it is a design failure.

If your design's response is fast enough to make it ready at clock 5 in any
cases, you can omit it. The item is only used to guarantee to react properly
when Master-abort situation happens. After Target responses, the item is
useless and should be deasserted not to interfere with normal data
transation.

2.
Target_abort = (!STOP# * DEVSEL# * M_DATA * FRAME# * !IRDY#)
This equation has error! It only detects Target Abort situation at last data
cycle with FRAME# = '1' and IRDY# = '0'.

Correct equation may be the following:
Target_abort = (!STOP# * DEVSEL# * M_DATA * TargetResponse)
TargetResponse = '1' after Target DEVSEL# = '0', else = '0'.
The above equation says: after Target has response and still in M_DATA,
Target made an abort request by deasserting DEVSEL# and asserting STOP# at
the same clock.

Weng Tianxiang

wtx@umem.com
wengtianxiang@yahoo.com

Micro Memory Inc.
9540 Vassar Avenue
Chartsworth, CA 91311
Tel: 818-998-0070
Fax: 818-998-4459






----- Original Message -----
From: <s-mallikarjuna.rao@st.com>
To: <pci-sig@znyx.com>
Sent: Friday, June 01, 2001 4:03 AM
Subject: Query regarding Eq's of Master State Machine


> Hello ,
>
> We want few clarifications from the Master State machine Equations given
> in the APPENDIX B of PCI SPEC 2.1 / 2.2.
>
> First one is
> ----  --- --
> IRDY# = ![M_DATA * (Ready + Dev_to)]
>
> Here what is the need of Dev_to .
>
> Can the Eq be IRDY# = ![M_DATA * Ready]
>
> Second One
> ------ ---
>
> Target_abort = (!STOP# * DEVSEL# * M_DATA * FRAME# * !IRDY#)
>
> Can the Eq be
>
>    Target_abort = (!STOP# * DEVSEL# * M_DATA * TRDY )
>
>
> Thx well in Advance
> S.M.RAO
>
>