CHAPTER 2System Bus InterfacePort No. Operation ActionA1 AO(Address pins of QPDM)(ADDR2 ADDR1)(System Bus address lines)0 0 ReadRead Am95C60 Status Register0 0 WriteWrite Instruction FIFO0 1 ReadRead Block Output 110 FIFO0 1 WriteWrite Block Input I/O FIFO1 0 ReadIWriteAccess to 110 Pointer Register1 1 ReadIWrite Access to Internal Register pointed to by the VO Pointer RegisterFigure 2.3-8 Am95C60 Internal Register Address DecodeOnce these signals are asserted, the bus cycle willterminate, allowing the MC68020 to read the presented1S bits of data on a Read cycle or to write 1S bits of dataon a Write cycle using the most significant 1S bits of the32-bit data bus.Note: The Am95C60 must be configured on the mostsignificant 16 bits of the 32-bit data bus.Addressing the Am95C60's Internal ResourcesThe Am95CSO recognizes four addresses in conjunctionwith CSQPDM, as defined in Figure 2.3-8.The method of accessing resources within the Arn95CSOrequires that the VO Pointer Register be first loaded withthe address of the resource to be accessed. Havingloaded the 1/0 Pointer Register with the appropriatevalue, any subsequent access to the 1/0 Data Register ofthe Am95CSO will transfer data between the Bus Masterand this resource.It is important to note that each Am95CSO within a systemmust be individually addressable to initialize each device(using the Set QPDM Position instruction) to define theposition of each Am95CSO within the array of displaymemory planes.2.3.4 Dynamic Bus SizingThe size of any bus cycle is dynamically defined by theSIZo-1 lines generated by the MC68020. Any bus cycleis capable of accessing 1, 2, 3 or 4 bytes on any byteboundary provided that the access does not cross aIongword boundary (a longword = 4 bytes). Hence a 32-bit wide memory system would need to decode the SIZo-1 and address lines AO and A 1 together with AS and DSto determine which of the byte select lines should beasserted on Write cycles to the memory, so as to modifyonly those bytes defined within any longword.All resou rces within the Am95CSO are 1S bits wide. Sinceany Write cycle (under the control of CSQPDM andWRQPDM) to the Arn95CSO will take the 1S-bit quantitypresented on the bus and load it into the appropriateregister, it is essential that data is word aligned. The leastsignificant address line is not used in addressing theresources within the device.The simplest way of organizing data to be loaded into theAm95CSO, either directly from the MC68020 or fromsystem memory under the control of a DMA channel, isto ensure that the data is word aligned and that all buscycles are word transfers, i.e., avoid instructions that willgenerate byte accesses to the Am95CSO. For wordaccesses to the lOP register, null data should be used inthe most significant byte position on loading, and undefineddata will be returned in this byte position whenreading.Note also that as data is transferred a word at a timebetween the QPDM and the MC68020, the address linesAl and ~ of the MC68020 connect to address pinsAo and Al respectively of the QPDM.2.3.5 Halt and Bus Error ControlOther response lines which need to be controlled on buscycles generated by the MC68020 or similar bus masterare ''Halt" and "Bus Error" (HALT and BERR). These twosignals inform the bus master whether or not the buscycle has terminated successfully, and if not, whether arepeat bus cycle should immediately be attempted (onceHALT has been negated), or whether a Bus Error Exceptionshould be taken causing a bus error handling routine,similar to an interrupt routine, to be executed.In general, the repeat option is used when the pagermechanism or cache control system finds that a virtualaddress presented does not immediately map to availablelocal memory, but an update mechanism existswhich does not require the CPU to execute specific codeto update that local memory. The bus master is inhibitedfrom using the bus until HALT is negated, allowing theupdate mechanism time to do whatever is necessarybefore negating HALT.The bus error exception is usually taken if the hostprocessor is required to execute code to correct the fault2-39
CHAPTER 2System Bus Interfacethat caused the bus cycle to terminate unsuccessfully,such as "Bring in new data from secondary memory orbacking store into local memory".Bus error may be set for other reasons than page fault(the page of memory required is not currently resident inavailable local memory) such as memory parity error oraccess protection violation. In general, the pager mechanismwill be responsible for detecting these exceptionconditions and will normally contain the logic to generatethese signals.A special case of when Bus Error can be set is when anInterrupt Acknowledge cycle is generated by theMC68020 but no device is requesting service. If thiscondition occurs and the Bus Error is asserted in such anInterrupt Acknowledge bus cycle, it is interpreted thatSpurious Interrupt has occurred. The Bus Error exceptionis not taken under this condition. The InterruptHandling logic of Figure 2.3-11 further describes thiscondition.In general, when accessing hardware resources within adevice such as the Am95C60 where the resource shouldalways be available, there should never be a need tounsuccessfully terminate the bus cycle, and hence additionallogic should not be required beyond what is includedin Figure 2.3-11 or would already be presentwithin such a pager system.If a particular system requires that Bus Error or Halt bedriven under specific conditions, itwould be a simple taskto generate control logic to set these signals as appropriate.(See Figure 2.3-6)2.3.6 System Bus ArbitrationThe Am95C60 can only act as a bus slave, never as a busmaster, and hence does not have direct involvement withsystem bus arbitration to become the bus master.However, the task of loading the Am95C60 with data andinstructions can be taken from the host processor andgiven to a suitable DMA controller to reduce the load onthe CPU, thus resulting in greater system performance.Such a DMA controller must interface to the bus arbitrationscheme.2.3.7 Initializing the Am95C60Two main tasks are involved in controlling the Am95C60.In order to initiate any activity within the graphics enginefollowing power-up reset, the device needs to be initializedwith a number of parameters defining the environmentin which it resides (such as the size of the VideoDRAMs constituting the display memory, whether an 8-or 16-bit bus interface is being used to the system bus,etc.). As stated previously, it is essential that eachAm95C60 within a system can individually be chip selectedwhen executing the Set QPDM Position instruction.Once having loaded each Am95C60 position register,most accesses to the array of Am95C60s shouldset all chip select lines (CSQPDM(O ... N), where there areN devices within the system) as all Am95C60s executethe same instruction simultaneously.Execution of these instruction may have different effectson different display memory planes. This depends on thedata already present in display memory or on the contentsof certain registers within each Am95C60. Thefollowing are some examples: defining which planes areactive (activity bits), what color lines should be drawnwhen executing drawing instructions (color bits), whatcolor is being searched for and on which planes, andwhen using Area Fill instructions (color search bits andlisten bits).When the appropriate instruction is used to set thedesired value in these registers, the instruction has withinit a field defining which Am95C60 is being accessed.Each Am95C60 compares this field with the contents ofits plane position register to determine whether it is thetarget for this operation. See Section 13.2.4 of theTechnical Manual.Hence when defining the addresses with the hardwarespace for the Am95C60s within a system, individualaddresses should be allocated for each Am95C60 foruse when initializing the devices. A further addressshould also be allocated causing all CSQPDM(O- N) linesto be asserted for use when accessing all Am95C60ssimultaneously (once all the Am95C60s are initialized).Refer to Figures 2.3-3 and 2.3-4.Once the CPU has initialized the Am95C60, the device isready to begin executing drawing or data manipulationinstructions. Over fifty different instructions are availablewhich can be loaded into the Am95C60 in a number ofdifferent ways.2.3.8 Initiating Am95C60 ActivityLoading Instructions from the Host ProcessorThe most straightforward method of loading instructionsis for the host processor to generate a Write cycle anddirectly address the Instruction FIFO within theAm95C60 by writing to Port 0 in "hardware space" (seeFigure 2.3-8). This method is commonly known asProgrammed 1/0.When servicing the Instruction FIFO by the host processor,the FREQ signal may not be directly connected.However, when this is true, the FREQI interrupt, i.e., theInstruction FIFO is half empty, can be "mask-controlled"2-40
- Page 1 and 2:
Am95C60Quad Pixel Dataflow ManagerA
- Page 3 and 4:
Authors:Tom CrawfordStuart TindallE
- Page 6: Table of ContentsCHAPTER 1 Overview
- Page 10 and 11: CHAPTER 1OverviewDESIGN APPLICATION
- Page 12 and 13: and the information is read in on t
- Page 14 and 15: CHAPTER 1Overviewservice. As with t
- Page 16: CHAPTER 2System Bus Interface2.1 Am
- Page 19 and 20: CHAPTER 2System Bus InterfaceT4 1W
- Page 21 and 22: CHAPTER 2System Bus InterfaceALE ~t
- Page 23 and 24: CHAPTER 2System Bus InterfaceDMAQPD
- Page 25 and 26: CHAPTER 2System Bus Interfacevee20
- Page 27 and 28: CHAPTER 2System Bus InterfaceMATOUT
- Page 29 and 30: CHAPTER 2System Bus InterfaceQPDM i
- Page 31 and 32: CHAPTER 2System Bus InterfaceJ01501
- Page 33 and 34: CHAPTER 2System Bus Interfacedresse
- Page 35 and 36: CHAPTER 2System Bus InterfaceCUPL v
- Page 37 and 38: CHAPTER 2System Bus InterfaceCUPL v
- Page 39 and 40: CHAPTER 2System Bus InterfaceCUPL v
- Page 41 and 42: CHAPTER 2System Bus InterfaceCUPL V
- Page 43 and 44: CHAPTER 2System Bus InterfaceCUPL v
- Page 45 and 46: CHAPTER 2System Bus Interface2.2 VM
- Page 47 and 48: CHAPTER 2System Bus InterfaceAs ano
- Page 49 and 50: CHAPTER 2System Bus InterfaceADDRBu
- Page 51 and 52: CHAPTER 2System Bus Interface2.3 68
- Page 53 and 54: CHAPTER 2System Bus InterfaceFCVA+3
- Page 55: CHAPTER 2System Bus InterfacesEaUEN
- Page 59 and 60: CHAPTER 2System Bus InterfaceAs the
- Page 61 and 62: CHAPTER 2System Bus InterfaceDecode
- Page 63 and 64: CHAPTER 2System Bus InterfaceAppend
- Page 65 and 66: CHAPTER 2System Bus Interface2.3.12
- Page 67 and 68: CHAPTER 2System Bus InterfaceAPPEND
- Page 69 and 70: CHAPTER 2System Bus InterfaceAPPEND
- Page 71 and 72: CHAPTER 2System Bus InterfaceAPPEND
- Page 73 and 74: CHAPTER 2System Bus InterfaceData i
- Page 76 and 77: CHAPTER 3Display Memory BusIn this
- Page 78 and 79: CHAPTER 3Display Memory BusTo minim
- Page 80 and 81: CHAPTER 3Display Memory BusAOOA"(7;
- Page 82 and 83: CHAPTER 3Display Memory BusFurtherm
- Page 84 and 85: CHAPTER 3Display Memory BusTo run t
- Page 86 and 87: CHAPTER 3Display Memory BusQPDM) as
- Page 88 and 89: CHAPTER 3Display Memory BusCDAT -0
- Page 90 and 91: CHAPTER 3Display Memory Busoutput b
- Page 92 and 93: CHAPTER 3Display Memory BusDIM qpar
- Page 94 and 95: CHAPTER 3Display Memory Busram.para
- Page 96 and 97: DATA 99,99,10,20,99,99,99,99,99,tw(
- Page 98 and 99: CHAPTER 3Display Memory BusDATA 5,-
- Page 100 and 101: CHAPTER 3Display Memory BusGOSUB fi
- Page 102 and 103: CHAPTER 3Display Memory Busramp=18:
- Page 104 and 105: CHAPTER 3Display Memory BusGOSUB fi
- Page 106 and 107:
CHAPTER 3Display Memory Busramp=46:
- Page 108 and 109:
CHAPTER 3Display Memory Busparam69:
- Page 110 and 111:
amp=93 :GOSUB out.paramtext$="this
- Page 112 and 113:
CHAPTER 3Display Memory BusRETURNge
- Page 114 and 115:
CHAPTER 3Display Memory Bustext$="N
- Page 116 and 117:
CHAPTER 3Display Memory BusKANJI RO
- Page 118 and 119:
CHAPTER 3Display Memory BusTable 3.
- Page 120 and 121:
Al1 -1'01----.----------1lSI Level0
- Page 122:
CHAPTER 4Video Bus4.1 VIDEO BUS4.2
- Page 125 and 126:
CHAPTER 4Video Bus4.2.2 High-speed
- Page 127 and 128:
CHAPTER 4Video BusScan Line End Con
- Page 129 and 130:
CHAPTER 4Video BusFIFO (VDAF). The
- Page 131 and 132:
CHAPTER 4Video BusParameter min typ
- Page 134:
CHAPTER 5Evaluation and Demonstrati
- Page 137 and 138:
CHAPTER 5Evaluation and Demonstrati
- Page 139 and 140:
CHAPTER 5Evaluation and Demonstrati
- Page 141 and 142:
CHAPTER 5Evaluation and Demonstrati
- Page 143 and 144:
CHAPTER 5Evaluation and Demonstrati
- Page 145 and 146:
CHAPTERSEvaluation and Demonstratio
- Page 147 and 148:
CHAPTER 5Evaluation and Demonstrati
- Page 149 and 150:
CHAPTER 5Evaluatuion and Demonstrat
- Page 151 and 152:
CHAPTERSEvaluation and Demonstratio
- Page 153 and 154:
CHAPTERSEvaluation and Demonstratio
- Page 155 and 156:
CHAPTER 5Evaluation and Demonstrati
- Page 157 and 158:
CHAPTER 5Evaluation and Demonstrati
- Page 159 and 160:
C{I~P2-01 T22 T 22 TO. 1 41-44. 48-
- Page 161 and 162:
(JIN0>2D2PROM_(SA16: :~~~202
- Page 163 and 164:
(.TI~8A22828C26A7'A66A'6A37C77C6704
- Page 165 and 166:
c.nWo607, Be2 DClK2 » ============
- Page 168:
CHAPTER 6Articles/Application Notes
- Page 171 and 172:
CHAPTER 6Software10 'This programs
- Page 173 and 174:
CHAPTER 6Software950 RETURN960 '970
- Page 175 and 176:
CHAPTER 6Software6.2 COPY BLOCK OPE
- Page 177 and 178:
CHAPTER 6Software6.2.4 Transparency
- Page 179 and 180:
CHAPTER 6Softwarecpy 11 a [temp2] [
- Page 181 and 182:
CHAPTER 6Softwarecpy 11 a [temp2] [
- Page 183 and 184:
CHAPTER 6SoftwareADDTEMPblk [blksiz
- Page 185 and 186:
CHAPTER 6SoftWareSUBSTEMPblk [blksi
- Page 187 and 188:
NOTES
- Page 189 and 190:
NOTES
- Page 191 and 192:
NOTES
- Page 193:
ADVANCED MICRO DEVICES' NORTH AMERI