VIC068A
Document #: 38-09004 Rev. ** Page 7 of 15
slave accesses, the VIC068A decodes the AM codes and
checks the slave select control registers to see if the slave
request i s to be su pp orted w ith re gar d to ad dre ss space s, s u-
pervisory accesses, and block transfers. The VIC068A also
supports us er-d efi ned AM c ode s; t hat i s, th e VIC0 68A c an be
made to assert and respond to user-defined AM codes.
VIC068A VMEbus Block Transfers
The VIC 068A is c apable o f both ma ster and slave block tran s-
fers. The master VIC068A performs a block transfer in one of
two modes:
•MOVEM-type Block Transfer
•Master Bloc k Transfer with Local DMA
In addition to these VMEbus block transfers, the VIC068A is
also capable of performing block transfers from one local re-
source to another i n a D MA-l ike fa shion. This is referred to as
a Module-based DMA transfer.
The VMEbu s specifica tion restricts bl ock transfers from cross-
ing 256-byte boundaries without toggling the address strobe,
in additi on to res tric t in g the ma xim um le ngth of th e tran sfe r to
256 bytes. The VIC068A allows for easy implementation of
block tran sf ers that exc ee d the 25 6-by te res tric ti on by relea s-
ing the VMEbus at the appropriate time and rearbitrating for
the bus at a programmed time later (this in-between time is
referred to as the interleave period), while at the same time
holding both the local and VMEbus addresses with internal
latches . All of this is perfo rme d without proc esso r/softwar e in-
tervention until the transfer is complete.
The VIC06 8A contai ns tw o se par ate ad dres s c oun ters for the
VMEbus and the local address buses. In addition, a separate
address is counter-provided for slave block transfers. The
VIC068A address counters are 8-bit up-counters that provide
for transfers up to 256 bytes. For transfers that exceed the
256-byte limit, the Cypress CY7C964 or external counters and
latches are required.
The VIC06 8A allo ws slav e acce sses to oc cur duri ng the int er-
leave period. Master accesses are also allowed during inter-
leave with pro gram m ing and ex terna l log ic. This is referre d to
as the “dual path” option.
MOVEM Master Block Transfer
This mode of block transfer provides the simplest implementa-
tion of VMEbus block transfers. For this mode, the local re-
source simply configures the VIC068A for a MOVEM block
transfer and proceeds with the consecutive-address cycles
(such as a 680X0 MOVEM instruction). The local resource
continues as th e local bus master in this mode.
Master Block Transfers with Local DMA
In this mode, the VIC068A becomes the local bus master and
reads or writes the local data in a DMA-like fashion. This pro-
vides a much faste r interfac e than th e MOVEM blo ck tran sfer,
but with less control and fault tolerance.
VIC068A Slave Block Transfer
The process of receiving a block transfer is referred to as a
slave block transfer. The VIC068A is capable of decoding the
address modifier codes to determine that a slave block transfer
is desired. In this mode, the VIC068A captures the VMEbus
address, and latches them into internal counters. For subse-
quent cycles, the VIC068A simply increments this counter for
each transfer. The local protocol for slave block transfers can
be config ured in a f ull handsh ake mode by toggling both PAS*
and DS* and ex pecti ng DSACKi * to toggle, or in an acce lerat-
ed mode in which only DS* toggles and PAS* is asserted
throughout the cycle.
Module-Based DMA Transfers
The VIC068A is capable of acting as a DMA controller be-
tween two local resources. This mode is similar to that of mas-
ter block transfers with local DMA, with the exception that the
VMEbus is not the second source or destin ation.
VIC068A Interrupt Generation and Handling Facilities
The VIC068A is capable of generating and handling a sev-
en-level prioritized interrupt scheme similar to that used by the
Motorola CISC processors. These interrupts include the seven
VMEbus interrupts, seven local interrupts, five VIC068A er-
ror/status interrupts, and eight interprocessor communication
interrupts.
The VIC068A can be configured to act as handler for any of
the seven VMEbus interrupts. The VIC068A can generate the
seven VMEbus interrupts as well as supplying a user-defined
status/ID vector . The local priority level (IPL) fo r VMEbus inter-
rupts is programmable. When configured as the system con-
troller, the VIC068 will drive the IACK daisy-chain.
The local interrupts can be configured with the following:
•User-defined local interrupt priority level (IPL)
•Option for VIC068A to provide the status/ID vector
•Edge or level sensitivity
•Polarity (rising/falling edge, active HIGH/LOW)
The VIC 068A is a lso capabl e of gene rating loc al interrupts on
certain error or status conditions. These include:
•ACFAIL* asser ted
•SYSFAIL* asserted
•Failed master write-post (BERR* asserted)
•Local DMA completion for block transfers
•Arbitration timeout
•VMEbus interrupter interrupt
The VIC0 68A c an al so inte rrup t on the settin g of a m odu le or
global sw it ch in the inte rpro ce ss or com mu nic at ion facil iti es .
Interprocessor Communication Facilities
The VIC068A includes interprocessor registers and switches
that can be written and read through VMEbus accesses.
These are the only such registers that are directly accessible
from the VM Ebu s. Inc lud ed in the interproc es so r co mm un ic a-
tion facili tie s are:
•Four general purpose 8-bit registers
•Four module switches
•Four global switches
•VIC068A ver sio n/re vi si on regi ste r (read-o nly)
•VIC068A Rese t/H al t cond iti on (read -on ly)
•VIC068A interprocessor communication register sema-
phores
When set through a VMEbus access, these switches can in-
terrupt a local resource. The VIC068A includes module switch-
es that are intended for a single module, and global switches
which are intended to be used as a broadcast.