MPC563XM Reference Manual, Rev. 1
814
Freescale Semiconductor
Preliminary—Subject to Change Without Notice
If both Match1 and Match2 events occur at the same time, with conflicting pin actions, the priority over
the pin action is mode dependent. For further details on pin action resolution refer to
“Match/Transition Pin Action Conflict Resolution
.
23.4.5.2.1
MRL1/2 - Match Recognition Latches
MRL1/2 indicate the recognition of a match event detected by the comparator. They can be asserted either
on T2 or T4 (see
Section 23.6.1, “Microcycle and I/O Timing
). Assertion of MRL1/2 issues a match
Service Request in specific channel modes, depending on previous events and state of SRI. After reset
MRL1 and MRL2 are both negated.
When MRL1 or MRL2 is asserted, it may change the output signal level according to the Input and Output
Pin Action Control registers (refer to
Section , “IPAC1,IPAC2 and OPAC1,OPAC2 - Input and Output Pin
). Assertion of MRL1/2 causes a capture of one or two time bases, according to
the selected mode capturing scheme (see
Section 23.4.5.3, “Transition Detection and Time Base Capture
”)
A match recognition is self-blocking, regardless of Channel Mode: once MRL1 (MRL2) has been asserted,
it negates its associated MRLE1 (MRLE2) register, preventing future match recognitions, until the
associated match register is rewritten by microcode. The microcode has to enable new matches by
updating the new match value in the Match1 (Match2) register
1
. In addition, assertion of MRL1/2 can
block its twin MRL2/1, depending on the channel mode. In some double match blocking channel modes,
Match1/2 event blocks the occurrence of Match2/1 in a “first win” scheme.
It is the transition from 0 to 1 in MRL that causes the Match actions: apart from MRLE1/2 negation(s), no
action due to a Match occurs if MRL was already set to 1, even if the other MRL assert conditions are
satisfied. However, if a Match and a microoperation negating its corresponding MRL occur at the same
time, MRL negation by microcode overrides its assertion, but any dependable captures and pin action
occurs anyway (if MRL was already negated before), and also the negation of MRLE(s) (the respective
one and, in some channel modes, the other, regardless of MRL state before). Note that MRLE must have
been set before (by writing a new Match value).
23.4.5.2.2
MEF - Match Enable Flag
MEF is a one-bit latch that is unique for all channels in an Engine.
MEF can selectively enable assertion of MRL1/2, depending on the IPAC1/2 field. For IPAC1/2=0xx,
MEF=1 enables assertion of MRL1/2 for the scheduled channel during service. For IPAC1/2=1xx,
Match1/2 is always enabled, regardless the state of the MEF, but it still depends on the other Match
recognition conditions. Matches of channels not being serviced are never disabled by MEF.
MEF is not accessible by Microengine or Host. MEF is negated for one microcycle in the middle of the
time slot transition period. After two microcycles (plus wait-states) into TST, the ME bit in the entry point
is copied to MEF to allow selective enabling of MRL for each thread (refer to
). MEF is asserted unconditionally soon after a thread ends.
If a channel service needs to postpone a programmed match, MEF assures that microcode wins the race
against match event after time slot transition (only for IPAC=0xx).
1.
Before that, microcode should also negate MRL1 (MRL2), otherwise an old match may be recognized by the scheduler
and serviced as a new one