• 検索結果がありません。

Target Transaction Terminations

ドキュメント内 PCI MegaCore Function User Guide (ページ 116-125)

Specif

ications

3

Figure 17. Target Retry

Note:

(1) These signals do not apply to the pci_mt32 and pci_t32 functions and should be ignored.

ad[31..0]

(1) ad[63..32]

cben[3..0]

(1) cben[7..4]

par (1) par64

framen (1) req64n irdyn devseln (1) ack64n trdyn stopn

lt_framen l_adro[31..0]

l_cmdo[3..0]

lt_rdyn lt_ackn l_dato[31..0]

lt_dxfrn (1) l_ldat_ackn (1) l_hdat_ackn clk

(1) l_dato[63..32]

l_beno[3..0]

(1) l_beno[7..4]

lt_tsr[11..0]

Adr

7

Adr-PAR

Adr 7 BE0_H

000 381

D0_L

D0-L-PAR D0-H-PAR

BE_L BE_H

000 D0_H

2 3 4 5 6 7 8 9 10

1

D1-L D1_H

lt_discn

BE1_L BE1_H

D1-L-PAR D1-H_PAR BE0_L

Disconnect

A PCI target can signal a disconnect by asserting stopn and devseln after at least one data phase is complete. There are two types of disconnects:

disconnect with data and disconnect without data. In a disconnect with data, trdyn is asserted while stopn is asserted. Therefore, more data phases are completed while the PCI bus master finishes the transaction. A disconnect without data occurs when the target device deasserts trdyn while stopn is asserted, thus ensuring that no more data phases are completed in the transaction. Depending on the sequence of lt_rdyn and lt_discn assertion, the MegaCore function issues either a disconnect with data or disconnect without data.

Figure 18 shows an example of a disconnect with data which ensures that only a single data phase is completed during a burst write transaction. It applies to all PCI functions, excluding the 64-bit extension signals as noted for pci_mt32 and pci_t32. In Figure 18, both lt_rdyn and lt_discn are asserted in clock 5. This transaction informs the MegaCore function that the local side is ready to accept data but also wants to disconnect. As a result, the MegaCore function issues a disconnect with data and accepts only one data phase.

Specif

ications

3

Figure 18. Single Data Phase Disconnect in a Burst Write Transaction

ad[31..0]

(1) ad[63..32]

cben[3..0]

(1) cben[7..4]

par (1) par64 framen (1) req64n irdyn devseln (1) ack64n trdyn stopn

lt_framen l_adro[31..0]

l_cmdo[3..0]

lt_rdyn lt_ackn l_dato[31..0]

lt_dxfrn (1) l_ldat_ackn (1) l_hdat_ackn clk

(1) l_dato[63..32]

l_beno[3..0]

(1) l_beno[7..4]

lt_tsr[11..0]

Adr

7

Adr-PAR

Adr 7 BE0_H

000 381

D0_L D0_H D0_L

D0-L-PAR D0-H-PAR

BE_L

000 381

781 D0_H

2 3 4 5 6 7 8 9 10

1

D1-L D1_H

lt_discn

BE1_L BE1_H

D1-L-PAR D1-H_PAR BE0_L

BE_H

Figure 19 shows an example of a disconnect with data that ensures that only a single data phase is completed during a burst read transaction. It applies to all PCI functions, excluding the 64-bit extension signals as noted for pci_mt32 and pci_t32. In Figure 19, lt_rdyn is asserted in clock 4, and lt_discn is asserted in clock 5. This transaction ensures one data phase is completed on the local side before the function detects a disconnect request. Subsequently, the PCI MegaCore function issues a disconnect cycle on the PCI side to ensure that only one data phase is completed successfully.

Specif

ications

3

Figure 19. Single Data Phase Disconnect in a Burst Read Transaction

Note:

(1) These signals do not apply to the pci_mt32 and pci_t32 functions and should be ignored.

ad[31..0]

(1) ad[63..32]

cben[3..0]

(1) cben[7..4]

par (1) par64 framen (1) req64n irdyn devseln (1) ack64n trdyn stopn

lt_framen l_adro[31..0]

l_cmdo[3..0]

lt_ackn l_adi[31..0]

lt_dxfrn clk

(1) l_adi[63..32]

l_beno[3..0]

(1) l_beno[7..4]

Adr

6

Adr-PAR Z

6 Z

BE_L BE_H Z

D0_L D0_H

D0_L D0_H

D0-L-PAR D0-H-PAR

BE_L BE_H

2 3 4 5 6 7 8 9 10 11

1

lt_rdyn lt_discn

Adr

lt_tsr[11..0] 000 381 781 381 000

Figure 20 shows a disconnect without data during a burst read

transaction. It applies to all PCI functions, excluding the 64-bit extension signals as noted for pci_mt32 and pci_t32.

Figure 20. Disconnect Without Data During a Burst Read Transaction

Note:

(1) These signals do not apply to the pci_mt32 and pci_t32 functions and should be ignored.

ad[31..0]

(1) ad[63..32]

cben[3..0]

(1) cben[7..4]

par (1) par64 framen (1) req64n irdyn devseln (1) ack64n trdyn stopn

lt_framen l_adro[31..0]

l_cmdo[3..0]

lt_ackn l_adi[31..0]

lt_dxfrn clk

(1) l_adi[63..32]

l_beno[3..0]

(1) l_beno[7..4]

Adr

6

Adr-PAR Z Z

BE_L BE_H Z

D0_L D0_H

D0_L D0_H

D0-L-PAR D0-H-PAR

D1_L D1_H

D1_L D1_H

D1-L-PAR D1-H-PAR

13

2 3 4 5 6 7 8 9 10 11 12

1

lt_rdyn lt_discn

Adr 6

BE_L BE_H

lt_tsr[11..0] 000 381 781 381 000

Specif

ications

3

1 The PCI Local Bus Specification, Revision 2.2 requires that a target device issues a disconnect if a burst transaction goes beyond its address range. In this case, the local-side device must request a disconnect. The local-side device must keep track of the current data transfer address; if the transfer exceeds its address range, the local side should request a disconnect by asserting lt_discn.

Target Abort

Target abort refers to an abnormal termination because either the local logic detected a fatal error, or the target will never be able to complete the request. An abnormal termination may cause a fatal error for the application that originally requested the transaction. A target abort allows the transaction to complete gracefully, thus preserving normal operation for other agents.

A target device issues an abort by deasserting devseln and trdyn and asserting stopn. A target device must set the tabort_sig bit in the PCI status register whenever it issues a target abort. See “Status Register” on page 66 for more details. Figure 21 shows the MegaCore function issuing an abort during a burst write cycle. It applies to all PCI functions, excluding the 64-bit extension signals as noted for pci_mt32 and pci_t32.

1 The PCI Local Bus Specification, Revision 2.2 requires that a target device issues an abort if the target device shares bytes in the same DWORD with another device, and the byte enable combination received byte requests outside its address range.

This condition most commonly occurs during I/O transactions.

The local-side device must ensure that this requirement is met, and if it receives this type of transaction, it must assert

lt_abortn to request a target abort termination.

Figure 21. Target Abort

Note:

(1) These signals do not apply to the pci_mt32 and pci_t32 functions and should be ignored.

ad[31..0]

(1) ad[63..32]

cben[3..0]

(1) cben[7..4]

par par64 framen (1) req64n irdyn devseln (1) ack64n trdyn stopn

lt_framen l_adro[31..0]

l_cmdo[3..0]

lt_rdyn lt_ackn l_dato[31..0]

lt_dxfrn (1) l_ldat_ackn (1) l_hdat_ackn clk

(1) l_dato[63..32]

l_beno[3..0]

(1) l_beno[7..4]

Adr

7

Adr-PAR

7 BE0_L

BE0_H

D0_L D0_H D0_L

D0-L-PAR D0-H-PAR

BE_L D0_H

2 3 4 5 6 7 8 9 10 11 12

1 13

D1-L D1_H

lt_abortn

BE1_L BE1_H

D1-L-PAR D1-H_PAR D2_L D2_H

D3_L D3_H BE2_L

BE2_H

BE3_L BE3_H D2-L-PAR D2-H_PAR

D3-L-PAR D3-H_PAR

D1-L D1_H BE1_L BE1_H

D2_L D2_H BE2_L BE2_H Adr

BE_H

lt_tsr[11..0] 000 381 781 381 000

Specif

ications

3

Master Mode

ドキュメント内 PCI MegaCore Function User Guide (ページ 116-125)