Initialization and Broadcast
Since each QPDM handles up to four bit planes, a 16 plane system will require four QPDM devices. In general, all QPDMs are given each instruction simultaneously with identical parameters, so that the instruction can update each plane. In some cases, however, a means to differentiate between QPDMs and some planes within a single QPDM is necessary. To facilitate individual QPDM plane operation, each QPDM is assigned a QPDM number. This number is loaded into each QPDM using the "Set QPDM Position" instruction. Each QPDM must be assigned a unique number, via four separate set QPDM position instructions; one instruction is executed per QPDM. This means that it is necessary to provide chip select (CS) decoding for each individual QPDM and for al/ QPDMs as a group. In this design we would need five separate CS signals. The "Quad QPDM Chip Se-lects" shows the relationship between PCSx and the QPDM table chip selects in this example.
Quad QPDM Chip Selects Peripheral
CHAPTER 2
=>
Display Memory Interface4
...
Figure 2.1-5 Quad QPOM Schematic
~
ADc}-AD15MATOUT TSYNOUT
RESETOUT QPOMCS2 RO WR A2 A1
OT/R
MATOUT TSYNOUT
RESETOUT QPOMCS3 RO WR A2 A1
OT/R
R~
ACKO
MATIN TSYNIN
00--015 QPDM2
RESET INT
Cs WE
AD OREQ
WR FREQ
A1 TSYNOUT
AO MATOUT
vee
R~
ACKO
MATIN TSYNIN
00--015 QPOM3
RESET INT
CS EOE
RO OREQ
WR FREQ
A1 TSYNOUT
AO MATOUT
~
Display Memory Interface 4 /2X
) 2012-2015 y
~O~
74ALS245A B A~
~
OIRG
AOO--A015968:22.1-11
~ ~isplay
Memory Interface 4 /2X 74ALS245A
)
Q21NT
Ei5E1
OREQ2 FREQ2 TSYN20UT MAT20UT
3012-<3015
~ ,.
B OIR G A~
ADO--A015g682A2.1-12
Q31NT EOE2 OREQ3 FREQ3 TSYN30UT MAT30UT
Figure 2.1-5 Quad QPOM Schematic (continued)
CHAPTER 2
System Bus Interface
2-10
MATOUT TSYNOUT
RESETOUT 'Q'P'i5MCs4 AD
WR A2 Al
DT/A
4012-4015
3012-3015
OT/R
2012-2015
1012-1015
R~
ACKD
=>
Display Memory Interface MATINTSYNIN 2X
~
74ALS245ADG-D15 B A
QPDM4
-
DIRG
iiESEf INT
CS EDE
AD DREQ
WR FREQ
Al TSYNOUT
AO MATOUT
8 5
-l\
<
8 /8 74ALS245A A
7
8, -84
7
OIR ~
Figure 2.1-5 Quad QPDM Schematic (continued)
4
")
4D12-4D15~
ADG-AD15a682A2.2·13
>
AO.-AO'5Q4INT
EDE3
DREQ4 FREQ4 TSYN40UT MAT40UT
011NT 021NT 031NT 041NT
PCSO PCSl PCS2 PCS3 PCS4 ALE TSYN10UT-TSYN40UT ClOCKOUT RESET
MAT10UT-MAT40UT
DEN A3 EDEO EDEl EDE2 EDE3
INTAO RESET
4
4
vee
R
IRa
SI"
f---IRI If\
IR3
INT 8529A-2 Ao
1m'A
~
00-0,
WR
1m Cs
r
-~
~ co_
~ co~ a.::::!
COo
~o.~9 -100
-~
4r--...
co_~~
~o.
COo
~9
'
r
-5l-
a:~~
tea:
~~
c(X0.
-Figure 2_1-5 Quad QPDM Schematic (continued)
8682A2. '·15
--"'
INTo
ADo -AD.,
OPDMCSl OPDMCS2 OPDMCS3 OPDMCS4 TSYNOUT ClK
T4
INTREADY RESETOUT
9682A2.1-1 4
CHAPTER 2
System Bus Interface
QPDM instructions are sent to each QPDM simultane-ously. This is called broadcasting. Broadcasting of instructions is accomplished by chip selecting all QPDMs and writing to Port O. Further details can be found in the QPDM Technical Manual. The hardware requirements for QPOM initialization and for broadcasting are a mechanism for individual chip selection as well as a global chip select.
DMA Requests
DMA with a muHiple QPDM system is fairly straightfor-ward. Both FREQ and DREQ are open-drain outputs.
Each QPDM in a system will release its FREQ or DREQ when it is ready so that a DMA request will be presented to the 80186. The FREQ controls DMA to the Instruction FIFO and OREQ controls DMA to and from the Data FIFO of the QPDM. In a muHiple QPDM system, all the FREQ lines of the QPDMs are tied together through a pull-up resistor to DRQ, of the 80186. Similarly, all the DREQ lines are tied together through a pull-up resistor to the ORQO input of the CPU. In the case of a data transfer (DREQ), as long as any QPDM is not ready to continue with the transfer, the node will be pulled LOW. When the last QPDM becomes ready, the node goes HIGH and a DMA request will be seen at the 80186. The same is true of the instruction FIFO and the FREQ pins. As long as any QPDM is not ready to request more instructions, the node goes LOW. When the last QPDM becomes ready, the node will be pulled HIGH through the pull-up resistor and an instruction DMA request will be seen at the DRQ, pin of the CPU.
To summarize, one can see that all DMA to and from muHiple QPDMs are synchronized by the open-drain AND connection. The open-drain AND ensures that all DREQ and FREQ requests of the QPDMs are active before the DMA request is seen at the processor. Above and beyond the previous discussion, the DMA cycles are the same as outlines in the single QPDM design.
Block Transfer to and from Display Memory In the multiple QPDM deSign, provisions have been made for display memory accesses by plane (hOrizontal on a selected bit plane) and by pixel (reading all bits in all planes per pixel). In a by plane Block I/O instruction, only one plane in asingle QPDM is selected for a read orwrite.
In the read case, a provision must be made to keep all QPDMs in synchronization. To do this, the processor fakes a read operation on all the QPDMs. The inactive QPDMs (do not contain the bit plane accessed) leave EDE not active, so as not to cause contention with the data ofthe only active QPDM. The active QPDM, the one with a plane active forthe instruction, places data on the bus as in a normal read cycle. In large systems, however,
we need external data transceivers. This is where the EOE (External Driver Enable) pin comes in handy. For the inactive QPDMs, the EDE pin does not go active to their corresponding bus transceivers. Only the active QPDM drives its EDE signal valid to its bus transceiver to allow its data onto the bus. Therefore, by adding a little more intelligence to the QPOM interface, synchroniza-tion is achieved and maintained even when only one bit plane in a single QPDM is to be accessed.
In a by pixel Block 1/0, the user wishes to access all bits in all planes per pixel. This implies that all QPDMs contribute the bits of the planes that they control for that particular pixel. Synchronization, therefore, is not a problem, as all QPDMs will be active. In a muHiple QPOM system, an extra set of transceivers must be provided to route the pixels from each QPDM to a single 16-bit data bus. These are shown on Sheet 8 of the Quad QPDM Schematic. For example, in this design each QPOM contributes four bits for each individual pixel. A mecha-nism has been provided in the QPDM to program the number of shifts necessary for the proper assembly of pixels. This is done by specifying the correct number (1, 2 or 4) dependent on the numberof QPDMs in the system in the BOS field of the Input or Output Block instructions.
To see how this works examine Figure 2.1-6, "By Pixel Read". On the first pixel's read cycle, each QPDM places 16 bits on its respective data bus, only four of which will be used. A 16-bit transceiver concatenates four bits from each QPDM to form a 16-bit data value. Following each cycle, each QPDM shifts its data four bits to the left. In this way the next pixel's four bits of data are pOSitioned correctly in the data bus to be assembled into the 16-bit value at the transceiver. This process continues until all 16-bit values for the selected number of pixels have been read. From a hardware standpoint, all that is required is an extra transceiver and extra decoding logic to selec-tively enable or disable the set of transceivers depending upon the type of access (by plane or by pixel).
From a software point of view it is best if planes appear in consistent bit positions. What this means in hardware terms is that some consideration must be given to how the data bits of the ''by pixel" transceiver are connected.
The relationship between data bits and planes is fixed by the organization of operands in the Set Activity Bits instruction. Each of four QPDMs extract four bits as shown below:
15 12 11
8 7
43o
015 014 013
012
J
~~~,W'~,'~,'~,'~~~,'~
0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3~ ,.~
~S 0
16 15
QPOM4 14
13 lane 12
BY·PIXEL
~} N ,." .. ~ ,."W ,.,,'N ,.,,'
16
r!
O O O O P " 1 1 2 2 2 2 3 3 3 3 QPOM3~O~
rl' 0
011 010 D9
11
Ian. 8 10
DB
$ I.}
~ ~~~~~~~~~~~~~~~~ 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 16 QPOM2~~ P,
07 D6
05 D4
03 QPOMl
02 01
00 XCVR DE
Not.: ~ - bk lor p~.1 x from plane y.
Figure 2.1-6a By Pixel (Output Block) Read - First Cycle There is no reasonable way to change this relationship;
everything else will have to match. To make lID by-pixel conform, one must wire the by-pixel data transceiver as shown in Figure 2.1-6, "By Pixel Read". Also see Chapter 13 of the QPDM Technical Manual, ''The Relationship Between Data Bits and Pixels." It should be noted here that only pixels that are 16 planes or less can be proc-essed in one pass; deeper bit planes would require multiple passes.
Other Synchronization Concerns
The synchronization of getting new words out of the instruction FIFO and reading and writing the data ex·
change FIFOs use the MATIN and MAToUT pins. The MATouTpins of allthe QPDMs are ANDed together. This composite signal goes HIGH only when all the QPDMs are ready to begin the next instruction. All QPDMs
sample the composite MAT OUT signal at the MATIN input.
From an interface standpoint, allthat is required isto AND the MAT OUT pins and connect the composite signal to the MATIN pins. The AND is done in PAL device QPDM2.
In a similar fashion, the TSYNoUT and TSYN IN pin combi-nation is used to synchronize the bit map display memory bus activities. The same hardware considerations dis-cussed in the preceding paragraphs apply. The AND is done in PAL device QPDM1. Please note that even in a single QPDM system MATIN and MAToUT must be tied together, as are TSYNoUT and TSYNIN"
2.1.3 Hardware Overview
Read Cycles
The multiple QPDM read is shown in Figure 2.1-7, "Quad QPDM Read TIming". The situation is Sightly more
CHAPTER 2
System Bus Interface
015
014
J fi'I'I"i' IW'i' I'i'n i'I'
16 15
OPDM4
013 P, " " 2 2 2 2 3 3 3 3 4 4 4 4
012
p'.~
p'
,
5BY-PIXEL
..
~} ~ ~ I'IW NW I'I'~ UI'
OPOM:! 10 11F!
" " a 2 2 2 3 3 3 3 4 4 4 4011
J,O~
lane 8010
fl'
09
,
DB
16 7
$
~ ~~~~.~~~~~~~~~~~t 1 1 1 , P Z 2 2 2 3 3 3 3 4 4 4 4
~}
OPDM2 6~~
D7
P,
D6
..
D5
..
D4 16
D3 1 1 3 0 1 3 0 1 3 1
P, ~p'~p'p'p'~~~p'~p'~p.~~
~}
OPOMlD2
~~
Dl
~
DO XCVR OE
T
NOle: ~ -bn for pixel x lrom plane y.
1182A2.1-1' PIXELOE
Figure 2.1·6b By Pixel (Output Block) Read - Second Cycle