Nothing Special   »   [go: up one dir, main page]

DE69116012T2 - Pallet devices with selection of multiple pixel depths containing the entire bus width - Google Patents

Pallet devices with selection of multiple pixel depths containing the entire bus width

Info

Publication number
DE69116012T2
DE69116012T2 DE1991616012 DE69116012T DE69116012T2 DE 69116012 T2 DE69116012 T2 DE 69116012T2 DE 1991616012 DE1991616012 DE 1991616012 DE 69116012 T DE69116012 T DE 69116012T DE 69116012 T2 DE69116012 T2 DE 69116012T2
Authority
DE
Germany
Prior art keywords
register
bits
bit
memory
palette
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE1991616012
Other languages
German (de)
Other versions
DE69116012D1 (en
Inventor
Michael D Asal
Karl M Guttag
Carrell R Killebrew
Jeffrey L Nye
Aken Jerry R Van
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US07/545,421 external-priority patent/US5309551A/en
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of DE69116012D1 publication Critical patent/DE69116012D1/en
Application granted granted Critical
Publication of DE69116012T2 publication Critical patent/DE69116012T2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/06Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using colour palettes, e.g. look-up tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)
  • Memory System (AREA)

Description

HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION

Ohne den allgemeinen Umfang der Erfindung zu beschränken, wird ihr Hintergrund nur beispielshalber in Zusammenhang mit Computergraphik beschrieben.Without limiting the general scope of the invention, its background is described by way of example only in the context of computer graphics.

Bei Computergraphiksystemen haben die niedrigen Kosten dynamischer Schreib-Lese-Speicher (DRAM) es wirtschaftlich gemacht, einen bitorientierten oder pixelorientierten Speicher für das System vorzusehen. Bei solch einem Bit- oder Pixeispeicher wird ein Farbcode an einer Speicherstelle entsprechend jedem anzuzeigendem Pixel gespeichert. Ein Videosystem ist vorgesehen, welches die Farbcodes für jeden Pixel aufruft, und ein Rasterscan-Videosignal entsprechend den aufgerufenen Farbcodes erzeugt. Somit bestimmt der in dem Speicher gespeicherte Datenwert die Wiedergabe durch Bestimmen der Farbe, die für jeden Pixel (Bildelement) der Wiedergabe erzeugt wird.In computer graphics systems, the low cost of dynamic random access memory (DRAM) has made it economical to provide a bit-oriented or pixel-oriented memory for the system. In such a bit or pixel memory, a color code is stored in a memory location corresponding to each pixel to be displayed. A video system is provided which retrieves the color codes for each pixel and generates a raster scan video signal corresponding to the retrieved color codes. Thus, the data value stored in the memory determines the display by determining the color that is generated for each pixel (picture element) of the display.

Das Erfordernis nach natürlich aussehender Wiedergabe und das Erfordernis nach Minimalisierung erforderlichen Speichers stehen miteinander im Konflikt. Um eine natürlich aussehende Wiedergabe zu bekommen, ist es notwendig, eine große Anzahl verfügbarer Farben zu haben. Dies erfordert eine große Anzahl von Bits für jeden Pixel zum Spezifizieren der besonderen Farbe unter einer großen Anzahl von Möglichkeiten. Jedoch erfordert das Vorsehen einer großen Anzahl von Bits pro Pixel eine große Menge an Speicherplatz zur Speicherung. Da eine Anzahl von Bits für jeden Pixel bei der Wiedergabe vorgesehen werden muß, würde sogar eine mäßig große Wiedergabe einen großen Speicher erfordern. Somit ist es vorteilhaft, ein Verfahren zum Reduzieren der Speichermenge zu liefern, die zum Speichern der Wiedergabe benötigt ist, und zwar unter Aufrechterhaltung der Möglichkeit des Auswählens unter einer großen Anzahl von Farben.The need for natural looking rendering and the need to minimize required memory are in conflict. In order to obtain a natural looking rendering, it is necessary to have a large number of colors available. This requires a large number of bits for each pixel to specify the particular color among a large number of possibilities. However, providing a large number of bits per pixel requires a large amount of memory for storage. Since a number of bits must be provided for each pixel in the rendering, even a moderately large rendering would require a large amount of memory. Thus, it is advantageous to provide a method for reducing the amount of memory required to store the rendering while maintaining the Possibility to choose from a large number of colors.

Das Vorsehen einer Schaltung, die eine Farbpalette genannt wird, ermöglicht einen Kompromiß zwischen diesen in Konflikt stehenden Anforderungen. Die Farbpalette speichert Farbdatenworte, die eine längere Bitlänge haben als Farbcodes, die in dem Pixeiplanspeicher gespeichert sind, anstelle der tatsächlichen Farbdatenworte selbst. Die Farbdatenworte können Farben spezifizieren, die in einer Form anzuzeigen sind, die zur Digital/Analog-Umwandlung in direkter Weise von der Farbpalette bereit ist. Die in dem Speicher für jeden Pixel gespeicherten Farbcodes haben eine begrenzte Anzahl von Bits, um dadurch die Speichererfordernisse zu reduzieren. Die Farbcodes werden zum Auswählen von einem einer Anzahl von Farbregistern oder Palettenorten verwendet. Somit definieren die Farbcodes selbst nicht Farben, sondern identifizieren anstattdessen einen ausgewählten Palettenort. Diese Farbregister oder Palettenorte speichern jeweils Farbdatenworte, die länger als die Farbcodes in dem Pixelplanspeicher sind. Die Anzahl solcher Farbregister oder Palettenorte, die in der Farbpalette vorgesehen ist, ist gleich der Anzahl der Auswahlen, die durch die Farbcodes geliefert wird. Beispielsweise kann ein 4-Bit-Farbcode zum Auswählen von 2n oder 16 Palettenorten benutzt werden. Die Farbdatenworte können in der Palette von Bild zu Bild neu definiert werden, um viel mehr Farben in einer fortlaufenden Sequenz von Bildern als die, die in jedem einzelnen Bild vorliegen, vorzusehen.The provision of a circuit called a color palette allows a compromise between these conflicting requirements. The color palette stores color data words that are longer in bit length than color codes stored in the pixel map memory, rather than the actual color data words themselves. The color data words can specify colors to be displayed in a form that is ready for digital-to-analog conversion directly from the color palette. The color codes stored in the memory for each pixel have a limited number of bits, thereby reducing storage requirements. The color codes are used to select one of a number of color registers or palette locations. Thus, the color codes themselves do not define colors, but instead identify a selected palette location. These color registers or palette locations each store color data words that are longer than the color codes in the pixel map memory. The number of such color registers or palette locations provided in the color palette is equal to the number of selections provided by the color codes. For example, a 4-bit color code can be used to select 2n or 16 palette locations. The color data words can be redefined in the palette from frame to frame to provide many more colors in a continuous sequence of frames than those present in any single frame.

Aufgrund der Vorteile der Farbpalettenvorrichtungen, -systeme und -verfahren sind jeglich Verbesserungen in ihrer Implementierung bei der Computerfarbgraphik-Technologie vorteilhaft.Because of the advantages of color palette devices, systems and methods, any improvements in their implementation in computer color graphics technology are beneficial.

In der WO-A-89 00744 ist eine Technik zum Auswählen der Farben für einen Pixel unter mehr als 2n Farben unter Benutzung von nur n Bits für den Pixel offenbart, wobei die Farbauswahldaten von 4 Bits auf beispielsweise 8 Bits erweitert sind. Im normalen Betrieb werden vier Bits von diesen acht Bits festgelegt, und die weiteren vier Bits werden aus den Pixeldaten abgeleitet, so daß eine Palette von 16 Farben benutzt werden kann. Bei einem speziellen Modus, der eingegangen wird, wenn ein Flagcode in den Pixeldaten auftritt, werden zwei Blöcke von vier Bits nacheinanderfolgend genommen und in ein 8-Bit-Register zum Auswählen aus einer Palette von vielmehr als 16 Farben gesetzt.WO-A-89 00744 describes a technique for selecting the colors for a pixel from more than 2n colors using only n bits for the pixel, with the color selection data expanded from 4 bits to, say, 8 bits. In normal operation, four bits of these eight bits are fixed and the other four bits are derived from the pixel data so that a palette of 16 colors can be used. In a special mode, entered when a flag code occurs in the pixel data, two blocks of four bits are taken in sequence and placed in an 8-bit register for selecting from a palette of more than 16 colors.

Das in der WO-A-89 01218 beschriebene Wiedergabesystem liefert sowohl Steuerinformation als auch Farbinformation bei jedem Pixel. Die zwei Informationsarten eines Pixels werden in einem Verarbeitungsmodul kombiniert, um Farbwiedergabesignale zu erzeugen.The display system described in WO-A-89 01218 provides both control information and colour information at each pixel. The two types of information from a pixel are combined in a processing module to produce colour display signals.

Die EP-A-0 358 918 beschreibt ein Farbwiedergabesystem für eine Wiedergabevorrichtung, wie z.B. eine, die LCD-Elemente benutzt, die in der Lage ist, nur einen beschränkten Bereich, beispielsweise 16 Farbwerte bei jedem Pixel, wiederzugeben. Der Computer, der das Wiedergabesystem steuert sieht mehr Bits, beispielsweise 18, für die Farbwerte bei jedem Pixel vor, und diese Farbwerte werden als Eingangsfarbwerte für einen Wandler zum Liefern von Ausgangsfarbwerten mit vier Bits für die Wiedergabe angelegt, wobei der Wandler zum Auswählen des Ausgangsfarbwerts mit der engsten Farbübereinstimmung hinsichtlich dessen, was durch den Eingangsfarbwert dargestellt, wird, eingerichtet ist.EP-A-0 358 918 describes a colour display system for a display device, such as one using LCD elements, which is capable of displaying only a limited range, for example 16 colour values at each pixel. The computer controlling the display system provides more bits, for example 18, for the colour values at each pixel and these colour values are applied as input colour values to a converter for providing four-bit output colour values for display, the converter being arranged to select the output colour value having the closest colour match to that represented by the input colour value.

Eine Vorrichtung zum Wiedergeben von Farbbildern mit einem Bilddatenspeicher reduzierter Größe ist in der EP-A-0 319 684 beschrieben. Die Reduktion in der Speichergröße wird durch Transformieren eines dreikomponentigen Farbbildsignals in ein zweikomponentiges durch einen Quantisierungsprozeß unter Benutzung einer Nachschlagetabelle erzielt. Ein Beispiel des Reduzierens von 15 Bit pro Pixel hinunter auf 8 Bit pro Pixel ist beschrieben. ZUSAMMENFASSUNG DER ERFINDUNGAn apparatus for reproducing color images with a reduced size image data memory is described in EP-A-0 319 684. The reduction in memory size is achieved by transforming a three-component color image signal into a two-component one by a quantization process using a look-up table. An example of the Reducing from 15 bits per pixel down to 8 bits per pixel is described. SUMMARY OF THE INVENTION

Gemäß der vorliegenden Erfindung ist eine Bildwiedergabeanordnung geliefern mit einem Videospeicher, in dem mehrere Mehrbit-Farbcodes gespeichert sind, die jeweils ein Bild darstellende Pixel repräsentieren, einem Wiedergabemittel, einer Palettenvorrichtung mit einem Nachschlagetabellenspeicher zum Liefern von Farbdatenwörten für die Leitung zu den Wiedergabemittel abhängig von den Farbcodes, und einem Mehrbit- Bus, bei dem eine vorbestimmte Anzahl von Bits mit dem Videospeicher verbunden ist, um in den Videospeicher gespeicherte Farbcodes in Buszyklen zu übertragen,According to the present invention, a picture display device is provided with a video memory storing a plurality of multi-bit colour codes each representing a picture-forming pixel, a display means, a palette device with a look-up table memory for supplying colour data words for supply to the display means dependent on the colour codes, and a multi-bit bus having a predetermined number of bits connected to the video memory for transferring colour codes stored in the video memory in bus cycles,

dadurch gekennzeichnet, daß der Mehrbit-Bus derart ausgestaltet ist, daß in jedem Buszyklus mehrere Farbcodes unter Erfassung der gesamten Breite des Mehrbit-Busses übertragen werden; und daß die Palettenvorrichtung ferner enthält:characterized in that the multi-bit bus is designed in such a way that in each bus cycle several color codes are transmitted covering the entire width of the multi-bit bus; and that the palette device further contains:

einen Eingangsspeicher, der an den Mehrbit-Bus angeschlossen ist, um gleichzeitig die mehreren Farbcodes von ihm zu empfangen und die mehreren Farbcodes in jedem Buszyklus zwischenzuspeichern;an input buffer connected to the multi-bit bus for simultaneously receiving the plurality of color codes therefrom and for latching the plurality of color codes in each bus cycle;

eine Farbcode-Übertragungsschaltung mit einem extern ladbaren Steuerregister, das eine Darstellung der jedem Farbcode zugeordneten Anzahl von Bits und eine Darstellung der in jedem Buszyklus übertragenen Anzahl von Farbcodes speichert;a color code transfer circuit having an externally loadable control register storing a representation of the number of bits associated with each color code and a representation of the number of color codes transferred in each bus cycle;

und einen Multiplexer, der von dem Steuerregister gesteuert ist und zwischen dem Eingangsspeicher und dem Nachschlagetabellenspeicher angeschlossen ist, wobei der Multiplexer dem Nachschlagetabellenspeicher eine Folge von Bitblöcken aus in dem Eingangsspeicher gespeicherten Daten liefert, wobei jeder der Bitblöcke hinsichtlich seiner Anzahl der Anzahl von Bits gleich ist, die jedem Farbcode zugeordnet ist und in dem Steuerregister gespeichert ist, so daß aus dem Eingangsspeicher einzelne der mehreren Farbcodes übertragen werden, wobei die Folge für eine Anzahl von Bitblöcken fortgesetzt wird, die gleich der Anzahl von Farbcodes ist, die in jedem Buszyklus für jedes Laden des Eingangsspeichers aus dem Mehrbit-Bus übertragen wird.and a multiplexer controlled by the control register and connected between the input memory and the look-up table memory, the multiplexer providing the look-up table memory with a sequence of bit blocks of data stored in the input memory, each of the bit blocks being equal in number to the number of bits associated with each color code stored in the control register, so that individual ones of the plurality of color codes are transferred from the input memory, the sequence continuing for a number of bit blocks equal to the number of color codes transferred from the multi-bit bus in each bus cycle for each loading of the input memory.

Im allgemeinen ist eine Form der Erfindung eine Palettenvorrichtung, die durch einen digitalen Computer mit einem Bildspeicher mit einem Bus zum Zuführen vielfacher Farbcodes für die Palettenvorrichtung in jedem Buszyklus steuerbar ist. Die Palettenvorrichtung enthält einen Mehrbit- Eingang zur Eingabe der Farbcodes von dem Bus sowie einen Nachschlagetabellenspeicher zum Zuführen von Farbdatenwörtern als Reaktion auf die Farbcodes vom Eingang. Die Farbcode- Übertragungsschaltungsanordnung ist zwischen dem Eingang und dem Nachschlagetabellenspeicher zum Versorgen des Nachschlagetabellenspeichers vom Eingang in sequentieller Weise mit Farbcodes auswählbarer Breite unter Erfassung der gesamten Breite des Busses angeschlossen.In general, one form of the invention is a palette device controllable by a digital computer having a frame buffer with a bus for supplying multiple color codes to the palette device in each bus cycle. The palette device includes a multi-bit input for inputting the color codes from the bus and a look-up table memory for supplying color data words in response to the color codes from the input. Color code transfer circuitry is connected between the input and the look-up table memory for supplying the look-up table memory from the input in a sequential manner with color codes of selectable widths, covering the entire width of the bus.

Ein technischer Vorteil der Erfindung ist ein breiterer Anwendungsumfang derselben Palettenvorrichtung in Systemen mit verschiedenen Busbreiten und Pixelbreiten.A technical advantage of the invention is a wider range of applications of the same palette device in systems with different bus widths and pixel widths.

Diese und weitere Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung in Zusammenhang mit der Zeichnung leicht verstanden werden, wobeiThese and other features of the present invention will be readily understood from the following description taken in conjunction with the drawings, in which

Figur 1 ein Blockdiagramm eines Computergraphiksystems darstellt;Figure 1 is a block diagram of a computer graphics system;

Figur 2 ein Blockdiagramm eines Graphikcoprozessors darstellt;Figure 2 is a block diagram of a graphics coprocessor;

Figur 3 (gezeigt auf Blatt 2) eine erweiterte stilisierte Ansicht eines Videospeichers, der in Verbindung mit einem Teil- Serienregister arbeitet, zeigt;Figure 3 (shown on Sheet 2) shows an expanded stylized view of a video memory operating in conjunction with a partial serial register;

Figur 4 eine Graphikanzeige zu Veranschaulichungszwecken zeigt;Figure 4 shows a graphic display for illustrative purposes;

Figur 5 ein Speicherfeld zu Veranschaulichungszwecken zeigt.Figure 5 shows a memory array for illustration purposes.

Figuren 6, 7 und 8 Bits in dem Serienregister zu verschiedenen Zeiten zeigen;Figures 6, 7 and 8 show bits in the serial register at different times;

Figuren 9 und 10 (gezeigt auf Blatt 1) zwei Reihen- und Spalten-Adressenanordnungen für Speicher verschiedener Größe zeigen;Figures 9 and 10 (shown on Sheet 1) show two row and column address arrangements for memories of different sizes;

Figuren 11, 12 und 13 Maskierungsbits zum Steuern des Abgriffspunkt des Serienregister in Übereinstimmung mit verschiedenen physikalischen Konfigurationen von Adressen zeigen;Figures 11, 12 and 13 show masking bits for controlling the tapping point of the serial register in accordance with various physical configurations of addresses;

Figur 14 ein Blockdiagramm von Steuerregistern in dem Graphikcoprozessor von Figur 2 zur Steuerung der Serienregister zeigt; undFigure 14 shows a block diagram of control registers in the graphics coprocessor of Figure 2 for controlling the serial registers; and

Figuren 15 bis 21 Bits in den Steuerregistern von Figur 14 zeigen;Figures 15 to 21 show bits in the control registers of Figure 14 ;

Figur 22 ein Blockdiagramm einer verbesserten Schaltung zum Einsetzen eines Impulses während eines Austastsignals für einen Teil-Schieberegister-Transfer ist;Figure 22 is a block diagram of an improved circuit for inserting a pulse during a blanking signal for a partial shift register transfer;

Figur 23 ein Wellenformdiagramm von Signalen in einer Form eines Transfers des Schieberegisters ist;Figure 23 is a waveform diagram of signals in a form of transfer of the shift register;

Figur 24 ein Wellenformdiagramm von Signalen, wobei ein Impuls während eines Austastsignals bei einem Teil-Schieberegister- Transfer eingesetzt wird, ist;Figure 24 is a waveform diagram of signals in which a pulse is inserted during a blanking signal in a partial shift register transfer;

Figur 25 ein bildmäßiger Abriß einer Leiterplatte für ein Computergraphiksystem von Figur 1 ist;Figure 25 is a pictorial outline of a circuit board for a computer graphics system of Figure 1;

Figur 26 ein Blockdiagramm eines Computergraphiksystems mit VGA und mit einer zusätzlichen Leiterpiatte von Figur 25 mit VGA- Durchgang ist;Figure 26 is a block diagram of a computer graphics system with VGA and with an additional circuit board of Figure 25 with VGA pass-through;

Figur 27 ein Blockdiagramm eines Synchron-Multiplexens für eine Palettenvorrichtung ist;Figure 27 is a block diagram of synchronous multiplexing for a pallet device;

Figur 28 ein Blockdiagramm eines Computergraphiksystems unter Benutzung von zwei Bild-RAMs in einen Nibble-Modus ist;Figure 28 is a block diagram of a computer graphics system using two image RAMs in a nibble mode;

Figur 29 ein Blockdiagramm eines kombinierten Facsimile- und Photokopierdrucker-Systems ist;Figure 29 is a block diagram of a combined facsimile and photocopier printer system;

Figur 30 ein Blockdiagramm eines Computergraphik- und Bilderkennungssystems mit einem Drucker und einer Bildwiedergabe ist;Figure 30 is a block diagram of a computer graphics and image recognition system with a printer and an image display;

Figur 31 ein Blockdiagramm einer Palettenvorrichtung unter Hervorhebung von Takt- und Videosteuerung und weiteren Merkmalen ist;Figure 31 is a block diagram of a pallet device highlighting clock and video control and other features;

Figur 31A ein vergrößertes Bild von zwei Scanlinien in einer Rasterscan-Bildwiedergabe zum Veranschaulichen eines Zeitablaufs von Austast- und Synchronsignalen ist;Figure 31A is an enlarged image of two scan lines in a raster scan display for illustrating a timing of blanking and sync signals;

Figur 32 ein Blockdiagramm der Palettenvorrichtung von Figur 31 unter Hervorhebung eines gepackten Busses, einer Möglichkeit auswählbarer Pixeibreite; von Realfarb- und Überlagerungs- Merkmalen, eines VGA-Durchgangs; von Einsen-Akkumulierungs- und Analogtest-Merkmalen; und weiteren Merkmalen ist;Figure 32 is a block diagram of the palette device of Figure 31, highlighting a packed bus, a possibility of selectable pixel width, real color and overlay features, a VGA pass-through; ones accumulation and analog test features; and other features;

Figur 33 ein Wellenformdiagramm einer Punkttakt- (Pixeltakt-), einer Bildtakt- VCLK und einer Verschiebetakt-SCLK-Wellenform in einem Betriebsmodus der Palettenvorrichtung von Figuren 31 und 32 ist;Figure 33 is a waveform diagram of a dot clock (pixel clock), a frame clock VCLK and a shift clock SCLK waveform in an operating mode of the palette device of Figures 31 and 32;

Figur 34 ein Wellenformdiagramm für die Palettenvorrichtung für die Palettenvorrichtung von Figuren 31 und 32, wenn ein SSRT- Impulseinsetzen deaktiviert ist und die SCLK-Frequenz gleich der VCLK-Frequenz ist, ist;Figure 34 is a pallet device waveform diagram for the pallet device of Figures 31 and 32 when SSRT pulse insertion is disabled and the SCLK frequency is equal to the VCLK frequency;

Figur 35 ein Wellenformdiagramm für die Palettenvorrichtung von Figuren 31 und 32, wenn ein SSRT-Ipulseinsetzen aktiviert ist und die SCLK-Frequenz gleich der VCLK-Frequenz ist, ist;Figure 35 is a waveform diagram for the pallet device of Figures 31 and 32 when SSRT pulse onset is enabled and the SCLK frequency is equal to the VCLK frequency;

Figur 36 ein Wellenformdiagramm für die Palettenvorrichtung von Figuren 31 und 32, wenn ein SSRT-Impulseinsetzen deaktiviert ist und die SCLK-Frequenz den vierfachen Wert der VCLK-Frequenz hat, ist;Figure 36 is a waveform diagram for the pallet device of Figures 31 and 32 when SSRT pulse insertion is disabled and the SCLK frequency is four times the VCLK frequency;

Figur 37 ein Wellenformdiagramm für die Palettenvorrichtung von Figuren 31 und 32, wenn ein SSRT-Impulseinsetzen aktiviert ist und eine SCLK-Frequenz viermal die VCLK-Frequenz ist, ist;Figure 37 is a waveform diagram for the pallet device of Figures 31 and 32 when SSRT pulse insertion is enabled and SCLK frequency is four times the VCLK frequency;

Figur 38 ein schematisches Diagramm eines Digital/Analog- Wandlers für ein Analog-Farbsignal mit hinzugefügten Schaltungen für ein Synchronisieren und ein Austastsignal ist;Figure 38 is a schematic diagram of a digital-to-analog converter for an analog color signal with added circuits for synchronization and blanking;

Figuren 39 und 40 zwei Wellenformdiagramme eines zusammengesetzten Videosignals einschließlich Analogvideosignal und Austastsignal mit Vorderseiten- und Rückseiten- Schwarzschulter beiderseits eines Synchronsignals sind;Figures 39 and 40 are two waveform diagrams of a composite video signal including analog video signal and blanking signal with front and back porches on either side of a synchronizing signal;

Figur 41 ein Wellenformdiagramm eines Impulseinsetzens für einen Teil-Schieberegister-Transfer zum Zeigen von Zeitablaufbeziehungen in Figur 22 ist;Figure 41 is a waveform diagram of a pulse insertion for a partial shift register transfer for showing timing relationships in Figure 22;

Figur 42 ein Wellenformdiagramm für die Palettenvorrichtung von Figuren 31 und 32 zum Zeigen eines Zeitablaufs in einem speziellen Nibble-Modus ist;Figure 42 is a waveform diagram for the pallet device of Figures 31 and 32 for showing a timing in a special nibble mode;

Figur 43 ein Zustandsübergangsdiagramm für eine Testschaltung von Figur 32 ist;Figure 43 is a state transition diagram for a test circuit of Figure 32;

Figur 44 ein schematisches Diagramm für eine analoge Testschaltung in der Testschaltungsanordnung von Figur 32 ist;Figure 44 is a schematic diagram for an analog test circuit in the test circuitry of Figure 32;

Figur 45 ein Diagramm von Anschlüssen eines Halbleiterchipgehäuses ist, das einen Chip enthält, der die Schaltung der Palettenvorrichtung von Figuren 31 und 32 trägt;Figure 45 is a diagram of terminals of a semiconductor chip package containing a chip carrying the circuitry of the pallet device of Figures 31 and 32;

Figur 46 ein Wellenformdiagramm eines Zeitablaufs von Registerauswahlbits R50-R53 und Lese-, Schreib- und Datensignalen in der Palettenvorrichtung von Fig. 31 und 32 ist;Figure 46 is a waveform diagram of a timing of register select bits R50-R53 and read, write and data signals in the palette device of Figures 31 and 32 ;

Figur 47 ein Wellenformdiagramm eines Zeitablaufs von Takt- und Videosteuersignalen in der Palettenvorrichtung von Fig. 31 und 32 ist;Figure 47 is a waveform diagram of a timing of clock and video control signals in the palette device of Figures 31 and 32;

Figur 48 ein Wellenformdiagramm eines Zeitablaufs vom Austastsignal, einem SSRT-Eingangssignal und dem Verschiebetakt SCLK, wenn ein SSRT-Impulseinsetzen aktiviert ist, ist;Figure 48 is a waveform diagram of a timing of the blanking signal, an SSRT input signal and the shift clock SCLK when SSRT pulse insertion is enabled;

Figur 49 ein Wellenformdiagramm eines Zeitablaufs in einem Prozeß des Abtastens des Austastsignals mit Zeitaktsignalen ansteigend höherer Zeitauflösung zum Einrichten eines abgetasteten Austastsignals (Q-Ausgang von X24) zum Austasten der Digital/Analog-Wandler, wie z.B. dem in Figur 38, ist;Figure 49 is a waveform diagram of a timing sequence in a process of sampling the blanking signal with clock signals of increasingly higher time resolution to establish a sampled blanking signal (Q output of X24) for blanking digital-to-analog converters such as that in Figure 38;

Figur 50 ein schematisches Diagramm von mit ansteigender Zeitauflösung getakteten Flip-Flops zum Durchführen des Prozesses des Abtastens der Austastsignals von Figur 49 ist;Figure 50 is a schematic diagram of flip-flops clocked with increasing time resolution for performing the process of sampling the blanking signals of Figure 49;

Figur 51 ein schematisches Digramm einer Taktsteuerschaltungsanordnung in der Palettenvorrichtung von Figuren 31 und 32 ist;Figure 51 is a schematic diagram of a clock control circuitry in the pallet device of Figures 31 and 32;

Figur 52 ein schematisches Diagramm einer Schaltungsanordnung zum Abtasten des Austastsignals und zum Erzeugen einer auswählbaren variablen Verzögerung in der Palettenvorrichtung von Figuren 31 und 32 ist;Figure 52 is a schematic diagram of circuitry for sampling the blanking signal and producing a selectable variable delay in the pallet device of Figures 31 and 32;

Figur 53 ein detailliertes schematisches Diagramm von Schaltungsteilen von Figur 52 ist;Figure 53 is a detailed schematic diagram of circuit parts of Figure 52;

Figur 54 ein schematisches Diagramm einer Akkumulatorschaltung für die Testschaltung von Figuren 31 und 32 ist;Figure 54 is a schematic diagram of an accumulator circuit for the test circuit of Figures 31 and 32;

Figur 55 ein Blockdiagramm einer Akkumulator-Multiplexer- Schaltungsanordnung für die Testschaltung von Figuren 31 und 32 ist;Figure 55 is a block diagram of an accumulator multiplexer circuit arrangement for the test circuit of Figures 31 and 32;

Figur 56 ein Blockdiagramm einer alternativen Schaltung zur Überlagerung ist, wobei eine Erfassung eines bestimmten Werts in Majoritätsbits eine Überlagerung auswählt, und zwar alternativ zu einer Erfassung von Minoritätsbits in der Palettenvorrichtung von Figur 32;Figure 56 is a block diagram of an alternative circuit for overlay, wherein detection of a particular value in majority bits selects an overlay, alternatively to detection of minority bits in the palette device of Figure 32;

Figur 57 ein Blockdiagramm einer alternativen Schaltung zum Reduzieren einer Dekodierzeit in einer Palettenvorrichtung unter Benutzung von Teilmodi und Paralleldekodierern und LUTs (Nachschlagetabellenspeichern) ist;Figure 57 is a block diagram of an alternative circuit for reducing decoding time in a palette device using partial modes and parallel decoders and LUTs (look-up table memories);

Figuren 58A, 58B und 58C drei Drittel eines Flußdiagramms eines Prozesses oder Verfahrens zum Betreiben von Palettenvorrichtungen und -systemen sind;Figures 58A, 58B and 58C are three thirds of a flow diagram of a process or method for operating pallet devices and systems;

Figur 59 ein Blockdiagramm einer Schaltungsanordnung zur internen dynamischen Steuerung eines VGA-Durchgangs und einer Cursorerzeugung ist;Figure 59 is a block diagram of circuitry for internal dynamic control of VGA passthrough and cursor generation;

Figur 60 ein bildlicher Abriß eines mit einem zweiten Graphikbild als einem Einsatz versehen Graphikschirms ist;Figure 60 is a pictorial outline of a graphics screen provided with a second graphic image as an insert;

Figuren 61A, 61B und 61C jeweils Diagramme von Pixeln in zwei Zeilen eines Bildes zum Beschreiben eines Rechts- und eines Links-Verschiebens sind;Figures 61A, 61B and 61C are diagrams of pixels in two lines of an image for describing right and left shifting, respectively;

Figur 62 ein Blockdiagramm einer ersten Ausführungsform einer Schaltungsanordning zum Ermöglichen eines Verschiebens ist;Figure 62 is a block diagram of a first embodiment of a circuit arrangement for enabling shifting;

Figur 63 ein Diagramm zum Zeigen von Prozeßchleifen eines Rechts- und Links-Verschiebens in Systemen mit verschiedenen Busbreiten ist;Figure 63 is a diagram showing process loops of right and left shifting in systems with different bus widths;

Figur 64 ein Wellenformdiagramm eines Zeitablaufs von SCLK in zwei Ausführungsformen einer Verschiebeschaltungsanordnung von Figuren 62 und 65 ist; undFigure 64 is a waveform diagram of a timing of SCLK in two embodiments of a shift circuit arrangement of Figures 62 and 65; and

Figur 65 ein Blockdiagramm einer zweiten Ausführungsform einer Verschiebeschaltung ist. DETAILLIERTE BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMENFigure 65 is a block diagram of a second embodiment of a shift circuit. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Bevor zur detaillierten Diskussion der Erfindung übergegangen wird, könnte es hilfreich sein, sich kurz mit Bezug auf Figuren 1 und 2 den grundlegenden Betrieb eines Graphikprozessors, der in Verbindung mit einem Hostsystem arbeitet, wieder vor Augen zu führen.Before proceeding to a detailed discussion of the invention, it may be helpful to briefly review the basic operation of a graphics processor operating in conjunction with a host system with reference to Figures 1 and 2.

Zur Bequemlichkeit und Leichtigkeit des Verständnisses der erfinderischen Konzepte, die hier gelehrt werden, gibt es keinen Versuch, jeden einzelnen Betrieb und jede Datenbewegung zu zeigen, da die tatsächliche Ausführungsform der Erfindung in einem System in großem Ausmaß von dem tatsächlichen Systembetrieb abhängen wird, in dem das erfinderische Konzept eingebaut ist.For convenience and ease of understanding of the inventive concepts taught herein, there is no attempt to show every single operation and data movement, since the actual embodiment of the invention in a system will depend to a large extent on the actual system operation in which the inventive concept is incorporated.

Figur 1 gehäusest ein Blockdiagramm eines Graphikcomputersystems 100, welches in Übereinstimmung mit den Prinzipien der vorliegenden Erfindung konstruiert ist. Das Graphikcomputersystem 100 enthält eine Leiterplatte für die Graphik 105, die mit einem Hostverarbeitungssystem 110 verbunden ist. Angeordnet auf der Leiterplatte 105 sind ein Graphikprozessor 120, ein Speicher 130, ein Schieberegister 140, eine Videopalette 150 und ein Digital/Video-Wandler 160. Eine Videoanzeige 170 wird von dem Videoausgang der Platine 105 angesteuert.Figure 1 encloses a block diagram of a graphics computer system 100 constructed in accordance with the principles of the present invention. The graphics computer system 100 includes a graphics board 105 connected to a host processing system 110. Disposed on the board 105 are a graphics processor 120, a memory 130, a shift register 140, a video palette 150, and a digital-to-video converter 160. A video display 170 is driven by the video output of the board 105.

Das Hostverarbeitungssystem 110 liefert die Hauptberechnungskapazität für das Graphikcomputersystem 100. Das Hostverarbeitungssystem 110 enthält vorzugsweise zumindest einen Mikroprozessor, einen Festwertspeicher, einen Schreib- Lese-Speicher und zugehörige peripherische Vorrichtungen zum Bilden eines kompletten Computersystems. Das Hostverarbeitungssystem 110 enthält vorzugsweise eine Art von Eingabevorrichtung, wie z.B. eine Tastatur oder eine Maus, und eine Art von Langzeitspeichervorrichtung, wie z.B. ein Diskettenlaufwerk. Die Details der Konstruktion des Hostverarbeitungssystems 110 sind herkömmlich in ihrer Natur und im Stand der Technik bekannt, und deshalb wird die vorliegende Anmeldung dieses Element nicht weiter detailliert ausführen. Das wesentliche Merkmal des Hostverarbeitungssystems 110, soweit die vorliegende Erfindung betroffen ist, ist das, daß das Hostverarbeitungssystem 110 den Inhalt der visuellen Wiedergabe, die dem Benutzer zu präsentieren ist, bestimmt.The host processing system 110 provides the main computing capacity for the graphics computer system 100. The host processing system 110 preferably includes at least one microprocessor, a read-only memory, a random access memory, and associated peripheral devices to form a complete computer system. The host processing system 110 preferably includes some type of input device, such as a keyboard or a mouse, and some type of long-term storage device, such as a Floppy disk drive. The details of the construction of the host processing system 110 are conventional in nature and known in the art, and therefore the present application will not detail this element further. The essential feature of the host processing system 110 as far as the present invention is concerned is that the host processing system 110 determines the content of the visual display to be presented to the user.

Der Graphikprozessor 120 sorgt für die Hauptdatenmanipulation in Übereinstimmung mit der vorliegenden Erfindung zum Erzeugen der besonderen Bildwiedergabe, die sich dem Benutzer präsentiert. Der Graphikprozessor 120 ist bidirektional mit dem Host-verarbeitungssystem 110 über ein Hostbus 115 verbunden. In Übereinstimmung mit der vorliegenden Erfindung arbeitet der Graphikprozessor 120 als ein vom Hostverarbeitungssystem 110 unabhängiger Datenprozessor; jedoch wird erwartet, daß der Graphikprozessor auf Anforderungen vom Hostverarbeitungssystem 110 über einen Hostbus 115 reagiert. Der Graphikprozessor 120 kommuniziert weiterhin mit dem Speicher 130 und der Videopalette 150 über einen Videospeicherbus 122. Der Graphikprozessor 120 steuert die Daten, die innerhalb des Bild- RAM 132 gespeichert sind, über den Bildspeicherbus 122. Zusätzlich kann der Graphikprozessor 120 durch Programme gesteuert werden, die entweder im Bild-RAM 132 oder im Festwertspeicher 134 gespeichert sind. Der Festwertspeicher 134 kann zusätzlicher Weise verschiedene Typen von Graphikbilddaten enthalten, wie z.B. alphanumerische Zeichen in einem oder mehreren Schrifttypstilen und häufig benutzte Ikonen. Zusätzlich steuert der Graphikprozessor 120 die innerhalb der Videopalette 150 gespeicherten Daten. Letztlich steuert der Graphikprozessor den Digital/Video-Wandler 160 über den Bildsteuerbus 124. Der Graphikprozessor 120 kann die Zeilenlänge und die Anzahl von Zeilen pro Bild des Videobildes, das dem Benutzer präsentiert wird, durch Steuerung des Digital/Video-Wandlers 160 über den Videosteuerbus 124, steuern.Graphics processor 120 provides the main data manipulation in accordance with the present invention to produce the particular image display presented to the user. Graphics processor 120 is bidirectionally connected to host processing system 110 via host bus 115. In accordance with the present invention, graphics processor 120 operates as a data processor independent of host processing system 110; however, graphics processor is expected to respond to requests from host processing system 110 via host bus 115. The graphics processor 120 further communicates with the memory 130 and the video palette 150 via a video memory bus 122. The graphics processor 120 controls the data stored within the image RAM 132 via the image memory bus 122. In addition, the graphics processor 120 can be controlled by programs stored in either the image RAM 132 or the read-only memory 134. The read-only memory 134 can additionally contain various types of graphics image data, such as alphanumeric characters in one or more font styles and frequently used icons. In addition, the graphics processor 120 controls the data stored within the video palette 150. Finally, the graphics processor controls the digital-to-video converter 160 via the image control bus 124. The graphics processor 120 can control the line length and the number of lines per frame of the video image presented to the user by controlling the Digital/video converter 160 via the video control bus 124.

Der Videospeicher 130 enthält den Bild-RAM 132, welcher bidirektional mit dem Graphikprozessor 120 über den Bildspeicherbus 125 verbunden ist. Wie zuvor erwähnt, enthäl der Bild-RAM 130 die Bitplan-Graphikdaten, welche das dem Benutzer präsentierte Videobild steuern. Diese Bilddaten können durch den Graphikprozessor 120 über den Bildspeicherbus 122 manipuliert werden. Zusätzlich werden die Bilddaten entsprechend dem laufenden Wiedergabeschirm vom Bild-RAM 132 über dem Bildausgabebus 136 ausgegeben. Die Daten vom Bildausgabebus 136 entsprechen dem Bildelement, welches dem Benutzer zu präsentieren ist. Bei einer bevorzugten Ausführungsform ist der Bild-RAM aus einer Vielzahl von TMS44251 256Kx4 integrierten dynamischen Schreib-Lese- Schaltungen, erhältlich von Texas Instruments Incorporated, dem Anmelder der vorliegenden Erfindung, gebildet. Die integrierte Schaltung TMS44251 enthält Dualports, was ermöglicht, daß ein Auffrischen und Erneuern der Wiedergabe ohne Störung auftritt.Video memory 130 includes image RAM 132 which is bidirectionally connected to graphics processor 120 via image memory bus 125. As previously mentioned, image RAM 130 contains the bit map graphics data that controls the video image presented to the user. This image data can be manipulated by graphics processor 120 via image memory bus 122. In addition, image data corresponding to the current display screen is output from image RAM 132 via image output bus 136. The data from image output bus 136 corresponds to the picture element to be presented to the user. In a preferred embodiment, image RAM is formed from a plurality of TMS44251 256Kx4 dynamic read/write integrated circuits available from Texas Instruments Incorporated, the assignee of the present invention. The TMS44251 integrated circuit contains dual ports, which allows refresh and replay to occur without interference.

In Übereinstimmung mit der typischen Anordnung eines Bild- Schreib-Lese-Speichers 132 besteht dieser Speicher aus einer Bank von mehreren integrierten, separaten Schreib-Lese- Speicher-Schaltungen. Das Ausgangssignal von jeder dieser Integrationsschaltungen ist typischer Weise ein oder vier Bits breit und wird an einen Bildausgabebus 136 ausgegeben.In accordance with the typical arrangement of an image random access memory 132, this memory consists of a bank of several integrated, separate random access memory circuits. The output signal from each of these integrated circuits is typically one or four bits wide and is output to an image output bus 136.

Die Videopalette 150 empfängt die Hochgeschwindigkeits- Bilddaten vom Bild-Schreib-Lese-Speicher 132 über den Bus 136. Die Videopalette 150 empfängt auch Daten vom Graphikprozessor 120 über den Bildspeicherbus 122. Die Videopalette 150 konvertiert die auf dem Parallelbus 136 empfangenen Daten in einen Bildpegel, der über den Bus 155 ausgegeben wird. Diese Umwandlung wird mittels einer Nachschlagetabelle erreicht, die durch den Graphikprozessor über den Bildspeicherbus 122 spezifiziert wird. Das Ausgangssignal der Videopalette 150 kann Farbwert und Farbsättigung für jedes Bildelement umfassen oder kann rote, grüne und blaue Primärfarbpegel für jeden Pixel umfassen. Die Tabelle zur Umwandlung von dem innerhalb des Bildspeichers 132 gespeicherten Code und den digitalen Pegeln, die über den Bus 155 ausgegeben werden, wird vom Graphikprozessor 120 über den Bildspeicherbus 122 gesteuert.The video palette 150 receives the high speed image data from the image random access memory 132 via the bus 136. The video palette 150 also receives data from the graphics processor 120 via the image memory bus 122. The video palette 150 converts the data received on the parallel bus 136 into an image level that is output via the bus 155. This conversion is accomplished by means of a lookup table provided by the graphics processor via the image memory bus 122. The output of the video palette 150 may include color value and color saturation for each picture element or may include red, green and blue primary color levels for each pixel. The lookup table for converting the code stored within the frame buffer 132 and the digital levels output via bus 155 is controlled by the graphics processor 120 via the frame buffer bus 122.

Der Digital/Video-Wandler 160 empfängt die digitale Bildinformation von der Videopalette 150 über den Bus 155. Der Digital/Video-Wandler 160 wird durch den Graphikprozessor 120 über den Bildsteuerbus 124 gesteuert. Der Digital/Video-Wandler 160 dient zum Konvertieren des digitalen Ausgangssignals der Videopalette 150 in die erwünschten Analogpegel, die an die Bildanzeige 170 über die Bildausgabe 165 angelegt werden.The digital-to-video converter 160 receives the digital image information from the video palette 150 via the bus 155. The digital-to-video converter 160 is controlled by the graphics processor 120 via the image control bus 124. The digital-to-video converter 160 serves to convert the digital output signal of the video palette 150 into the desired analog levels which are applied to the image display 170 via the image output 165.

Die Videopalette 150 und der Digital/Video-Wandler 160 sind zusammen integriert, und ihre Schaltungsanordnung ist wesentlich verbessert zum Bilden einer neuen Vorrichtung 4000, welche hier als eine "programmierbare Palette" oder einfach als eine "Palette" bezeichnet wird. Zugehörig zur Palette 4000 ist eine Taktschaltung 4100 für Mehrfach-Taktoszillatoren und programmierbare Taktauswahl. Diese verbessern das Graphikcomputersystem und seine Operationen im allgemeinen und werden ausgehend von Figur 22 detaillierter beschrieben werden.The video palette 150 and the digital-to-video converter 160 are integrated together and their circuitry is significantly improved to form a new device 4000, referred to herein as a "programmable palette" or simply a "palette." Associated with the palette 4000 is a clock circuit 4100 for multiple clock oscillators and programmable clock selection. These enhance the graphics computer system and its operations in general and will be described in more detail starting with Figure 22.

Letztlich empfängt die Bildanzeige 170 das Videoausgangssignal vom Digital/Video-Wandler 160 über die Bildausgabeleitung 165. Die Bildanzeige 170 erzeugt das spezifizierte Videobild zur Betrachtung durch den Betreiber des Graphikcomputersystems 100.Finally, the image display 170 receives the video output signal from the digital-to-video converter 160 via the image output line 165. The image display 170 produces the specified video image for viewing by the operator of the graphics computer system 100.

Es sollte bemerkt werden, daß die Videopalette 150, der Digital/Video-Wandler 160 und die Bildanzeige 170 in Übereinstimmung mit zwei Hauptbildtechniken arbeiten können. Bei der ersten werden die Bilddaten hinsichtlich Farbwerten und Farbsättigung für jeden individuellen Pixel spezifiziert. Bei der anderen Technik werden die individuellen Primärfarbpegel Rot, Blau und Grün für jeden individuellen Pixel spezifiziert. Bei der Bestimmung der Designauswahl, welche dieser Haupttechniken zu verwenden ist, müssen Videopalette 150, Digital/Video-Wandler 160 und Bildanzeige 170 so konstruiert sein, daß sie mit dieser Technik kompatibel sind. Jedoch sind die Prinzipien der vorliegenden Erfindung angesichts des Betriebs des Graphikprozessors 120 ohne Rücksicht auf die besondere Designauswahl der Bildtechnik unverändert. Alle die Signale, die zur Wiedergabe der Farbe in irgendeiner Art und Weise beitragen, werden als Farbsignale betrachtet, obwohl sie nicht von der Rot-, Blau-, Grün-Technik stammen können.It should be noted that the video palette 150, the digital-to-video converter 160 and the image display 170 may operate in accordance with two main image techniques. In the first, the image data is specified in terms of color values and color saturation for each individual pixel. In the other technique, the individual primary color levels Red, blue and green are specified for each individual pixel. In determining the design choice of which of these major techniques to use, video palette 150, digital-to-video converter 160 and image display 170 must be designed to be compatible with that technique. However, the principles of the present invention are unchanged in view of the operation of graphics processor 120 regardless of the particular design choice of image technique. All of the signals that contribute to the reproduction of color in any way are considered color signals, although they may not be from the red, blue, green technique.

Figur 2 zeigt den Graphhikprozessor 120 in detaillierterer Art und Weise. Der Graphikprozessor 120 enthält eine zentrale Verarbeitungseinheit 200, spezielle Graphikhardware 210, Registerdateien 220, einen Befehlscache 230, eine Hostschnittstelle 240, eine Speicherschnittstelle 250, Eingabe/Ausgabe-Register 260 und ein Bildwiedergabekontroller 270.Figure 2 shows the graphics processor 120 in more detail. The graphics processor 120 includes a central processing unit 200, dedicated graphics hardware 210, register files 220, an instruction cache 230, a host interface 240, a memory interface 250, input/output registers 260, and a display controller 270.

Das Herz des Graphikprozessors 120 ist die zentrale Verarbeitungseinheit 200. Die zentrale Verarbeitungseinheit 200 hat die Fähigkeit, eine Universalzweck-Datenverarbeitung einschließlich einer Anzahl arithmetischer und logischer Operationen durchzuführen, die normalerweise in einer zentralen Universalzweck-Verarbeitungseinheit enthalten sind. Zusätzlich steuert die zentrale Verarbeitungseinheit 200 eine Anzahl von speziellen Graphikbefehlen, und zwar entweder allein oder in Verbindung mit spezieller Graphikhardware 210.The heart of the graphics processor 120 is the central processing unit 200. The central processing unit 200 has the capability to perform general purpose data processing including a number of arithmetic and logical operations normally included in a general purpose central processing unit. In addition, the central processing unit 200 controls a number of special purpose graphics instructions, either alone or in conjunction with special purpose graphics hardware 210.

Der Graphikprozessor 120 enthält einen Hauptbus 205, der mit den meisten Teilen des Graphikprozessors 120 einschließlich der zentralen Verarbeitungseinheit 200 verbunden ist. Die zentrale Verarbeitungseinheit 200 ist bidirektional mit einem Satz von Registerdateien einschließlich einer Anzahl von Datenregistern über den bidirektionalen Registerbus 202 verbunden. Die Registerdateinen 220 dienen als Ablage der sofort zugänglichen Daten, die durch die zentrale Verarbeitungseinheit 200 benutzt werden. Wie nachstehend weiter ausgeführt werden wird, enthalten Registerdateien 220 zusätzlich zu Universalzweckregistern, welche durch die zentrale Verarbeitungseinheit 200 verwendet werden können, eine Anzahl von Datenregistern, die zum Speichern verwickelter Operanden in Graphikbefehlen verwendet werden.The graphics processor 120 includes a main bus 205 that is connected to most parts of the graphics processor 120 including the central processing unit 200. The central processing unit 200 is bidirectionally connected to a set of register files including a number of data registers via the bidirectional register bus 202. The register files 220 serve as storage for the immediately accessible Data used by central processing unit 200. As will be further discussed below, register files 220 contain, in addition to general purpose registers that may be used by central processing unit 200, a number of data registers used to store complex operands in graphics instructions.

Die zentrale Verarbeitungseinheit 200 ist mit dem Befehlscache 230 über den Befehlscachebus 204 verbunden. Der Befehlscache 230 ist weiterhin mit dem Bus 205 verbunden und kann mit Befehlsworten vom Bildspeicher 132 (Figur 1) über den Bildspeicherbus 122 und die Speicherschnittstelle 250 geladen werden. Der Zweck des Befehlscache 230 ist eine Beschleunigung der Ausführung bestimmter Funktionen der zentralen Verarbeitungseinheit 200. Eine Wiederholungsfunktion, oder Funktion, die oft innerhalb eines bestimmten Abschnitts der durch die zentrale Verarbeitungseinheit 200 ausgeführten Programms benutzt wird, kann innerhalb des Befehlscache 230 gespeichert werden. Ein Zugriff aud den Befehlscache 230 über den Befehlscachebus 240 ist viel schneller als ein Zugriff auf den Bildspeicher 130. Somit kann das durch die zentrale Verarbeitungseinheit ausgeführte Programm durch preliminäres Laden der wiederholten oder oft benutzten Sequenzen von Befehlen innerhalb des Befehlscache 230 beschleunigt werden. Dann können diese Befehle schneller ausgeführt werden, da sie schneller geholt werden können. Der Befehlcache 230 muß nicht stets dieselben Sätze von Befehlen enthalten, sondern kann mit einem bestimmten Satz und Befehlen geladen werden, welche oft innerhalb eines bestimmten Abschnitts des durch die zentrale Verarbeitungseinheit 200 ausgeführten Programms benutzt werden.The central processing unit 200 is connected to the instruction cache 230 via the instruction cache bus 204. The instruction cache 230 is also connected to the bus 205 and can be loaded with instruction words from the frame buffer 132 (Figure 1) via the frame buffer bus 122 and the memory interface 250. The purpose of the instruction cache 230 is to speed up the execution of certain functions of the central processing unit 200. A repeat function, or a function that is used frequently within a particular section of the program being executed by the central processing unit 200, can be stored within the instruction cache 230. Access to the instruction cache 230 via the instruction cache bus 240 is much faster than access to the frame buffer 130. Thus, the program executed by the central processing unit can be sped up by pre-loading the repeated or frequently used sequences of instructions within the instruction cache 230. Then, these instructions can be executed more quickly because they can be fetched more quickly. The instruction cache 230 need not always contain the same sets of instructions, but can be loaded with a particular set of instructions that are often used within a particular section of the program executed by the central processing unit 200.

Die Hostschnittstelle 240 ist mit der zentralen Verarbeitungseinheit 200 über den Hostschnittstellenbus 206 verbunden. Die Hostschnittstelle ist weiterhin mit dem Hostverarbeitungssystem 210 (Figur 1) über den Hostsystembus 115 verbunden. Die Hostschnittstelle 240 dient zum Steuern der Kommunikation zwischen dem Hostverarbeitungssystem 110 und dem Graphikprozessor 220. Die Hostschnittstelle 240 steuert den Zeitpunkt des Datentransfers zwischen dem Hostverarbeitungssystem und dem Graphikprozessor 120. Diesbezüglich ermöglicht die Hostschnittstelle 240, daß entweder das Hostverarbeitungssystem 110 den Graphikprozessor 120 unterbricht, oder, daß umgekehrt der Graphikprozessor 120 das Hostverarbeitungssystem 110 unterbricht. Zusätzlich ist die Hostschnittstelle 240 mit dem Hauptbus 205 verbunden, um zu ermöglichen, daß das Hostverarbeitungssystem 110 direkt die im Speicher 130 gespeicherten Daten steuert. Typischer Weise würde die Hostschnittstelle 240 Graphikanforderungen von dem Hostverarbeitungssystem 110 an den Graphikprozessor 120 weiterleiten, um zu ermöglichen, daß das Hostsystem den Typ von Wiedergabe spezifiziert, der durch die Bildanzeige 170 zu erzeugen ist, und veranlassen, daß der Graphikprozessor 120 eine erwünschte Graphikfunktion ausführt.The host interface 240 is connected to the central processing unit 200 via the host interface bus 206. The host interface is further connected to the host processing system 210 (Figure 1) via the host system bus 115. The host interface 240 serves to control the communication between the host processing system 110 and the graphics processor 220. The host interface 240 controls the timing of data transfer between the host processing system and the graphics processor 120. In this regard, the host interface 240 enables either the host processing system 110 to interrupt the graphics processor 120, or, conversely, the graphics processor 120 to interrupt the host processing system 110. In addition, the host interface 240 is connected to the main bus 205 to allow the host processing system 110 to directly control the data stored in the memory 130. Typically, the host interface 240 would forward graphics requests from the host processing system 110 to the graphics processor 120 to allow the host system to specify the type of display to be produced by the image display 170 and cause the graphics processor 120 to perform a desired graphics function.

Die zentrale Verarbeitungseinheit 200 ist mit einer speziellen Graphikhardware 210 über einen Graphikhardwarebus 208 verbunden. Spezielle Graphikhardware 210 ist weiterhin mit dem Hauptbus 205 verbunden. Spezielle Graphikhardware 210 arbeitet in Verbindung mit der zentralen Verarbeitungseinheit 200 zum Durchführen spezieller Graphik-Verarbeitungsoperationen. Die zentrale Verarbeitungseinheit 200 steuert zusätzlich zu ihrer Funktion der Universalzweck-Datenverarbeitung, die Anwendung der speziellen Graphikhardware 210 zum Durchführen von speziellen Graphikbefehlen. Diese speziellen Graphikbefehle betreffen die Manipulation von Daten innerhalb des Bitplanabschnitts des Bild-RAM 132. Spezielle Graphikhardware 210 arbeitet unter der Steuerung der zentralenThe central processing unit 200 is connected to a special graphics hardware 210 via a graphics hardware bus 208. Special graphics hardware 210 is further connected to the main bus 205. Special graphics hardware 210 operates in conjunction with the central processing unit 200 to perform special graphics processing operations. The central processing unit 200, in addition to its general purpose data processing function, controls the use of the special graphics hardware 210 to perform special graphics instructions. These special graphics instructions relate to the manipulation of data within the bit map portion of the image RAM 132. Special graphics hardware 210 operates under the control of the central

Verarbeitungseinheit 200 zum Ermöglichen besonderer, vorteilhafter Datenmanipulationen bezüglich der Daten im Bild- RAM 132.Processing unit 200 for enabling special, advantageous data manipulations with respect to the data in the image RAM 132.

Die Speicherschnittstelle 250 ist mit dem Bus 205 und weiterhin mit dem Bildspeicherbus 122 verbunden. Die Speicherschnittstelle 250 dient zum Steuern der Kommunikation von Daten und Befehlen zwischen dem Graphikprozessor 120 und dem Speicher 130. Der Speicher 130 enthält sowohl Bitplandaten, die über die Bildanzeige 170 anzuzeigen sind, als auch Befehle und Daten, die zur Steuerung des Betriebs des Graphikprozessors 120 notwendig sind. Diese Funktionen enthalten die Steuerung des Zeitablaufs des Speicherzugriffs und die Steuerung des Daten- und Speicher-Multiplexierens. Bei der bevorzugten Ausführungsform enthält der Bildspeicherbus 122 eine multiplexierte Adressen- und Dateninformation. Die Speicherschnittstelle 250 ermöglich es, daß der Graphikprozessor 120 das geeignete Ausgangssignal auf den Bildspeicherbus 122 zur angemessenen Zeit zum Zugriff auf den Speicher 130 liefert.The memory interface 250 is connected to the bus 205 and further to the frame buffer bus 122. The memory interface 250 serves to control the communication of data and commands between the graphics processor 120 and the memory 130. The memory 130 contains both bit map data to be displayed via the frame display 170 and commands and data necessary to control the operation of the graphics processor 120. These functions include controlling the timing of memory access and controlling data and memory multiplexing. In the preferred embodiment, the frame buffer bus 122 contains multiplexed address and data information. The memory interface 250 enables the graphics processor 120 to provide the appropriate output signal on the frame buffer bus 122 at the appropriate time to access the memory 130.

Der Graphikprozessor enthält letztlich Eingabe/Ausgabe-Register 260 und einen Bildwiedergabecontroller 270. Die Eingabe/Ausgabe-Register 260 sind bidirektional an den Bus 205 zum Ermöglichen des Lesens und Schreibens innerhalb dieser Register gekoppelt. Die Eingabe/Ausgabe-Register 260 liegen vorzugsweise innerhalb des gewöhnlichen Speicherraums der zentralen Verarbeitungseinheit 200. Die Eingabe/Ausgabe- Register 260 enthalten Daten, welche die Steuerparameter des Bildwiedergabe-Controllers 270 spezifizieren. Der Bildwiedergabe-Controller 270 wird durch ein Bildtaktsignal VCLK von der Palette 4000 getaktet. In Übereinstimmung mit den Daten, die innerhalb der Eingabe/Ausgabe-Register 260 gespeichert sind, erzeugt der Bildwiedergabe-Controller 270 die Signale auf dem Bildsteuerbus 124 für die erwünschte Steuerung der Palette 4000. Daten innerhalb von den Eingabe/Ausgabe- Registern 260 enthalten Daten zum Spezifizieren der Anzahl von Pixeln pro horizontaler Zeile, die Horizontalsynchronisations- und Austastintervalle, die Anzahl von horizontalen Zeilen pro Bild und die Vertikalsynchronisations- und Austastintervalle. Die Eingabe/Ausgabe-Register 260 können auch Daten enthalten, welche den Typ von Bildverschachtelung spezifizieren und andera Typen von Bildsteuerfunktionen spezifizieren. Letztlich sind die Eingabe/Ausgabe-Register 260 eine Ablage für weitere spezifische Arten von Eingabe- und Ausgabe-Parametern, welche nachstehend detaillierter beschrieben werden.The graphics processor ultimately includes input/output registers 260 and a display controller 270. The input/output registers 260 are bidirectionally coupled to the bus 205 to enable reading and writing within these registers. The input/output registers 260 are preferably located within the common memory space of the central processing unit 200. The input/output registers 260 contain data specifying the control parameters of the display controller 270. The display controller 270 is clocked by a display clock signal VCLK from the palette 4000. In accordance with the data stored within the input/output registers 260, the display controller 270 generates the signals on the display control bus 124 for the desired control of the palette 4000. Data within the input/output registers 260 Registers 260 contain data for specifying the number of pixels per horizontal line, the horizontal sync and blanking intervals, the number of horizontal lines per frame, and the vertical sync and blanking intervals. The input/output registers 260 may also contain data specifying the type of frame interlacing and specifying other types of frame control functions. Finally, the input/output registers 260 are a repository for other specific types of input and output parameters, which are described in more detail below.

Der Graphikprozessor 120 arbeitet in zwei verschiedenen Adressmodi zum Adressieren des Speichers 130. Diese zwei Adressmodi sind x-y-Adressierung und lineare Adressierung. Da der Graphikprozessor 120 sowohl an Bitplan-Graphikdaten als auch aufgrund von herkömmlichen Daten und Befehlen arbeitet, kann auf verschiedene Abschnitte des Speichers 130 äußerst bequem über verschiedene Adresssmodi zugegriffen werden. Unabhängig von dem bestimmten ausgewählten Adressenmodus erzeugt die Speicherschnittstelle 250 die geeignete physikalische Adresse für die geeigneten Daten, auf die zuzugreifen ist. Beim linearen Adressieren wird die Startadresse eines Feldes aus einer einzelnen linearen Mehrbitadresse gebildet. Die Feldgröße wird durch Daten innerhalb eines Statusregisters innerhalb der zentralen Verarbeitungseinheit 200 bestimmt. Beim x-y-Adressieren ist die Startadresse ein Paar von x- und y-Koordinatenwerten. Die Feldgröße ist gleich der Größe eines Pixels, d.h. der Anzahl von Bits, die zum Spezifizieren der besonderen Daten an einem besonderen Pixel erforderlich ist.The graphics processor 120 operates in two different address modes for addressing the memory 130. These two address modes are x-y addressing and linear addressing. Since the graphics processor 120 operates on both bit mapped graphics data and conventional data and instructions, different portions of the memory 130 can be accessed very conveniently through different address modes. Regardless of the particular address mode selected, the memory interface 250 generates the appropriate physical address for the appropriate data to be accessed. In linear addressing, the starting address of an array is formed from a single linear multi-bit address. The array size is determined by data within a status register within the central processing unit 200. In x-y addressing, the starting address is a pair of x and y coordinate values. The field size is equal to the size of a pixel, i.e. the number of bits required to specify the particular data at a particular pixel.

Mit Bezug auf Figur 3 ist jetzt eine kurze Diskussion der Speicherstruktur eines typischen Graphikspeichersystems an der Reihe, und zwar vor einem Weitergehen zur tatsächlichen detaillierten Beschreibung der Funktion der Ausführungsform der vorliegenden Erfindung. Hintergrundinformation über einen Bild- RAM (VRAM) wird in den US-Patenten 4 330 852; 4 639 890; 4 683 555 desselben Anmelders gefunden. Obwohl es viele Speicherstrukturen und Systeme gibt, die benutzt werden können, wird typischerweise eine Struktur benutzt, wie sie beispielsweise in Figur 3 gezeigt ist, welche acht VRAM- Speicher 130 in einem Array benutzt. Jeder VRAM-Speicher oder - jede VRAM-Einheit hat vier Abschnitte oder Ebenen 0, 1, 2 und 3. Die Konstruktion jeder Ebene ist so, daß eine einzelne Datenleitung zum Schreiben von Information auf diese Ebene benutzt wird. Bei einem System, welches einen 32-Bit-Datenbus benutzt, wie z.B. den Datenbus 122, würden es acht VRAM- Speicher sein, (von denen zwei in Figur 3 gezeigt sind), wobei jeder VRAM-Speicher vier Datenleitungen hat, die mit dem Eingangsdatenbus verbunden sind.Referring to Figure 3, a brief discussion of the memory structure of a typical graphics memory system is now in order, before moving on to the actual detailed description of the operation of the embodiment of the present invention. Background information on a video RAM (VRAM) is found in commonly assigned U.S. Patents 4,330,852; 4,639,890; 4,683,555. Although there are many memory structures and systems that can be used, typically a structure such as that shown in Figure 3 is used which uses eight VRAM memories 130 in an array. Each VRAM memory or VRAM unit has four sections or levels 0, 1, 2 and 3. The design of each level is such that a single data line is used to write information to that level. In a system using a 32-bit data bus such as data bus 122, there would be eight VRAM memories (two of which are shown in Figure 3), with each VRAM memory having four data lines connected to the input data bus.

Somit würde der VRAM-Speicher 132 für einen 32-Bit-Datenbus seine vier Datenleitungen mit Datenbuseitungen 0, 1, 2 bzw. 3 verbunden haben. Dementsprechend würde der nächste VRAM- Speicher seine vier Leitungen 0, 1, 2, 3 mit Datenbusleitungen 4, 5, 6 bzw. 7 verbunden haben. Dies hält so für die restlichen sechs VRAM's an, so daß der letzte VRAM seine Leitungen mit Leitungen 28, 29, 30 bzw. 31 des Busses 122 verbunden hat.Thus, for a 32-bit data bus, VRAM 132 would have its four data lines connected to data bus lines 0, 1, 2, 3, respectively. Accordingly, the next VRAM would have its four lines 0, 1, 2, 3 connected to data bus lines 4, 5, 6, 7, respectively. This continues for the remaining six VRAMs, so that the last VRAM has its lines connected to lines 28, 29, 30, 31, respectively, of bus 122.

Die Speicher sind so angeordnet, daß die Pixelinformation für die Graphikwiedergabe seriell über den Ebenen in derselben Reihe gespeichert ist. Unter der Annahme eines Systems mit vier Bit pro Pixel werden die Bits für jeden Pixel in einen separaten VRAM-Speicher gespeichert. In solch einer Situation würde der Pixel 0 im ersten VRAM sein, und der Pixel 1 würde im zweiten VRAM sein. Die Pixelspeicher für Pixel 2 bis 7 sind nicht gezeigt. Die Pixelinformation für den Pixel 8 würde dann im ersten VRAM gespeichert sein, noch in Reihe 0, aber in Spalte zwei davon. Der Grund für diese Anordnung der Pixelinformation wird vollständiger aus einem Verständnis davon, wie Information von dem Speicher eingeholt wird, verstanden werden.The memories are arranged so that the pixel information for graphics display is stored serially across the planes in the same row. Assuming a four bit per pixel system, the bits for each pixel are stored in a separate VRAM memory. In such a situation, pixel 0 would be in the first VRAM, and pixel 1 would be in the second VRAM. The pixel memories for pixels 2 through 7 are not shown. The pixel information for pixel 8 would then be stored in the first VRAM, still in row 0, but in column two of it. The reason for this arrangement of pixel information will be more fully understood from an understanding of how information is retrieved from memory.

Weiter mit Figur 3 hat jeder VRAM ein Serienregister 139 zum. Herausschieben von Information von einer Reihe des Speichers. Das Verschieben tritt unter einer Rate auf, die durch das Verschiebetaktsignal SCLK von der Palette 4000 bestimmt ist. Die Ausgänge von diesen Registern sind mit dem Bus 136 auf die gleiche Art und Weise verbunden, wie die Dateneingangsleitungen mit dem Eingangsbus verbunden sind. Somit würden Daten von einer Reihe des Speichers, angenommenerweise Reihe 0, in das Register 139 bewegt werden und seriell von jedem Register 139 auftreten und parallel auf dem Bus 136. Dies würde für jede Ebene des 8-Speicher-Arrays auftreten.Continuing with Figure 3, each VRAM has a serial register 139 for shifting out information from a row of memory. The shifting occurs at a rate determined by the shift clock signal SCLK from pallet 4000. The outputs from these registers are connected to bus 136 in the same way that the data input lines are connected to the input bus. Thus, data from a row of memory, say row 0, would be moved into register 139 and appear serially from each register 139 and in parallel on bus 136. This would occur for each level of the 8 memory array.

Wenn man auf den Datenausgangsbus 136 sieht, dann würde zu einem zeitlichen Augenblick das erste Bit in jedem Schieberegister auf dem Bus sein. Somit würde unter der Annahme, daß Reihe 0 gerade auf den Bus ausgegeben wird, der Bus auf seiner Leitung 0 aus Reihe 0 das Bit A0 (Ebene 0) des Speichers 130 haben. Die Leitung 1 vom Bus 136 würde aus Reihe 0 das Bit A0 (Ebene 1) haben, während die Leitung 2 aus Reihe das Bit A0 (Ebene 2) und die Leitung 3 aus Reihe 0 das Bit A0 (Ebene 3) haben würden. Diesen Bits würden die Bits von dem nächsten VRAM folgen. Somit würde der Datenbus 136 zu einem ersten zeitlichen Augenblick auf sich die vier Bits, die Pixel 0 bilden, neben den vier Bits, die Pixel 1 bilden, neben den vier Bits, die Pixel 2 bilden, haben. Dies würde anhalten, bis die 32 Bits, die 8 Pixel 0 bis 7 bilden, auf den Parallelleitungen des Datenbus 136 wären. Diese Bits würden an die Graphikanzeige geliefert werden, und die Schieberegister würden alle um eine Position verschieben, um die Busse mit Pixelinformation für die nächsten acht Pixel, nämlich Pixel 8 bis 15, zu versorgen. Dieses Schieben würde dann anhalten, bis die gesamte Reihe in den VRAMs herausgeschoben wäre, und dann würde eine neue Reihe zum Laden in die Ausgangsserienregister ausgewählt werden. Bis zu diesem Punkt war angenommen, daß die Bitinformation pro Pixel 4 Bits ist. Falls die Pixelinformation beispielsweise 8 Bits wäre, dann würden zwei VRAMs pro Pixel benutzt werden müssen. Dies würde die Bitmuster etwas ändern. Auch sollte bemerkt werden, daß Speichergrößen und Speicherstrukturen fortlaufend sich fortlaufend ändern und die Größe und Struktur, die gezeigt sind, nur zu Veranschaulichungszwecken dienen und die Erfindung mit vielen verschiedenen Speicherkonfigurationen und mit verschiedenen Pixelgrößen benutzt werden kann.Looking at the data output bus 136, at an instant in time the first bit in each shift register would be on the bus. Thus, assuming that row 0 is currently being output to the bus, the bus would have on its line 0 from row 0 bit A0 (level 0) of memory 130. Line 1 of bus 136 would have bit A0 (level 1) from row 0, while line 2 from row 0 would have bit A0 (level 2) and line 3 from row 0 would have bit A0 (level 3). These bits would be followed by the bits from the next VRAM. Thus, at a first instant in time, the data bus 136 would have on it the four bits forming pixel 0, in addition to the four bits forming pixel 1, in addition to the four bits forming pixel 2. This would continue until the 32 bits forming 8 pixels 0 through 7 were on the parallel lines of data bus 136. These bits would be supplied to the graphics display and the shift registers would all shift one position to supply the buses with pixel information for the next eight pixels, namely pixels 8 through 15. This shifting would then continue until the entire row in the VRAMs was shifted out and then a new row would be sent for loading into the output serial registers. selected. Up to this point it has been assumed that the bit information per pixel is 4 bits. For example, if the pixel information was 8 bits then two VRAMs per pixel would need to be used. This would change the bit patterns somewhat. Also it should be noted that memory sizes and memory structures are constantly changing and the size and structure shown are for illustration purposes only and the invention can be used with many different memory configurations and with different pixel sizes.

Wie zuvor diskutiert, würde das Serienregister 139 für jeden Speicher 512 Bits lang sein, um dadurch 16384 Bits für jeden Speicher/Serienregister-Lesezyklus an die Anzeige zu transferiern. Diese 16384 Bits stellen Daten für 2048 Wiedergabepixel unter der Annahme dar, daß jeder Pixel 8 Bits enthält. Es sei jedoch angenommen, daß jede Scanlinie nur 1280 Pixel erfordert. Somit können auf jeder Zeile des Speichers 768 Pixel von jeder Reihe des Speichers nicht wiedergegeben werden. Es ist schwierig, diesen Speicher für andere Zwecke zu benutzen, und somit ist er effektiv verschwendet.As previously discussed, the serial register 139 for each memory would be 512 bits long, thereby transferring 16384 bits to the display for each memory/serial register read cycle. These 16384 bits represent data for 2048 display pixels, assuming that each pixel contains 8 bits. However, assume that each scan line requires only 1280 pixels. Thus, on each line of memory, 768 pixels from each row of memory cannot be displayed. It is difficult to use this memory for other purposes, and thus it is effectively wasted.

Zum Lösen des Problems wurde das Serienausgaberegister 139 zur Hälfte aufgeteilt und jede Hälfte zum Ausgeben von Daten von dem VRAM benutzt. Obwohl verstanden wird, daß 32 Schieberegister 139 benutzt werden, wird sich die Diskussion mit dem Verständnis auf nur eine Ebene des Speichers konzentrieren, daß alle Ebenen auf die gleiche Weise arbeiten. Die zwei Hälften des Register 139 sind bekannt als eine Hälfte A und eine Hälfte B. Vorteilhafterweise nimmt das Serienregister 139 vom Speicher eine gesamte Reihe des Schirmspeichers und liefert diese Reihe dem Schirm Pixel um Pixel in einem weichen beständigen Ablauf.To solve the problem, the serial output register 139 was split in half and each half used to output data from the VRAM. Although it is understood that 32 shift registers 139 are used, the discussion will focus on only one level of memory with the understanding that all levels operate in the same way. The two halves of register 139 are known as half A and half B. Advantageously, the serial register 139 takes from memory an entire row of screen memory and delivers that row to the screen pixel by pixel in a smooth, consistent flow.

Wie oben beschrieben würde, wenn dies mit einem einzelnen, ungeteilten Serienregister geschehen müßte, dann die Information für eine gesamte Scanlinie der vom Speicher 132 in das Serienregister 139 Anzeige bewegt werden müssen, und dann auf den Schirm unter der Schirmtaktrate verschoben werden müssen. Dies würde dann erfordern, daß jede Reihe des Speichers nur eine Zeile (oder ganze Vielfache davon) von der Schirminformation enthält. Dies ist, wie man sehen wird, nicht der Fall bei einem aufgeteilten Serienregister, wo Bits von dem A-Abschnitt verschoben werden können, während andere Bits in den B-Abschnitt geladen werden, und zum Schirm von dem B- Abschnitt verschoben werden können, während andere Bits in den A-Abschnitt geladen werden.As described above, if this had to be done with a single, undivided serial register, then the Information for an entire scan line of the display must be moved from memory 132 into serial register 139, and then shifted to the screen at the screen clock rate. This would then require that each row of memory contain only one line (or whole multiples thereof) of the screen information. This is not the case, as will be seen, with a partitioned serial register, where bits can be shifted from the A section while other bits are loaded into the B section, and shifted to the screen from the B section while other bits are loaded into the A section.

Mit Bezug auf Figur 4 ist jetzt ein Graphikschirm 401 mit 40 Pixeln über seiner Oberfläche und einigen Reihen von Pixeln nach unten gezeigt. Es muß verstanden werden, daß die Anzahlen, die hier benutzt werden, nur zur Veranschaulichung dienen und keine Ahnlichkeit zu der Anzahl von Pixeln, beispielsweise 1280, über der Oberfläche eines beispielhaften Graphikschirms bieten. Die tatsächlichen Anzahlen sind so hoch, daß der Betrieb der Erfindung lästig wäre, falls das genannte Beispiel Anzahlen, die diesen tatsächlich gefundenen nahekommen, benutzen würde. Dasselbe gilt für die Diskussion des Speichers 501, Figur 5, welche folgen wird, und Systemanordnungen unter Benutzung reeller Anzahlen würden nur zum Verschleiern der Diskussion dienen. Tatsächlich hat, wie ersichtlich sein wird, der Speicher 501, der zur Diskussionszwecken benutzt wird, weniger Spaltenkapazität (16) hinsichtlich der Pixel als sie der Schirm 401 hat. In der Praxis würde dies typischerweise umgekehrt sein.Referring now to Figure 4, a graphics screen 401 is shown having 40 pixels across its surface and several rows of pixels down. It is to be understood that the numbers used here are for illustrative purposes only and bear no resemblance to the number of pixels, say 1280, across the surface of an exemplary graphics screen. The actual numbers are so high that the operation of the invention would be cumbersome if the example given used numbers approaching those actually found. The same applies to the discussion of memory 501, Figure 5, which will follow, and system arrangements using real numbers would only serve to obscure the discussion. In fact, as will be seen, the memory 501 used for discussion purposes has less column capacity (16) in terms of pixels than does the screen 401. In practice, this would typically be the other way around.

Momentan davon abweichend, würde ein System mit 1280 Pixeln pro Zeile und 1024 Zeilen unter einer Rate von 60-mal pro Sekunde aufgefrischt werden, und somit müssen die Pixel unter der Rate von einem alle 12,7 ns wiedergegeben werden. Unter Benutzung eines 8-Bit-Pixels, bei dem zwei 4-Bit-VRAMs Daten für einen Pixel vorsehen, würden vier VRAM-Sätze mit dem 32-Bit-Bus verbunden sein. Dies würde Takten der VRAMs einmal alle 50,8 ns erfordern, was einer Frequenz von 19,6 MHz entspricht. Wenn Daten unter solch hohen Geschwindigkeiten bewegt werden, ist jede kleine Pause bemerkbar (wie z.B. das Wiederladen des Serienregisters) . Weiterhin kann sich dieses Problem auf Taktraten in jedem der Takte in der Takteinheit 4100 erstrecken.Currently, a system with 1280 pixels per line and 1024 lines would be refreshed at a rate of 60 times per second, and thus the pixels must be rendered at a rate of one every 12.7 ns. Using an 8-bit pixel, where two 4-bit VRAMs provide data for one pixel, four sets of VRAMs would be connected to the 32-bit bus This would require clocking the VRAMs once every 50.8 ns, which corresponds to a frequency of 19.6 MHz. When data is moved at such high speeds, any small pause (such as reloading the serial register) is noticeable. Furthermore, this problem can extend to clock rates in any of the clocks in the clock unit 4100.

Mit Bezug auf Figur 5 ist ein Speicher 501 gezeigt, bei dem jeder Pixel vier Bits hat. Für hiesige Zwecke wird ebenfalls angenommen, daß nur zwei solcher Speichereinheiten benutzt e werden, eine, die gerade Pixel, und eine, die (nicht gezeigt) ungerade Pixel enthält. Dies würde in der Benutzung von nur acht Bits oder Leitungen des Busses, 4 Bits von jeder Speichereinheit, resultieren. Es wird ebenfalls angenommen, daß der Speicher nur 16 Spalten hat, bezeichnet mit 0 bis 15. Somit ist die Reihe 0 als A0 bis A15 bezeichnet, während die Reihe 1 mit Bo bis B15 bezeichnet ist. Falls die Diskussion auf die Speichereinheit mit nur den geraden Pixeln weiter beschränkt wird, dann kann man sich denken, daß Bit A0 Daten für den Pixel 0 und Bit A1 Daten für den Pixel 2 repräsentiert. Dies folgt, da das A0-Bit in dem nicht gesehenen zweiten VRAM Information von Pixel 1 enthalten würde.Referring to Figure 5, a memory 501 is shown in which each pixel has four bits. For purposes here, it is also assumed that only two such memory units are used, one containing even pixels and one containing odd pixels (not shown). This would result in the use of only eight bits or lines of the bus, 4 bits from each memory unit. It is also assumed that the memory has only 16 columns, labeled 0 through 15. Thus, row 0 is labeled A0 through A15, while row 1 is labeled B0 through B15. If the discussion is further restricted to the memory unit with only the even pixels, then it can be thought of that bit A0 represents data for pixel 0 and bit A1 represents data for pixel 2. This follows because the A0 bit in the unseen second VRAM would contain information from pixel 1.

Nach dieser wohl unpraktischen, aber anschaulichen Ausführungsform würde das dann darin resultieren, daß die Information für die (geraden) Pixel 0-30 in Reihe A ist, die Information für die (ungeraden) Pixel 32-62 in Reihe B ist, usw., wie in Figur 5 gezeigt.According to this perhaps impractical but illustrative embodiment, this would then result in the information for the (even) pixels 0-30 being in row A, the information for the (odd) pixels 32-62 being in row B, and so on, as shown in Figure 5.

Jetzt sein angenommen, daß es erwünscht ist, zum Schirm die Pixelinformation für die Schirmpixel 40-79 (Figur 4) zu transferieren, welche die Pixel bilden, die für die zweite Reihe des Schirms notwendig sind.Now assume that it is desired to transfer to the screen the pixel information for screen pixels 40-79 (Figure 4), which form the pixels necessary for the second row of the screen.

Zum Bewerkstelligen dieser Aufgabe sendet das System an den Speicher die Befehlsbits, welche den Speicher unter Reihe B adressieren, da die Information für die Pixel 40-79, wie oben beschrieben, in den Reihen B und C des Speichers (Figur 5) liegt.To accomplish this task, the system sends to the memory the command bits that address the memory below row B, since the information for pixels 40-79, as described above, is located in rows B and C of the memory (Figure 5).

Diese Operation würde darin resultieren, daß das Serienregister mit der Pixelinformation für die Pixel 32-62 der Reihe B geladen wird. Dies ist in Figur 6 gezeigt. Falls jedoch das gesamte Register auf den Schirm zu schieben wäre, würden die Bits B0 bis B3 ebenfalls verschoben werden, und dies würde Schwierigkeiten verursachen, da diese Bits zu den Pixeln 32-38 gehören, welche (wie in Figur 4 ersichtlich) auf der Reihe des Schirms liegen. Um dieses Problem zu vermeiden verfolgt, der Prozessor, der nicht gezeigt ist und welcher den Speichertransfer steuert, die richtige Bitposition, von der eine Verschiebung zu beginnen ist, und liefert diese Information an den Speicher als Teil des vorher erwähnten Befehls. Diese Position ist als der Abgriffspunkt bekannt.This operation would result in the serial register being loaded with the pixel information for pixels 32-62 of row B. This is shown in Figure 6. However, if the entire register were to be shifted onto the screen, bits B0 through B3 would also be shifted, and this would cause difficulties since these bits correspond to pixels 32-38 which (as seen in Figure 4) are on the row of the screen. To avoid this problem, the processor, not shown, which controls the memory transfer keeps track of the correct bit position from which to begin a shift and supplies this information to memory as part of the previously mentioned instruction. This position is known as the tap point.

Zur Steuerung unter dem Aspekt des Betriebs des Teil-Registers ist es notwendig zu wissen, wann man den ersten Teil des Registers wieder laden muß, d.h. wann Daten von dem zweiten Teil entfernt werden und Daten von dem ersten Teil bereits entfernt sind, oder wann die Daten in dem ersten Teil sich auf eine frühere Schirmreihe erstrecken, wie es unmittelbar nach dem Rücksprungintervall geschehen kann. Es ist natürlich auch notwendig zu wissen, wann der zweite Teil des Register wieder zu laden ist, d.h. wann Daten von dem ersten Teil gelesen werden, nachdem Daten von dem zweiten Teil gelesen worden sind. Zum Bewerkstelligen dieser Funktion wird ein Zähler zum Verfolgen der Position des Serienregisters benutzt, das zu einer gegebenen Zeit aktiv ist. Damit der Zähler richtig arbeitet, muß er den Startpunkt (Abgriffspunkt) in dem Register der ersten Datenverschiebung kennen. Dies ist notwendig, da, wie oben diskutiert, der Startpunkt nicht notwendigermaßen am Beginn der Speicherreihe liegt. Verschiedene Schritte müssen zum Kalibrieren des Zählers auf einer Reihe-um-Reihe-Basis zum Steuern des Ladens und Wiederladens der zwei Hälften des Serienregisters unternommen werden.To control the operation of the partial register, it is necessary to know when to reload the first part of the register, that is, when data is being removed from the second part and data from the first part has already been removed, or when the data in the first part extends to an earlier screen row, as may occur immediately after the return interval. It is of course also necessary to know when to reload the second part of the register, that is, when data is being read from the first part after data has been read from the second part. To accomplish this function, a counter is used to keep track of the position of the serial register that is active at a given time. For the counter to work properly, it must know the starting point (tap point) in the register of the first data shift. This is necessary because, as discussed above, the starting point is not necessarily at the beginning of the memory row. Several steps must be taken to calibrate the counter on a row-by-row basis to control the loading and reloading of the two halves of the serial register.

Eine Steuerung des Serienregisters ist so, daß, wenn die erste Hälfte der Registers mit dem Datensenden fertig ist, sie gelöscht und wiedergeladen werden kann, so daß, während die Bits von der zweiten Hälfte des Registers gesendet werden, neue Daten in die erste Hälfte geladen werden können. Falls tatsächlich die zuerst zu sendenden Bits in der zweiten Hälfte der Registers wären, der B-Hälfte, dann würde die A-Hälfte sofort wiedergeladen werden müssen. Diese Tatsache muß auch bestimmt werden. Diese Bestimmungen werden anhand der Adressinformation, die für den Speicher vorgesehen ist, getroffen und sind abhängig von den Bitpositionen und der Anzahl von Bits, die zum Spezifizieren einer Adresse notwendig sind.One control of the serial register is such that when the first half of the register has finished sending data, it can be cleared and reloaded so that while the bits are being sent from the second half of the register, new data can be loaded into the first half. If, in fact, the bits to be sent first were in the second half of the register, the B half, then the A half would have to be reloaded immediately. This fact must also be determined. These determinations are made from the address information provided for the memory and are dependent on the bit positions and the number of bits necessary to specify an address.

Als ein Beispiel des Problems sind einige typische Adressbit- Konfigurationen in Figur 9 und 10 gezeigt. Figur 9 zeigt eine 10-Bit-Reihen- und -Spaltenadresse, der 3 Bankauswahl-Bits und 5 verschiedene Adressbits vorausgehen. Figur 10 zeigt eine 8- Bit-Reihen und -Spaltenadresse, der nur die verschiedenen Adressbits vorhergehen.As an example of the problem, some typical address bit configurations are shown in Figures 9 and 10. Figure 9 shows a 10-bit row and column address preceded by 3 bank select bits and 5 miscellaneous address bits. Figure 10 shows an 8-bit row and column address preceded only by the miscellaneous address bits.

Masken sind zum Verfolgen der Systemkonfiguration durch den Benutzer vorgesehen. Figur 11 zeigt eine Maske zur Benutzung mit der Adresskonfiguration von Figur 9, während Figur 12 eine Maske zeigt zur Benutzung mit der Konfiguration von Figur 10 zeigt. Figur 13 zeigt die Maske, die durch das System, mit 3 Abgriffspunkt-Bits (16 mögliche Spalten, 8 in jedem halben Schieberegister), denen zwei Bankauswahl-Bits vorhergehen, benutzt wird. Diese Bits wurden zum Zwecke der Diskussion hinzugefügt.Masks are provided for tracking system configuration by the user. Figure 11 shows a mask for use with the address configuration of Figure 9, while Figure 12 shows a mask for use with the configuration of Figure 10. Figure 13 shows the mask used by the system, with 3 tap point bits (16 possible columns, 8 in each half shift register) preceded by two bank select bits. These bits have been added for discussion purposes.

In Figur 14 gibt es ein Diagramm zum Erklären, wie diese Masken zu benutzen sind. Figuren 15 bis 20 zeigen ein Beispiel.Figure 14 provides a diagram to explain how to use these masks. Figures 15 to 20 show an example.

Figur 15 zeigt die Reihen- und Spalten-Adressbits für Reihe 1, Spalte 4 des Speichers, welche, wie man wird sich erinnern wird, dort ist, wo der erste Pixel 40 für die ausgewählte Schirmreihe liegt. Das in Figur 15 abgebildete Bitwort hat auch weitere Adressbits 0-4 und Bankbits 5-6. Die Abgriffspunktbits werden in das Abgriffspunktregister 91 geladen. Der Abgriffspunkt ist als die Bitposition in dem Register definiert, welche zuerst auf den Bus gelesen werden wird. Dieser Abgriffspunkt wird aus der Adressinformation von Figur 15 berechnet. In diesem Beispiel können die ersten 5 Bits der Adresse (0-4) ignoriert werden, da sie für alle Konfigurationen aus Designgründen konstant sein würden. Die nächsten 13 Bits der Adresse werden an das Abgriffsregister 91, Figur 16, transferiert.Figure 15 shows the row and column address bits for row 1, column 4 of memory, which, as will be recalled, is where the first pixel 40 for the selected screen row is located. The bit word shown in Figure 15 also has additional address bits 0-4 and bank bits 5-6. The tap point bits are loaded into the tap point register 91. The tap point is defined as the bit position in the register that will be read onto the bus first. This tap point is calculated from the address information of Figure 15. In this example, the first 5 bits of the address (0-4) can be ignored, as they would be constant for all configurations for design reasons. The next 13 bits of the address are transferred to the tap register 91, Figure 16.

Wie in Figuren 17 und 18 gezeigt, und wie gemäß Figur 14 gesteuert, wird die Maske 93, die für unser Beispielsystem (Figur 13) geschaffen wurde, in das Maskenverschieberegister kopiert 92. Diese Maske dient zum Einstellen des Abgriffspunkt für die mögliche Variation der Bankauswahlbits. In diesem Beispiel gab es zwei solcher Bits, und somit sind die ersten zwei Bits der Maske 0. Ein Takt verschiebt dann die Register 92 und 91 nach rechts, bis eine 1 in der äußerst rechten Position des Schieberegisters 92 auftritt(Figur 19). Dieser Betrieb dient zum Entfernen der Bankbits von dem Abgriffspunkt, welcher dann 100 wird, wie ersichtlich aus Register 91, Figur 20.As shown in Figures 17 and 18, and as controlled by Figure 14, the mask 93 created for our example system (Figure 13) is copied into the mask shift register 92. This mask serves to set the tap point for the possible variation of the bank select bits. In this example, there were two such bits, and thus the first two bits of the mask are 0. A clock then shifts registers 92 and 91 to the right until a 1 occurs in the rightmost position of the shift register 92 (Figure 19). This operation serves to remove the bank bits from the tap point, which then becomes 100 as seen from register 91, Figure 20.

Dieser wird dann in den Abgriffspunktzähler 94 (Figur 21) geladen. Die verschobene Maske 92 (Figur 19) bestimmt, wie viele Bits des Zählers 94 signifikant sind. Dieser Abgriffspunkt, der als die Position in den Serienregistern, die zunächst auf den Datenbus zu lesen ist, definiert ist, kann in Figur 6 gesehen werden, und er entspricht dem Pixel 40, der durch das Bit B4 im Halbregister A gesteuert wird.This is then loaded into the tap point counter 94 (Figure 21). The shifted mask 92 (Figure 19) determines how many bits of the counter 94 are significant. This tap point, which is defined as the position in the serial registers that is to be read first onto the data bus, can be Figure 6 and corresponds to pixel 40, which is controlled by bit B4 in half-register A.

Das Register A wird im Gegensatz zum Register B ausgewählt, da das Bit der äußerst linken Spalte in Figur 15 gleich 0 ist. Hätte die äußerst linke Position der Spaltenadresse eine 1 enthalten, hätte die B-Hälfte des Serienregisters ausgewählt werden müssen.Register A is selected as opposed to register B because the leftmost column bit in Figure 15 is 0. If the leftmost position of the column address had contained a 1, the B half of the serial register would have been selected.

Wenn der verschobene Abgriffspunkt einmal ausgewählt ist, dient der Takt 2001, der in Verbindung mit den Speicherverschiebetakt SCLK arbeitet, zum Inkrementieren des Abgriffspunkt- Schieberegisters in Zusammenhang mit Daten, die von den Serienregistern gelesen werden. Somit bedeutet es, wenn das Abgriffspunktregister nur 111 enthält, daß die Daten von Position 111 des Halbregisters A, Figur 6, auf den Bus gelesen werden. Dies entspricht Pixel 46, Speicherbild B7. Der Abgriffspunktzähler fließt über auf 000, wenn eine Verschiebung vom Halbregister B beginnt, wo Speicherpostionen B8 - B15 wiederum an die Graphikanzeige gesendet werden. Es sei bemerkt, daß der Registerbetrieb, der gerade beschrieben wurde, nicht das tatsächliche Herausschieben der Daten steuert, sondern das Wiederladen der Daten in das Serienregister.Once the shifted tap point is selected, clock 2001, working in conjunction with the memory shift clock SCLK, is used to increment the tap point shift register in conjunction with data read from the serial registers. Thus, if the tap point register only contains 111, it means that the data from position 111 of half register A, Figure 6, is being read onto the bus. This corresponds to pixel 46, memory image B7. The tap point counter overflows to 000 when a shift from half register B begins, where memory positions B8 - B15 are again sent to the graphics display. Note that the register operation just described does not control the actual shifting out of the data, but rather the reloading of the data into the serial register.

Dabei wird, wie in Figur 7 gezeigt, das Halbregister A gelöscht und Information von Speicherpositionen C0 bis C7, der nächsten Speicherreihe, werden in das Halbregister A geladen. Dieser alternierende Betrieb wird fortfahren bis der Schirm das Ende der Reihe erreicht, d.h. Pixel 79 an den Schirm gesendet wird. Das Wiederladen der Halbreihe erfordert eine Adresse, welche auf das erste Bit in der Haibreihe, die wiedergeladen wird, zeigt. Diese Adresse kommt von einer "inkrementierbaren Kopie der Reihenadresse", 95. Register 95 wird vom Register 90 geladen, wenn Register 91 vom Register 90 geladen wird. Es wird dann auf das äußerst linke Bit der Spaltenadresse zum Zeigen auf die nächste Halbreihe inkrementiert. Register 93 wird zum Bestimmen der Bitposition für das Inkrement (der Bit links von der äußerst linken 1) benutzt. Wenn die Adresse ausgegeben wird, wird Register 93 ebenfalls zum Gewährleisten benutzt, daß alle Bits zur Rechten dieses Punkts 0 sind (bezeichnend eine Nullabgriffsadresse, die auf das erste Bit in dem Schieberegister zeigt) . Jedesmal, wenn der Zähler überfließt, wird die Adresse in diesem Register ausgegeben und dann inkrementiert.At this point, as shown in Figure 7, half register A is cleared and information from memory locations C0 through C7, the next memory row, is loaded into half register A. This alternating operation will continue until the screen reaches the end of the row, i.e. pixel 79 is sent to the screen. Reloading the half row requires an address pointing to the first bit in the half row being reloaded. This address comes from an "incrementable copy of the row address", 95. Register 95 is loaded from register 90 when register 91 is loaded from register 90. It is then incremented to the leftmost bit of the column address to point to the next half row. Register 93 becomes the to determine the bit position for the increment (the bit to the left of the leftmost 1). When the address is output, register 93 is also used to ensure that all bits to the right of this point are 0 (denoting a zero tap address pointing to the first bit in the shift register). Each time the counter overflows, the address in this register is output and then incremented.

Somit geht, wenn der Abgriffspunkt SCLK-Takt 2001 wieder 111 erreicht und Pixel 62 am Speicherort B15 geringer als Pixel 79 ist, der Abgriffspunktzähler auf 000 zurück, und, wie in Figur 8 gezeigt, C0-C7 als Speicherbits werden von dem Haibregister A auf den Bus transferiert. Dabei wird das Haibregister B mit Speicherbits C8-C15 geladen. Wenn jedoch der Takt wieder bei 111 ankommt, ist das Rücksprungintervall ebenfalls erreicht, und die Register werden mit der nächsten vollen Zeile, die auf dem Schirm zu lesen ist, wie durch den Prozessor bestimmt, zurückgesetzt. Dabei wiederholt sich der Zyklus, und ein neuer Abgriffspunkt wird berechnet.Thus, when the tap point SCLK clock 2001 again reaches 111 and pixel 62 at memory location B15 is less than pixel 79, the tap point counter goes back to 000 and, as shown in Figure 8, C0-C7 as memory bits are transferred from the half register A to the bus. As this happens, the half register B is loaded with memory bits C8-C15. However, when the clock again reaches 111, the return interval is also reached and the registers are reset with the next full line to be read on the screen as determined by the processor. The cycle repeats and a new tap point is calculated.

Falls der neue Abgriffspunkt anzeigt, daß das erste zu lesende Bit in der B-Hälfte des Registers liegt, was der Fall sein würde, wenn Pixeireihe 80-119 die nächste wäre, dann würde die A-Hälfte des Registers, wie in Figur 8 gezeigt, mit dem Abgriffspunkt an Position C8 auftreten. Dies würde bedeuten, daß das A-Hälften-Register sofort gelöscht werden muß und mit Speicherbits D0-D7 in Vorbereitung dafür geladen werden muß, daß der Abgriffspunktzähler wieder 111 erreicht und herumspringt, um somit dem Auslesen der Daten von dem ersten Halbregister A zu folgen.If the new tap point indicates that the first bit to be read is in the B half of the register, which would be the case if pixel array 80-119 were next, then the A half of the register would occur as shown in Figure 8 with the tap point at position C8. This would mean that the A half register must be immediately cleared and loaded with storage bits D0-D7 in preparation for the tap point counter to reach 111 again and jump around to follow the reading of data from the first A half register.

Die Teil-Schieberegister-VRAMs benutzen ein SCLK-Signal zwischen einem vollen Schieberegister-Transferzyklus und dem Teil-Transferzyklus. Die vorliegende Arbeit erkennt, daß diese zwei Transfers sequentiell während der Austastperiode auftreten sollten, wenn das SCLK-Signal deaktiviert ist. Die vorliegende Ausführungsform identifiert vorteilhaftermaßen das Intervall zwischen den zwei Transfers und läßt ein Signal an den SSRT- Anschluß der Palette in dem SSRT-Modus und nicht im Nibble- Modus durch, so daß die Schaltung einen SCLK-Impuls zu dieser Zeit erzeugt. Diese Verbesserung liefert eine Palette und einen Taktgenerator mit zusätzlicher externer Steuerung des Verschiebetaktsignals SCLK.The partial shift register VRAMs use a SCLK signal between a full shift register transfer cycle and the partial transfer cycle. The present work recognizes that these two transfers occur sequentially during the blanking period should be when the SCLK signal is deactivated. The present embodiment advantageously identifies the interval between the two transfers and passes a signal to the SSRT terminal of the palette in the SSRT mode and not in the nibble mode so that the circuit generates an SCLK pulse at that time. This improvement provides a palette and clock generator with additional external control of the shift clock signal SCLK.

In einer Anwendung eines Teil-Schieberegisters wird das gesamte Wiederladen während des Austastsignals durchgeführt, wie in Figur 23 gezeigt. Dann wird, nachdem SCLK wieder gestartet ist, das geteilte Wiederladen initiiert. Dies funktioniert jedoch nur, wenn das geteilte Wiederladen auftritt, bevor es genug SCLK-Impulse zum Bewegen des seriellen Datenstroms aus der ersten Hälfte und in die zweite Hälfte des Schieberegisters 140 gegeben hat. Oft ist dies der Fall, aber zum Realisieren eines Systems, welches total willkürliche Grenzen haben kann (z.B. eines, daß einen horizontalen Verschiebung haben kann) ist es vorteilhaft, die Realzeitbeschränkungen zu vermeiden, die auferlegt werden könnten, falls der erste (oder ein weiterer früher) SCLK-Impuls nach dem Austastsignal den Zeiger aus der wiedergeladenen Hälfte bewegen würden.In a partial shift register application, all reloading is done during the blanking signal, as shown in Figure 23. Then, after SCLK is started again, the split reload is initiated. However, this only works if the split reload occurs before there have been enough SCLK pulses to move the serial data stream out of the first half and into the second half of the shift register 140. Often this is the case, but to implement a system that can have totally arbitrary boundaries (e.g., one that can have a horizontal shift) it is advantageous to avoid the real-time limitations that could be imposed if the first (or another early) SCLK pulse after the blanking signal moved the pointer out of the reloaded half.

Figur 22 zeigt eine Logik zum Identifizieren einer Periode, in der der Extra-SCLK-Impuls vorteilhafterweise einzusetzen ist. In dem Teil-Serienregister-VRAM-Modus, der durch Setzen eines SSV-Modus-Bit für den aktiven VRAM angezeigt wird, erzeugt der TMS34020-GSG 120 Transferzyklen für das Teil-Serienregister für den VRAM. Während horizontalen Austastsignals wird ein regulärer Transferzyklus für das Serienregister erzeugt, um die nächste VRAM-Reihe zu initialisieren. Dem folgt unmittelbar ein Transferzyklus für das Teil-Serienregister, wie in der Wellenform memcy- von Figur 24 gezeigt, um den VRAM in einen Teil-Modus zu konfigurieren, und zu gewährleisten, daß das inaktive Serienregister unangezeigte Daten enthält, und nicht die Daten, die zuvor angezeigt wurden.Figure 22 shows logic for identifying a period in which the extra SCLK pulse is advantageously to be used. In the partial serial register VRAM mode, indicated by setting an SSV mode bit for the active VRAM, the TMS34020-GSG generates 120 partial serial register transfer cycles for the VRAM. During horizontal blanking, a regular serial register transfer cycle is generated to initialize the next VRAM row. This is immediately followed by a partial serial register transfer cycle, as shown in the memcy- waveform of Figure 24, to configure the VRAM into partial mode and ensure that the inactive serial registers contain undisplayed data, and not the data that was previously displayed.

Damit der Betrieb in der richtigen Reihenfolge auftreten, wird das SCLK-Eingangssignal an den VRAM zwischen dem Anstieg von TR-/QE- am Ende des normalen Transfers und der abfallenden Flanke von RAS- am Beginn des Teil-Transfers getaktet, um zu gewährleisten, daß der Abgriffspunkt, der während des Transferzyklus des gewöhnlichen Serienregisters geliefert wird, nicht überschrieben wird. Eine Dekodiererlogikschaltung 2201 von Figur 22 liefert ein Signal zum Informieren der Video- Speziallogik der Palette 4000, wann dieser Impuls einzusetzen ist. Die Schaltung 2101 ist geeignetermaßen physikalisch im GSP 120 oder im VRAM 130 oder in der Palette 4000 enthalten, und zwar als eine Verbesserung von irgendeinem davon oder als separate Logik auf einer Leiterplatte 105 vorgesehen.In order for operations to occur in the correct order, the SCLK input to the VRAM is clocked between the rise of TR-/QE- at the end of the normal transfer and the falling edge of RAS- at the beginning of the partial transfer to ensure that the tap point provided during the transfer cycle of the ordinary serial register is not overwritten. A decoder logic circuit 2201 of Figure 22 provides a signal to inform the video special logic of the palette 4000 when to insert this pulse. The circuit 2101 is suitably physically contained in the GSP 120 or in the VRAM 130 or in the palette 4000, as an enhancement of any of them or as separate logic on a circuit board 105.

Die Dekodiererlogik 2201 empfängt die Statuscodeausgabe am Beginn von jedem Speicherzyklus des GSP 120 auf dem TMS34020 LAD-Bus 205 als Eingangssignal. Falls 0100 erfaßt wird und der SF-Anschluß des TMS34020 auf L ist (zum Anzeigen eines gewöhnlichen VRAM-Serienregister-Transfers), wird das SSRT- Signal bei der fallenden Flanke des LCLK1 auf H gesetzt, während CRS2- L ist. Dies fällt mit der ansteigenden Flanke von TR-/QE- zusammen. SSRT bleibt ungesetzt, bis ein Transferzyklus des Teil-Serienregisters auftritt. Wenn die Logik den 0100- Statuscode erfaßt und der SF-Anschluß auf H ist (zum Anzeigen eines Transfers des Teil-VRAM-Serienregisters), wird das SSRT- Signal bei der abfallenden Flanke von CAS2- auf L gesetzt. Die Videospeziallogik in der Palette 4000 benutzt die ansteigende Flanke von SSRT zum Einsetzen eines einzelnen SCLK-Impulses.Decoder logic 2201 receives the status code output at the beginning of each memory cycle of the GSP 120 on the TMS34020 LAD bus 205 as an input. If 0100 is detected and the SF pin of the TMS34020 is low (indicating a normal VRAM serial register transfer), the SSRT signal is set high on the falling edge of LCLK1 while CRS2- is low. This coincides with the rising edge of TR-/QE-. SSRT remains unasserted until a partial serial register transfer cycle occurs. If the logic detects the 0100 status code and the SF pin is high (indicating a partial VRAM serial register transfer), the SSRT signal is set low on the falling edge of CAS2-. The video special logic in Palette 4000 uses the rising edge of SSRT to insert a single SCLK pulse.

In Figur 22 ist ein TMS34020-GSP 120 über den Bus 125 mit dem VRAM 130 verbunden, und das Schieberegister 139 ist über den Bus 136 mit der Palette 4000 verbunden. Der VRAM 130 und das Schieberegister 139 werden vorteilhafterweise als ein Teil- Schieberegister-VRAM implementiert, wie in Figuren 1-21 diskutiert, um verschwendeten Speicherplatz in dem Graphiksystem 100 zu minimalisieren. Die Palette 4000 ist mit dem GSP 120 über Busse 122 und 124 verbunden. Das SSRT- Eingangssignal von der Palette 4000 wird durch das Ausgangssignal eines Dekodierers 2201 eingegeben, der einen vorbestimmten Code auf den LAD-Leitungen 0-3 vom LAD 205 von Figur 2 erfaßt. Dieser Dekodierer ist nur aktiviert, wenn das Austastsignal vom GSP 120 auf L ist. Der Dekodierer 2201 wird durch den abfallenden Übergang von dem RAS (Reihenadressstrobe)-Signal getaktet. Das Ausgangssignal des Dekodierers wird durch den ansteigenden Übergang des RAS- Signals zum Ansteuern des SSRT-Anschlusses der Palette 4000 und zum Veranlassen eines Einsetzens eines SCLK-Impulses aktiviert, wie unter Benutzung der Wellenformdiagramme Figuren 23 und 24 diskutiert.In Figure 22, a TMS34020-GSP 120 is connected to the VRAM 130 via bus 125, and the shift register 139 is connected to the pallet 4000 via bus 136. The VRAM 130 and the shift register 139 are advantageously implemented as a sub- Shift register VRAM is implemented as discussed in Figures 1-21 to minimize wasted memory space in the graphics system 100. Palette 4000 is connected to GSP 120 via buses 122 and 124. The SSRT input from palette 4000 is input by the output of a decoder 2201 which detects a predetermined code on LAD lines 0-3 from LAD 205 of Figure 2. This decoder is enabled only when the blanking signal from GSP 120 is low. Decoder 2201 is clocked by the falling transition of the RAS (row address strobe) signal. The output of the decoder is activated by the rising transition of the RAS signal to drive the SSRT terminal of pallet 4000 and cause an onset of an SCLK pulse, as discussed using the waveform diagrams of Figures 23 and 24.

In der bildlichen Darstellung von Figur 25 ist eine programmierbare Palette 4000 auf einer Graphiksystem-Platine 105 vorgesehen. Die Platine 105 ist auch mit einem 1-Megabit- VRAM 130 einem TMS34020-GSP 120, einem DRAM 121 und einem Satz von Taktoszillatoren 4100 bestückt. Die Systemplatine 105 ist vorteilhafterweise mit entgegengesetzten Busanschlüssen versehen, einem für den Bus 115 und einem Zusatzstecker 6521 für den VGA-Durchgang. Eine optionelle Schnittstellenlogik 123 liefert eine logische Funktionalität, die außerhalb der Hauptchips erwünscht sein kann. Die Platine 105 ist in die Hauptplatine von ihrem Hostcomputer über den Stecker zum Bus 115 eingesetzt.In the pictorial representation of Figure 25, a programmable palette 4000 is provided on a graphics system board 105. The board 105 is also equipped with a 1 megabit VRAM 130, a TMS34020 GSP 120, a DRAM 121, and a set of clock oscillators 4100. The system board 105 is advantageously provided with opposing bus connectors, one for the bus 115 and an auxiliary connector 6521 for the VGA pass-through. Optional interface logic 123 provides logic functionality that may be desired outside of the main chips. The board 105 is inserted into the main board of its host computer via the connector to the bus 115.

Weiterhin liefert in der Systemplatte ein Stecker 165 ein NTSC- Videoausgangssignal mit Standardzusammensetzung an eine Farbwiedergabevorrichtung 170 von Figur 1. Eine Synchronisationerzeugung ist auf einem der Farbausgabekanäle, beispielsweise grün, eingerichtet.Further in the system board, a connector 165 supplies a standard composition NTSC video output signal to a color display device 170 of Figure 1. Synchronization generation is established on one of the color output channels, for example green.

Der VGA-Durchgangsmodus liefert VGA- und Nicht-VGA-Wiedergaben mit nur einem Monitor. In Figur 26 hat der Computer eine Hauptplatine 6501 mit einem Mikrocomputerchip 6502 und Speicherchips 6504, welche darauf angebracht sind. Die Hauptplatine 6501 ist mit einem Bus 6503 verbunden. Eine VGAkompatible Graphikplatine 6505 ist mit der Hauptplatine 6501 durch den Bus 6503 verbunden. Falls nur VGA zu benutzen wäre, würde ein Monitor 6511 mit einem DB-15-Videoverbinder 6512 auf der Platine 6505 verbunden sein. Die Platine 6505 hat eine Graphikschaltunganordnung auf sich angebracht, und erzeugt Farbecodesignale gemäß dem VGA-Standard. Diese Schaltungsanordnung wird durch den Mikrocomputerchip auf der Hauptplatine 6501 gesteuert.The VGA pass-through mode provides VGA and non-VGA displays with only one monitor. In Figure 26, the computer has a motherboard 6501 with a microcomputer chip 6502 and memory chips 6504 mounted thereon. The motherboard 6501 is connected to a bus 6503. A VGA compatible graphics board 6505 is connected to the motherboard 6501 through the bus 6503. If only VGA were to be used, a monitor 6511 would be connected to a DB-15 video connector 6512 on the board 6505. The board 6505 has graphics circuitry mounted thereon and generates color code signals according to the VGA standard. This circuitry is controlled by the microcomputer chip on the motherboard 6501.

Zum Erzeugen fortschrittlicher Nicht-VGA-Wiedergaben ist eine Platine 105 von Figur 1 mit dem Bus 6503 verbunden. Die Platine 105 hat einen Graphikprozessor 120 und spricht auf eine Steuerung durch den Mikroprozessor 6502 an, wie z.B. einen 80386 auf der Hauptplatine 6501. Ein Videospeicher 130 ist auf der Leiterplatte 105 angebracht und ist mit dem Graphikprozessor 120 zum Erzeugen von Farbecodesignalen auf einem weiteren Bus 136 gemäß einem zweiten Graphikstandard, wie z.B. der Texas-Instruments-Graphikarchitektur (TIGA), für die Palette 4000, die durch eine gedruckte Schaltung auf der Platine 105 mit dem VRAM 130 verbunden ist, verbunden. Ein Zusatzstecker 6521 auf Platine 105 ist durch einen VGA-Bus 6523 mit einem Zusatzstecker 6525 auf der Graphikplatte 6505 verbunden. Der Zusatzstecker 6525 liefert Farbcodesignale gemäß dem VGA-Standard. Der Zusatzstecker 6521 auf der Platine 105 gibt die VGA-Farbcodesignale ein.To produce advanced non-VGA displays, a board 105 of Figure 1 is connected to bus 6503. Board 105 has a graphics processor 120 and is responsive to control by microprocessor 6502, such as an 80386 on motherboard 6501. A video memory 130 is mounted on board 105 and is connected to graphics processor 120 for producing color code signals on another bus 136 in accordance with a second graphics standard, such as Texas Instruments Graphics Architecture (TIGA), for palette 4000, which is connected to VRAM 130 by a printed circuit board on board 105. An auxiliary connector 6521 on board 105 is connected by a VGA bus 6523 to an auxiliary connector 6525 on the graphics board 6505. The auxiliary connector 6525 supplies color code signals according to the VGA standard. The auxiliary connector 6521 on board 105 inputs the VGA color code signals.

Durch den VGA-Durchgang kann der Monitor 6511 weggelassen werden, und der Monitor 6513 ist mit dem DB-15-Videostecker 6527 zum Wiedergeben von sowohl VGA-Graphik als auch TIGA- Graphik je nach Benutzerauswahl verbunden.The VGA pass-through allows the 6511 monitor to be omitted, and the 6513 monitor is connected to the DB-15 video connector 6527 for displaying both VGA graphics and TIGA graphics, depending on user selection.

Die Palette 4000 hat ein Eingangsregister 4011 von Figur 31 mit einem ersten Bereich, der mit dem Videospeicher 130 von Figur 26 zum Eingeben eines ersten Satzes von Farbcodebits gemäß der TIGA-Architektur verbunden ist. Das Eingangsregister 4011 hat einen zweiten Bereich, der mit dem Zusatzstecker 6521 zum Eingeben eines zweiten Satzes von Farbecodebits gemäß dem VGA- Standard verbunden ist. Der Nachschlagetabellenspeicher 4021 von Figur 31 liefert Farbdatenworte als Reaktion auf Farbcodes von dem Eingangsregister 4011. Die Selektorschaltung 4051 ist zwischen dem Eingangsregister 4011 und dem Nachschlagetabellenspeicher 4021 angeschlossen. Die e Selektorschaltung 4051 ist über ein Steuerregister 4371 an den Graphikprozessor 120 über den Bus 122 angeschlossen und ist dadurch zum Transferieren ausgewählter Farbcodes auf de ausgewählten Bus 136 oder 6523 gemäß dem ausgewählten ersten oder zweiten Graphikstandard an den Nachschlagetabellenspeicher 4021 steuerbar.Palette 4000 has an input register 4011 of Figure 31 having a first portion connected to video memory 130 of Figure 26 for inputting a first set of color code bits in accordance with the TIGA architecture. Input register 4011 has a second portion connected to auxiliary connector 6521 for inputting a second set of color code bits in accordance with the VGA standard. Lookup table memory 4021 of Figure 31 provides color data words in response to color codes from input register 4011. Selector circuit 4051 is connected between input register 4011 and lookup table memory 4021. The selector circuit 4051 is connected via a control register 4371 to the graphics processor 120 via the bus 122 and is thereby controllable to transfer selected color codes on the selected bus 136 or 6523 to the look-up table memory 4021 in accordance with the selected first or second graphics standard.

Aufgrund der Art und Weise wie die Hardware und Software eines typischen 80386-Computers, wie z.B. eines IBM-kompatiblen PC (Personal Computer) arbeitet, suchen Startoperationen, kurz nachdem der PC mit Strom versorgt ist, nach der VGA- Graphikplatine 6505 von Figur 26, welche in einem IBM- kompatiblen PC als eine Standardplatine vorgesehen ist. Falls die VGA-Platine 6505 mit einem IBM-Monitor 6511 verbunden ist, ist ein separater Monitor 6513 benötigt, der mit der Platine 105 verbunden werden muß. Während des Startens würde die PC-CPU die VGA-Hardware 6505 finden und die Startsequenz ausführen, die Text auf den Monitor 6511 ausgeben würde. Dann würde, wenn eine Hochauflösungsgraphik erforderlich ist, das System den VGA-Monitor 6511 abschalten oder ihn nicht benutzen und dann den Monitor 6513 aktivieren. Da jeder der Monitore 6511 und 6513 dieselbe Art von Vorrichtung sein kann, ist es in vielen Fällen wünschenswert, einen einzelnen Monitor zu benutzen. Falls beide Platinen 6505 und 105 mit nur einem Monitor zu benutzen sind, ermöglicht der VGA-Durchgangsmodus ein Betrachten von VGA-Daten, wie z.B. dem anfangs angezeigten Prompt. Der VGA-Durchgang vermeidet vorteilhafterweise jegliche Notwendigkeit einer Implementierung von VGA selbst auf der Palette 4000 oder sonst irgendwo auf der Platine 105. Die VGA- Platine 6505 antwortet der CPU auf der Hauptplatine 6501 während des Startens, liefert den anfänglichen Text und den anfänglichen Port direkt für den Monitor 6513 durch den VGA- Durchgangsmodus, der in der Palette 4000 vorgesehen ist, woraufhin ein Schalter auf den Hochauflösungsmodus, der von der Platine 105 vorgesehen ist, umschaltet werden kann. Somit gibt es keine Notwendigkeit für separate Monitore und für die VGA- Platine 6505 und für die Hochauflösungsplatine 105. Die Platine 105 braucht keine VGA-Einschalt-Initialisierungssoftware oder eine weitere Duplikation vom VGA.Because of the way the hardware and software of a typical 80386 computer, such as an IBM-compatible PC (Personal Computer), work, boot operations, shortly after the PC is powered up, look for the VGA graphics board 6505 of Figure 26, which is provided as a standard board in an IBM-compatible PC. If the VGA board 6505 is connected to an IBM monitor 6511, a separate monitor 6513 is required, which must be connected to board 105. During booting, the PC CPU would find the VGA hardware 6505 and execute the boot sequence that would output text to the monitor 6511. Then, if high resolution graphics are required, the system would turn off or not use the VGA monitor 6511 and then enable the monitor 6513. Since each of the 6511 and 6513 monitors can be the same type of device, in many cases it is desirable to use a single monitor. If both the 6505 and 105 boards are to be used with only one monitor, the VGA pass-through mode allows a Viewing VGA data, such as the prompt initially displayed. The VGA pass-through advantageously avoids any need for implementation of VGA itself on the palette 4000 or anywhere else on the board 105. The VGA board 6505 responds to the CPU on the motherboard 6501 during start-up, provides the initial text and port directly to the monitor 6513 through the VGA pass-through mode provided in the palette 4000, after which a switch can be toggled to the high resolution mode provided by the board 105. Thus, there is no need for separate monitors and for the VGA board 6505 and for the high resolution board 105. The board 105 does not need VGA power-up initialization software or further duplication of the VGA.

Zusätzlich ermöglicht der VGA-Durchgangsmodus, daß eine VGAkompatible Anwendungssoftware durch die CPU 6502 ausgeführt wird und daß die VGA-Graphik durch die Platine 6505 oder auf der Hauptplatine selbst erzeugt wird, woraufhin die VGA-Graphik durch Platine 105 in dem VGA-Durchgangsmodus durchgelassen wird. Wenn ein Hochauflösungsmodus aufgerufen wird, wird die Graphik durch die CPU auf der Platine 6501 gesteuert, aber eingerichtet durch den Graphikprozessor 120 (wie z.B. TMS 34010 oder 34020 GSP von Texas Instruments Incorporated unter Benutzung der TIGA-TI-Architektur), durch den VRAM 130 und die Palette 4000 zum Monitor 6513 durchgelassen wird.In addition, the VGA pass-through mode allows VGA compatible application software to be executed by the CPU 6502 and the VGA graphics to be generated by the board 6505 or on the motherboard itself, whereupon the VGA graphics are passed through board 105 in the VGA pass-through mode. When a high resolution mode is invoked, the graphics are controlled by the CPU on the board 6501, but are set up by the graphics processor 120 (such as the TMS 34010 or 34020 GSP from Texas Instruments Incorporated using the TIGA-TI architecture), passed through the VRAM 130 and the palette 4000 to the monitor 6513.

Die Durchgangsverbesserung hängt nicht von den besonderen Charakteristika von VGA oder TIGA ab. Dementsprechend können beliebige zwei oder mehr Graphikarchitekturen, -standards oder -verfahren angewendet werden.The throughput improvement does not depend on the specific characteristics of VGA or TIGA. Accordingly, any two or more graphics architectures, standards or techniques can be applied.

Sowohl ein 8/6-DAC-Breitenauswahl-Merkmal als auch das VGA- Durchgangsmerkmal arbeiten vorteilhafterweise zusammen. VGA hat eine grundlegende 6-Bit-Graphikbreite und ein breiteres 8-Bit- Merkmal. Bei VGA sind die 6 Bits am niedrigwertigen Ende jedes Bytes. Wenn der Paletten-RAM 4021 mit Farbdatenworten geladen wird (im Gegensatz zum Zugriff auf den RAM 4021 mit VRAM- Farbcodes, welche bei VGA in den niedrigstwertigen 6 Bits jedes Bytes sein müssen, wenn die grundlegenden 6 Bits benutzt werden), kommt der Datenwert für jedes Farbdatenwort an der Palette in die niedrigstwertigen 6 Bits. Jedoch sollte das Ausgangssignal so gestaltet werden, als würden die niedrigstwertigen 6 Bits in die höchstwertigen 6 Bitpositionen des 3 Bytes in jedem Farbdatenwort geladen werden. Die 8-Bit/6- Bit-Auswahl zwingt die 6 niedrigstwertigen Bits des RAMS 4021, die höchstwertigen Eingänge der DACs anzusteuern. Im Gegensatz zur 8/6-Auswahl zum anfänglichen Laden der Orte im RAM 4021, umgeht der VGA-Durchgangsmodus für seinen Teil vorteilhafterweise das interne Multiplexen, um zu ermöglichen, daß die 6 VGA-Farbcode-VRAM-Bits geradeswegs zu den Adresseingangsdekodierern des RAM 4021 gehen, um auf die Farbdatenworte zuzugreifen. Ein Satz von Merkmalen vermeidet eine Interferenz mit VGA-Bits durch VGA-Durchgang für den Palettenzugriff und veranlaßt ebenfalls, daß die DACs ihre höchsten Ausgangssignale erzeugen, die für ein VGA-Signal (8/6- Auswahlmerkmal) für ein bestes Signal/Rausch-Verhältnis möglich sind.Both an 8/6 DAC width selection feature and the VGA pass-through feature work together advantageously. VGA has a basic 6-bit graphics width and a wider 8-bit feature. In VGA, the 6 bits at the low end of each bytes. When the palette RAM 4021 is loaded with color data words (as opposed to accessing the RAM 4021 with VRAM color codes, which in VGA must be in the least significant 6 bits of each byte when the basic 6 bits are used), the data value for each color data word on the palette goes into the least significant 6 bits. However, the output signal should be designed as if the least significant 6 bits were loaded into the most significant 6 bit positions of the 3 bytes in each color data word. The 8-bit/6-bit selection forces the 6 least significant bits of the RAM 4021 to drive the most significant inputs of the DACs. For its part, unlike the 8/6 select for initially loading the locations in RAM 4021, the VGA pass-through mode advantageously bypasses internal multiplexing to allow the 6 VGA color code VRAM bits to go straight to the RAM 4021 address input decoders to access the color data words. One set of features avoids interference with VGA bits by VGA pass-through for palette access and also causes the DACs to produce their highest output signals possible for a VGA signal (8/6 select feature) for best signal-to-noise ratio.

Beim Starten geht die Palette 4000 standardmäßig an den CLK0- Takteingang, der über das Kabel 6523 an den VGA-Paßverbinder 6525 angeschlossen ist, so daß die Palette 4000 ihren Punkttakt von der VGR-Platine 6505 ableitet und genauso mit dem VGA- Pixeln synchronisiert ist. Das Kabel 6523 sendet nicht nur Pixel auf den Leitungen VGA0-7, sondern sendet auch VGA- Horizontal-und-Vertikal-Synchronisationssignale, welche durch einen Multiplexer 6611 von Figur 27 ausgewählt werden und an HSYNC- und VSYNC-Eingänge von der Palette 4000 eingegeben werden. Auch das VGA-Austastsignal wird durch das Kabel 6523 geliefert. Vorteilhafterweise ist die Funktion des Multiplexers 6611 implizit durch Tri-State-Puffer auf der VGA-Platine 6505 und im Graphikprozessor 120 bereits implementiert, wohingegen beide Austastsignale BLANK- und VGABLANK- auf dem Chip in der Palettenvorrichtung 4000 nach der bevorzugten Ausführungsform zur Auswahl gebracht werden, und zwar wegen ihres bei weitem kritischeren Zeitablaufs.At start-up, the palette 4000 defaults to the CLK0 clock input which is connected to the VGA mating connector 6525 via cable 6523 so that the palette 4000 derives its dot clock from the VGR board 6505 and is also synchronized with the VGA pixels. The cable 6523 not only sends pixels on lines VGA0-7, but also sends VGA horizontal and vertical synchronization signals which are selected by a multiplexer 6611 of Figure 27 and input to HSYNC and VSYNC inputs of the palette 4000. The VGA blanking signal is also provided by cable 6523. Advantageously, the function of the multiplexer 6611 is implicitly implemented by tri-state buffers on the VGA board 6505 and in the graphics processor 120, whereas both the BLANK- and VGABLANK- blanking signals are selected on-chip in the palette device 4000 according to the preferred embodiment because of their far more critical timing.

Die Palettenvorrichtung 4000 hat einen Nibble-Modus, der das verbesserte Computergraphiksystem von Figur 28 enthält. In Figur 28 liefertt der Hostcomputer 110 über den Hostbus 115 Daten an den GSP 120. Der GSP 120 steuert 2 VRAMs 130A und 1308. Der VRAM 130A hat 4 VRAM-Abschnitte mit 4-Bit, Nibblebreiten Schieberegistern 139A (nicht gezeigt), die parallel e arbeiten, um verbunden mit den 4 hohen Nibbien jedes Bytes eines 4-Byte breiten Eingangsspeichers 4011 in der Palette 4000, welcher den Monitor 170 geben, 16 Bit als Ausgangssignal zuzuführen. Der VRAM 1308 hat auch vier VRAM-Abschnitte, jeweils mit einem Nibble-breiten Ausgang und hat seine 16 Bits des Ausgangssignals mit den jeweils 4 niedrigen Nibblen von den 4 Bytes des Eingangsspeichers 4011 verbunden. Im Nibblemodus kann die Palette 4000 zwischen dem VRAM 130A und dem VRAM 1308 umschalten, um beispielsweise zwischen zwei Bildern umzuschalten. Das Nibbleflag-NF-Eingangssignal steuert den Schalter, denn ein H-Zustand von NF wählt die 4 hohen Nibbles als Eingangssignal, und ein L-Zustand von NF wählt die 4 niedrigen Nibbles als Eingangssignal. In vorteilhafterweise kann dasselbe Paar von VRAMs 130A und 1308 im selben System, aber mit verschiedenen Nibblen geladen, zum Erzeugen von 8-Bit- Farbcodes für ein Bild anstelle von 4-Bit-Farbcodes für zwei Bilder benutzt werden. Um diesen letzteren Zwei-Bild-Betrieb zu bewerkstelligen, ist das Steuerregister 4371 mit Modusbits geladen, die den Speicher 4011 zum Liefern von Farbcodes in vier 8-Bit-Bytes aufrufen, und das Nibblemodus-Bit wird in einem weiteren Steuerregister 4398, wie im weiteren in Zusammenhang mit Tabelle 6 beschrieben, auf Null gesetzt.The palette device 4000 has a nibble mode that includes the enhanced computer graphics system of Figure 28. In Figure 28, the host computer 110 provides data to the GSP 120 over the host bus 115. The GSP 120 controls two VRAMs 130A and 130B. The VRAM 130A has four VRAM sections with 4-bit, nibble-wide shift registers 139A (not shown) that operate in parallel to provide 16 bits of output coupled to the 4 high nibbles of each byte of a 4-byte wide input memory 4011 in the palette 4000 that provides the monitor 170. VRAM 1308 also has four VRAM sections, each with a nibble-wide output and has its 16 bits of output connected to each of the 4 low nibbles from the 4 bytes of input memory 4011. In nibble mode, palette 4000 can switch between VRAM 130A and VRAM 1308, for example, to switch between two images. The nibble flag NF input signal controls the switch, since an H state of NF selects the 4 high nibbles as the input signal and a L state of NF selects the 4 low nibbles as the input signal. Advantageously, the same pair of VRAMs 130A and 1308 in the same system, but loaded with different nibbles, can be used to generate 8-bit color codes for one image instead of 4-bit color codes for two images. To accomplish this latter two-image operation, control register 4371 is loaded with mode bits that instruct memory 4011 to provide color codes in four 8-bit bytes, and the nibble mode bit is set to zero in another control register 4398, as described further in connection with Table 6.

Bei einer alternativen Nibble-Ausführungsform werden die hohen und niedrigen Nibbles in gegenüberliegende Hälften des Eingangsspeichers 4011 eingegeben. Eine Selektorschaltung ist so ausgelegt, daß sie Modi hat, welche entweder den hohen oder den niedrigen Nibble auswählen, oder welche Nibble von der hohen und der niedrigen Hälfte, falls erforderlich, kombinieren. In entweder der bevorzugten H-L-H-L-H-L-H-L- Ausführungsform oder der alternativen H-H-H-H-L-L-L-L- Ausführungsform oder in irgendeiner weiteren Ausführungsform mit Mischung von Nibbien sieht die Palette 4000 vorteilhafterweise eine Nibbleschaltung vor, die auf einen H-L- Zustand eines Nibble-Eingangssignals reagiert und zwischen dem Eingangsspeicher 4011 und dem Nachschlagetabellenspeicher 4021 angeschlossen ist, um einen hohen Nibble von einer Vielzahl von Bytes in dem Eingangsspeicher an den Nachschlagetabellenspeicher, oder einen niedrigen Nibble von einer Vielzahl von Bytes in dem Speicher an den Nachschlagetabellenspeicher abhängig von dem H- oder L-Zustand des Nibble-Eingangssignals durchzulassen.In an alternative nibble design, the high and low nibbles are placed in opposite halves of the input memory 4011. A selector circuit is designed to have modes which select either the high or low nibble, or which combine nibbles from the high and low halves if necessary. In either the preferred HLHLHLHL embodiment or the alternative HHHHLLLL embodiment, or in any other embodiment having a mixture of nibbles, palette 4000 advantageously provides a nibble circuit responsive to an HL state of a nibble input signal and connected between input memory 4011 and lookup table memory 4021 for passing a high nibble from a plurality of bytes in input memory to lookup table memory, or a low nibble from a plurality of bytes in memory to lookup table memory, depending on the H or L state of the nibble input signal.

Bei der bevorzugten Ausführungsform der Palette 4000 wird das H/L-Nibble-NF-Eingangssignal von Figur 28 funktionell mit dem SSRT-Eingangssignal von Figur 22 kombiniert. Figur 31 zeigt diese Eingänge als programmierbaren Nibbleauswahlanschluß SSRT/NF, dessen Funktion durch ein Steuerregister 4398 eingerichtet ist, siehe Tabelle 6, kombiniert. Eine vielfältige Funktionalität für einen Anschluß bedeutet, daß ein Extraanschluß nicht vorgesehen werden muß, und erhöht somit die Funktionalität der Palette 4000, wobei eine Maximalanzahl von Anschlüssen, die für Anwendungszwecke für das Paket möglich ist, vorgegeben ist.In the preferred embodiment of the pallet 4000, the H/L nibble NF input signal of Figure 28 is functionally combined with the SSRT input signal of Figure 22. Figure 31 shows these inputs combined as a programmable nibble select port SSRT/NF, the function of which is established by a control register 4398, see Table 6. A variety of functionality for a port means that an extra port does not have to be provided, thus increasing the functionality of the pallet 4000, while specifying a maximum number of ports possible for application purposes for the package.

Diese Funktionen SSRT und Nibbiemodus bei der vorliegenden Ausführungsform können als sich gegenseitig ausschließend betrachtet werden, da SSRT bei Auflösungen wie 1280 x 1024 Pixel nützlich ist und das Nibbleflag bei Auflösungen wie 1K x 768 nützlich ist. Das erste Mal, wenn ein SSRT-Impulseinsetzen sinnvoll ist, ist bei höheren Auflösungen als denen, bei denen ein Nibbleflag benutzt wird. Diese treten bei verschiedenen Auflösungen auf, da 1280 die Zeilenauflösung ist, welche keine Hochzahl von 2 ist. Das bedeutet, daß, falls ein VRAM, der zum Speichern einer Scanlinie von 2048 Pixeln Breite konstruiert ist, benutzt wird, dann der VRAM-Platz nicht effizient benutzt werden könnte, falls nicht der Teil-Schieberegister-Transfer wie bei Figuren 1 - 24 verwendet wird. Das Ende der Leitung fällt mit Beginn der Leitung 1 zusammen, und das Gesamtbild wird in dem VRAM komprimiert. So sind von 2048 die ersten 1250 Zeile 1, die nächsten 768 vervollständigen diese 2048, und der Rest ist auf der nächsten Zeile, und der Abgriffspunkt ist von Zeile zu Zeile verschieden.These SSRT and nibble mode functions in the present embodiment can be considered mutually exclusive, since SSRT is useful at resolutions such as 1280 x 1024 pixels and the nibble flag is useful at resolutions such as 1K x 768. The first time SSRT pulse insertion is useful is at higher resolutions than those at which a nibble flag is used. These occur at different resolutions because 1280 is the line resolution, which is not a power of 2. This means that if a VRAM designed to store a scan line 2048 pixels wide is used, then the VRAM space could not be used efficiently unless the partial shift register transfer is used as in Figures 1 - 24. The end of the line coincides with the beginning of line 1, and the entire image is compressed in the VRAM. So of 2048, the first 1250 are line 1, the next 768 complete that 2048, and the rest are on the next line, and the tap point is different from line to line.

Der Nibblemodus ist nicht auf niedrige Auflösungen begrenzt, sondern ist insbesondere für Systeme der unteren Preisklasse mit vier Bit pro Pixel, die über einen breiteren (z.B. 32 Bit) Datenweg verteilt sind, nützlich. Als eine Option in solch einem System der unteren Preisklasse würde der Benutzer es wünschenswert finden, ein Modul hinzuzufügen, welches weitere zusätzliche 4 Bits pro Pixel über diesen 32-Bit-Datenweg hinzufügt. Das Nibbleflag ermöglicht es, ein zusätzliches Modul von einem System der unteren Preisklasse, wie in Figur 28, einzustecken, um entweder das eine oder beides von einer schaltbaren 2-Bild-Nibblepixel- oder einer 8-Bit-Pixel- Lesitungsfähigkeit durch Hinzufügen des VRAM 130B und ohne Andern von Verbindungen von dem VRAM 130A, das schon vorhanden ist mit der Palette vorzusehen. Somit gibt es eine praktische und technologische Teilungslinie, die eine Kombination von den zwei Funktionen ermöglicht, als ob sie sich gegenseitig ausschließen würden.Nibble mode is not limited to low resolutions, but is particularly useful for low-end systems with four bits per pixel spread over a wider (e.g. 32 bit) data path. As an option in such a low-end system, the user would find it desirable to add a module which adds another additional 4 bits per pixel over this 32 bit data path. The nibble flag allows an additional module from a low-end system, such as in Figure 28, to be plugged in to provide either or both of a switchable 2-image nibble pixel or 8-bit pixel capability by adding the VRAM 130B and without changing connections from the VRAM 130A already present to the palette. Thus, there is a practical and technological dividing line that allows a combination of the two functions as if they were mutually exclusive.

Figuren 29 und 30 zeigen verschiedene Implementierungen eines Bildsystemprozessors mit unterschiedlichen Anwendungen. Beispielsweise zeigt Figur 29 einen Personal-Desktop- Bildcomputer, welcher vielfältige Eingabe- und Ausgabevorrichtungen aufweist. Das System agiert als ein Personalcomputer oder eine Workstation, ein Facsimilesystem, ein Druckersystem und ein OCR(Optisches Zeichenerkennungs-)- System und ein allgemeines Bilderkennungssystem, und zwar als alles in einem. Wie gezeigt, wird ein Objekt oder Dokument 4908 zum Kopieren abgebildet oder erfaßt mit einer Optik 4907 und dem Bildsensor CCD 4906, der eine ladungsgekoppelte Vorrichtung ist. Der CCD 4906 agiert als ein Beispiel einer Lichterfassungsvorrichtung, die ist zum Erzeugen eines elektrischen Eingangssignals als Reaktion auf ein Bild, das der Lichterfassungsvorrichtung geliefert wird, eingerichtet ist. Diese erfaßte Information wird dann von analoger zu digitaler Information mit der A-/D-Datenaquisitionseinheit 4904 umgewandelt, welche erfaßte digitale Information an den ISP/Speicher-4900-Bildsystemprozessor der europäischen Patentanmeldung Nr. 0429733, die am 5.Juni, 1991 veröffentlicht wurde, liefert. Der ISP/Speicher 4900 ist einer von vielen möglichen Beispielen einer Verarbeitungsschaltung, die mit der Lichterfassungsvorrichtung verbunden sind, um ein Anzeigesteuersignal und Farbcodes zum Darstellen von Farbinformation als Reaktion auf das Bild zu erzeugen.Figures 29 and 30 show various implementations of an image system processor with different applications. For example, Figure 29 shows a personal desktop image computer which has a variety of input and output devices. The system acts as a personal computer or workstation, facsimile system, printer system, and OCR (Optical Character Recognition) system and general image recognition system all in one. As shown, an object or document 4908 for copying is imaged or captured with optics 4907 and image sensor CCD 4906 which is a charge coupled device. CCD 4906 acts as an example of a light detecting device which is arranged to generate an electrical input signal in response to an image provided to the light detecting device. This captured information is then converted from analog to digital information with A/D data acquisition unit 4904 which provides captured digital information to the ISP/Memory 4900 image system processor of European Patent Application No. 0429733 published June 5, 1991. The ISP/memory 4900 is one of many possible examples of processing circuitry coupled to the light sensing device to generate a display control signal and color codes for representing color information in response to the image.

Die Controllervorrichtung 4905 liefert die notwendigen Zeitablaufsignale für sowohl die CD-Einheit 4906, als auch die Druckanordnung 4909. Diese Druckanordnung liefert Dokumente 4910. Eine weitere Eingabe- oder Ausgabe-Möglichkeit ist eine Telephonleitung, die durch das Modem 4001 gezeigt ist, zum Erzeugen einer Kommunikation mit weiteren Einheiten. Das Modem 4901 ist mit dem ISP/Speicher 4900 zum Übertragen von Farbinformation in Farbdatenworten an einen Kommunikationsweg, wie z.B. die Telephonleitung oder eine Radioverbindung oder einen weiteren Computer oder eine weitere elektronische Vorrichtung, verbunden. Die Steuerkonsole 4902 besteht geeignetermaßen aus einer Tastatur, einer Maus oder weiteren, zuvor beschriebenen Bildvorrichtungen. Die LCD-oder CRT-Anzeige 4903 wird zum Liefern von Information für den Benutzer benutzt. Die LCD-Flüssigkristallanzeige 4903 wie der ISP/Speicher 4900 und die Druckanordnung 4909 sind durch einen Bildinformationsbus angeschlossen, der verarbeitete Bilddaten enthält. Die Palettenvorrichtung 4000 wird durch den ISP/Speicher 4900 versorgt und liefert wiederum ein Wiedergabeausgangssignal an eine Farbwiedergabevorrichtung 4921, wie z.B. einen Raster-gescannten CRT-Monitor.The controller device 4905 provides the necessary timing signals for both the CD unit 4906 and the printing device 4909. This printing device provides documents 4910. Another input or output possibility is a telephone line, shown by the modem 4901, for establishing communication with other units. The modem 4901 is connected to the ISP/memory 4900 for transmitting color information in color data words to a communication path such as the telephone line or a radio link or another computer or electronic device. The control console 4902 suitably consists of a keyboard, mouse or other visual devices previously described. The LCD or CRT display 4903 is used to provide information to the user. The LCD liquid crystal display 4903, like the ISP/memory 4900 and the printing assembly 4909 are connected by an image information bus containing processed image data. The palette device 4000 is fed by the ISP/memory 4900 and in turn provides a display output to a color display device 4921, such as a raster scanned CRT monitor.

Figur 30 beschreibt eine Anwendung eines ISP/Speicher 5200 in einer Netzwerk-Konfiguration mit einem Host 5205, der Bildinformation, die off-line entweder von fern oder in einem Zentralbüro gesammelt und dann an den Puffer 5201 verteilt wird und dann durch die Bild-PC-Konfiguration benutzt wird, um Information an den Bildsystemprozessor 5200 zu Liefern. Ein alternatives Verfahren zum Erhalten von Information geht über eine selektierbare Kamera 5211 oder einen Scanner 5207, der in Verbindung mit dem Vorprozessor 5206 arbeitet. Diese Version eines Bildsystems gestattet vorteilhafterweise ein Teilen der Betriebsmittel durch Netzwerk-Bildsammelvorrichtungen. Ein Druckerport ist auch über eine Druckerschnittstelle 5203 und ihre Verbindung mit dem Druckermechanismus 5204 vorgesehen, welcher es dem Benutzer ermöglicht, Verbunddokumente, die textmäßige und graphische Information zusätzlich zu Bildern oder vergrößerten Bildern enthalten, über den Bildsystemprozessor 5200 zu drucken. Der Speicher 5202 ergänzt den Speicher im ISP 5200. Die Palettenvorrichtung 4000 ist mit einem Systembus 5213 verbunden und liefert wiederum Analogfarbsignale für eine Farbwiedergabevorrichtung 5221. Obwohl diese Vorrichtung 5221 als ein CRT-Monitor gezeigt ist, kann sie auch jegliche Farbwiedergabevorrichtung sein, wie z.B. ein Farbdrucker, der durch Nachschlagen von Farbdatenworten als Reaktion auf Farbcodes verbessert wird.Figure 30 describes an application of an ISP/storage 5200 in a network configuration with a host 5205 which image information is collected off-line either remotely or at a central office and then distributed to buffer 5201 and then used by the image PC configuration to provide information to the image system processor 5200. An alternative method of obtaining information is via a selectable camera 5211 or scanner 5207 operating in conjunction with the preprocessor 5206. This version of an image system advantageously allows for sharing of resources by network image collection devices. A printer port is also provided via a printer interface 5203 and its connection to the printer mechanism 5204 which allows the user to print compound documents containing textual and graphic information in addition to images or enlarged images via the image system processor 5200. The memory 5202 supplements the memory in the ISP 5200. The palette device 4000 is connected to a system bus 5213 and in turn provides analog color signals to a color display device 5221. Although this device 5221 is shown as a CRT monitor, it may also be any color display device, such as a color printer enhanced by looking up color data words in response to color codes.

Beim Betrieb erfaßte die Kamera 5211 ein Bild einer Hand H zum Zeigen zweier nach oben gestreckter Finger zum Mitteilen der Zahl 2 oder eines V für Sieg. Der Vorprozessor 5206 und der ISP 5200 lassen Bildverschärfungsalgorithmen und Bilderkennungsroutinen an dem verschärften Bild laufen. Das System gibt ein Farbbild 5231 der nach oben gestreckten Hand H wieder, und zwar mit einem attraktiven Vielfarb- Graphikhintergrund 5233 sowie einer alphabetischen Überlagerung der Zahl ZWEI 5235, die durch das System erkannt worden ist.In operation, the camera 5211 captures an image of a hand H showing two fingers raised upward to communicate the number 2 or a V for victory. The preprocessor 5206 and the ISP 5200 execute image sharpening algorithms and Image recognition routines are run on the sharpened image. The system displays a color image 5231 of the upraised hand H with an attractive multi-color graphic background 5233 and an alphabetic overlay of the number TWO 5235 recognized by the system.

Die Kompaktstruktur des Bildverarbeitungssystems, wo das Parallelverarbeiten und die Speicherinteraktion insgesamt auf einem einzelnen Chip verfügbar sind, gekoppelt mit einer breiten Flexibilität von Prozessorspeicher-Konfigurationen und Betriebsmodi, die alle Chip-gesteuert sind, trägt bei zur Fähigkeit des Bildsystems, Bilddateneingabe sowie ASCII-Eingabe zu akzeptieren, bei erlaubt, daß die zwei Datentypen gleichzeitig benutzt werden. Die Palette 4000 erhöht weiterhin die Flexibilität und Funktionalität des Bildverarbeitungssystems.The compact structure of the image processing system, where parallel processing and memory interaction are all available on a single chip, coupled with a wide flexibility of processor memory configurations and operating modes, all of which are chip controlled, contributes to the ability of the image processing system to accept image data input as well as ASCII input, allowing the two data types to be used simultaneously. The Palette 4000 further increases the flexibility and functionality of the image processing system.

Der Benutzer kann Arbeitsblätter und weitere informationserhaltende Information benutzen, um Information sowohl von einer Tastatur, oder auf traditionelle Art und Weise im ASCII-Code wie auch von einer visuellen oder Videoquelle, wie z.B. einer Kamera 5211 oder einer Videorecordervorrichtung, oder jeglichem anderen Typ von Videoeingabe unter Benutzung eines Bildcodeeingangs zu erhalten. Das Videoeingangssignal kann auf einem Band, auf einer Platte oder jeglichem anderen Medium in derselben Art und Weise, wie Information momentaner Weise zur Lieferung an einen Computer gespeichert ist, aufgenommen sein und gespeichert sein.The user can use spreadsheets and other information-receiving means to obtain information from a keyboard, or in the traditional manner, in ASCII code, as well as from a visual or video source, such as a 5211 camera or video recorder device, or any other type of video input using a picture code input. The video input signal can be recorded and stored on tape, disk, or any other medium in the same manner as information is currently stored for delivery to a computer.

Einige der Merkmale, die ein Bildsystem haben kann, sind 1) Aquirieren von Bildern von Kameras, einem Scanner und weiteren Sensoren; 2) Verstehen der Information oder von Objekten in einem Dokument; 3) Extrahieren wichtiger Information von einem Dokument oder einem Bild; 4) Navigieren durch eine Datenbank zum Kombinieren von Bildern sowie Textdokumenten; 5) Liefern fortschrittlicher Bildschnittstellen wie z.B. einer Gestenerkennung.Some of the features that an imaging system can have are 1) acquiring images from cameras, a scanner, and other sensors; 2) understanding the information or objects in a document; 3) extracting important information from a document or an image; 4) navigating a database to combine images and text documents; 5) providing advanced imaging interfaces such as gesture recognition.

Das System ist nützlich zum Liefern von Moment-Datenbanken, da die Information, die in das System gebracht wird, gelesen werden kann und der Informationsgehalt ohne weitere Verarbeitung durch andere Systeme sogleich abstrahiert werden kann. Dies liefert eine Datenbank, auf die durch ein Übereinstimmung bestimmter Worte einfach zugegriffen werden kann, von denen keines vor der Speicherung identifiziert worden ist. Dies kann über Worte hinaus auf geometrische Gestalten, Bilder ausgedeht werden und kann bei vielen Anwendungen nützlich sein. Beispielsweise kann ein System zum Scannen eines Katalogs, oder einer Zeitung, zum Finden eines bestimmten Objekts, wie z.B. aller Bäume oder aller roten Autos oder aller Lastwagen über einer bestimmten Größe auf einer Autobahn entworfen werden. Konzeptmäßig ist dann eine Datenbank durch Worte, Objekte und Gestalten, welche der Bildprozessor abstrahiert und sie für den Benutzer nützlich macht, gebildet.The system is useful for providing instant databases because the information brought into the system can be read and the information content can be immediately abstracted without further processing by other systems. This provides a database that can be easily accessed by a match of certain words, none of which have been identified prior to storage. This can be extended beyond words to geometric shapes, images and can be useful in many applications. For example, a system can be designed to scan a catalog or newspaper to find a certain object, such as all the trees or all the red cars or all the trucks over a certain size on a highway. Conceptually, a database is then formed by words, objects and shapes which the image processor abstracts and makes useful to the user.

Eine Benutzung solch eines Systems mit Bildfähigkeit ist die, daß sowohl stille als auch sich bewegende Bilder und Videos in ein System oder in jegliches Dokument einfach durch Scannen des Bildes durch das System integriert werden können. Die Information wird dann abstrahiert und das Ausgangssignal für das Bildsystem zur weiteren Verarbeitung unter der Steuerung des Benutzers verfügbar gemacht.One use of such a system with imaging capability is that both still and moving images and videos can be integrated into a system or into any document simply by scanning the image through the system. The information is then abstracted and the output made available to the imaging system for further processing under the control of the user.

Einer der Gründe, warum so viel Abbildungsvermögen unter dem System, das gezeigt ist, verfügbar ist, ist der, daß der einzelne Chip 5200 verschiedene Prozessoren enthält, die parallel zusammen mit verschiedenen Speichern arbeiten, alle unter einem Kreuzungsschalter zugänglich sind, der eine im wesentlichen instantane Umanordnung des Systems ermöglicht. Dies ergibt einen Grad an Leistung und Flexibilität, die bisher nicht bekannt sind. Dies ermöglicht dann einen immensen Anstieg im Grad der Bildverarbeitungsfähigkeit, welche in Verbindung mit weiterer Verarbeitungsfähigkeit benutzt werden kann, um einen Typ von Dienstleistungen zu bieten, der noch nicht zuvor bekannt war. Ein Beispiel davon würde die Restaurierung von Photographien oder anderen Bildern sein oder das Reinigen von Faxdokumenten sein, so daß Fremdmaterial im Hintergrund entfernt wird, um ein empfangenes Bild so klar wie oder klarer als das Sendebild zu erzeugen. Das gesamte System in einer relativ kleinen Packung kann verpackt werden, und zwar hauptsächlich wegen der Verarbeitungsfähigkeit, die in einer Betriebseinheit kombiniert ist. Bandbreitenbegrenzungen und andere physikalischen Begrenzungen, wie z.B. Verdrahtungsverbindungen, sind eliminiert.One of the reasons why so much imaging capability is available under the system shown is that the single chip contains 5200 different processors operating in parallel together with different memories, all accessible under a crossover switch which allows essentially instantaneous rearrangement of the system. This gives a level of power and flexibility not previously known. This then enables an immense increase in the level of image processing capability which can be used in conjunction with other processing capability to provide a type of service not previously possible. An example of this would be the restoration of photographs or other images, or the cleaning of fax documents so that extraneous material in the background is removed to produce a received image as clear as or clearer than the transmitted image. The entire system can be packed into a relatively small package, primarily because of the processing capability combined in one operating unit. Bandwidth limitations and other physical limitations such as wiring connections are eliminated.

Eine Erweiterung des Konzepts würde das Bildsystem in eine kleine Einheit eingebaut haben, die auf einer Hand angebracht werden kann und die die große Videoanzeige durch eine kleine Flachtafelanzeige ersetzt hat, so daß der Benutzer einen Finger über die Oberfläche der Anzeige zur Eingabe streichen lassen kann, wie in Figur 30 gezeigt. Das zuvor diskutierte Bildsystem erkennt die verschiedenen Bewegungen und übersetzt die Bewegungen in ein Eingangssignal. Dies entfernt effizienter Weise die Probleme von Tastaturen und weiteren mechanischen Eingabevorrichtungen und ersetzt sie durch ein visuelles Bild als ein Eingangssignal. Das Eingangssignal in diesem Fall könnte auch eine Anzeige sein, die zu einem doppelten Zweck dient. Dies macht dann eine optische Zeichenerkennung zu einem noch wichtigeren Werkzeug als bisher benutzt.An extension of the concept would have the image system built into a small unit that can be placed on a hand and that has replaced the large video display with a small flat panel display so that the user can slide a finger across the surface of the display for input, as shown in Figure 30. The image system discussed previously detects the various movements and translates the movements into an input signal. This effectively removes the problems of keyboards and other mechanical input devices and replaces them with a visual image as an input signal. The input signal in this case could also be a display that serves a dual purpose. This then makes optical character recognition an even more important tool than has been used to date.

Beim vorliegenden verbesserten Endchip 4000 ist die Architektur frei von Horizontalfrequenz-Taktverteilung. Anwendungen in CAD/CAM-Workstations, bei Bild- und Videoverarbeitung sind für diese Architektur geeignet.In the current improved end chip 4000, the architecture is free of horizontal frequency clock distribution. Applications in CAD/CAM workstations, image and video processing are suitable for this architecture.

In Figur 31 hat ein programmierbarer Farbpalettenchip 4000 einen Eingangsspeicher 4011 mit einem 32 Bit breiten Satz von Eingangsanschlüssen P0 bis P31 verbunden und mit L-aktiven Eingängen HSYNC-, VSYNC- und BLANK- vom Bus 124. Ein Registerplan 4013 hat Eingänge für Lese- und Schreib-Strobes (RD-, WR-), vier Registerauswahleingänge RS0 bis RS3 an eine Dekodier- und Steuerschaltung 4015 und Datenanschlüsse D0-7 zum Bus 122 zum Laden oder Programmieren des Palettenchips 4000.In Figure 31, a programmable color palette chip 4000 has an input memory 4011 connected to a 32-bit wide set of input terminals P0 through P31 and to low-active inputs HSYNC-, VSYNC- and BLANK- from bus 124. A register map 4013 has inputs for read and write strobes (RD-, WR-), four register selection inputs RS0 to RS3 to a decoding and control circuit 4015 and data connections D0-7 to bus 122 for loading or programming the palette chip 4000.

Eine Schaltung 4015 konfiguriert die Palette 4000 beim Starten und Zurückkehren vom RESET und hat weiterhin einen 8/6- Auswahlanschluß. Der 8/6-Anschluß wird zum Auswählen eines 8- oder 6-Bit breiten Datenweges zu einem 256x24-Farbpaletten-RAM 4021 benutzt. Wenn der 8/6-Eingang auf L gehalten ist, werden Daten auf den niedrigsten 6-Bits des Datenbusses intern um 2 Bits zum Belegen der oberen 6 Bits nach oben geschoben, und die unteren 2 Bits werden dann auf 0 gesetzt. Dieser Betrieb benutzt den Maximalbereich der DACs (Digital/Analog-Wandler) 4031, 4033 und 4035.A circuit 4015 configures the palette 4000 on startup and return from RESET and also has an 8/6 select pin. The 8/6 pin is used to select an 8- or 6-bit wide data path to a 256x24 color palette RAM 4021. When the 8/6 input is held low, data on the lowest 6 bits of the data bus is internally shifted up 2 bits to occupy the upper 6 bits, and the lower 2 bits are then set to 0. This operation uses the maximum range of the DACs (digital-to-analog converters) 4031, 4033 and 4035.

Eine Takt-Selektorschaltung 4040 hat 5 Takteingänge CLK0-3 und CLK3- von Punkttakten 4100 von Figur 25 und wird durch das Eingangstakt-Auswahlregister ICS4361 programmiert. Die Takt- Selektorschaltung 4040 liefert Taktimpulse an programmierbare Frequenzteiler, auch Takt-Steuerblock 4041 genannt, welcher durch Dekodieren von einem Ausgangstakt-Auswahlregister OCS 4363 programmiert wird. Zwei gepufferte Ausgänge 4341 und 4343 für den Verschiebetakt SCLK und Videotakt VCLK sind durch die Takt-Selektorschaltung 4041 vorgesehen.A clock selector circuit 4040 has 5 clock inputs CLK0-3 and CLK3- from dot clocks 4100 of Figure 25 and is programmed by the input clock selection register ICS4361. The clock selector circuit 4040 supplies clock pulses to programmable frequency divider, also called clock control block 4041, which is programmed by decoding from an output clock selection register OCS 4363. Two buffered outputs 4341 and 4343 for the shift clock SCLK and video clock VCLK are provided by the clock selector circuit 4041.

Die Taktquelle, die beim Einschalten benutzt wird, ist durch Eingangsanschlüsse spezifiziert und kann auch durch spätere Software-Auswahl überschrieben werden. Eine Punkttaktfrequenz ist die Pixelrate für den Monitor 170.The clock source used at power-up is specified by input connectors and can also be overridden by later software selection. A dot clock frequency is the pixel rate for the monitor 170.

Oberhalb etwa 100 MHz sind ECL-Oszillatoren gegenwärtig leichter erhältlich als TTL-Oszillatoren. Somit kann die Palette 4000 vorzugsweise entweder ein Eintakt-TTL- Eingangssignal oder eine differentielles Eingangssignal empfangen, die der Standardmodus der Eingangssignale für ICL- Oszillatoren ist, welche zwei Signale liefern, die invers zueinander sind, um eine Gleichtaktmodus-Zurückweisung zu erzielen. Dies benötigt zwei Anschlüsse CLK3 und CLK3-. Somit gibt es zwei Anschlüsse, die beispielsweise angesteuert werden, eine 135 MHz-Punkttaktrate zu empfangen. Durch Programmieren des ICS 4361 können die Anschlüsse CLK3 und CLK3- auch auf Eintakt-TTL zur verbesserten Takteingangs-Flexibilität konfiguriert werden.Above about 100 MHz, ECL oscillators are currently more readily available than TTL oscillators. Thus, the Palette 4000 can preferably accept either a single-ended TTL input signal or a differential input signal, which is the standard mode of input for ICL oscillators, which provide two signals that are inversely to each other to achieve common mode rejection. This requires two terminals CLK3 and CLK3-. Thus there are two terminals that are driven to receive, for example, a 135 MHz dot clock rate. By programming the ICS 4361, the CLK3 and CLK3- terminals can also be configured to single ended TTL for improved clock input flexibility.

Da verschiedene Schirmauflösungen Punkttaktraten benötigen, welche keine Vielfachen voneinander sind, bietet die vorliegende Auswahlschaltungsanordnung einen Vorteil über eine alternative Ausführungsform einer Frequenzteilerschaltungsanordnung allein zum Erzeugen verschiedener Punkttaktfrequenzen. Man glaubt, die Benutzung von Vielfach-Oszillatoren und einer Selektorschaltung 4040, bietet einen stabileren Takt als die alternative Ausführungsform einer phasenstarren Schleife, welche eine Eingangsoszillatorfrequenz nimmt und sie auf einen höheren Frequenzpegel multipliziert. Jedoch kann nun in der Zukunft die PLL-Technologie mehr Stabilität für Videozwecke im höheren Frequenzpegel, der so erhalten wird, bieten und somit ist sie eine alternative AusführungsformSince different screen resolutions require dot clock rates that are not multiples of each other, the present selection circuitry offers an advantage over an alternative embodiment of a frequency divider circuitry alone for generating different dot clock frequencies. It is believed that the use of multiple oscillators and a selector circuit 4040 provides a more stable clock than the alternative embodiment of a phase-locked loop which takes an input oscillator frequency and multiplies it to a higher frequency level. However, now in the future, PLL technology may offer more stability for video purposes at the higher frequency level thus obtained and thus is an alternative embodiment.

Bei der Ausführungsform von Figuren 25 und 31 werden mehrere erwünschte Frequenzen ausgewählt. Jede Frequenz entspricht einer erwünschten Auflösung des Monitors als ein Typ von Videoanzeige 170. Somit benötigt eine 640x480-Auflösung einen 25 MHz-Oszillator. Eine 1024x768-Auflösung wird mit einem 64 MHz-Oszillator erhalten. Mit anderen Worten wird der Monitor mit einer Punkttaktrate von 64 MHz versorgt, um die letztere Auflösung zu erhalten.In the embodiment of Figures 25 and 31, a plurality of desired frequencies are selected. Each frequency corresponds to a desired resolution of the monitor as a type of video display 170. Thus, a 640x480 resolution requires a 25 MHz oscillator. A 1024x768 resolution is obtained with a 64 MHz oscillator. In other words, the monitor is supplied with a dot clock rate of 64 MHz to obtain the latter resolution.

Heutige Auflösungen von 320x200 bis zu 1600x1200 und zukünftige Verbesserungen werden effektiv durch die Palettenvorrichtung 4000 unterstützt. Das Taktauswahlmerkmal der Palette 4000 ermöglicht eine Programmierung zur Benutzung beim Verbessern einer breiten Vielfalt von Systemen verschiedener Auflösungen unter Verbesserung ihrer Anwendungsbreite.Today's resolutions from 320x200 up to 1600x1200 and future improvements are effectively supported by the Palette 4000. The Palette 4000's clock selection feature allows programming for use in improving a wide variety of systems of different resolutions while improving their application range.

Beispielsweise erfordert die medizinische Bildtechnologie eine hohe Auflösung, und eine Prozessorgeschwindigkeit hat eine geringere Bedeutung. Ein Kompromiß ist insoweit involviert, ils daß eine höhere Auflösung viele Pixel impliziert und einen großen Teil von Prozessor-Leistungsvermögen beansprucht, um sie zu erzeugen. Andererseits erfordern CAD-/CAM-Anwendungen (computerunterstütztes Design und computerunterstützte Herstellung) schnelle Zeichenraten, und niedrigere Auflösungen sind akzeptierbar. Zum Unterstützen einer Vielzahl von Hardware- und Softwareanwendungen unterstützt die Palette 4000 erwünschtermaßen eine Vielzahl von Auflösungen. Jede dieser Auflösungen impliziert eine spezifische Punkttakt- Eingangs frequenz.For example, medical imaging technology requires high resolution, and processor speed is of lesser importance. A trade-off is involved in that higher resolution implies many pixels and requires a large amount of processor power to produce them. On the other hand, CAD/CAM (computer-aided design and manufacturing) applications require fast draw rates, and lower resolutions are acceptable. To support a variety of hardware and software applications, the Palette 4000 desirably supports a variety of resolutions. Each of these resolutions implies a specific dot clock input frequency.

Die Multiplexer-Schaltungsanordnung MUX 4051 konfiguriert vorteilhafterweise die Palette 4000 auf den verfügbaren RAM- Betrag. Falls beispielsweise nur 512 K an Speicher verfügbar wären, kann ein 1024x768-Modus mit 4 Bit-Ebenen unter Benutzung eines 16-Bit breiten Pixel-Busses, der Eingängen P0-P15 verbunden mit, implementiert werden. Falls zu einem späteren Zeitpunkt weitere 512 K an Speicher hinzugefügt würden, werden die weiteren 16 Bits P16-31 benutzt, und 1024x768-Modus mit 8 Bit-Ebenen wird ohne jeglichen Anstieg in der Pixel- Busgeschwindigkeit implementiert.The multiplexer circuitry MUX 4051 advantageously configures the palette 4000 to the amount of RAM available. For example, if only 512K of memory were available, a 1024x768 mode with 4 bit planes could be implemented using a 16-bit wide pixel bus connected to inputs P0-P15. If at a later time an additional 512K of memory were added, the additional 16 bits P16-31 would be used and 1024x768 mode with 8 bit planes would be implemented without any increase in pixel bus speed.

Der Verschiebetakt SCLK und Videotakt VCLK sind vom Punkttakt programmierbar geteilt, und zwar durch Verhältnisse wie in Figur 3b gezeigt. Das Teilungsverhältnis vom Punkttakt zum Verschiebetakt ist gleich der Anzahl von Pixeln pro Buslast, da der Verschiebetakt-bezogene Impuls LOAD mehrere Pixel simultan in den Eingangsspeicher 4011 eingibt, während der Punkttakt den schnelleren multiplexierten Transfer von Farbcodes Pixel um Pixel an den Paletten-RAM 4021 durch die Schaltung 4021 steuert.The shift clock SCLK and video clock VCLK are programmably divided from the dot clock by ratios as shown in Figure 3b. The division ratio of the dot clock to the shift clock is equal to the number of pixels per bus load, since the shift clock-related pulse LOAD inputs several pixels simultaneously into the input memory 4011, while the dot clock allows the faster multiplexed transfer of color codes pixel by pixel. Pixels to the palette RAM 4021 through the circuit 4021.

Der Registerplan 4013 enthält einen Eingangstakt Auswahlregister 4361, ein Ausgangstakt-Auswahlregister 4363, ein MUX-Steuerregister 4371, ein Lesemaskenregister 4353, ein Seitenregister 4399, ein RAM-Adressregister 4351 für den Leseund Schreibmodus, ein Farbpalettendaten-Halteregister 4391 zur Eingabe von R, G, B-Bytes in den RAM 4021, ein allgemeines Steuerregister 4398, das unter anderem die Logik 4393 zur Synchronausgabe konfiguriert, und Testregister 4395 für Akkumulierungswerte und Analogvergleiche.The register map 4013 contains an input clock select register 4361, an output clock select register 4363, a MUX control register 4371, a read mask register 4353, a page register 4399, a RAM address register 4351 for read and write mode, a color palette data holding register 4391 for inputting R, G, B bytes into the RAM 4021, a general control register 4398 which, among other things, configures the logic 4393 for synchronous output, and test register 4395 for accumulation values and analog comparisons.

Figur 31 zeigt auch eine Austast-Abtastschaltung 4384. Eine Selektorschaltung 4386 wählt ein VGABLANK- oder BLANK-. Das Austastsignal für VGA hat eine feste Schalter-ausgewählte Verzögerung in der Schaltung 4321. Das Austastsignal BLANK- tritt durch eine variable Verzögerungsschaltung von 0-32 Punkttakten, was vom Periodenmodus abhängig ist, und danach durch die Verzögerung in der Schaltung 4321. Die Synchronisationssignale VSYNC- und HSYNC- werden durch eine ähnliche modusabhängige Verzögerung, und danach durch eine feste Schalter-ausgewählte Verzögerung in der Schaltung 4322, 4321, welche die Synchronisationslogik 4393 an die HSYNCOUT- und VSYNCOUT-Ausgänge liefert, verzögert.Figure 31 also shows a blanking sampling circuit 4384. A selector circuit 4386 selects a VGABLANK- or BLANK-. The blanking signal for VGA has a fixed switch-selected delay in circuit 4321. The blanking signal BLANK- passes through a variable delay circuit of 0-32 dot clocks, which depends on the period mode, and then through the delay in circuit 4321. The synchronization signals VSYNC- and HSYNC- are delayed by a similar mode-dependent delay, and then by a fixed switch-selected delay in circuit 4322, 4321, which the synchronization logic 4393 provides to the HSYNCOUT and VSYNCOUT outputs.

Der TLC34075-Graphikschnittstellenchip ist so entworfen, daß er niedrige Systemkosten mit einem höheren Grad von Integration durch Eingleiderung der gesamten Hochgeschwindigkeits- Zeitablauf-, Synchronisierungs- und Multiplexer-Logik, die gewöhnlicher Weise graphischen Systemen zugeordnet sind, in einer Vorrichtung bietet, um somit die Chipanzahl stark abzusenken. Da alle Hochgeschwindigkeitssignale (ausschließlich Zeittakquelle) auf dem Chip enthalten sind, sind die RF- Rauschüberlegungen vereinfacht. Eine maximale Flexibilität ist durch das Pixel-Multiplex-Schema gegeben, welches es ermöglicht, daß 32-, 16-, 8- und 4-Bit-Pixel-Busse ohne jegliche Schaltungsmodifikation angehängt werden können, und dies ermöglicht, daß das System für unterschiedliche Mengen verfügbarer Videopixel leicht rekonfiguriert wird. Die Daten können in 1-, 2-, 4- oder 8-Bit-Ebenen aufgespalten werden. Die Vorrichtung ist mit dem IMSG176/8 und Bt4/6/8-Farbpaletten Software-kompatibel. Siehe Figur 32.The TLC34075 graphics interface chip is designed to provide low system cost with a higher level of integration by incorporating all of the high-speed timing, synchronization and multiplexing logic normally associated with graphics systems into one device, thus greatly reducing chip count. Since all high-speed signals (excluding timing source) are contained on-chip, RF noise considerations are simplified. Maximum flexibility is provided by the pixel multiplexing scheme, which allows allows 32-, 16-, 8- and 4-bit pixel buses to be attached without any circuit modification, and this allows the system to be easily reconfigured for different amounts of available video pixels. The data can be split into 1-, 2-, 4- or 8-bit planes. The device is software compatible with the IMSG176/8 and Bt4/6/8 color palettes. See Figure 32.

Die Vorrichtung hat einen separaten VGA-Bus, welcher ermöglicht, daß Daten von dem Zusatzstecker der meisten VGA- unterstützten Personalcomputer direkt in die Palette ohne die Notwendigkeit eines externen Datenmultiplexierens eingegeben werden. Dies ermöglicht, daß eine Ersatzgraphikplatine durch die Benutzung der existierenden Graphikschaltungsanordnung, die oft auf der Hauptplatine liegt, "nach unten kompatibel" bleibt.The device has a separate VGA bus which allows data from the auxiliary connector of most VGA-supported personal computers to be input directly into the palette without the need for external data multiplexing. This allows a replacement graphics board to remain "downwards compatible" by using the existing graphics circuitry often located on the motherboard.

Ebenfalls ist ein Realfarbmodus vorgesehen, bei dem 24 (3x8) Bits an Farbinformation direkt von dem Pixelport an die DACs transferiert werden. In diesem Betriebsmodus ist eine Überlagerungsfunktion unter Benutzung der acht restlichen Bits des Pixel-Busses vorgesehen.A real color mode is also provided, in which 24 (3x8) bits of color information are transferred directly from the pixel port to the DACs. In this operating mode, an overlay function is provided using the eight remaining bits of the pixel bus.

Der TLC34075 hat eine 256x24 Farbnachschlagetabelle mit drei 8- Bit-Video-D/A-Wandlern, die in der Lage sind, direkt eine doppelt abgeschlossene 75Ω-Leitung anzusteuern. Eine Synchronisationserzeugung ist auf dem Grün-Ausgabekanal enthalten. Hsync und Vsync werden durch die Vorrichtung eingegeben und optionell zum Anzeigen der Schirmauflösung für den Monitor invertiert. Ein Paletten-Seitenregister wird zum Liefern der zusätzlichen Bits der Palettenadresse benutzt, wenn 1-, 2- oder 4-Bit-Ebenen benutzt werden. Dies ermöglicht, daß die Schirmfarben mit nur einem MPU-Schreibzyklus geändert werden.The TLC34075 has a 256x24 color lookup table with three 8-bit video DACs capable of directly driving a double terminated 75Ω line. Synchronization generation is included on the green output channel. Hsync and Vsync are input by the device and optionally inverted to indicate the screen resolution for the monitor. A palette page register is used to supply the additional bits of the palette address when 1-, 2-, or 4-bit planes are used. This allows the screen colors to be changed with only one MPU write cycle.

Ein Takten ist über einen von vier Eingängen (drei TTL- und ein ECL/TTL-kompatibler) vorgesehen und ist durch Software auswählbar Die Video- und Verschiebetaktausgänge liefern ein durch Software ausgewähltes Teilungsverhältnis des ausgewählten Takteingangssignals.Clocking is provided via one of four inputs (three TTL and one ECL/TTL compatible) and is controlled by software selectable The video and shift clock outputs provide a software-selected division ratio of the selected clock input signal.

Der TLC34075 kann direkt mit dem seriellen Port von VRAM- Vorrichtungen verbunden werden, um die Notwendigkeit von jeder diskreten Logik zu eliminieren. Ebenfalls ist eine Unterstützung für Teil-Schieberegister-Transfers vorgesehen. Schaltungsbeschreibung MPU-SchnittstelleThe TLC34075 can be connected directly to the serial port of VRAM devices to eliminate the need for any discrete logic. Support for partial shift register transfers is also provided. Circuit Description MPU Interface

Die Prozessorschnittstelle wird über Lese- und Schreib-StrobesThe processor interface is controlled via read and write strobes

vier Register-Auswahlanschlüsse (RS0-RS3) und den 8/6-Auswahlanschluß gesteuert. Der 8/6-Anschluß wird zum Wählen zwischen einem 8- oder 6-Bit-breiten Datenweg zum Farbpaletten- RAM benutzt. Mit auf L gehaltenem 8/6-Anschluß werden Daten auf den untersten 6 Bits des Datenbusses um 2 Bits zum Besetzen der oberen 6 Bits am Ausgang MUX intern nach oben verschoben, und die unteren 2 Bits werden dann auf Null gesetzt. Dieser Betrieb wird ausgeführt, um des Maximalbereichs der DACs zu nutzen.four register select pins (RS0-RS3) and the 8/6 select pin. The 8/6 pin is used to select between an 8- or 6-bit wide data path to the color palette RAM. With the 8/6 pin held low, data on the lowest 6 bits of the data bus is internally shifted up 2 bits to occupy the upper 6 bits at the MUX output, and the lower 2 bits are then set to zero. This operation is performed to utilize the maximum range of the DACs.

Der interne Registerplan ist in Tabelle 1 gezeigt. Die MPU- Schnittstelle arbeitet asynchron, wobei Datentransfers durch eine interne Logik synchronisiert werden. Alle Registerorte unterstützen Lese- und Schreiboperationen. Tabelle 1: interner RegisterplanFarbpaletteThe internal register map is shown in Table 1. The MPU interface operates asynchronously, with data transfers synchronized by internal logic. All register locations support read and write operations. Table 1: internal register planColor palette

Die Farbpalette wird durch ein inkrementales 8-Bit-Register zum Lesen/Schreiben von Daten in das/von dem RAM adressiert. Diese Register werden nach einem RAM-Transfer automatisch inkrementiert, um zu ermöglichen, daß die gesamte Palette mit nur einem Zugriff auf das Adressregister gelesen/beschrieben wird. Wenn das Adressregister auf oberhalb der letzten Stelle im RAM inkrementiert, wird es auf die erste Stelle (Adresse 0) zurückgesetzt. Alle Lese- und Schreib-Zugriffe auf den RAM sind asynchron zu SCLK, VCLK oder zum Punkttakt, aber werden innerhalb eines Punkttakts durchgeführt und verursachen somit keine bemerkbare Störung auf der Anzeige.The color palette is addressed by an 8-bit incremental register for reading/writing data to/from RAM. These registers are automatically incremented after a RAM transfer to allow the entire palette to be read/written with only one access to the address register. When the address register increments above the last location in RAM, it is reset to the first location (address 0). All read and write accesses to RAM are asynchronous to SCLK, VCLK or the dot clock, but are performed within a dot clock and thus cause no noticeable disturbance on the display.

Der Farb-RAM ist für jeden Ort 24-Bit breit und für jede Farbe 8-Bit breit. Da der gesamte MPU-Zugriff 8-Bit breit ist, werden die in der Farbpalette gespeicherten Daten 8 Bits sein, sogar wenn ein 6-Bit-Modus ausgewählt ist (8/6- = 0). Falls ein 6- Bit-Modus ausgewählt ist, werden die zwei MSBs in der Farbpalette die Werte eingeschrieben haben. Falls sie jedoch im 6-Bit-Modus zurückgelesen werden, werden die 2 MSBs Nullen sein. Der Ausgangs-NUN nach der Farbpalette wird die 6 LSB-Bits auf die 6 MSB-Positionen verschieben und die 2 LSBs mit Nullen füllen und sie dann an den DAC eingeben. Das Testregister und das Einsen-Akkumulierungsregister werden beide vor dem Ausgangs-MUX Daten aufnehmen, um so dem Benutzer die maximale Flexibilität zu geben.The color RAM is 24-bits wide for each location and 8-bits wide for each color. Since all MPU access is 8-bits wide, the data stored in the color palette will be 8 bits even if a 6-bit mode is selected (8/6- = 0). If a 6-bit mode is selected, the two MSBs in the color palette will have the values written in. However, if read back in 6-bit mode, the 2 MSBs will be zeros. The output NUN after the color palette will shift the 6 LSB bits to the 6 MSB positions and fill the 2 LSBs with zeros and then input them to the DAC. The test register and the 1s accumulation register will both take data before the output MUX, giving the user maximum flexibility.

Der Farbpalettenzugriff wird in den folgenden zwei Abschnitten beschrieben. Schreiben in den Farbpaletten-RAMColor palette access is described in the following two sections. Writing to the color palette RAM

Zum Laden der Farbpalette muß die MPU zunächst die Adresse, wo die Modifizierung zu starten ist, in das Adressregister schreiben (Schreibmodus) . Dem folgen drei sukzessive Schreibvorgänge an das Palettenhalteregister mit 8 Bits von Rot-, Grün- und Blau-Daten. Nach dem Blau-Schreibzyklus werden die drei Farb-Bytes in ein 24-Bit-Wort abgekürzt und werden an die RAM-Stelle geschrieben, die durch das Adressregister spezifiziert ist. Das Adressregister inkrementiert dann auf den nächsten Ort, welchen die MPU durch einfaches Schreiben einer weiteren Sequenz von Rot-, Grün- und Blau-Daten modifizieren kann. Ein Block von Farbwerten in aufeinanderfolgenden Orten kann durch Schreiben der Startadresse und Durchführen kontinuierlicher Rot-, Grün- und Blau-Schreibzyklen geschrieben werden, bis der gesamte Block geschrieben worden ist. Lesen vom Farbpaletten-RAMTo load the color palette, the MPU must first write the address where modification is to start into the address register (write mode). This is followed by three successive writes to the palette holding register with 8 bits of red, green and blue data. After the blue write cycle, the three color bytes are truncated into a 24-bit word and are written to the RAM location specified by the address register. The address register then increments to the next location, which the MPU can modify by simply writing another sequence of red, green and blue data. A block of color values in consecutive locations can be written by writing the starting address and performing continuous red, green and blue write cycles until the entire block has been written. Reading from color palette RAM

Das Lesen von der Palette wird durch Schreiben des zu lesenden Orts an das Adressregister (Lesemodus) durchgeführt. Dies initiiert dann einen Transfer vom Paletten-RAM in das Halteregister und danach eine Implementierung des Adressregisters. Drei aufeinanderfolgende MPU-Lesevorgänge von dem Halteregister werden dann Rot-, Grün- und Blau-Farbdaten (6 oder 8-Bits abhängig von dem 8/6-Modus) für den spezifizierten Ort erzeugen. Nach dem Blau-Lesezyklus wird der Inhalt des Farbpaletten-RAM an der durch das Adressregister spezifizierten Adresse in das Halteregister kopiert, und das Adressregister wird wieder inkrementiert. Wie beim Schreiben in die Palette kann ein Block von Farbwerten an aufeinanderfolgenden Orten durch Schreiben der Startadresse und Durchführen von kontinuierlichen Rot-, Grün- und Blau-Lesezyklen gelesen werden, bis der gesamte Block gelesen worden ist. PalettenseitenregisterReading from the palette is accomplished by writing the location to be read to the address register (read mode). This then initiates a transfer from the palette RAM to the holding register and then an implementation of the address register. Three consecutive MPU reads from the holding register will then generate red, green and blue color data (6 or 8 bits depending on the 8/6 mode) for the specified location. After the blue read cycle, the contents of the color palette RAM are copied to the holding register at the address specified by the address register and the address register is incremented again. As with writing to the palette, a block of color values can be read at consecutive locations by writing the starting address and performing continuous red, green and blue read cycles until the entire block has been read. Palette Page Register

Das Palettenseitenregister erscheint als ein 8-Bit-Register auf dem Registerplan (siehe Tabelle 1). Sein Zweck ist es, eine Hochgeschwindigkeits-Farbänderung durch Beseitigen der Notwendigkeit des Paletten-Neuladens vorzusehen. Beim Benutzen von 1-, 2- oder 4-Bit-Ebenen werden die zusätzlichen Ebenen vom Seitenregister geliefert, z.B. bei Benutzung von 4-Bit-Ebenen würden die Pixeleingangssignale die unteren 4-Bits der Palettenadresse spezifizieren, wobei die oberen vier Bits vom Seitenregister spezifiziert werden. Dies gibt dem Benutzer die Möglichkeit des Auswählens von 16 "Palettenseiten" mit nur einem Chipzugriff, um somit zu ermöglichen, daß alle Schirmfarben unter der Zeilenfrequenz geändert werden. Eine Bit/Bit-Übereinstimmung wird deshalb bei der obigen Konfiguration benutzt, und Seitenregisterbits 7-4 würden sich auf Palettenadressbits 7-4 finden. Dies ist nachstehend ist nachstehend gezeigt.The palette page register appears as an 8-bit register on the register map (see Table 1). Its purpose is to provide high speed color changing by eliminating the need for palette reloading. When using 1-, 2-, or 4-bit planes, the additional planes are provided by the page register, e.g. when using 4-bit planes, the pixel inputs would specify the lower 4 bits of the palette address, with the upper four bits being specified by the page register. This gives the user the ability to select 16 "palette pages" with only one chip access, thus allowing all screen colors to be changed at the line rate. Bit/bit correspondence is therefore used in the above configuration, and page register bits 7-4 would on palette address bits 7-4. This is shown below.

Es sei bemerkt, daß die zusätzlichen Bits von dem Seitenregister vor der Lesemaske eingesetzt werden und daher einer Maskierung unterliegen. Tabelle 2: Anordnung der Paletten-Setienregister-BitsEingangs-/Ausgangs-Taktauswahl und -TakterzeugungNote that the additional bits from the page register are inserted before the read mask and are therefore subject to masking. Table 2: Palette page register bit arrangementInput/output clock selection and generation

Der TLC 34075 sieht maximal 5 Takteingänge vor. Drei von ihnen sind TTL-Eingängen zugeordnet. Die anderen zwei können als entweder ein ECL-Eingang oder zwei extra TTL-Eingänge ausgewählt werden. Die TTL-Eingänge können benutzt werden für Videoraten bis zu 80 MHz, oberhalb derer eine ECL-Taktquelle benutzt werden kann, obwohl der ECL-Takt auch bei niedrigeren Frequenzen benutzt werden kann. Der Dualmodus-Takteingang (ECL/TTL) ist primär ein ECL-Eingang, kann aber als TTL- kompatibler Eingang benutzt werden, falls das Eingangstakt- Auswahlregister so programmmiert ist. Die Taktquelle, die beim Einschalten benutzt wird, ist CLK0, eine alternative Quelle kann durch Software während des normalen Betriebs ausgewählt werden. Dieses ausgewählte Takteingangssignal wird unmodifiziert als der Punkttakt (darstellend eine Pixeirate für den Monitor) benutzt. Die Vorrichtung ermöglicht jedoch, daß der Benutzer eine Programmierung von SCLK- und VCLK-Ausgängen (Verschiebe- und Videotakte) unter Benutzung des Ausgangstakt- Auswahlregisters durchführt. Die Eingangs-/Ausgangstakt- Auswahlregister sind in den Tabellen 3a und 3b gezeigt.The TLC 34075 provides a maximum of 5 clock inputs. Three of these are assigned to TTL inputs. The other two can be selected as either an ECL input or two extra TTL inputs. The TTL inputs can be used for video rates up to 80 MHz, above which an ECL clock source can be used, although the ECL clock can also be used at lower frequencies. The dual mode clock input (ECL/TTL) is primarily an ECL input, but can be used as a TTL compatible input if the input clock select register is so programmed. The clock source used at power up is CLK0, an alternative source can be selected by software during normal operation. This selected clock input signal is used unmodified as the dot clock (representing a pixel rate for the monitor). However, the device allows the user performs programming of SCLK and VCLK outputs (shift and video clocks) using the output clock selection register. The input/output clock selection registers are shown in Tables 3a and 3b.

SCLK ist zum direkten Ansteuern der VRAMs vorgesehen, und VCLK ist zur Arbeit mit den Videosteuersignalen wie BLANK und SYNCs vorgesehen. Obwohl SCLK und VCLK als Universalzweck- Verschiebetakt und -Videotakt vorgesehen sind, können sie auch als mit der TMS340x0-GSP-Familie direkt arbeitend angesehen werden. Somit gibt es, obwohl SCLK und VCLK unabhängig gewählt werden können, noch eine Beziehung zwischen den beiden, wie in der folgenden Beschreibung diskutiert. Diese Systemüberlegung wurde im Design abgedeckt und läßt Benutzern einen maximalen Freiheitsgrad.SCLK is intended to drive the VRAMs directly, and VCLK is intended to work with the video control signals such as BLANK and SYNCs. Although SCLK and VCLK are intended to be a general purpose shift clock and video clock, they can also be considered to work directly with the TMS340x0 GSP family. Thus, although SCLK and VCLK can be chosen independently, there is still a relationship between the two, as discussed in the following description. This system consideration has been covered in the design, allowing users a maximum degree of freedom.

Intern werden sowohl SCLK als auch VCLK aus einem gemeinsamen Taktzähler erzeugt, der an der ansteigenden Flanke des DOTCLK zählt. Wenn VCLK aktiviert ist, ist er in Phase mit SCLK, wie in Figur 33 als Beispiel gezeigt. Tabelle 3a: Eingangstakt-Auswahlregister-FormatBemerkung 1:Internally, both SCLK and VCLK are generated from a common clock counter that counts on the rising edge of DOTCLK. When VCLK is asserted, it is in phase with SCLK, as shown in Figure 33 as an example. Table 3a: Input Clock Select Register FormatNote 1:

Die Registerbits 4, 5 6 und 7 haben "keine Bedeutung"-Zustände Bemerkung 2:Register bits 4, 5, 6 and 7 have "no meaning" states Note 2:

Wenn die Takte von einem modus zum anderen ausgewählt werden,ist ein Minimum von 30 ns nötig, bevor die neuen Takte stabilisiert sind und laufen. Tabelle 3b: Ausgangstakt-Ausgangsregister-FormatBemerkung 1: Die Registerbits 6 und 7 haben "keine Bedeutung"-Zustände Bemerkung 2:When selecting the clocks from one mode to another, a minimum of 30 ns is required before the new clocks are stabilized and running. Table 3b: Output Clock Output Register FormatNote 1: Register bits 6 and 7 have "no meaning" states. Note 2:

Wenn die Takte von einem Modus zum anderen ausgewählt werden, ist ein Minimum von 30 ns erforderlich, bevor die neuen Takte stabilisiert sind und laufen. SCLKWhen the clocks are selected from one mode to another, a minimum of 30 ns is required before the new clocks are stabilized and running. SCLK

Daten werden innerhalb der Vorrichtung beim Anstieg von "LOAD" gespeichert (was im wesentlichen dasselbe wie SCLK ist, aber nicht während einer BLANK-Aktivperiode deaktiviert ist) Deshalb wird SCLK als eine Funktion der Pixel-Busbreite und der Anzahl von Bit-Ebenen eingestellt. SCLK kann als Teiler von 1, 2, 4, 8, 16 oder 32 des Punkttakts ausgewählt werden. Falls SCLK nicht benutzt wird, wird der Ausgang ausgeschaltet und auf L gehalten zum Schutz gegen ein "Verschließen" des VRAM aufgrund ungültiger SCLK-Frequenzen. SCLK wird auch während der BLANK-Aktivperiode auf L gehalten. Der Steuerzeitablauf wurde entworfen, daß die ersten Pixeldaten fertig vom VRAM gebracht werden, wenn BLANK deaktiviert ist und fertig zur Wiedergabe ist. Wenn der Teil-Schieberegisterbetrieb benutzt wird, wird der SCLK auch bei der Arbeit mit dem SSRT-Eingangssignal berücksichtigt.Data is stored within the device at the rise of "LOAD" (which is essentially the same as SCLK, but is not disabled during a BLANK active period) Therefore, SCLK is set as a function of the pixel bus width and the number of bit planes. SCLK can be selected as a divider of 1, 2, 4, 8, 16, or 32 of the dot clock. If SCLK is not used, the output is turned off and held low to protect against "locking" the VRAM due to invalid SCLK frequencies. SCLK is also held low during the BLANK active period. The timing is designed so that the first pixel data is brought out of the VRAM when BLANK is disabled and ready for display. When partial shift register operation is used, SCLK is also taken into account when working with the SSRT input signal.

Die Standardeinstellung, wie sie im Modus 0 benutzt wird, ist 1:1.The default setting, as used in mode 0, is 1:1.

Es wird auf Figur 34 für die folgende Erklärung des Zeitablaufs genommen.Reference is made to Figure 34 for the following explanation of the timing.

Die abfallende Flanke von VCLK wird intern durch TLC34075 zum Abtasten und Halten des Eingangssignals BLANK- benutzt. Wenn BLANK- aktiv wird, wird der SCLK sobald wie möglich deaktiviert. Mit anderen Worten wird, falls der letzte SCLK auf dem H-Pegel ist, während BLANK- auf L ist, dieser SCLK seinen Zyklus auf dem L-Pegel beenden dürfen, und dann wird das SCLK- Signal auf L gehalten werden, bis das abgetastete BLANK- zurück nach H geht, um es wieder zu aktivieren. Das Schieberegister des VRAM wird vorgesehenerweise während Aktivperioden von BLANK- aufgefrischt, und der erste SCLK wird zum Takten der ersten Pixeldaten von dem VRAM benutzt werden. Die interne Pipeline-Verzögerung des Eingangssignals BLANK- ist so entworfen, daß es mit Daten des DAC-Ausgangs an die Monitore ausgerichtet ist. Die oben beschriebene Logik arbeitet mit den Situationen, in denen die SCLK-Periode kürzer ist als, gleich ist wie und länger ist als die VCLK-Periode.The falling edge of VCLK is used internally by TLC34075 to sample and hold the BLANK- input signal. When BLANK- becomes active, SCLK is deactivated as soon as possible. In other words, if the last SCLK is high while BLANK- is low, that SCLK will be allowed to finish its cycle low, and then the SCLK signal will be held low until the sampled BLANK- goes back high to activate it again. The VRAM's shift register will be refreshed during BLANK- active periods, and the first SCLK will be used to clock the first pixel data from the VRAM. The internal pipeline delay of the BLANK- input signal is designed to align with data from the DAC output to the monitors. The logic described above works with the situations where the SCLK period is shorter than, equal to and longer than the VCLK period.

Figur 37 zeigt den Fall, wenn die SSRT (Teil- Schieberegister- Transfer-Funktion) aktiviert ist. Ein SCLK mit einem minimalen 15-ns-Impuls wird von der ansteigenden Flanke des SFLAG- Eingangssignals mit spezifizierter Verzögerung erzeugt. Dies ist so entworfen, daß das Erfordernis des VRAM-Zeitablauf erfüllt ist, und dieser SCLK wird den ersten SCLK im Fall des regulären Schieberegister-Transfers, wie oben beschrieben, ersetzen. Für die detaillierte Erklärung der SSRT-Funktion sei auf das Folgende verwiesen. VCLKFigure 37 shows the case when the SSRT (Partial Shift Register Transfer Function) is enabled. A SCLK with a minimum 15 ns pulse is generated from the rising edge of the SFLAG input signal with specified delay. This is designed to meet the VRAM timing requirement and this SCLK will replace the first SCLK in the case of regular shift register transfer as described above. For the detailed explanation of the SSRT function, refer to the following. VCLK

VCLK kann als Teiler von 2, 4, 8 oder 16 des Punkttakts ausgewählt werden und kann auch auflogisch "1" gehalten werden. Die Standardeinstellung ist VCLK bei logisch "1" gehalten, da es nicht in den VGA-Durchgangsmodus benutzt wird. VCLK wird hauptsächlich zum Erzeugen der Steuersignale (BLANK-, HSYNC- UND VSYNC-) durch den GSP oder bestimmte kundenentworfene Steuerlogik benutzt. Wie aus Figuren 34-37 ersichtlich ist, muß VCLK aktiviert werden, da die Steuersignale durch VCLK abgetastet werden.VCLK can be selected as a divider of 2, 4, 8 or 16 of the dot clock and can also be held at logic "1". The default is to hold VCLK at logic "1" since it is not used in VGA pass-through mode. VCLK is mainly used to generate the control signals (BLANK, HSYNC, AND VSYNC) by the GSP or certain customer designed control logic. As can be seen from Figures 34-37, VCLK must be enabled because the control signals are sampled by VCLK.

Figur 34 zeigt: SCLK/VCLK-Steuerzeittabläufe (wenn SSRT deaktiviert ist, ist SCLK-Frequenz = VCLK-Frequenz)Figure 34 shows: SCLK/VCLK control timings (if SSRT is disabled, SCLK frequency = VCLK frequency)

Entweder ist die SSRT-Funktion deaktiviert (allgemeines Steuerregister-Bit2 = 0) oder der SFLAG-Eingang ist auf L, falls die SSRT-Funktion deaktiviert ist (allg. Steuerreg.-Bit 2 = 1). (SCLK-Frequenz = VCLK-Frequenz) SCLK/VCLK und TMS340x0Either the SSRT function is disabled (general control register bit 2 = 0) or the SFLAG input is low if the SSRT function is disabled (general control register bit 2 = 1). (SCLK frequency = VCLK frequency) SCLK/VCLK and TMS340x0

Obwohl der SCLK und VCLK des TLC34075 für alle Graphiksysteme entworfen sind, sind sie auch mit TMS340x0- Graphiksystemprozessoren eng verkoppelt. Alle Zeitabläufe, die beim TMS340x0 arbeiten, sind berücksichtigt worden. Es gibt einige wenige Punkte, die zur Bequemlichkeit der Benutzeranwendungen erklärt werden müssen. VCLKAlthough the SCLK and VCLK of the TLC34075 are designed for all graphics systems, they are also tightly coupled with TMS340x0 graphics system processors. All timings that work on the TMS340x0 have been taken into account. There are a few points that need to be explained for the convenience of user applications. VCLK

Alle Steuersignale (BLANK-, HSYNC- und VSYNC-) in TNS340x0 werden aus der abfallenden Flanke des VCLK getriggert und erzeugt. Die Tatsache, daß der TLC34075 die abfallende Flanke zum Abtasten und Halten des Eingangssignals BLANK- benutzt, wird den Benutzern einen maximalen Freiheitsgrad beim Wählen der Frequenz von VCLK und Verbinden vom TLC34075 mit dem 340x0GSP ohne Verbindungslogik geben. Die minimale VCLK- Frequenz ist länger ausgewählt als die maximale VCLK-Periode, die durch den TNS340x0 erforderlich ist.All control signals (BLANK-, HSYNC- and VSYNC-) in TNS340x0 are triggered and generated from the falling edge of VCLK. The fact that TLC34075 uses the falling edge to sample and hold the input signal BLANK- will give users maximum freedom in selecting the frequency of VCLK and connecting TLC34075 to 340x0GSP without any connection logic. The minimum VCLK frequency is selected to be longer than the maximum VCLK period required by TNS340x0.

Beim TMS340x0 erstellt die gleiche abfallende Flanke des VCLK, die BLANK- erzeugt, auch eine Anforderung für ein Schirmauffrischen zur gleichen Zeit. Falls die VCLK-Periode länger ausgewählt worden ist als 16TQ's (TQ ist die Periode von TMS340xCLKIN), ist es möglich, daß der letzte SCLK fälschlicher Weise zum Transferieren der VRAM-Daten vom Speicher zum Schieberegister mit dem letzten Pixeltransfer benutzt werden könnte. Der erste SCLK für die nächste Scan-Zeile wird dann die Pixeldaten aus der Leitung verschieben, und der Schirm wird fälschlicher Weise mit dem zweiten Pixel anfangen. SCLK und SFLAGOn the TMS340x0, the same falling edge of the VCLK that generates BLANK- also creates a request for a screen refresh at the same time. If the VCLK period has been selected to be longer than 16TQ's (TQ is the period of TMS340xCLKIN), it is possible that the last SCLK could be mistakenly used to transfer the VRAM data from memory to the shift register with the last pixel transfer. The first SCLK for the next scan line will then shift the pixel data off the line, and the screen will mistakenly start at the second pixel. SCLK and SFLAG

SCLK arbeitet gut mit dem "current-10" und langsameren VRAMs. In der Situation des Teil-Schieberegister-Transfers wird ein SCLK zwischen dem regulären Schieberegister-Transfer und dem Teil-Schieberegister-Transfer erzeugt, um den geeigneten Betrieb zu gewährleisten. SFLAG ist zu diesem Zwecke vorgesehen. SFLAG kann aus einem PAL erzeugt werden und durch die ansteigende Flanke des Signals TR-/QE- getriggert werden, oder die ansteigende Flanke des Signals RAS- des ersten regulären Schieberegister-Transferzyklus TR-/QE- kann benutzt werden, falls die minimale Verzögerungszeit des VRAM, nämlich TRG- auf H bis zu SCLK auf H, durch die PAL-Verzögerung erfüllt werden kann, andererseits kann RAS- benutzt werden. Multiplex-SchemaSCLK works well with the "current-10" and slower VRAMs. In the situation of partial shift register transfer, a SCLK is generated between the regular shift register transfer and the partial shift register transfer to ensure the appropriate operation. SFLAG is provided for this purpose. SFLAG can be generated from a PAL and triggered by the rising edge of the TR-/QE- signal, or the rising edge of the RAS- signal of the first regular shift register transfer cycle TR-/QE- can be used if the minimum delay time of the VRAM, namely TRG- to H until SCLK to H, can be satisfied by the PAL delay, otherwise RAS- can be used. Multiplexing Scheme

Der TLC34075 bietet ein sehr vielseitiges Multiplex-Schema, wie in Tabelle 4 und 5 gezeigt. Die Benutzung des Auf-Chip- Muliplexens ermöglicht, daß das System auf den Betrag vom verfügbaren RAM umkonfiguiert wird, beispielsweise, falls nur 256K-Byte im Speicher verfügbar wären, könnte ein 800x600 Modus mit vier Bit-Ebenen unter Benutzung eines 8-Bit-breiten Pixel- Busses implementiert werden. Falls zu einem späteren Zeitpunkt 256K-Byte zu weiteren 8-Bit des Pixel-Busses hinzugefügt würden, könnte der Benutzer die Option der Benutzung von 8-Bit- Ebenen unter derselben Auflösung oder 4-Bit-Ebenen unter einer 1024x768-Auflösung haben. Wenn weitere 512K-Byte zu den 16 übrigen Bits des Pixel-Busses hinzugefügt würden, könnte der Benutzer die Option von 8-Bit-Ebenen mit 1024x768 oder 4-Bit- Ebenen mit 1280x1024 haben. All das obige könnte ohne jegliche Hardwaremodifikation und ohne jegliche Erhöhung der Geschwindigkeit des Pixel-Busses erzielt werden.The TLC34075 offers a very versatile multiplexing scheme, as shown in Tables 4 and 5. Using on-chip multiplexing allows the system to be reconfigured to the amount of RAM available, for example, if only 256K bytes of memory were available, an 800x600 mode with four bit planes using an 8-bit wide pixel bus. If at a later date 256K bytes were added to an additional 8 bits of the pixel bus, the user could have the option of using 8-bit planes at the same resolution or 4-bit planes at a 1024x768 resolution. If an additional 512K bytes were added to the remaining 16 bits of the pixel bus, the user could have the option of 8-bit planes at 1024x768 or 4-bit planes at 1280x1024. All of the above could be achieved without any hardware modification and without any increase in the speed of the pixel bus.

Der Eingangs-MUX kann Daten mit einer Frequenz von 80 MHz annehmen. Dies gilt für alle Modi einschließlich des VGA- Durchgangsmodus. VGA-DurchgangsmodusThe input MUX can accept data at a frequency of 80 MHz. This applies to all modes including VGA pass-through mode. VGA pass-through mode

Der Modus 0 ist der VGA-Durchgangsmodus und wird zum Emulieren der VGA-Modi der meisten Personalcomputer benutzt. Der Vorteil diese Modus ist es, daß er Daten aufnehmen kann, die auf dem Zusatzstecker der meisten VGA-kompatiblen PC-Systeme auf einem separaten Bus geliefert in die Vorrichtung werden, um somit kein externes Multiplexen zu erfordern. Dieses Merkmal ist insbesondere bei Sytemen nützlich, bei denen die existierende Graphikschaltungsanordnung auf der Hauptplatine liegt; in diesem Fall ermöglicht es ein Weglassen der zu implementierenden Graphikkarte, was eine Kompatibilität mit sämtlicher existierender Software durch die Benutzung der "Auf- Platine"-VGA-Schaltungsanordnung, aber Leiten der hervorgehenden Bit-Ebenen-Daten durch den TLC34075 aufrechterhalten wird. Dies ist der Standardmodus beim Einschalten. Wenn dieser VGA-Durchgangsmodus nach dem Einschalten ausgewählt wird, werden das Taktauswahlregister, das allgemeine Steuerregister und das Pixellesemaskenregister auch wie die Einschalt-Standardzustände automatisch eingestellt werden.Mode 0 is the VGA pass-through mode and is used to emulate the VGA modes of most personal computers. The advantage of this mode is that it can accept data supplied to the device on the auxiliary connector of most VGA compatible PC systems on a separate bus, thus not requiring external multiplexing. This feature is particularly useful in systems where the existing graphics circuitry is on the motherboard; in this case it allows the graphics card to be omitted, maintaining compatibility with all existing software by using the "on-board" VGA circuitry but passing the resulting bit-level data through the TLC34075. This is the default mode at power-up. When this VGA pass-through mode is selected after power-up, the clock select register, general control register and pixel read mask register also how the power-on default states are set automatically.

Da dieser Modus mit der Zusatzstecker-Philosophie entworfen ist, bezieht sich der gesamte Zeitablauf auf CLK0, der als Standard für den VGA-Durchgangsmodus benutzt wird, während für alle weiteren normalen Modi CLK0-3 gerade die OSC-Quellen zum Erzeugen von DOTCLK, VCLK und SCLK sind, wobei der gesamte Daten- und Steuer-Zeitablauf anstattdessen auf SCLK bezogen ist. MultiplexmodiSince this mode is designed with the extra connector philosophy, all timing is referenced to CLK0, which is used as the default for VGA pass-through mode, while for all other normal modes CLK0-3 are just the OSC sources for generating DOTCLK, VCLK and SCLK, with all data and control timing being referenced to SCLK instead. Multiplexed modes

Außer dem VGA-Durchgangsmodus gibt es 4 verfügbare Multiplexmodi, welche alle in der Beschreibung als NORMAL-Modus bezeichnet werden. Bei jedem Modus kann eine Pixel-Busbreite von 8, 16 oder 32 Bits benutzt werden. Die Modi 1, 2 und 3 unterstützen zusätzlich eine Pixel-Busbreite von 4 Bits. Die Daten sollten stets auf den höchstwertigen Bits des Pixel- Busses geliefert werden. D.h. wenn 16 Bits benutzt werden, werden die Daten auf P31-P16 geliefert, 8 Bits auf P31-P24 und 4 Bits P31-P28. Alle unbenutzten PBUS-Anschlüsse müssen mit GND verbunden werden.In addition to the VGA pass-through mode, there are 4 available multiplexing modes, all of which are referred to as NORMAL mode in the description. In each mode, a pixel bus width of 8, 16 or 32 bits can be used. Modes 1, 2 and 3 additionally support a pixel bus width of 4 bits. The data should always be delivered on the most significant bits of the pixel bus. This means that if 16 bits are used, the data is delivered on P31-P16, 8 bits on P31-P24 and 4 bits on P31-P28. All unused PBUS pins must be connected to GND.

Der Modus 1 benutzt eine Einzelbit-Ebene zum Adressieren der Farbpalette. Das Pixelportbit wird in Bit 0 der Palettenadresse eingegeben, wobei die 7 Bits mit einer höherwertigen Adresse durch das Palettenseitenregister definiert sind. Dieser Modus hat Anwendungen in Hochauflösungs-Monochromanwendungen, wie z.B. Desktop Publishing. Dieser Modus ermöglicht den Maximalbetrag des Multiplexens mit einem 32:1 Verhältnis, um somit eine Pixel-Busrate von nur 4 MHz unter einer Schirmauflösung von 1280x1024 zu liefern. Obwohl nur ein einzelnes Bit benutzt wird, würde eine Anderung des Palettenseitenregisters unter der Zeilenfrequenz ermöglichen, daß 256 verschiedene Farben gleichzeitig mit zwei Farben pro Zeile angezeigt werden.Mode 1 uses a single bit plane to address the color palette. The pixel port bit is entered in bit 0 of the palette address, with the 7 bits of high order address defined by the palette page register. This mode has applications in high resolution monochrome applications such as desktop publishing. This mode allows the maximum amount of multiplexing with a 32:1 ratio, thus providing a pixel bus rate of only 4 MHz under a screen resolution of 1280x1024. Although only a single bit is used, changing the palette page register below the line frequency would allow that 256 different colors are displayed simultaneously with two colors per line.

Der Modus 2 benutzt 2-Bit-Ebenen zum Adressieren der Farbpalette. Diese zwei Bits werden in die Adressbits niedrigerer Wertigkeit der Palette eingegeben, wobei die 6 Adressbits höherer Wertigkeit durch das Palettenseitenregister definiert werden. Dieser Modus ermöglicht ein maximales Teilerverhältnis von 16:1 auf dem Pixel-Bus und ist im wesentlichen eine Vierfarb-Alternative zum Modus 1.Mode 2 uses 2-bit planes to address the color palette. These two bits are input to the lower order address bits of the palette, with the 6 higher order address bits defined by the palette page register. This mode allows a maximum divider ratio of 16:1 on the pixel bus and is essentially a four-color alternative to Mode 1.

Der Modus 3 benutzt 4-Bit-Ebenen zum Adressieren der Farbpalette. Die vier Bits werden in die Adressbits niedriger Wertigkeit der Palette eingegeben, wobei die 4 Adressbits höherer Wertigkeit durch das Palettenseitenregister definiert sind. Dieser Modus liefert 16 Seiten von 16 Farben und kann bei SCLK-Teilungsverhältnissen von /1 bis /8 benutzt werden.Mode 3 uses 4-bit planes to address the color palette. The four bits are entered into the low-order address bits of the palette, with the 4 high-order address bits defined by the palette page register. This mode provides 16 pages of 16 colors and can be used with SCLK division ratios from /1 to /8.

Der Modus 4 benutzt 8-Bit-Ebenen zum Adressieren der Farbpalette. Da alle 8 Bits der Palettenadresse vom Pixelport spezifiziert werden, wird das Seitenregister nicht benutzt. Dieser Modus ermöglicht Punkttakt-zu-SCLK-Verhältnisse von 1:1 (8-Bit-Bus), 2:1 (16-Bit-Bus) oder 4:1 (32-Bit-Bus). Deshalb kann bei einer 32-Bit-Konfiguration ein 1024x768 Pixel-Schirm mit einer externen Datenrate von nur 16 MHz implementiert werden. RealfarbmodusMode 4 uses 8-bit planes to address the color palette. Since all 8 bits of the palette address are specified by the pixel port, the page register is not used. This mode allows dot clock to SCLK ratios of 1:1 (8-bit bus), 2:1 (16-bit bus), or 4:1 (32-bit bus). Therefore, in a 32-bit configuration, a 1024x768 pixel screen can be implemented with an external data rate of only 16 MHz. Real color mode

Der Modus 5 ist ein Realfarbmodus, bei dem 24 Bits an Daten von dem Pixelport in direkter Weise an die DACs transferiert werden, jedoch mit demselben Betrag an Pipeline-Verzögerung wie die Überlagerungsdaten und die Steuersignale (BLANK- und SYNCs). Bei diesem Modus ist eine Überlagerung unter Benutzung der restlichen 8 Bits des Pixel-Busses zum Adressieren des Paletten-RAM vorgesehen, was in einem 24-Bit-RAM-Ausgangssignal resultiert, das dann als Überlagerungsinformation für die DACs benutzt wird. Wenn alle Überlagerungseingänge (P7-P0) auf logisch 0 sind, wird keine Überlagerungsinformation angezeigt, wohingegen, wenn ein von Null verschiedener Wert eingegeben wird, der Farbpaletten-RAM adressiert wird und die resultierenden Daten dann über die DACs mit Erhalt von Priorität über die Realfarbdaten eingegeben werden.Mode 5 is a real color mode where 24 bits of data from the pixel port are transferred directly to the DACs, but with the same amount of pipeline delay as the overlay data and the control signals (BLANK and SYNCs). In this mode, overlay is possible using the remaining 8 bits of the pixel bus to address the Palette RAM is provided, resulting in a 24-bit RAM output signal which is then used as overlay information for the DACs. If all overlay inputs (P7-P0) are at logic 0, no overlay information is displayed, whereas if a non-zero value is entered, the color palette RAM is addressed and the resulting data is then input via the DACs with priority over the real color data.

Die Realfarbmodus-Dateneingabe arbeitet im 8-Bit-Modus. Mit anderen Worten können, falls nur 6 Bits benutzt werden, die zwei MSB-Eingänge für jede Farbe auf GND gelegt werden. Jedoch ist die Palette, welche durch dieses Überlagerungseingangssignal benutzt wird, noch durch den 8/6-Eingangsanschluß beherrscht, und der Ausgangs-MUX wird dementsprechend 8-Bit- Daten oder 6-Bit-Daten auswählen.The real color mode data input operates in 8-bit mode. In other words, if only 6 bits are used, the two MSB inputs for each color can be tied to GND. However, the palette used by this overlay input signal is still governed by the 8/6 input terminal, and the output MUX will select 8-bit data or 6-bit data accordingly.

Für die durchgelassenen Farben lassen P8-P15 ROT-Daten durch, P16-P23 lassen GRÜN-Daten durch, und P24-P31 lassen BLAU-Daten durch. Spezieller NibblemodusFor the colors passed, P8-P15 pass RED data, P16-P23 pass GREEN data, and P24-P31 pass BLUE data. Special nibble mode

Modus 6 ist ein spezieller Nibblemodus, der aktiviert ist, wenn im allgemeinen Steuerregister das SNM-Bit (Bit 3) gesetzt ist und das SSRT-Bit (Bit 2) rückgesetzt ist. Wenn der spezielle Nibblemodus aktiviert ist, wird die MUX-Steuerregister- Einstellung ignoriert, und er erhält den Vorrang über die weiteren Modi. Die SFLAG/NFLAG-Eingangssignale werden dann als Nibbleflag zum Anzeigen, welcher Nibble von jedem Byte die Pixeldaten hält, benutzt. Konzeptuell initiiert dieser spezielle Nibblemodus eine zusätzliche Realisierung des 4-Bit- Pixelmodus mit einer 16-Bit-Busbreite (während alle 32 Eingänge P0-P31 als 4 Bytes verbunden sind), aber in diesem Fall findet man den 16-Bit-Datenbus auf dem unteren/oberen Nibble von jedem der vier Bytes. Dies wird später weiter beschrieben werden. Da dieser Modus 4-Bit-Ebenen für jeden Pixel benutzt, werden sie in die Adressbits niedriger Wertigkeit der Palette eingegeben, wobei die 4 Adressbits höherer Wertigkeit durch das Palettenseitenregister definiert werden. MultiplexsteuerregisterMode 6 is a special nibble mode that is enabled when the SNM bit (bit 3) is set and the SSRT bit (bit 2) is reset in the general control register. When the special nibble mode is enabled, the MUX control register setting is ignored and it takes precedence over the other modes. The SFLAG/NFLAG input signals are then used as a nibble flag to indicate which nibble of each byte holds the pixel data. Conceptually, this special nibble mode initiates an additional implementation of the 4-bit pixel mode with a 16-bit bus width (while all 32 inputs P0-P31 are connected as 4 bytes), but in this case the 16-bit data bus is found on the lower/upper nibble of each of the four bytes. This will be described further later. Since this mode uses 4-bit planes for each pixel, they are entered into the low-order address bits of the palette, with the 4 high-order address bits defined by the palette page register. Multiplex Control Register

Der Multiplexer wird über ein 8-Bit-Register im Registerplan (siehe Tabelle 1) gesteuert. Die Bitfelder des Registers sind folgende: Tabelle 4: Modus- und Busbreiten-AuswahlBemerkung 1: PDie Registerbits 6 & 7 haben "keine Bedeutung"- Zustände Bemerkung 2:The multiplexer is controlled by an 8-bit register in the register map (see Table 1). The bit fields of the register are as follows: Table 4: Mode and bus width selectionNote 1: Register bits 6 & 7 have "no meaning" states Note 2:

"Datenbits pro Pixel" ist die Anzahl von Bits der Pixelport-Information, die als Farbdaten für jeden wiedergegebenen Pixel benutzt wird, oft als Anzahl an Bitebenen bezeichnet. Dies können Farbpaletten-Adressdaten (Modi 0 - 4, 6) oder DAC-Daten (Modus 5) sein. Bemerkung 3:"Data bits per pixel" is the number of bits of pixel port information used as color data for each pixel displayed, often referred to as the number of bit planes. This can be color palette address data (modes 0 - 4, 6) or DAC data (mode 5). Note 3:

"SCLK-Teilungsverhältnis" ist die Zahl, die für das Ausgangstakt-Auswahlregister benutzt wird, und sie zeigt die Pixel pro Buslast, was die Anzahl von Pixeln ist, die von jedem SCLK erzeugt wird, beispielsweise mit einem 32 Bit- Pixel-Bus und 8-Bit-Ebenen werden 4 Pixel bei jeder Buslast (oder SCLK) erzeugt. Bemerkung 4:"SCLK division ratio" is the number used for the output clock select register, and it indicates the pixels per bus load, which is the number of pixels generated by each SCLK, for example, with a 32-bit pixel bus and 8-bit planes, 4 pixels are generated at each bus load (or SCLK). Note 4:

Eine Überlagerung ist im Realfarbmodus mit den restlichen 8 Bit des Pixel-Busses implementiert. Bemerkung 5:An overlay is implemented in real color mode with the remaining 8 bits of the pixel bus. Note 5:

Normalerweise gleicht die "physikalische Verbindung" des Pixel-Busses der "Pixelbusbreite". Die einzige Ausnahme ist der spezielle Nibblemodus. Man nehme für weitere Details Bezug auf Tabelle 5 und Abschnitt 1.9.Normally, the "physical connection" of the pixel bus is equal to the "pixel bus width". The only exception is the special nibble mode. Refer to Table 5 and Section 1.9 for further details.

Bemerkung 6:Note 6:

Diese Spalte ist eine Referenz zu einer Spalte von Tabelle 5, wo die tatsächliche Manipulation der Pixelinformation gezeigt ist. Siehe unten.This column is a reference to a column of Table 5 where the actual manipulation of the pixel information is shown. See below.

Tabelle 4 ist zur Eingangs-MUX-Steuerung entworfen. Dennoch sieht sie ein "SCLK-Teilungsverhältnis" vor, daß zur Eingangs- MUX-Steuerung benutzt wird und auch zur Benutzerinformation vorgesehen ist. Das SCLK-Ausgangssignal hängt von den im Ausgangstakt-Auswahlregister programmierten Bits, wie in Tabelle 3b gezeigt, ab.Table 4 is designed for input MUX control. However, it provides a "SCLK division ratio" that is used for input MUX control and also for user information The SCLK output signal depends on the bits programmed in the output clock selection register, as shown in Table 3b.

Die Benutzung von Pixel- und Überlagerungs-Bussen in den obigen Operationsmodi ist in Tabelle 5 gezeigt. Die Tabelle zeigt, welche Daten aus der Pixelinformation bei jeder Stufe extrahiert werden. Der Betrieb ist an eine Spalte der Tabelle (siehe Referenz von Tabelle 4) gebunden. Bei jedem ansteigenden SCLK werden Daten intern vom Pixeleingangsport gehalten, und dies initiiert auch die erste Reihe von Tabelle 5. Aufeinanderfolgende Reihen werden bei jedem Pixeltakt ausgeführt. Wenn einmal die Spalte vervollständigt ist, wird der SCLK eine weitere Buslast aktivieren und daher die Spalte wiederholen. Tabelle 5: Portdaten für Pixelverteilung. (2) Bemerkung 1:The use of pixel and overlay buses in the above modes of operation is shown in Table 5. The table shows what data is extracted from the pixel information at each stage. The operation is tied to a column of the table (see reference of Table 4). On each rising SCLK, data is latched internally from the pixel input port and this also initiates the first row of Table 5. Successive rows are executed on each pixel clock. Once the column is completed, the SCLK will assert another bus load and therefore repeat the column. Table 5: Port data for pixel distribution. (2) Note 1:

In diesem Betriebsmodus werden die Portanschlüsse P0...P7 zum Erzeugen von Überlagerungsdaten benutzt. Dieser Betrieb kann entweder durch Erden der Pixeleingänge P0...P7 oder durch Deaktivieren der Lesemaske deaktiviert werden. Für die durchgelassenen Farben werden P8...P15 zum ROT-DAC, P16...P23 zum GRÜN-DAC und P24...P21 zum BLAU-DAC durchgelassen. Bemerkung 2:In this mode of operation, the ports P0...P7 are used to generate overlay data. This operation can be disabled either by grounding the pixel inputs P0...P7 or by disabling the read mask. For the passed colors, P8...P15 are passed to the RED DAC, P16...P23 to the GREEN DAC and P24...P21 to the BLUE DAC. Note 2:

Die untere Zahl ist das LSB und die obere Zahl ist das MSB. Beispielsweise bei der Konfiguration o (MUX-Steuerregister = 1D (HEX)) ist P8 das LSB, und P15 ist das MSB im zweiten Kanal, und zum Adressieren des Paletten-RAM- Ortes 21 (HEX) müssen P8 und P13 auf H sein. Die Eingangsdaten werden von den niedrig-numerierten Kanälen zu den hoch-numerierten Kanälen abgetastet. Beispielsweise werden, falls die Konfiguration p programmiert ist (MUX- Auswahlregister = 1E (HEX)), die Kanäle P0...P7 zunächst abgetastet, gefolgt von P8...P15, P16...P23, und der letzte abgetastete Kanal wird P24...P31 sein. Dieselbe Regel gilt für VGA0-7.The lower number is the LSB and the upper number is the MSB. For example, in configuration o (MUX control register = 1D (HEX)), P8 is the LSB and P15 is the MSB in the second channel, and to address palette RAM location 21 (HEX), P8 and P13 must be high. The input data is scanned from the low-numbered channels to the high-numbered channels. For example, if configuration p is programmed (MUX select register = 1E (HEX)), channels P0...P7 are scanned first, followed by P8...P15, P16...P23, and the last channel scanned will be P24...P31. The same rule applies for VGA0-7.

Als ein Beispiel der Benutzung von Tabelle 4 und 5 sollte, falls der Benutzer ein System mit 8 Datenbits pro Pixel und die Benutzung einer SCLK-Rate, die so niedrig wie möglich ist, entwerfen möchte, die maximale Pixel-Busbreite, die 32 ist, dann ausgewählt werden, und das SCLK-Teilungsverhältnis kann dann /4 vom DOTCLK sein. Aus Tabelle 4 wissen wir, daß wir lE (HEX) in das MUX-Steuerregister schreiben sollten. Wir finden dann heraus, daß die Konfiguration p in Tabelle 5 benutzt werden sollte, die uns sagt, daß P0...P7 mit der frühest angezeigten Pixelebene verbunden werden sollten, gefolgt durch P8...P15, P16...P23 und dann P24...P31 als der am spätesten angezeigten Pixelebene. Zum Einstellen von SCLK muß das Ausgangstakt-Auswahlregister auch programmiert werden. In diesem Fall sollte 12 (HEX) (unter der Annahme, daß auch SCLK als DOTCLK/4 programmiert ist) benutzt werden. Es gibt eine weitere zu prüfende Tatsache, nämlich eine Versicherung, daß der spezielle Nibblemodus deaktiviert ist.As an example of using Tables 4 and 5, if the user wants to design a system with 8 data bits per pixel and use as low an SCLK rate as possible, the maximum pixel bus width, which is 32, should then be selected and the SCLK division ratio can then be /4 of the DOTCLK. From Table 4 we know that we should write lE (HEX) into the MUX control register. We then find that the configuration p in Table 5 should be used, which tells us that P0...P7 should be connected to the earliest displayed pixel plane, followed by P8...P15, P16...P23 and then P24...P31 as the latest displayed pixel plane. To set SCLK, the output clock selection register must also be programmed. In this case, 12 (HEX) should be used (assuming that SCLK is also programmed as DOTCLK/4). There is one more fact to check, namely an assurance that the special nibble mode is disabled.

Wenn das MUX-Steuerregister mit 2D(HEX) geladen ist, ist es ein VGA-Modus, und der TLC34075 geht in seinen Standardzustand, welcher derselbe wie beim Einschalten ist. Hinsichtlich weiterer Details sei auf die Beschreibung des Zurücksetzens Bezug genommen. LesemaskierungWhen the MUX control register is loaded with 2D(HEX), it is a VGA mode and the TLC34075 goes to its default state, which is the same as when it was powered on. For further details, refer to the reset description. Read Masking

Das Lesemaskenregister wird zum Aktivieren oder Deaktivieren einer Bit-Ebene vom Adressieren des Farbpaletten-RAM benutzt. Jedes Palettenadressbit wird mit dem entsprechenden Bit vom Lesemaskenregister logisch UND-verkoppelt, bevor die Palette adressiert wird.The read mask register is used to enable or disable a bit level from addressing the color palette RAM. Each palette address bit is logically ANDed with the corresponding bit from the read mask register before the palette is addressed.

Diese Funktion wird nach der Hinzufügung der Seitenregisterbits ausgeführt, und deshalb wird ein auf Null Setzen der UND-MaskeThis function is executed after the page register bits are added, and therefore setting the AND mask to zero

in einem einzigartigen Palettenort resultieren und wird nicht durch Zugriffe auf das Palettenseitenregister beeinflußt werden. Rücksetzenresult in a unique palette location and will not be affected by accesses to the palette page register. Reset

Es gibt 3 Wege, den TLC34075 rückzusetzen:There are 3 ways to reset the TLC34075:

A. Einschalt-RücksetzenA. Power-on reset

B. Hardware-RücksetzenB. Hardware reset

C. Software-Rücksetzen Einschalt-RücksetzenC. Software reset Power-on reset

Es gibt eine POR(Einschalt-Rücksetz-)-Logik, die in den TLC34075 eingebaut ist. Diese POR arbeitet nur beim Einschalten des Stroms Jedoch wird noch empfohlen, die Hardeware- Rücksetzschaltung so zu einzustellen, daß die Rücksetzbedingung beim Einschalten des Stroms, wie nachstehend beschrieben, gewährleistet ist.There is a POR (Power-On Reset) logic built into the TLC34075. This POR only operates when the power is turned on. However, it is still recommended to set the hardware reset circuit to ensure the reset condition when the power is turned on, as described below.

Wenn die Spannung einmal stabilisiert ist, ist für alle Register die Standarübedingung der VGA-Modus. Hardware-RücksetzenOnce the voltage is stabilized, the default condition for all registers is VGA mode. Hardware reset

Jedesmal wenn Benutzer in das "Rücksetzzustand"-Register [RS3-0 = 1111 (binär)] schreibt, wird der geschriebene Wert ignoriert, aber der TLC34075 wird zurückgesetzt. Der TLC34075 wird durch jede "WR"-Anstiegsflanke rückgesetzt, solange das RS3-0 1111 (Binärwert) enthält. Je mehr "WR"-Flanken, desto zuverlässiger wird der TLC34075 zurückgesetzt. Dieses Schema bringt "WR"- Strobes, bis die Stromversorgung stabilisiert ist, und ist beim Einschalten der Stromversorgung, falls die Hardware- Rücksetzstruktur benutzt wird, empfohlen.Every time user writes to the "Reset State" register [RS3-0 = 1111 (binary)], the written value is ignored, but the TLC34075 is reset. The TLC34075 is reset by any "WR" rising edge as long as the RS3-0 contains 1111 (binary value). The more "WR" edges, the more reliably the TLC34075 is reset. This scheme provides "WR" strobes until the power supply is stabilized, and is Turning on the power if the hardware reset structure is used is recommended.

Die Standard-Rücksetzbedingungen für den VGA-Modus und die Werte für jedes Register sind nachstehend gezeigt. Software-RücksetzenThe default reset conditions for VGA mode and the values for each register are shown below. Software reset

Jedesmal wenn das MUX-Steuerregister den VGA-Modus nach dem Einschalten der Stromversorgung wählt, werden alle Register dementsprechend initialisiert. Da der VGA-Modus die Standardbedingung beim Einschalten der Stromversorgung und beim Hardware-Rücksetzen ist, wird die VGA-Modus-Auswahl im MUX- Steuerregister natürlicher Weise als Software-Rücksetzen angesehen. Somit wird, jedesmal wenn das MUX-Steuerregister 2D (HEX) als Eingangssignal erhält, der TLC34075 ein Software- Rücksetzen initiieren. VGA-StandarübedingungenEvery time the MUX control register selects VGA mode after power up, all registers are initialized accordingly. Since VGA mode is the default condition at power up and hardware reset, the VGA mode selection in the MUX control register is naturally considered a software reset. Thus, every time the MUX control register receives 2D (HEX) as an input, the TLC34075 will initiate a software reset. VGA Default Conditions

Die Bedingung für jedes Register nach dem Rücksetzen ist nachfolgend gezeigt:The condition for each register after reset is shown below:

MUK-Steuerregister 2D (HEX)MUK control register 2D (HEX)

Eingangstakt-Auswahlregister 00 (HEX)Input clock selection register 00 (HEX)

Ausgangstakt-Auswahlregister 3F (HEX)Output clock selection register 3F (HEX)

Palettenseitenregister 00 (HEX)Pallet side register 00 (HEX)

Allgemeines Steuerregister 13 (HEX)General Tax Register 13 (HEX)

Pixel-Lesemaskenregister FF (HEX)Pixel Read Mask Register FF (HEX)

Paletten-Adressregister xx (HEX)Pallet address register xx (HEX)

Paletten-Halteregister xx (HEX)Pallet holding register xx (HEX)

Testregister (zeigt auf den Farbpaletten-Rotwert) Bildpuffer-SchnittstelleTest register (points to the color palette red value) Image buffer interface

Der TLC34075 erzeugt zwei Taktsignale zum Steuern der Bildpuffer-Schnittstelle: SCLK und VCLK. SCLK zum Takten von Daten direkt aus den VRAM-Schieberegistern kann benutzt werden. Die Teil-Schieberegister-Transferfunktion wird auch unterstützt. VCLK wird zum Takten und Synchronisieren der Steuersignale wie HSYNC-, VSYNC- und BLANK- benutzt.The TLC34075 generates two clock signals to control the frame buffer interface: SCLK and VCLK. SCLK can be used to clock data directly from the VRAM shift registers. The partial shift register transfer function is also supported. VCLK is used to clock and synchronize the control signals such as HSYNC, VSYNC and BLANK.

Die an den Eingängen gelieferten Pixeldaten werden im Normalmodus an der Anstiegsflanke von SCLK gehalten, oder im VGA-Modus an der Anstiegsflanke von CLK0. Steuersignale HSYNC-, VSYNC- und BLANK- werden im Normalmodus an der abfallenden Flanke des VCLK abgetastet und gehalten, während HSYNC-, VSYNC- und VGABLANK- an der Anstiegsflanke von CLK0 gehalten werden. Sowohl Daten- als auch Steuersignale werden an den DAC- Ausgängen an die Monitore über eine interne Pipeline- Verzögerung aufgereiht.The pixel data supplied to the inputs is latched on the rising edge of SCLK in Normal mode, or on the rising edge of CLK0 in VGA mode. Control signals HSYNC-, VSYNC- and BLANK- are sampled and latched on the falling edge of VCLK in Normal mode, while HSYNC-, VSYNC- and VGABLANK- are latched on the rising edge of CLK0. Both data and control signals are queued at the DAC outputs to the monitors via an internal pipeline delay.

Die Ausgänge der DACs sind in der Lage, direkt eine 37,5Ω-Last wie im Fall eines doppelt abgeschlossenen 75Ω-Kabels anzusteuern, siehe Figuren 38 und 37. Analogausgang-SpezifikationThe outputs of the DACs are capable of directly driving a 37.5Ω load as in the case of a double terminated 75Ω cable see Figures 38 and 37. Analog Output Specification

Die DAC-Ausgänge werden durch 3 Stromquellen (nur zwei für IOR und IOB), wie in Figur 38 gezeigt, gesteuert. Im Normalfall gibt es eine Differenz von 7,5 IRE zwischen Austast- und Schwarzpegeln, was in Figur 39 gezeigt ist. Falls ein Basiswert von 0 IRE erwünscht ist, kann er so durch Rücksetzen von Bit 4 des allgemeinen Steuerregisters ausgewählt werden. Der Videoausgang ist in Figur 40 gezeigt.The DAC outputs are controlled by 3 current sources (only two for IOR and IOB) as shown in Figure 38. Normally there is a difference of 7.5 IRE between blanking and black levels, which is shown in Figure 39. If a base value of 0 IRE is desired, it can be selected by resetting bit 4 of the general control register. The video output is shown in Figure 40.

Ein Widerstand (RSET) wird beim Verbinden vom FSADJ-Anschluß und GND zum Steuern der Größe des Vollskalen-Videosignals benötigt. Die IRE-Beziehungen in Figuren 39,40 werden unabhängig von dem Vollskalen-Ausgangsstrom aufrechterhalten.A resistor (RSET) is used when connecting the FSADJ terminal and GND to control the size of the full-scale video signal required. The IRE relationships in Figures 39,40 are maintained independent of the full-scale output current.

Die Beziehung zwischen RSET und dem Vollskalen-Ausgangsstrom IOG ist:The relationship between RSET and the full scale output current IOG is:

RSET (Ohm) = K1 x ( VREF (V) / IOG (mA)RSET (Ohm) = K1 x ( VREF (V) / IOG (mA)

Der Vollskalen-Ausgangsstrom auf IOR und IOB für ein gegebenes RSET ist:The full scale output current on IOR and IOB for a given RSET is:

IOR, IOB (mA) = K2 x ( VREF (V) / RSET (Ohm)IOR, IOB (mA) = K2 x ( VREF (V) / RSET (Ohm)

wobei K1 und K2 definiert sind als: HSYNC-, VSYNC-, BLANK-where K1 and K2 are defined as: HSYNC-, VSYNC-, BLANK-

Für den normalen Modus werden HSYNC- und VSYNC durch durch die TRUE/Komplementär-Gatter gelassen, um dann zum Ausgang HSYNCOUT und VSYNCOUT zu gelangen. Die Polaritäten von HSYNCOUT und VSYNCOUT können dann über das allgemeine Steuerregister programmiert werden. Dies ermöglicht, daß der verbundene Monitor die gegenwärtige Schirmauflösung erfaßt. Jedoch sind für den VGA-Modus die benötigten Polaritäten für den Monitor bereits am Zusatzstecker vorgesehen, von dem HSYNC- und VSYNC- stammen, und so wird sie der TLC34075 nur an HSYNCOUT und VSYNCOUT ohne eine Polaritätsänderung durchlassen. Wie oben und in Figuren 35, 36 beschrieben, wird im Normalmodus das Eingangssignal BLANK- an der abfallenden Flanke von VCLK abgetastet und gehalten. Die Eingangssignale HSYNC- und VSYNC- werden auf die gleiche Weise abgetastet und gehalten. Für den VGA-Modus werden sie jedoch an der Anstiegsflanke des CLK0- Eingangssignals gehalten. Hinsichtlich aller detaillierten Zeitabläufe sei auf Figur 8 Bezug genommen. Falls das MUX- Steuerregister 2D (HEX) ist, ist es ein VGA-Modus, und die Eingangssignale CLK0 und VGABLANK- werden ausgewählt, sonst werden VCLK und BLANK- benutzt.For normal mode, HSYNC- and VSYNC are passed through the TRUE/complementary gates to the HSYNCOUT and VSYNCOUT outputs. The polarities of HSYNCOUT and VSYNCOUT can then be programmed via the general control register. This allows the connected monitor to sense the current screen resolution. However, for VGA mode, the polarities required for the monitor are already provided on the auxiliary connector from which HSYNC and VSYNC- originate, and so the TLC34075 will only pass them on HSYNCOUT and VSYNCOUT without a polarity change. As above and As described in Figures 35, 36, in the normal mode, the input signal BLANK- is sampled and held at the falling edge of VCLK. The input signals HSYNC- and VSYNC- are sampled and held in the same way. However, for VGA mode, they are held at the rising edge of the CLK0 input signal. For all detailed timings, refer to Figure 8. If the MUX control register is 2D (HEX), it is a VGA mode and the input signals CLK0 and VGABLANK- are selected, otherwise VCLK and BLANK- are used.

Aufgrund der Anschlußanzahlbegrenzung werden die Eingangssignale HSYNC- und VSYNC- sowohl von dem VGA-Modus als auch von den normalen Modi benutzt werden. Falls beide Modi an dem TLC34075 benutzt werden, wird ein externer MUX zum Auswählen der Einstellung zwischen VGA und normalen SYNCs benötigt. MUXOUT- ist zu diesem Zweck vorgesehen.Due to the pin count limitation, the input signals HSYNC- and VSYNC- will be used by both the VGA and normal modes. If both modes are used on the TLC34075, an external MUX is required to select the setting between VGA and normal SYNCs. MUXOUT- is provided for this purpose.

HSYNC-, VSYNC- und BLANK- haben alle interne Pipeline- Verzögerungen zum Ausrichten der Daten an den Ausgängen. Aufgrund der Abtast- und Halte- Zeitverzögerung ist es möglich, aktive SCLKs zu haben, nachdem das Eingangssignal BLANK- aktiv ist. Die Beziehung zwischen VCLK und SCLK, und die interne VCLK-Abtast- und Halte-Verzögerung müssen sorgfältig geprüft und programmiert werden. Für weitere Details sei auf 1.3 und Figuren 35, 36 verwiesen.HSYNC-, VSYNC- and BLANK- all have internal pipeline delays to align the data at the outputs. Due to the sample and hold time delay, it is possible to have active SCLKs after the input signal BLANK- is active. The relationship between VCLK and SCLK, and the internal VCLK sample and hold delay must be carefully checked and programmed. For further details, refer to 1.3 and Figures 35, 36.

Wie in Figur 38 gezeigt, werden aktive HSYNC- und VSYNC- die Synchronisationsstromquelle nach der Pipeline-Verzögerung ausschalten. Sie sind nicht durch das Signal BLANK- qualifiziert. Mit anderen Worten sollten HSYNC- und VSYNC- nur während einer aktiven Zeit von BLANK- als aktiv vorgesehen sein, um einen geeigneten Betrieb zu gewährleisten.As shown in Figure 38, active HSYNC- and VSYNC- will turn off the synchronization current source after the pipeline delay. They are not qualified by the BLANK- signal. In other words, HSYNC- and VSYNC- should only be intended to be active during an active time of BLANK- to ensure proper operation.

Zum Andern der Polarität der Ausgangssignale HSYNCOUT- und VSYNCOUT- im Normalmodus muß die MPU die entsprechenden Bits im allgemeinen Steuerregister setzen oder löschen. Wiederum werden diese zwei Bits nur den Normalmodus und nicht den VGA-Modus beeinflussen. Diese Bits sind standardmäßig 1, was nichtinvertiert heißt.To change the polarity of the output signals HSYNCOUT- and VSYNCOUT- in normal mode, the MPU must set the corresponding bits in the general control register. Again, these two bits will only affect normal mode and not VGA mode. These bits default to 1, which means non-inverted.

VRAMs mit Teil-Schieberegister-Transfer und spezieller Nibblemodus VRAMs mit Teil-Schieberegister-TransferVRAMs with partial shift register transfer and special nibble mode VRAMs with partial shift register transfer

Der TLC34075 hat eine direkte Unterstützung für VRAMs mit Teil- Schieberegister-Transfer (SSRT). Um zu ermöglichen, daß die VRAMs einen Teil-Schieberegister-Transfer durchführen, muß ein Extra-SCLK-Zyklus während der Austastsequenz von eingesetzt werden. Dies wird initiiert, wenn das SSRT-Aktivierungsbit (Bit 2) im allgemeinen Steuerregister gesetzt ist, aber das SMN-Bit (Bit 3) zurückgesetzt ist und eine Anstiegsflanke des SFLAG/NFLAG-Eingangssignals erfaßt wird. Dann wird ein SCLK- Impuls innerhalb von 20 ns erzeugt, und eine minimale Dauer eines logischen H-Zustandes von 15 ns wird zum Erfüllen aller Anforderungen des -15-VRAM vorgesehen. Die Anstiegsflanke der SFLAG/NFLAG-Eingangssignals triggert SCLK, aber sie muß bis zum Ende der Aktivperiode von BLANK- auf H bleiben. Es liegt auch in der Verantwortung des Benutzers, die Verzögerungszeit der Anstiegsflanke dieses SCLK, die vom TRG- des VRAM hochläuft, durch Steuern der SFLAG-Anstiegszeit zu gewährleisten. Die Wellenform und die Beziehung des SCLK/SFLAG-Eingangssignale und des BLANK- ist nachfolgend in Figur 41 gezeigt:The TLC34075 has direct support for partial shift register transfer (SSRT) VRAMs. To enable the VRAMs to perform partial shift register transfer, an extra SCLK cycle must be inserted during the blanking sequence. This is initiated when the SSRT enable bit (bit 2) in the general control register is set, but the SMN bit (bit 3) is reset and a rising edge of the SFLAG/NFLAG input signal is detected. A SCLK pulse is then generated within 20 ns and a minimum logic high duration of 15 ns is provided to satisfy all the requirements of the -15 VRAM. The rising edge of the SFLAG/NFLAG input signal triggers SCLK, but it must remain high until the end of the active period of BLANK-. It is also the user's responsibility to ensure the delay time of the rising edge of this SCLK, which runs up from the TRG- of the VRAM, by controlling the SFLAG rise time. The waveform and relationship of the SCLK/SFLAG input signal and the BLANK- is shown below in Figure 41:

Falls die SSRT-Funktion aktiviert ist, aber das SFLAG/NFLAG während des BLANK- auf L gehalten ist, läuft der SCLK gerade so, als ob die SSRT-Funktion deaktiviert ist. Das SFLAG/NFLAG- Eingangssignal muß auf L gehalten werden, wenn BLANK- inaktiv ist. Hinsichtlich weiterer Systemdetails sei auf Figuren 34, 35 verwiesen. Spezieller NibblemodusIf the SSRT function is enabled but the SFLAG/NFLAG is held low during BLANK-, the SCLK runs just as if the SSRT function is disabled. The SFLAG/NFLAG- input signal must be held low when BLANK- is inactive For further system details, see Figures 34 and 35. Special nibble mode

Es gibt einen speziellen Nibblemodus im TLC34075. Diese Modus ist aktiviert, wenn das SNM-Bit (Bit 3) des allgemeinen Steuerregisters gesetzt ist, aber das SSRT (Bit 2) zurückgesetzt ist. Das SFLAG/NFLAG-Eingangssignal wird dann als Nibble-Flag zum Anzeigen, welcher Nibble jedes Bytes Pixeldaten hält, benutzt. Konzeptmäßig initiiert dieser spezielle Nibblemodus eine zusätzliche Anderung des 4-Bit-Pixelmodus mit einer 16-Bit-Busbreite (während alle 32 Eingänge P0...P31 als 4 Byte verbunden sind), aber in diesem Fall findet man die 16- Bit-Daten auf dem unteren/oberen Nibble von jedem der vier Bytes. Die Pixeldaten sind wie in folgender Tabelle gezeigt, verteilt: There is a special nibble mode in the TLC34075. This mode is enabled when the SNM bit (bit 3) of the general control register is set but the SSRT (bit 2) is reset. The SFLAG/NFLAG input is then used as a nibble flag to indicate which nibble holds each byte of pixel data. Conceptually, this special nibble mode initiates an additional modification of the 4-bit pixel mode with a 16-bit bus width (while all 32 inputs P0...P31 are connected as 4 bytes), but in this case the 16-bit data is found on the lower/upper nibble of each of the four bytes. The pixel data is distributed as shown in the following table:

Das NFLAG wird nicht innerhalb des TLC34075 gespeichert. Deshalb sollte es während der gesamten aktiven Wiedergabeperiode auf dem gleichen Pegel bleiben und nur während der Aktivzeit von BLANK- den Pegel ändern. Es sei auf Figur 42 Bezug genommen, welche ähnlich wie Figur 34 ist, mit Ausnahme, daß der Bezug des Signalzeitablaufs vom BLANK- zu NFLAG erklärt ist. Das NFLAG muß die Einstellzeit erfüllen und die Daten lange genug halten, um zu gewährleisten, daß keine Pixeldaten fehlen.The NFLAG is not stored within the TLC34075. Therefore, it should remain at the same level during the entire active playback period and only change level during the active time of BLANK-. Refer to Figure 42, which is similar to Figure 34, except that the signal timing relationship from BLANK- to NFLAG is explained. The NFLAG must meet the settling time and hold the data long enough to ensure that no pixel data is missing.

Wie Benutzer sehen können, wird dieser spezielle Nibblemodus bei der Zeilenfrequenz arbeiten, wenn BLANK- aktiv ist. Die typische Anwendung dieses Modes würden jedoch Doppelbildpuffer mit Daten einer Pixelbreite von 4 Bits sein. Somit könnte, während ein Bildpuffer auf dem Monitor wiedergegeben wird, der andere Bilder zum Aufnehmen neuer Bildinformation benutzt werden. NFLAG wird dann zum Anzeigen, welcher Bildpuffer eine Wiedergabe durchführt, benutzt.As users can see, this special nibble mode will operate at the line rate when BLANK is active. However, the typical application of this mode would be dual frame buffers with 4-bit pixel-wide data. Thus, while one frame buffer is being rendered on the monitor, the other frame could be used to capture new image information. NFLAG is then used to indicate which frame buffer is rendering.

Es sei bemerkt, daß sich SNM und SSRT bei diesem Beispiel gegenseitig ausschließen.Note that SNM and SSRT are mutually exclusive in this example.

Das MUX-Steuerregister muß so eingestellt werden, wie in Tabelle 4 für das SCLK-Teilungsverhältnis gezeigt. Jedoch geht das SNM vor den weiteren MUX-Auswahlen vor. Mit anderen Worten wird, falls das MUX-Steuerregister für einen anderen Modus eingestellt ist, aber das SMN im allgemeinen Steuerregister noch aktiviert ist, die Eingangs-Multiplexerschaltung das vom das vom MUX-Steuerregister spezifizierte SCLK- Teilungsverhältnis nehmen und den Nibblebetrieb durchführen.The MUX control register must be set as shown in Table 4 for the SCLK division ratio. However, the SNM takes precedence over other MUX selections. In other words, if the MUX control register is set for another mode, but the SMN in the general control register is still enabled, the input multiplexer circuit will take the SCLK division ratio specified by the MUX control register and perform the nibble operation.

Während des Signals SNM wird die Eingangs-MUX-Schaltung alle 8 Biteingangssignale speichern, aber nur auf dem speziellen Nibble durchlassen. Der spezifizierte Nibble wird in den 4 LSBs der nächsten Registerleitung nach dem Eingangsspeicher gespeichert, und die vier MSBs werden in diesem Register auf gesetzt. Dieses Zeilenregister wird dann an den READ-MASK-BLOCK weiter gegeben. Bei dieser Struktur wird das Palettenseitenresgister noch normal funktionieren, was für die Benutzer eine gute Flexibilität liefert.During the SNM signal, the input MUX circuit will latch all 8 bit inputs, but only pass the specific nibble. The specified nibble is stored in the 4 LSBs of the next register line after the input latch, and the four MSBs are set in this register. This line register is then passed to the READ MASK BLOCK. With this structure, the palette page register will still function normally, providing good flexibility for the users.

Falls das allgemeine Steuerregister-Bit 3 = 0 ist und Bit 2 = 0 ist, sind sowohl SSRT als auch SNM deaktiviert, und das SFLAG/NFLAG-Eingangssignal wird dann ignoriert. MUXOUT-AusgangsanschlußIf the general control register bit 3 = 0 and bit 2 = 0 both SSRT and SNM are disabled and the SFLAG/NFLAG input signal is then ignored. MUXOUT output connector

Der Anschluß MUXOUT- ist ein TTL-kompatibler Ausgang, er ist Software-programmierbar und wird zum Steuern der externen Vorrichtungen benutzt. Die typischen Anwendungen sind, den Eingang HSYNC- und VSYNC- zwischen dem VGA-Modus und dem normalen Modus auszuwählen. Dieser Eingang wird beim Einschalten oder wenn der VGA-Modus eingegangen wird für das MUX-Steuerregister auf L gesetzt, und er kann zurück auf H gesetzt werden, falls das so erwünscht ist. Daher folgt dieser Anschluß dem Status vom Bit 7 des allgemeinen Steuerregisters und umfaßt keine weitere Schaltung. Er ist genügt dafür, auf irgendetwas nach dem Einschalten oder nach dem Einstellen des VGA-Modus programmiert zu werden (2 D HEX im MUX- Steuerregister) Allgemeines SteuerregisterThe MUXOUT- pin is a TTL compatible output, it is software programmable and is used to control external devices. The typical applications are to select the HSYNC- and VSYNC- input between VGA mode and normal mode. This input is set low at power-up or when VGA mode is entered for the MUX control register, and it can be set back high if desired. Therefore, this pin follows the status of bit 7 of the general control register and does not involve any other circuitry. It is sufficient to be programmed to anything after power-up or after setting VGA mode (2 D HEX in MUX control register) General control register

Das allgemeine Steuerregister (oder Steuerregister) wird zum Steuern der Polarität von HSYNC- und VSYNC- benutzt, zum Aktivieren eines Teil-Register-Transfers, für den speziellen Nibblemodus, zur Synchronisationssteuerung, für die Einsen- Akkumulierungs-Taktquelle und den VGA-Durchgangs-Indikator. Die Bitfelddefinitionen sind folgende: Tabelle 6. Allgemeine Steuerregisterbit-FunktionHSYNCOUT und VSYNCOUT (Bit 0 und 1)The general control register (or control register) is used to control the polarity of HSYNC and VSYNC, to enable partial register transfer, for the special nibble mode, for synchronization control, for the ones accumulation clock source, and for the VGA pass indicator. The bit field definitions are as follows: Table 6. General control register bit functionHSYNCOUT and VSYNCOUT (bit 0 and 1)

Eine Polaritätsinversion von HSYNCOUT und VSYNCOUT ist zum Ermöglichen einer Anzeige der momentanen Schirmauflösung für die Monitore vorgesehen. Da die Polaritäten für den VGA-Modus am Zusatzstecker vorgesehen sind, werden die Eingänge an den TLC34975 die richtigen Polaritäten für die Monitoren bereits haben, so daß der TLC34075 sie einfach mit einer Pipelineverzögerung durchläßt. Diese 2 Bits arbeiten nur im Normalmodus, und die Horizontal- und Vertikal-Synchronisation des Eingangs sind angenommenerweise aktive L Eingangsimpulse. Diese 2 Bits sind standardmäßig aktiv L, können aber durch die Software geändert werden. Basiswertaktivierungssteuerung (Bit 4)A polarity inversion of HSYNCOUT and VSYNCOUT is provided to allow an indication of the current screen resolution for the monitors. Since the polarities for VGA mode are provided on the auxiliary connector, the inputs on the TLC34975 will already have the correct polarities for the monitors. so the TLC34075 simply passes them through with a pipeline delay. These 2 bits only work in normal mode and the horizontal and vertical sync of the input are assumed to be active L input pulses. These 2 bits are active L by default but can be changed by software. Base Value Enable Control (bit 4)

Dieses Bit spezifiziert, ob ein 0 oder 7,5 IRE-Austastbasiswert an den Videoausgängen erzeugt wird. 0 IRE spezifiziert, daß die schwarzen und weißen Pegel dieselben sind.This bit specifies whether a 0 or 7.5 IRE blanking base is generated on the video outputs. 0 IRE specifies that the black and white levels are the same.

0:0 IRE Basiswert0:0 IRE base value

1:7,5 IRE Basiswert (Standard) Synchronisationsaktivierungssteuerung (Bit 5)1:7.5 IRE base value (default) Synchronization activation control (bit 5)

Dieses Bit spezifiziert, ob die SYNC-Information auf IOG auszugeben ist oder nicht.This bit specifies whether the SYNC information is to be output on IOG or not.

0: Deaktivierung der Synchronisation (Standard)0: Disable synchronization (default)

1: Aktivierung der Synchronisation MUXOUT (Bit 7)1: Activation of synchronization MUXOUT (bit 7)

Das MUXOUT-Bit ist im wesentlichen ein Ausgangsbit, das eine Anzeige an eine externe Schaltungsanordnung liefert, daß die Vorrichtung im VGA-Durchgangsmodus arbeitet. Dieses Bit beeinflußt nicht den Betrieb der Vorrichtung. Es ist nur ein Ausgangsbit. Siehe 1.10The MUXOUT bit is essentially an output bit that provides an indication to external circuitry that the device is operating in VGA pass-through mode. This bit does not affect the operation of the device. It is only an output bit. See 1.10

0: MUXOUT- ist auf L (Standard im VGA-Modus)0: MUXOUT- is on L (default in VGA mode)

1: MUXOUT- ist auf H Testregister1: MUXOUT- is on H Test register

Es sind 3 Testfunktionen im TLC34075 vorgesehen, und sie werden alle durch dieses Testregister gesteuert und überwacht: Datenflußprüfung, DAC-Analogtest und Schirmfunktionsfähigkeitstest.There are 3 test functions provided in the TLC34075 and they are all controlled and monitored by this test register: Data flow test, DAC analog test and Shield health test.

Dieses Register hat 2 Ports: Einen für ein Steuerwort, worauf durch Schreiben an den Registerort zugegriffen wird, und einen für ein Datenwort, worauf durch Lesen von dem Registerort zugegriffen wird. Abhängig von dem in das Steuerwort geschriebenen Kanal werden die gelesenen Daten die Information für diesen Kanal liefern.This register has 2 ports: one for a control word, which is accessed by writing to the register location, and one for a data word, which is accessed by reading from the register location. Depending on the channel written to the control word, the data read will provide the information for that channel.

Das Steuerregister ist 3 Bit lang und besetzt Bits 0, 1 und 2. Diese spezifizieren, welche der 8 Kanäle zu inspizieren sind. Die folgende Tabelle und Statusmaschinene werden zeigen, wie jeder Kanal adressiert wird. Siehe Figur 43: Bildpuffer-DatenflußtestThe control register is 3 bits long and occupies bits 0, 1 and 2. These specify which of the 8 channels are to be inspected. The following table and state machines will show how each channel is addressed. See Figure 43: Frame Buffer Data Flow Test

Für alle Daten, die in den DAC gehen (aber vor der Ausgangs- MUX-8/6-Verschiebung), liefert der TLC34075 eine Einrichtung, um sie zu prüfen. Beim Zugriff auf diese Farbkanäle sollten die Daten, die in die DACs gehen, für den gesamten MPU-Lesezyklus konstant gehalten werden. Dies kann entweder durch Verlangsamen des Punkttakts oder durch Gewährleisten durchgeführt werden, daß die Daten für eine hinreichend lange Reihe von Pixeln konstant sind. Dieser gelesene Wert wird der sein, der in der Farbpalette gespeichert wird, was durch das Eingangssignal MUX angezeigt wird. Der Lesebetrieb wirdbewirken, daß eine Nach- Inkrementierung auf dem nächsten Farbkanal zeigt, und die Nach- Inkrementierung von BLAU auf ROT zurückspringen wird, wie im obigen Zustandsdiagramm gezeigt. Falls D2, D1 und D0 beispielsweise als 001 (binär) geschrieben würden, dann werden nach drei hintereinanderfolgenden Auslesungen, die ausgelesenen Werte GRÜN, BLAU und dann ROT in dieser Reihenfolge sein.For all data going into the DAC (but before the output MUX 8/6 shift), the TLC34075 provides a means to check it. When accessing these color channels, the data going into the DACs should be kept constant for the entire MPU read cycle. This can be done either by slowing down the dot clock or by ensuring that the data is constant for a sufficiently long series of pixels. This read value will be the one stored in the color palette, indicated by the MUX input signal. The read operation will cause a post-increment to show on the next color channel, and the post-increment will jump back from BLUE to RED as shown in the state diagram above. For example, if D2, D1 and D0 were written as 001 (binary), then after three consecutive readings, the values read will be GREEN, BLUE and then RED in that order.

IdentifizierungscodeIdentification code

Der ID-Code könnte zur Software-Identifzierung für eine verschiedene Version oder Unterprogramme benutzt werden. Der ID-Code beim TLC34075 ist statisch und kann ohne Berücksichtigung des Punktakts oder der Videosignale gelesen werden. Um benutzerfreundlich zu sein, gilt das Lese-Nach- Inkrement auch für das ID-Register, aber wenn es einmal in den Farbkanal fällt, wird es nicht zurückkommen und auf ID zeigen, falls nicht der Benutzer wieder 001 (binär) in D2, D1 und D0 schreibt. Somit wird, falls in das Testregister 011 (binär) zuerst in D2, D1 und D0 geschrieben würde, nach sechs aufeinanderfolgenden Auslesungen der erste gelesene Wert die ID sein und der letzte gelesene Wert GRÜN sein.The ID code could be used for software identification for a different version or subroutine. The ID code on the TLC34075 is static and can be read without regard to the dot clock or video signals. To be user friendly, the read post increment also applies to the ID register, but once it falls into the color channel, it will not come back and point to ID unless the user writes 001 (binary) to D2, D1 and D0 again. Thus, if the test register is written to 011 (binary) first in D2, D1 and D0, after six consecutive reads, the first value read will be the ID and the last value read will be GREEN.

Der ID-Wert, der hier definiert ist, ist 75 (HEX). Einsen-AkkumulierungThe ID value defined here is 75 (HEX). Ones accumulation

Wenn die Einsen-Akkumulierung für eine spezifizierte Farbe durch D2, D1 und D0 ausgewählt ist, wird der spezifizierte Farbwert von der Farbpalette (vor dem Ausgangs-MUX-8/6- Schiebebetrieb) an den DAC überwacht. Die Anzahl von Einsen für den adressierten Farbwert wird einem temporären Akkumulator hinzugefügt. Beispielsweise hat 41 (HEX) zwei Einsen, dann werden dem temporären Akkumulator zwei hinzugefügt werden, falls die Farbpalette, die durch den Bildpuffereingang adressiert ist, den 41 (HEX)-Wert) enthält. Die fallende Flanke von VSYNC- nach der internen Pipelineverzögerung wird zum Transferieren des Endwerts an das Einsen-Akkumulierungsregister benutzt werden, und der temporäre Akkumulator wird für den nächsten Schirm zurückgesetzt werden. Die Einsen-Akkumulierung wird nur berechnet, wenn die spezifizierte Farbe ausgewählt ist, d.h. D2-D0 = 100, 101 oder 100 (binär), und ihr Betrieb ist deaktiviert, wenn er nicht zum Sparen von Energie ausgewählt ist. Somit muß der Benutzer lange genug darauf warten, daß der komplette Schirm zumindest einmal angezeigt ist, bevor er den Wert liest. Um benutzerfreundlich zu sein, ist das Nach-Inkrement nach jedem Lesen auch in dem obigen Zustandsdiagramm vorgesehen: Nachdem der Wert gelesen ist, wird der TLC34075 auf die nächste Farbe zeigen und die Anzahl von Einsen für den gesamten Schirm berechnen. Der Überlauf nach dem 8-Bit-Wert wird abgeschnitten. Aufgrund der Geschwindigkeitsbegrenzung wird eine Einsen-Akkumulierung unter einer DOTCLK/2-Rate berechnet. Solange das Wiedergabemuster für jeden Schirm fest ist, sollte der Eins-Akkumulierungs-Wert der gleiche bleiben. Anderenfalls wird ein Fehler erfaßt. Da der Einsen-Akkumulierungswert vor dem Ausgangs-MUK berechnet wird, wird ein 8-Bit-Wert gelesen und berechnet. Falls der 6-Bit- Modus ausgewählt wird und die 2 MSBs in der Farbpalette nicht mit Nullen initialisiert sind, wird der Einsen- Akkumulierungswert noch für das 8-Bit-Muster Bericht ablegen. Dies liefert eine zusätzliche Prüfmöglichkeit für die Farbpalette.When 1s accumulation is selected for a specified color by D2, D1, and D0, the specified color value is monitored from the color palette (before the output MUX-8/6 shift operation) to the DAC. The number of 1s for the addressed color value is added to a temporary accumulator. For example, if 41 (HEX) has two 1s, then two will be added to the temporary accumulator if the color palette addressed by the frame buffer input contains the 41 (HEX) value. The falling edge of VSYNC after the internal pipeline delay will be used to transfer the final value to the 1s accumulation register, and the temporary accumulator will be reset for the next screen. The ones accumulation is calculated only when the specified color is selected, i.e. D2-D0 = 100, 101 or 100 (binary), and its operation is disabled when not selected to save power. Thus, the user must wait long enough for the complete screen to be displayed at least once before reading the value. To be user friendly, the post-increment after each read is also provided in the above state diagram: After the value is read, the TLC34075 will point to the next color and calculate the number of ones for the entire screen. The overflow after the 8-bit value is truncated. Due to the speed limitation, a ones accumulation is calculated at a DOTCLK/2 rate. As long as the display pattern for each screen is fixed, the ones accumulation value should remain the same. Otherwise, an error is detected. Since the 1s accumulation value is calculated before the output MUK, an 8-bit value is read and calculated. If the 6-bit mode is selected and the 2 MSBs in the color palette are not initialized with zeros, the 1s accumulation value is Accumulation value nor report for the 8-bit pattern. This provides an additional way to check the color palette.

Die Einsen-Akkumulierung ist ein gutes Testwerkzeug zur Systemprüfung und zur Felddiagnose.Ones accumulation is a good test tool for system testing and field diagnostics.

Die Einsen-Akkumulierung wird bei jedem VSYNC- aufgefrischt, aber nicht bei der Verbundsynchronisationszeit, welche auch während HSYNC- aktiv ist. AnalogtestThe ones accumulation is refreshed at every VSYNC-, but not at the compound synchronization time, which is also active during HSYNC-. Analog test

Dieser Analogtest wird benutzt, um die Analog-RGB-Ausgänge miteinander und mit einer 145 mV-Referenz zu vergleichen. Dies ermöglicht, daß die MPU bestimmt, ob der CRT-Monitor mit den analogen RGB-Ausgängen verbunden ist oder nicht, und ob die DACs funktionieren. Wenn der Analogtest durchgeführt wird, müssen D7-D4 für den erwünschten Vergleich eingestellt werden, während D2-D0 als 111 (binär) eingestellt werden. Wenn das Testregister gelesen wird, wird D3 das Resultat wiedergeben. Die Bitdefinition ist nachfolgend gezeigt. This analog test is used to compare the analog RGB outputs to each other and to a 145 mV reference. This allows the MPU to determine whether or not the CRT monitor is connected to the analog RGB outputs and whether the DACs are working. When the analog test is performed, D7-D4 must be set to the desired comparison, while D2-D0 are set to 111 (binary). When the test register is read, D3 will reflect the result. The bit definition is shown below.

Die obige Tabelle listet die gültigen Vergleichkombinationen auf. Eine logische Eins ermöglicht, daß diese Funktion verglichen wird: Das Resultat ist D3. Das Vergleichsresultat wird in D3 an der fallenden Flanke des Eingangssignals BLANK- (vor der Pipeline-Verzögerung) eingesetzt. Um stabile Eingangssignale für den Komparator zu haben, sollten die Bildpuffereingänge so eingestellt werden, daß sie stets auf denselben Ort im Farb-RAM zeigen.The table above lists the valid comparison combinations. A logic one allows this function to be compared: The result is D3. The comparison result is placed in D3 on the falling edge of the BLANK- input signal (before the pipeline delay). To have stable input signals for the comparator, the frame buffer inputs should be set to always point to the same location in color RAM.

Zum Normalbetrieb müssen D7-D4 in diesem Analogestregister logisch 0 sein. Anschlußbeschreibung (Figur 45)For normal operation, D7-D4 in this analog register must be logical 0. Connection description (Figure 45)

Die Selektorschaltungsanordnung 4051 von Figuren 31 und 32 wird durch die Einträge in den Registerplan 4013 programmiert, um in irgendeinem verschiedener Modi, wie durch Tabelle 4 definiert, zu arbeiten. Obwohl die Selektorschaltungsanordnung als ein Netzwerk von Multiplexern gezeigt ist und einige Ausführungsformen die Benutzung von logischen Gattermultiplexern zeigen, glaubt man, daß eine Schieberegister-Auswahlschaltungsanordnung, wie z.B. ein Blockschieber, der den Eingangsspeicher 4011 und den Selektor 4051 implementiert, zur Benutzung bei Frequenzen bis zu den höchsten Punkttaktraten sogar noch brauchbarer ist.The selector circuitry 4051 of Figures 31 and 32 is programmed by the entries in the register map 4013 to operate in any of several modes as defined by Table 4. Although the selector circuitry is shown as a network of multiplexers and some embodiments show the use of logic gate multiplexers, it is believed that a shift register selection circuitry, such as a block shifter, implementing the input latch 4011 and the selector 4051 is even more useful for use at frequencies up to the highest dot clock rates.

In einigen der Modi arbeitet der Selektor 4051 als ein Beispiel von Farbcode-Transferschaltungsanordnung, die zwischen dem Eingangsspeicher 4011 und dem Nachschlagetabellenspeicher 4021 zum Versorgen des Nachschlagetabellenspeichers 4021 von dem Eingangsspeicher 4011 in sequentieller Art und Weise mit Farbcodes selektierbarer Breite unter Erfasssung der gesamten Busbreite angeschlossen. Das Steuerregister 4371 konfiguriert über die Dekodiererschaltungsanordnung 4052 von Figur 31 den Blockschieber, damit er wie der Satz von Multiplexern 4381, 4383, 4385 und 4387 gemäß den Details des Selektors 4051 von Figur 32 funktioniert.In some of the modes, selector 4051 operates as an example of color code transfer circuitry connected between input memory 4011 and lookup table memory 4021 for supplying lookup table memory 4021 from input memory 4011 in a sequential manner with color codes of selectable width spanning the entire bus width. Control register 4371, via decoder circuitry 4052 of Figure 31, configures block shifter to function as the set of multiplexers 4381, 4383, 4385 and 4387 in accordance with the details of selector 4051 of Figure 32.

Die Multiplexer haben Auswahleingänge zum Empfangen der Steuersignale, welche die Multiplexer gemäß einem jeweiligen, durch den Inhalt des Steuerregisters 4371 eingerichteten Modus betreiben. Die Multiplexer 4381 bis 4387 haben Dateneingänge mit dem Eingangsspeicher 4011 für die gesamte Busbreite 136 verbunden, und jeder der Multplexer hat eine Anzahl 8, 4, 2 oder 1 von Ausgängen, die ein unteschiedliche Teilvielfaches /4, /8, /16 oder /32 der Breite des 32-Bit-Busses 136 ist. Wenn ein vorgegebener der Multiplexer 4381 - 4387 aktiviert ist, betreibt die Dekodierer- und Zählerschaltungsanordnung 4052 den Multiplexer zum zyklischen und sequentiellen Transferieren des Inhalts des Eingangsspeichers 4011 für die gesamte Breite des Busses 136 in Sätzen von parallelen Bits gleich der Anzahl der Ausgänge 8, 4, 2 oder 1 des Multiplexers oder der Multiplexerfunktion des Blockschiebers an den Nachschlagetabellenspeicher 4021.The multiplexers have select inputs for receiving control signals which operate the multiplexers according to a respective mode established by the contents of the control register 4371. The multiplexers 4381 to 4387 have data inputs connected to the input memory 4011 for the entire bus width 136, and each of the multiplexers has a number 8, 4, 2 or 1 of outputs which are a different submultiple /4, /8, /16 or /32 the width of the 32-bit bus 136. When a given one of the multiplexers 4381-4387 is activated, the decoder and counter circuitry 4052 operates the multiplexer to cyclically and sequentially transfer the contents of the input memory 4011 for the entire width of the bus 136 in sets of parallel bits equal to the number of outputs 8, 4, 2 or 1 of the multiplexer or the multiplexing function of the block shifter to the lookup table memory 4021.

Der Dekodierer und Zähler 4052 kann in sequentieller Weise einen Zyklus über einen Teil oder die gesamte Eingangsspeicherbreite durchführen, und die gesamte Busbreite des Busses 136 kann nur an einen Teil der Speicherbreite angeschlossen sein. Somit kann die Busbreite, auf die die Multiplexer reagieren, auch vorteilhafterweise programmiert werden. Auf diese Art und Weise arbeiten die Selektorschaltung 4051 und die Dekodierer- und Zählerschaltung 4052 als ein Beispiel einer extern programmierbaren Busbreiten- Kopplungsschaltung, die zwischen dem Eingang und dem Nachschlagetabellenspeicher 4021 zum Durchlassen von Farbcodes von dem Bus 145 gemäß der programmierten oder intern/extern für die Palettenvorrichtung 4000 vorgesehenen Busbreite angeschlossen ist. Bei der bevorzugten Ausführungsform sind die programmierbaren Busbreiten Potenzen von 2, sowie eine Breite von 24 im Realfarbmodus. Ansteigend kleinere Busbreiten- Auswahlen lassen Bits von Abschnitten des Eingangsspeichers 4011 durch, welche in einem Beispiel ansteigend kleinere Untersätze voneinander am Ende des höchstwertigen Bits des Speichers 4011 sind.The decoder and counter 4052 may sequentially cycle over part or all of the input memory width, and the entire bus width of the bus 136 may be connected to only part of the memory width. Thus, the bus width to which the multiplexers respond may also be advantageously programmed. In this manner, the selector circuit 4051 and the decoder and counter circuit 4052 operate as an example of an externally programmable bus width coupling circuit connected between the input and the lookup table memory 4021 to pass color codes from the bus 145 according to the bus width programmed or internally/externally provided to the palette device 4000. In the preferred embodiment, the programmable bus widths are powers of 2, and a width of 24 in real color mode. Increasingly smaller bus width selections pass bits from portions of input memory 4011 which, in one example, are increasingly smaller subsets of each other at the end of the most significant bit of memory 4011.

Bei noch einem weiteren Merkmal aktiviert der Dekodierer oder Zähler 4052 im speziellen Nibbiemodus die Multiplexer zum Transferieren von Bits vom Eingangsspeicher 4011 durch alternierendes Transferieren von Bits, Auslassen von Bits, Transferieren, Auslassen usw. Das Auslassen führt an sich keine Verzögerung ein. Obwohl einige wenige Modi beschrieben worden sind, sollte es aus diesem Beispielen klar sein, daß irgendeine Auswahl oder Sequenz von Auswahlen von Bits von irgendeinem Teil oder allen entweder von der Speicher- oder Busbreite oder von dem VGA-Abschnitt unter der Steuerung des Dekodierers und Zählers 4052 und Selektors 4051 selektiv programmiert werden kann. Die 32-Bit-Busbreite ist nur illustrativ, und schmalere oder breitere 64-, 96-, 128-Bit-Busse oder irgendeine gerade oder ungerade Anzahl von Bits in Bussen kann verwendet werden.In yet another feature, the decoder or counter 4052 in the special nibbling mode enables the multiplexers to transfer bits from the input memory 4011 by alternately transferring bits, skipping bits, transferring, skipping, etc. Skipping does not in itself result in delay. Although a few modes have been described, it should be clear from these examples that any selection or sequence of selections of bits from any part or all of either the memory or bus width or the VGA section can be selectively programmed under the control of decoder and counter 4052 and selector 4051. The 32-bit bus width is only illustrative, and narrower or wider 64-, 96-, 128-bit buses or any even or odd number of bits in buses may be used.

Im Realfarbmodus arbeitet der Ausgangsmultiplexer 4038 von Figur 32 als eine Auswahlschaltungsanordnung mit Eingängen, die mit dem Eingangsspeicher 4011 und mit einem Ausgang des Nachschlagetabellenspeichers 4021 zum Zuführen von 3 Farbausgangssignalen an die Digital/Analog-Wandler 4030 entweder mit Bytes von Farbdatenworten, geliefert durch den Nachschlagetabellenspeicher, oder mit einem Farbdatenwort, bestehend aus 24 Farbcodes von dem Eingangsspeicher 4011, verbunden ist. Die Auswahlschaltungsanordnung enthält einen Detektor 4036 für einen vorbestimmten Code, wie z.B. 0hex von Minoritätsbits in dem Eingangsspeicher 4011, um die Auswahl zu treffen. Eine Verzögerungsschaltung 4039 für das aus Farbcodes von dem Eingangsspeicher bestehende Farbdatenwort, hat eine erste Verzögerung, welche im wesentlichen die gleiche ist wie eine zweite Verzögerung, die beim Zuführen eines Farbdatenwortes von dem Nachschlagetabellenspeicher 4021 als Reaktion auf einen Farbcodes vom Eingangsspeicher inhärent ist.In real color mode, the output multiplexer 4038 of Figure 32 operates as a selection circuit having inputs connected to the input memory 4011 and to an output of the look-up table memory 4021 for supplying 3 color output signals to the digital-to-analog converters 4030 with either bytes of color data words provided by the look-up table memory or with a color data word consisting of 24 color codes from the input memory 4011. The selection circuitry includes a detector 4036 for a predetermined code, such as 0hex of minority bits in the input memory 4011 to make the selection. A delay circuit 4039 for the color data word consisting of color codes from the input memory has a first delay which is substantially the same as a second delay inherent in supplying a color data word from the look-up table memory 4021 in response to a color code from the input memory.

Im Realfarbmodus werden 24 Datenbytes (z.B. Bytes A, B, C von Figur 31) direkt vom Eingangsspeicher 4011 über einen Pixel-Bus 4359 von Figur 32 in direkter Weise an die DACs 4031, 4033 und 4035 transferiert. In diesem Modus ist eine Überlagerung durch Benutzung der restlichen 8 Bits (wie z.B. als Bytes D oder Alphaschuß oder Attributeingabe) vom Eingangsspeicher 4011 als ein Überlagerungsbus 4360 zum Adressieren des Paletten-RAM 4021 über den Multiplexer 4389 und die Lesemaskenschaltung 4061 vorgesehen. Solch ein Adressieren resultiert in einem 24-Bit- Ausgangssignal des Paletten-RAM 4021, welches dann als Überlagerungsinformation für die DACs 4031, 4033 und 4035 benutzt wird. Wenn alle Überlagerungseingänge P7 - P0 (Byte D vom Eingangsregister 4011> auflogisch 0 sind oder das Lesemaskenregister 4353 von Figur 31 gelöscht ist, wird keine Überlagerungsinformation angezeigt. Somit enthält die Selektorlogik 4051 eine Logik zum Erfassen des Status des Byte D und steuert den Betrieb dementsprechend. Ebenfalls wird, wenn ein von Null verschiedener Wert in das Byte D des Eingangsregisters 4011 eingegeben wird und dann das Lesemaskenregister 4353 nicht gelöscht wird, den Farbpaletten- RAM 4021 adressiert, und dann werden die resultierenden Daten an die DACs durchgeführt, um Priorität über die Realfarbdaten auf den Leitungen 4359 von Figur 32 zu erhalten.In real color mode, 24 bytes of data (eg, bytes A, B, C of Figure 31) are transferred directly from input memory 4011 to DACs 4031, 4033 and 4035 via pixel bus 4359 of Figure 32. In this mode, overlay is achieved by using the remaining 8 bits (such as bytes D or alpha shot or attribute input) from input memory 4011 as an overlay bus 4360 to address palette RAM 4021 via multiplexer 4389 and read mask circuit 4061. Such addressing results in a 24-bit output of the palette RAM 4021 which is then used as overlay information for the DACs 4031, 4033 and 4035. If all of the overlay inputs P7 - P0 (byte D of input register 4011) are at logic 0 or the read mask register 4353 of Figure 31 is cleared, no overlay information is displayed. Thus, the selector logic 4051 contains logic to detect the status of byte D and controls operation accordingly. Also, if a non-zero value is entered into byte D of input register 4011 and then the read mask register 4353 is not cleared, the color palette RAM 4021 is addressed and then the resulting data is passed to the DACs to take priority over the real color data on lines 4359 of Figure 32.

Die Überlagerungseingänge im Realfarbmodus sind diejenigen, die zum Farbpaletten-RAM gehen. Der Realfarbmodus kann auch ohne Auftreten von Überlagerung arbeiten. Vorteilhafterweise jedoch ermöglicht eine Überlagerung ein Einstellen eines künstlichen Farbdatenworts im Paletten-RAM 4021, das im Video-RAM nicht verfügbar ist, oder beispielsweise das Errichten eines speziellen Satzes von Farben für überlagerten Text oder eines Cursors oder beider auf einem Hintergrund. Eine Überlagerung kann auch zum Einrichten von Graphik auf einem weiterlaufenden Videobild in Farben, die benutzergesteuert sind, zusätzlich zu den Farben im Video-RAM benutzt werden. Einige Graphikanwendungen können eine Überlagerung benutzen, um ein Objekt durch Überlagerung der Umrißgraphik über das Objekt als dem Realfarbbild zu umreißen. Eine Überlagerung kann einen Übersatz der verfügbaren Farben liefern.The overlay inputs in real color mode are those that go to the color palette RAM. Real color mode can also operate without overlay occurring. Advantageously, however, an overlay allows setting an artificial color data word in the palette RAM 4021 that is not available in the video RAM, or, for example, establishing a special set of colors for overlaid text or a cursor or both on a background. An overlay can also be used to set up graphics on a rolling video image in colors that are user controlled in addition to the colors in the video RAM. Some graphics applications can use an overlay to outline an object by overlaying the outline graphics over the object as the real color image. An overlay can provide an overset of the available colors.

Die Schaltung 4000 von Figur 1 liefert das Verschiebetakt- Signal SCLK, welches in direkter Weise das Schieberegister 139 für jeden VRAM 130 taktet. Die SCLK-Signale können VRAMS mit Teil-Schieberegister-Transfer unterstützen. Solche VRAMS sind in Zusammenhang mit Figuren 3-21 oben beschrieben. Hintergrundinformation über VRAMs wird in den US-Patenten desselben Anmelders mit den Nummern 4 639 890, 4 330 852, 4 683 555 und 4 667 313 gefunden.The circuit 4000 of Figure 1 provides the shift clock signal SCLK which directly clocks the shift register 139 for each VRAM 130. The SCLK signals can support VRAMs with partial shift register transfer. Such VRAMs are in connection with Figures 3-21 above. Background information on VRAMs can be found in commonly assigned U.S. Patent Nos. 4,639,890, 4,330,852, 4,683,555, and 4,667,313.

Als nächsten Punkt in der Diskussion hat die bevorzugte Ausführungsform einen Graphikprozessor 120, welcher seinen eigenen Takt hat und sich somit nicht notwendiger Weise auf den Takt gemäß dem Palettenpunkttakt oder eine Ableitung des Punkttakts verläßt. Der Prozessor 120 kann (wie im Fall des TMS340x0) Videozähler enthalten, die durch eine Ableitung des Punkttakts angesteuert werden. Es ist diese letztere Benutzung des Punkttakts im Prozessor 120, die als nächstes diskutiert werden wird.As a next point in discussion, the preferred embodiment has a graphics processor 120 which has its own clock and thus does not necessarily rely on the clock according to the palette dot clock or a derivative of the dot clock. The processor 120 may (as in the case of the TMS340x0) include video counters which are driven by a derivative of the dot clock. It is this latter use of the dot clock in the processor 120 which will be discussed next.

Die Synchronisierung zwischen der Palette 4000 und dem GSP 120 wird durch beide Ausgangssignal VCLK und SCLK von der Palette 4000 vermittelt. Mit anderen Worten stammt das Takten, das das Bildzählen des GSP 120 mit der Palette 4000 koordiniert, bei dieser Ausführungsform nicht von dem Prozessor 120, sondern von der Palette 4000. Der GSP 120 ist angeschlossen, den VCLK zu benutzen, um zu bestimmen, wo relativ auf einer bestimmten Scanlinie des Bildes Operationen auftreten. VCLK wird auch durch den GSP 120 benutzt, um zu bestimmen, wann der GSP 120 ein Austastsignal und wann er die Synchronisationsimpulse HSYNC und VSYNC erzeugen soll.Synchronization between the palette 4000 and the GSP 120 is mediated by both the VCLK and SCLK output signals from the palette 4000. In other words, the clocking that coordinates the frame counting of the GSP 120 with the palette 4000 does not come from the processor 120 in this embodiment, but from the palette 4000. The GSP 120 is connected to use the VCLK to determine where operations occur relative to a particular scan line of the image. VCLK is also used by the GSP 120 to determine when the GSP 120 should generate a blanking signal and when to generate the synchronization pulses HSYNC and VSYNC.

Der GSP 120 in Figur 2 hat Zähler im Videoanzeigecontroller 270. Die Zähler zählen als Reaktion auf ein Takten durch den Videotakt VCLK hoch. Bei einem vorbestimmten Zählwert wird ein Austastsignal ausgegeben. Bei einem folgenden vorbestimmten Zählwert wird ein Synchronisationsimpuls ausgegeben. Bei noch einem weiteren vorbestimmten Zählwert wird der Synchronisationsimpuls gelöscht, und dann wird das Austastsignal gelöscht, und dann wird das Zählen neu gestartet. Der Zähler wird beim Beginn des Synchronisationsimpulses zurückgesetzt. VSYNC und HSYNC vom Prozessor 120 werden über den Bus 124 an die Block-Video-MUX und Steuerung der Palette 4000 in Figur 32 an den Anschlüssen VSYNC und HSYNC gesendet. Der Prozessor 120 kann der Graphikfunktion gewidmet sein, und er stellt die Signale ein, um zu ermitteln, welcher Monitoranzeigestandard für die Wiedergabe 170 geeignet ist, und richtet somit das Austast- und Synchronisationsimpuls- Zeitverhalten ein.The GSP 120 in Figure 2 has counters in the video display controller 270. The counters count up in response to being clocked by the video clock VCLK. At a predetermined count, a blanking signal is output. At a subsequent predetermined count, a sync pulse is output. At yet another predetermined count, the sync pulse is cleared, and then the blanking signal is cleared, and then counting is restarted. The counter is incremented at the beginning of the sync pulse. reset. VSYNC and HSYNC from processor 120 are sent over bus 124 to the block video MUX and palette control 4000 in Figure 32 at the VSYNC and HSYNC terminals. Processor 120 may be dedicated to the graphics function and adjusts the signals to determine which monitor display standard is appropriate for display 170 and thus sets up the blanking and sync pulse timing.

Im Computergraphiksystem 100 von Figur 1 liefert die Palette 4000 die Zeitbasis für den Vorprozessor-GSP 120. Das Vorderende schließt effektiv eine Schleife unter Benutzung einer Zeitbasis zum Liefern von Austast- und Synchronisationssignalen, welche dann durch das Hinterende, hier die Palette 4000, abgetastet werden. Die Schleife ist vorteilhafterweise geschlossen, da es eine Diskontinuität zwischen der Schreib-Lese-Zugriffsseite des VRAM gibt, worauf der GSP 120 zugreift, und zwar im Gegensatz zu den Operationen der Palette 4000. Auf diese Art und Weise zählt der GSP in eleganter Weise Impulse und kann bestimmen, wann die Operationen im VRAM 130 auftreten.In the computer graphics system 100 of Figure 1, palette 4000 provides the time base for preprocessor GSP 120. The front end effectively closes a loop using a time base to provide blanking and synchronization signals which are then sampled by the back end, here palette 4000. The loop is advantageously closed because there is a discontinuity between the read/write access side of the VRAM accessed by GSP 120 as opposed to the operations of palette 4000. In this way, the GSP elegantly counts pulses and can determine when the operations in VRAM 130 occur.

Bei einem weiteren diesbezüglichen Merkmal hat die Austastpräzessions-Verzögerungsschaltungslogik 4384, 4322 und 4321 von Figur 31 einen Eingang mit einem ausgewählten Austastsignal BLANK- und VGABLANK- vom Eingangsspeicher 4011 verbunden, das durch einen Multiplexer 4386 ausgewählt ist. Ein zweiter Eingang der Logik 4322 ist zum Takten durch die Takt- Schaltungsanordnung 4041 angeschlossen. Die Verzögerungsschaltung 4322 weist eine variable Verzögerung oder programmierbare Verzögerung auf, der eine feste Verzögerung 4321, welche die DACs 4030 mit Austastsignalen versorgt, die genau mit dem letzten Pixel in jeder Zeile koordiniert sind, folgt.In another related feature, the blanking precession delay circuit logic 4384, 4322 and 4321 of Figure 31 has an input connected to a selected blanking signal BLANK- and VGABLANK- from the input memory 4011 selected by a multiplexer 4386. A second input of the logic 4322 is connected for clocking by the clock circuitry 4041. The delay circuit 4322 has a variable delay or programmable delay followed by a fixed delay 4321 which provides the DACs 4030 with blanking signals precisely coordinated with the last pixel in each row.

In Figur 31 ist die Austastpräzession die Verzögerung, die sich abhängig davon ändert, was das Busbreiten/Pixeltiefen- Verhältnis N ist. Beispielsweise berücksichtigt, abgesehen von einer festen Verzögerung F2 der Schaltung 4321 zum Kompensieren der inhärenten Verzögerung in der Architektur der Palette, die Austastpräzessions-Verzögerungsschaltungslogik die Anzahl von Punkttaktzyklen, die zum Transferieren des Inhalts des Eingangsspeichers 4011 in den RAM 4021 benötigt ist. Diese Anzahl von Zyklen ist direkt proportional zum Verhältnis der Busbreite zu den Pixeln pro Buslast in Tabelle 4. Das bestimmt, wieviel zusätzliche Verzögerung von der Zeit, zu der das Austastsignal auf dem Eingangsanschluß BLANK- aktiv wird, bis die Schaltung die DACs 4031, 4033 und 4035 auf den Austastpegel in Figur 31 ansteuert, notwendig ist. Wenn der Prozessor 120 eine vorbestimmte Anzahl von VCLK-Impulsen zählt, aktiviert er seinen Anschluß für BLANK-, der mit dem Austast- Eingangsanschluß der Palette 4000 verbunden ist. Zu dieser Zeit hat die Palette 4000 zu berücksichtigen, wie viele Pixel noch in dem Eingangsselektor 4051 gelassen sind, welche zur Wiedergabe verblieben sind, bevor sie die DACs in das Austasten steuert. Die Austastpräzessions-Verzögerungsschaltungslogik 4322, 4321 bestimmt somit, wie viele Punkttaktperioden die Palette 4000 warten sollte, bevor sie die DACs in das Austasten steuert. Falls Austastsignal an die DACs zu bald erzeugt wird, werden ein oder mehrere Pixel von der Anzeige verlorengehen. Falls das Austastsignal an die DACs zu spät erzeugt wird, wird ein bedeutungsloser "Müllpixel" in die Verzögerung eingeführt. Die Austastpräzessionslogik veranlaßt vorteilhafterweise, daß das Austastsignal genau zur rechten Zeit auftritt, und zwar unabhängig davon, welche Kombination von der Breite des Datenweges und der Anzahl von Pixeln pro Buslast im Steuerregister 4371 von Figur 31 gewählt ist.In Figure 31, the blanking precession is the delay that changes depending on what the bus width/pixel depth ratio N. For example, aside from a fixed delay F2 of circuit 4321 to compensate for the delay inherent in the architecture of the palette, the blanking precession delay circuit logic takes into account the number of dot clock cycles required to transfer the contents of input memory 4011 to RAM 4021. This number of cycles is directly proportional to the ratio of bus width to pixels per bus load in Table 4. This determines how much additional delay is necessary from the time the blanking signal on input terminal BLANK- becomes active until the circuit drives DACs 4031, 4033, and 4035 to the blanking level in Figure 31. When processor 120 counts a predetermined number of VCLK pulses, it activates its BLANK- terminal connected to the blanking input terminal of palette 4000. At this time, the palette 4000 has to consider how many pixels are left in the input selector 4051 that are left to display before it drives the DACs into blanking. The blanking precession delay circuit logic 4322, 4321 thus determines how many dot clock periods the palette 4000 should wait before it drives the DACs into blanking. If the blanking signal is generated to the DACs too soon, one or more pixels will be lost from the display. If the blanking signal is generated to the DACs too late, a meaningless "garbage pixel" is introduced into the delay. The blanking precession logic advantageously causes the blanking signal to occur at exactly the right time, regardless of what combination of data path width and number of pixels per bus load is selected in control register 4371 of Figure 31.

In Figur 31 sind eine vom Selektormodus abhängige variable Verzögerung plus eine hinreichende feste Verzögerung als eine Gesamtverzögerung durch die Schaltung 4322, 4321 für jedes Videosteuersignal, nicht nur BLANK, sondern auch HSYNC und VSYNC, vorgesehen. In einer weiteren Ausführungsform ist die variable Verzögerung bei der Synchronisation weggelassen, da das Zeitverhalten für die Synchronisation weniger kritisch als für das Austastsignal ist. Ein Teil der Verzögerung wird im VGA-Durchgangsmodes schaltbar umgangen, um in diesem Modus eine feste Verzögerung F1 vorzusehen.In Figure 31, a selector mode dependent variable delay plus a sufficient fixed delay is provided as a total delay by the circuit 4322, 4321 for each video control signal, not only BLANK, but also HSYNC and VSYNC. In a further embodiment, the variable delay is omitted for synchronization, since the timing is less critical for synchronization than for the blanking signal. Part of the delay is switchably bypassed in VGA pass-through mode to provide a fixed delay F1 in this mode.

Figur 31A zeigt, warum die Synchronisation weniger kritisch im Zeitverhalten als das Abtasten ist. Bei einem rastergescanten CRT-Monitor beispielsweise ist die Intensität der Pixel in der Scanlinie am Ende jeder Scanlinie durch das Einsetzen des Austastsignals genau beendet. Die Austast-Abtastschaltung 4384 und die Austastpräzessions-Verzögerungsschaltungslogik 4322 und 4321 bewirken die Beendigung durch ein Eingangssignal zum Austasten an die DACs 4030. Der Synchronisationsimpuls beim zusammengesetzten Videosignal in Figuren 39 und 40 ist grob in der Mitte des Austastsignals zentriert. Demzufolge sind, wie in Figur 31A durch gepunktete Zeilen gezeigt, eine fortgeführte Ablenkung der gelöschten Scanlinie (gepunktet) bis zur Synchronisation und während des Zurückspurens (diagonal) unsichtbar für den Betrachter. Wenn das Austastsignal endet (auf der linken Seite), wird die Länge des Austastsignals genau durch den GSP 120 eingerichtet und genau in der Palette 4000 verzögert, um zu ermöglichen, daß der erste Pixel in der nächsten Scanlinie gesehen wird. Ein kleiner Fehler in der Verzögerung der Synchronisation ändert nicht die Relativposition der Scanlinien oder klemmt irgendwelche Pixel ab und kann deshalb in einer weiteren Ausführungsform toleriert werden.Figure 31A shows why synchronization is less critical in timing than sampling. For example, in a raster scanned CRT monitor, the intensity of the pixels in the scan line is precisely terminated at the end of each scan line by the onset of the blanking signal. Blanking sampling circuit 4384 and blanking precession delay circuit logic 4322 and 4321 effect termination by a blanking input to DACs 4030. The synchronization pulse in the composite video signal in Figures 39 and 40 is roughly centered in the middle of the blanking signal. Consequently, as shown by dotted lines in Figure 31A, continued deflection of the erased scan line (dotted) until synchronization and during backtracking (diagonal) is invisible to the viewer. When the blanking signal ends (on the left), the length of the blanking signal is precisely established by the GSP 120 and delayed exactly in the 4000 range to allow the first pixel in the next scan line to be seen. A small error in the delay of the synchronization does not change the relative position of the scan lines or pinch off any pixels and can therefore be tolerated in another embodiment.

Im allgemeinen ist die Palettenvorrichtung mit einer Modusschaltung, wie zum Beispiel einem Register 4371, zum Einrichten von einem der Vielzahl verschiedener Betriebsmodi versehen. Die Farbcode-Verarbeitungsschaltungsanordnung (wie z.B. der Selektor 4051, der RAM 4021) ist gemäß einem durch die Modusschaltung eingerichteten Modus betreibbar und reagiert auf die Farbcodes mit Zuführen von Farbdatenworten, welche in eine Analogform umwandelbar sind, wobei die Farbcode- Verarbeitungsschaltungsanordnung abhängig von den verschiedenen Modi verschiedene Zeitintervalle zwischen dem Eingang der Farbcodes an die Farbcode-Verarbeitungsschaltungsanordnung und dem Zuführen der Farbdatenworte einrichtet. Eine variable Verzögerungsschaltung (wie z.B. die 4,322,4321) reagiert auf die Modusschaltung mit Verzögern des Videosteuersignals (wie z.B. Austastsignal, Synchronisation oder irgendein weitere Anzeigesteuersignal) um ein Zeitintervall, das von dem durch die Modusschaltung eingerichteten Modus abhängig ist. Die variable Verzögerungsschaltung ist so angeschlossen. daß es den DAC mit dem Videosteuersignal, das so verzögert ist, steuert. Da der Selektor 4051 in sequentieller Weise verschiedene Sätze von Bits von dem Eingangsspeicher an den Nachschlagetabellenspeicher in verschiedenen Modi in Figur 31 liefert, setzt die sequentielle Lieferung das Zeitintervall in der Farbcode-Verarbeitungsschaltungsanordnung in unterschiedlicher Weise in unterschiedlichen Modi fest. Somit kann die Verzögerung von Modus zu Modus in Übereinstimmung mit dem Wert variieren, um die eine Zeit für eine sequentielle Lieferung im Selektor 4051 von Modus zu Modus variiert.Generally, the palette device is provided with a mode circuit, such as a register 4371, for establishing one of a variety of different modes of operation. The color code processing circuitry (such as the selector 4051, the RAM 4021) is operable according to a mode established by the mode circuit and is responsive to the color codes by supplying color data words which are converted into a convertible into analog form, the color code processing circuitry establishing different time intervals between the input of the color codes to the color code processing circuitry and the supply of the color data words depending on the different modes. A variable delay circuit (such as the 4,322,4321) is responsive to the mode circuitry for delaying the video control signal (such as blanking, synchronization or some other display control signal) by a time interval dependent on the mode established by the mode circuitry. The variable delay circuit is connected to control the DAC with the video control signal so delayed. Since the selector 4051 sequentially supplies different sets of bits from the input memory to the lookup table memory in different modes in Figure 31, the sequential supply sets the time interval in the color code processing circuitry differently in different modes. Thus, the delay may vary from mode to mode in accordance with the value by which a time for sequential delivery in selector 4051 varies from mode to mode.

Im allgemeinen bestimmt bei verschiedenen Ausführungsformen der Fachmann die Schaltungsverzögerung der DACs und der Palettenschaltungsanordnung vor den DACs und addiert die Verzögerungen zum Erhalten des Verzögerungswertes, der in den Block 4321 eingebaut werden sollte.Generally, in various embodiments, one skilled in the art will determine the circuit delay of the DACs and the palette circuitry prior to the DACs and add the delays to obtain the delay value that should be incorporated into block 4321.

Eine Ausbreitungszeit verstreicht zwischen der Zeit, zu der der Prozessor 120 zu dem bestimmten Zählwert hochzählt und ihn erreicht, an dem das Austastsignal erzeugt wird, und der, zu der das Austastsignal an der Palette 4000 von dem GSP 120 ankommt. Weiterhin gibt es eine Taktverzögerung da Videozählerschaltungsanordnung des Prozessors 120 und die Palette 4000 synchronisiert sind, aber in der Zeit gegeneinander verschoben sind. Diese Taktverzögerung wird vollständiger in Verbindung mit Figuren 49-50 beschrieben. So sendet die Palette 4000 VCLK und SCLK mit einer Ausbreitungsverzögerung an den Prozessor 120, wo die Zähler unter einen Zeitversatz zur Palette 4000 laufen. Der Prozessor 120 liefert Austast- und Synchronisierungssignale mit einer Ausbreitungsverzögerung an die Palette 4000 zurück. Dies liefert eine Situation, in der Austast- und Synchronisation relativ zur Palettenperspektive um eine unbestimmte Verzögerung verschoben sind, welche ein Verschieben des Punkttaktes beträgt. Diese Austast- oder Synchronisationsverschiebung kann bei einer Punktperiode von 7-16 ns über mehrere Pixel des Bildes variieren. Jedoch sollte zur Anzeigekorrektheit ein Austasten erwünschterweise exakt an einer korrekten Punktflanke auftreten, wobei das Bild in das Austastsignal exakt bei der Anzeige des letzten Pixels in jeder Zeile geht.A propagation time elapses between the time the processor 120 counts up to and reaches the particular count value at which the blanking signal is generated and the time the blanking signal arrives at the palette 4000 from the GSP 120. Furthermore, there is a clock delay because the video counter circuitry of the processor 120 and the palette 4000 are synchronized but shifted in time. This clock delay is described more fully in connection with Figures 49-50. Thus, palette 4000 sends VCLK and SCLK with a propagation delay to processor 120 where the counters are running at a time offset from palette 4000. Processor 120 returns blanking and synchronization signals with a propagation delay to palette 4000. This provides a situation where blanking and synchronization are shifted relative to palette perspective by an indefinite delay which is a shift in the dot clock. This blanking or synchronization shift may vary over several pixels of the image at a dot period of 7-16 ns. However, for display correctness, blanking should desirably occur exactly on a correct dot edge with the image going into the blanking signal exactly at the display of the last pixel in each line.

Da das Austasten über 4-8 Punkttaktperioden variieren kann und in dem DAC resynchronisiert werden muß und genau in dem richtigen Fenster erzeugt werden muß, wird das Zeitverhalten durch einen Abtastprozess mit aufsteigender Auflösung, wie in Figuren 49-50 gezeigt, in den Blöcken 4384, 4322 und 4321 eingerichtet. Die Resynchronisation oder das Abtasten kann und wird mit der Austastpräzessions-Verzögerung in der Schaltungsanordnung vermischt, aber diese zwei Konzepte sind verschieden, und beide bringen Vorteile für die bevorzugte Ausführungs form.Since the blanking can vary over 4-8 dot clock periods and must be resynchronized in the DAC and generated in just the right window, the timing is established by an ascending resolution sampling process as shown in Figures 49-50 in blocks 4384, 4322 and 4321. The resynchronization or sampling can and is mixed with the blanking precession delay in the circuitry, but these two concepts are different and both provide advantages for the preferred embodiment.

Ein Übergangsflanke A vom VCLK in Figur 49 triggert ein Austastsignal vom Prozessor 120. Der Flip-Flop 4384 benutzt die nächste Übergangsflanke im selben ansteigenden oder abfallenden Sinn in den VCLKS zum Abtasten, Fangen oder Erheischen des neuangekommenen Austastwerts oder -signals. Somit ist die maximal erlaubbare Verschiebung implizit eine VCLK-Periode. Falls es eine größere Verschiebung als diese gibt, wird die Frequenz des VCLK durch Umprogrammieren des VCLK- Teilungsverhältnisses, das durch das Ausgangstakt- Auswahlregister OCS 4363 eingerichtet wird, erniedrigt, um dem Prozessor 120 mehr Zeit zwischen den Flanken zu ermöglichen, um ein Austastsignal zu erzeugen. Die VCLK-Periode sollte bedeutend länger sein als die Übergangszeit von BLANK- (vom GSP 120). BLANK- kann effektiv an einer Punkttaktflanke, die deutlich nach der VCLK-Flanke (ansteigend) auftritt, welche die Übergänge von BLANK- verursacht, abgetastet werden. Dies gewährleistet, daß die Resynchronsierung bewerkstelligt werden kann.A transition edge A from the VCLK in Figure 49 triggers a blanking signal from the processor 120. The flip-flop 4384 uses the next transition edge in the same rising or falling sense in the VCLK to sample, catch or capture the newly arrived blanking value or signal. Thus, the maximum allowable shift is implicitly one VCLK period. If there is a shift greater than this, the frequency of the VCLK is adjusted by reprogramming the VCLK division ratio determined by the output clock. Select register OCS 4363 is decremented to allow processor 120 more time between edges to generate a blanking signal. The VCLK period should be significantly longer than the transition time of BLANK- (from GSP 120). BLANK- can be effectively sampled on a dot clock edge that occurs well after the VCLK edge (rising) that causes the transitions of BLANK-. This ensures that resynchronization can be accomplished.

Ein Takten des Flip-Flop 8384 durch VCLKs tastet ein Austastsignal vom GSP 120 auf die Auflösgung des Videotakts, um damit das Austastsignal auf dieser Auflösung zu erzeugen. Die VCLKs haben eine auswählbare Periode, die so kurz wie die Punkttaktperiode oder so lang wie 32-mal die Punkttaktperiode ist. In einem Beispiel einer Punkttaktperiode von 20 Nanosekunden würde die Periode von den VCLKs 20 Nanosekunden oder mehr sein. Das Vielfache ist geeignetermaßen eine Hochzahl von 2, was gewährleistet, daß zwischen irgendwelchen 2 VCLK- Flanken eine und nur eine Austastflanke auftreten wird. Das Abtasten hat etwa eine Zeit von 2 Nanosekunden zwischen einem Taktübergang und im Auftreten eines gültigen Q-Ausgangssignals eines Flip-Flop 4384, der getaktet ist.Clocking the 8384 flip-flop through VCLKs samples a blanking signal from the GSP 120 to the resolution of the video clock to produce the blanking signal at that resolution. The VCLKs have a selectable period that is as short as the dot clock period or as long as 32 times the dot clock period. In an example of a 20 nanosecond dot clock period, the period of the VCLKs would be 20 nanoseconds or more. The multiple is suitably a power of 2, which ensures that one and only one blanking edge will occur between any 2 VCLK edges. The sampling has approximately a 2 nanosecond time between a clock transition and the occurrence of a valid Q output from a 4384 flip-flop that is clocked.

Durch Abtasten des Signals ist die Variabilität der Austastflanke auf die Einstellungszeit des Flip-Flop 4384 reduziert.By sampling the signal, the variability of the blanking edge is reduced to the setting time of the flip-flop 4384.

In Figur 49 arbeiten die VCLKs in Nanosekunden, im Vergleich zu BLANK in Mikrosekunden. Da die Periode der VCLKs programmierbar ist, kann die Anstiegsflanke A dazu gebracht werden, einen hohen Pegel des BLANK- zu sehen, während die Flanke B um die Periode Pl später einen L-Pegel des BLANK- sehen wird. Dann triggert die Flanke B den Flip-Flop 4384, um zu veranlassen, daß sein Ausgangssignal abfällt. Die Zeitunsicherheit B1 ist von der Größenordnung von 0-40 Nanosekunden. Die Benutzung des Flip-Flop 4384 reduziert die Unsicherheit in einer Zeit, wenn das Ausgangsignal d2 des Flip-Flop 4384 beträgt, was eine Unsicherheit von vieleicht 1-2 Nanosekunden bedeutet. Obwohl die Flanke B stärker als um den Betrag dl verzögert ist, um den BLANK unbestimmtermaßen verzögert ist, hat die Flanke B eine bekannte Zeitbeziehung zum Punkttakt, welches der Punkt zum Wiedergewinnen einer korrekten Zeitbeziehung zum Austastsignal ist. Wenn eine Beziehung von einer VCLK-Periode P1, einem Vielfachen von der Punkttakt-Periode, zu dem Ausgangssignal Q eingerichtet ist, steigern zwei weitere Stufen zum Abtasten die Zeitauflösung des Abtastens in Figuren 50, 49 und 52.In Figure 49, the VCLKs operate in nanoseconds, compared to BLANK in microseconds. Since the period of the VCLKs is programmable, the rising edge A can be made to see a high level of the BLANK- while the edge B will see a low level of the BLANK- period Pl later. Then the edge B triggers the flip-flop 4384 to cause its output to fall. The timing uncertainty B1 is on the order of 0-40 nanoseconds. Using the Flip-flop 4384 reduces the uncertainty in time when the output of flip-flop 4384 is d2, which means an uncertainty of perhaps 1-2 nanoseconds. Although edge B is delayed more than the amount dl by which BLANK is indefinitely delayed, edge B has a known timing relationship to the dot clock, which is the point for recovering a correct timing relationship to the blanking signal. When a relationship of a VCLK period P1, a multiple of the dot clock period, to the output Q is established, two additional stages of sampling increase the timing resolution of the sampling in Figures 50, 49 and 52.

In aufeinanderfolgenden Flip-Flops in Figur 50 takten Taktsignale mit ansteigend höherer Frequenz die Flip-Flops 4384, 4322 und 4321, um dadurch die Austastflanke auf eine sogar noch höhere Zeitauflösung einzugrenzen. Diese Anordnung des Taktens von Flip-Flops in der Reihenfolge ansteigender Zeitauflösung wird hier Beschleunigung genannt. Die Beschleunigung erreicht beim Eintritt des Austastsignals in die Pipeline 4321 eine Punkttaktauflösung.In successive flip-flops in Figure 50, clock signals of increasing frequency clock flip-flops 4384, 4322 and 4321, thereby narrowing the blanking edge to an even higher time resolution. This arrangement of clocking flip-flops in order of increasing time resolution is referred to herein as acceleration. The acceleration reaches a dot clock resolution as the blanking signal enters pipeline 4321.

Eine auswählbare Verzögerung wird vorteilhafterweise durch Takten der Flip-Flops 4322 mit einem Signal LOAD eingeführt. LOAD hat dasselbe Teilungsverhältnis zum Punkttakt wie der Verschiebetakt SCLK und läuft kontinuierlich, anstatt während des Austastsignals wie SCLK unterbrochen zu werden. Deshalb führt das Takten der Flip-Flops 4322 mit LOAD eine Verzögerung in Punkttaktperioden ein, die erstens dem Takten des Eingangsspeichers 4011 durch LOAD entspricht und zweitens gleich der Anzahl von Punkttaktperioden ist, die durch den Selektor 4051 zum Transferieren aller Pixel von dem Eingangsspeicher 4011 an den RAM 4021 benutzt wird. Dies ist genau die erwünschte Austastpräzessions-Verzögerung. Somit ist die Zeitauflösung erhöht, und eine Austastpräzession tritt ebenfalls auf.A selectable delay is advantageously introduced by clocking the flip-flops 4322 with a signal LOAD. LOAD has the same division ratio to the dot clock as the shift clock SCLK and runs continuously rather than being interrupted during the blanking signal like SCLK. Therefore, clocking the flip-flops 4322 with LOAD introduces a delay in dot clock periods that is firstly equal to the clocking of the input memory 4011 by LOAD and secondly equal to the number of dot clock periods used by the selector 4051 to transfer all pixels from the input memory 4011 to the RAM 4021. This is exactly the desired blanking precession delay. Thus, time resolution is increased and blanking precession also occurs.

Das Ausgangssignal der Flip-Flops 4322 wird an die Pipeline 4321 geliefert. Die Pipeline wird durch den Punkttakt getaktet, was das Abtasten unter der höchsten Zeitauflösung und unter Erzeugen einer festen Verzögerung vervollständigt, und daraufhin ein internes Austastsignal BLBD zum Austasten für die DAOS erzeugt. Da das Austastsignal BLBD eine bekannte Beziehung der Verzögerung relativ zur Punkttaktflanke hat, die früher zum Prozessor 120 ging, um ein Austastsignal zu initiieren, und eine Verzögerung im Signalweg in der Palette 4000 dieser Verzögerung entspricht und dadurch kompensiert wird, ist der Farbsignalausgang genau mit dem Austastsignal synchronisiert.The output of flip-flops 4322 is provided to pipeline 4321. The pipeline is clocked by the dot clock, which completes sampling at the highest time resolution and produces a fixed delay, and then generates an internal blanking signal BLBD for blanking for the DAOS. Since blanking signal BLBD has a known delay relationship relative to the dot clock edge that previously went to processor 120 to initiate a blanking signal, and a delay in the signal path in palette 4000 matches and compensates for this delay, the color signal output is precisely synchronized with the blanking signal.

Wenn man Figuren 51 und 52 gemeinsamer betrachtet, sind entsprechend bezeichnete Zeilen in den zwei Figuren der Zeichnung miteinander zu verbinden. Das Multiplexer- Steuerregister-Bit 5 (Tabelle 4) MCRB5 veranlaßt, daß der Multiplexer 4386 zwischen den Eingangssignalen BLANKB und VGABLANK in Figur 52 auswählt. Figur 51 zeigt Verbindungen zwischen dem Eingangstakt-Auswahlregister und der Takt- Multiplexerschaltungsanordnung, die mit dem CK(Takt-)-Eingang verbunden ist. Figur 51 zeigt auch Verbindungen zwischen dem Ausgangstakt-Auswahlregister und der Multiplexerschaltungsanordnung zum Liefern von Kombinationen der Frequenzteilungsausgangssignale aus einer Frequenzteilerkette. Einige dieser Ausgänge sind mit der Austast- und Synchronisierungs-Schaltungsanordnung von Figur 52 durch Leitungen VCLKS, LOAD und DOT verbunden.Looking at Figures 51 and 52 more collectively, correspondingly labeled rows in the two figures of the drawing are to be connected together. The multiplexer control register bit 5 (Table 4) MCRB5 causes the multiplexer 4386 to select between the BLANKB and VGABLANK input signals in Figure 52. Figure 51 shows connections between the input clock selection register and the clock multiplexer circuitry connected to the CK (clock) input. Figure 51 also shows connections between the output clock selection register and the multiplexer circuitry for providing combinations of the frequency division output signals from a frequency divider chain. Some of these outputs are connected to the blanking and synchronization circuitry of Figure 52 by lines VCLKS, LOAD and DOT.

In Figur 50 läuft das Austastsignal BLANKB durch die Gatter X8, X33 und zwischen den Verzögerungs-Flip-Flops X33 und dem Gatter X26. Ein Ausgangssugnal ist ein Signal, genannt BLANKB, das das Verschiebetaktsignal SCLK in seiner Präzessionsfunktion abschaltet.In Figure 50, the blanking signal BLANKB passes through gates X8, X33 and between the delay flip-flops X33 and gate X26. An output signal is a signal called BLANKB which turns off the shift clock signal SCLK in its precession function.

Ein Block SSRT in Figur 52 reagiert auf den Signalpegel am Anschluß SSRT/NF (Teil-Schieberegister-Transfer/Nibbleflag). Im Steuerregister bestimmen die Bits 2 und 3, ob die Schaltung im SSRT-Modus oder im Nibbleflagmodus ist. Falls sie im SSRT-Modus ist, dann wird das SSRT-Signal durch das NAND-Gatter X1 geführt, und dann erzeugt der SSRT-Verzögerungsblock einen Impuls einer vorbestimmten Breite auf der Leitung SSRTP, der zum Triggern des VRAM 130 über die Schaltungsanordnung von Figur 51 und den SCLOCK-Ausgang benötigt wird.A block SSRT in Figure 52 reacts to the signal level at the terminal SSRT/NF (partial shift register transfer/nibble flag). Control register bits 2 and 3 determine whether the circuit is in SSRT mode or nibble flag mode. If it is in SSRT mode, then the SSRT signal is passed through NAND gate X1 and then the SSRT delay block generates a pulse of predetermined width on line SSRTP which is needed to trigger VRAM 130 via the circuitry of Figure 51 and the SCLOCK output.

Ein Zweck, daß man den L-Impuls von SSRT auf der Speicherzyklus-Wellenform-Leitung hat, ist es, den neuen Abgriffspunkt für den vollständigen Transfer in die Register innerhalb des VRAM 130 zu laden. Das Abgriffspunktregister transferiert eine Adresse in die Eingangsspeicher des VRAM 130. Es gibt einen Zwei-Schritt-Prozess im VRAM 130. Der Prozessor 120 liefert einen LAD-Code, um den Schieberegister-Transfer aufzurufen. Ein Abgriffspunktwert wird nicht bis zur nächsten ansteigenden Flanke des Verschiebetakts SCLK an den Abgriffspunktzähler 94 transferiert. Falls kein Impuls zwischen diesen zwei Funktionen eingesetzt würde, könnte der Wert, der in dem Speicher 91 ist, nicht in den Abgriffspunktzähler 94 transferiert werden. Der zweite Transfer würde den laufenden Wert im Speicher überschreiben. Somit bewegt das Einsetzen des Impulses SSRTP vorteilhafterweise den Abgriffspunkt des vollständigen Schieberegister-Transfers zum Abgriffspunktzähler 94, und ein Überschreiben wird vermieden.One purpose of having the low pulse from SSRT on the memory cycle waveform line is to load the new tap point for complete transfer into the registers within VRAM 130. The tap point register transfers an address into the input memories of VRAM 130. There is a two step process in VRAM 130. Processor 120 provides a LAD code to invoke the shift register transfer. A tap point value is not transferred to tap point counter 94 until the next rising edge of shift clock SCLK. If no pulse were inserted between these two functions, the value that is in memory 91 could not be transferred to tap point counter 94. The second transfer would overwrite the current value in memory. Thus, the onset of the pulse SSRTP advantageously moves the tap point of the complete shift register transfer to the tap point counter 94, and overwriting is avoided.

Somit wird, wie in Figur 14 gezeigt, der Speicher 91 durch die Wellenform memcy- getaktet, und die Wellenform memcy- bewegt Daten von dem Bus inden Eingangsspeicher 91. SCLK bewirkt darauffolgend einen Transfer der Daten aus dem Abgriffspunktzähler 94, wie durch die Notation SCLK in Figuren 14 und 21 angedeutet.Thus, as shown in Figure 14, memory 91 is clocked by the memcy- waveform, and the memcy- waveform moves data from the bus into input memory 91. SCLK subsequently causes a transfer of the data from tap point counter 94, as indicated by the notation SCLK in Figures 14 and 21.

Während des Austastsignals ist SCLK (mit Ausnahme des SSRT- Impulseinsetzens) in dieser Schaltungsanordnung deaktiviert. Dieses Verschiebetaktsignal, das an den Chip-Bonding-Anschluß ausgegeben wird, ist als SCLOCK in Figur 52 bezeichnet, entspricht aber dem identischen Ausgangssignal SCLK von Figur 31.During the blanking signal, SCLK is disabled (except for the SSRT pulse onset) in this circuit. This shift clock signal, which is applied to the chip bonding terminal is designated as SCLOCK in Figure 52, but corresponds to the identical output signal SCLK of Figure 31.

Die Taktsteuerung 4041 von Figur 31 ist detaillierter im schematischen Diagramm von Figur 51 gezeigt. Eine Reihe von Takt-Erzeugungsschaltungsanordnungen erzeugt Korrekturfrequenzen basierend auf den Steuersignalen MCRB5, der Eingangstakt-Auswahl ICS 0-3 und den 5 Oszillatoreingangssignalen CK0-CK5. Der Block 4040 zeigt eine Schaltungsanordnung zum Auswählen, welche von 6 Taktoszillatoren die programmierbare Palette 4000 ansteuern dürfen. Das Ausgangssignal des Blockes 4040 geht an den Block 4041, der ein Taktteiler ist, um die korrekte Frequenz für SCLK und VCLK, basierend auf den Eingangssignalen OCS0-5 zu bestimmen.The clock control 4041 of Figure 31 is shown in more detail in the schematic diagram of Figure 51. A series of clock generation circuitry generates correction frequencies based on the control signals MCRB5, the input clock select ICS 0-3 and the 5 oscillator input signals CK0-CK5. Block 4040 shows circuitry for selecting which of 6 clock oscillators are allowed to drive the programmable palette 4000. The output of block 4040 goes to block 4041 which is a clock divider to determine the correct frequency for SCLK and VCLK based on the input signals OCS0-5.

Das Teilungsverhältnis ist gleich der Pixelbusbreite geteilt durch die Pixeltiefe und teilt den Punkttakt, der durch den Block 4040 ausgewählt ist. Falls es einen 32-Bit breiten Datenweg und einen 4-Bit-Pixel gibt, ist das Teilungsverhältnis 8. Dies ist wichtig, da es die Fähigkeit der Benutzung aller Pixel im Eingangsspeicher 4011 vor dem Laden des nächsten Satzes von 8 Pixeln in den Eingangsspeicher 4011 ermöglicht. Das Teilungsverhältnis (z.B. "geteilt durch 8" des Punkttakts) ergibt die Frequenz des Verschiebetakts SCLK, welche bewirkt, daß bei jeder ansteigenden Flanke 8 Pixel geladen werden. Bei diesem Beispiel greift der Palettenchip sequentiell auf 4-Bit- Abschnitte des Busses zu, und zwar auf einen nach dem anderen, unmittelbar bevor der nächste SCLK-Zyklus durch diese Teilungsschaltungsanordnung erzeugt wird, um den Eingangsspeicher 4011 mit einem neuen Satz von 32-Bits, die 8 Pixel von jeweils 4-Bits bilden, zu laden.The division ratio is equal to the pixel bus width divided by the pixel depth and divided by the dot clock selected by block 4040. If there is a 32-bit wide data path and a 4-bit pixel, the division ratio is 8. This is important because it enables the ability to use all of the pixels in input memory 4011 before loading the next set of 8 pixels into input memory 4011. The division ratio (e.g., "divide by 8" the dot clock) gives the frequency of the shift clock SCLK, which causes 8 pixels to be loaded on each rising edge. In this example, the palette chip sequentially accesses 4-bit portions of the bus, one at a time, immediately before the next SCLK cycle is generated by this division circuitry to load the input memory 4011 with a new set of 32-bits forming 8 pixels of 4-bits each.

In Figur 31 bestimmt das Takt-Steuerregister ICS 4361 die Taktoszillatorauswahl und nicht das Teilungsverhältnis bei dieser Ausführungsform Somit wird das Takt-Steuerregister 4361 durch RS0-RS3 ausgewählt, und darauf wird direkt durch die Datenbits D0-D7 zur Taktauswahl zugegriffen. Die Logik 4362 andererseits dekodiert einen Teil des Steuerregisters OCS 4363 und richtet das Teilungsverhältnis in der Schaltung 4041 ein.In Figure 31, the clock control register ICS 4361 determines the clock oscillator selection and not the division ratio at This embodiment Thus, the clock control register 4361 is selected by RS0-RS3 and is directly accessed by the data bits D0-D7 for clock selection. The logic 4362, on the other hand, decodes a portion of the control register OCS 4363 and sets up the division ratio in the circuit 4041.

Die Ausgangssteuerbits OCS0 OCS5 sind Ausgangssignale der Logik 4362, welche durch Steuerregisterbits 4363 angesteuert wird, und bestimmen, welches Taktteilungsverhältnis eingeführt wird. Die Eingangstaktauswahlen ICS0-3 sind hingegen die Bits vom Register 4361 und bestimmen, welcher Taktoszillator benutzt wird. Die Schaltungsanordnung 4044 SCLK_SELECT_NEW3 nimmt die Eingangssignale von den Teilern und OCS0-2 und bestimmt, welche Frequenz an den SCLK-Ausgang verteilt wird, um hinreichende Verzögerungen im Block 4041 vorzusehen, um LOAD sowie einen VCLK und einen SCLK (internes Signal) zu erzeugen. In Figur 51 ist VCLOCK das VCLK-Ausgangssignal an den Bondinganschluß von einem Puffer 4341, das durch die Logik 4042 als Reaktion auf OCS3-5 angelegt wird. SCLOCK ist das SCLK-Ausgangssignal an den Bondinganschluß von einem Puffer 4343 von der Logik 4044.The output control bits OCS0 OCS5 are outputs of logic 4362, which is driven by control register bits 4363, and determine which clock division ratio is introduced. The input clock selects ICS0-3, on the other hand, are the bits from register 4361 and determine which clock oscillator is used. The circuitry 4044 SCLK_SELECT_NEW3 takes the inputs from the dividers and OCS0-2 and determines which frequency is distributed to the SCLK output to provide sufficient delays in block 4041 to generate LOAD as well as a VCLK and a SCLK (internal signal). In Figure 51, VCLOCK is the VCLK output to the bonding terminal of a buffer 4341, which is applied by logic 4042 in response to OCS3-5. SCLOCK is the SCLK output signal to the bonding pin of a buffer 4343 of the logic 4044.

Ein Puffern ist durch Puffer vorgesehen, wie z.B. 4341 und 4343, um einige Eingänge extern vom Chip 4040 anzusteuern, falls notwendig, und um die Stromtragfähigkeit des Chips 4000 für eine externe Ansteuerung über das hinaus zu erhöhen, was für interne Schaltungen zum Ansteuern voneinander auf dem Chip erforderlich ist.Buffering is provided by buffers such as 4341 and 4343 to drive some inputs external to chip 4040 if necessary and to increase the current carrying capability of chip 4000 for external driving beyond what is required for internal circuits to drive each other on the chip.

In Figuren 54 und 55 akkumuliert die Testschaltungsanordnung 4395 von Figur 31 eine Summe von einzelnen Bits in farbbezogenen Bytes des Ausgangssignals vom RAM 4021 in einen Zeitintervall zwischen vertikalen Synchronisationsimpulsen. Jedes Byte geht in eine Einsen-Zählerschaltung 7001 von Figur 54 von einer Schaltung 7061 von Figur 55, welche die Farbe, die zu zählen ist, auswählt. In Figur 54 wird das Bytes ACCUM [0-7] in einen Speicher 7011 eingegeben. Der Speicher 7011 hat 8 Bits einschließlich eines hohen 4-Bit-Nibble und eines niedrigen 4- Bit-Nibble. Um die Logik vorteilhafterweise schnell zu gestalten, zählen die Nibbledekodierer 7013 und 7015 die Anzahl von Einsen in den jeweiligen hohen und niedrigen Nibblen durch Dekodieren derselben. Beispielsweise wird 1111 100 (vier Einsen dekodiert auf binär 4) dekodiert, 0101 wird auf 010 (zwei Einsen dekodiert auf binär 2) dekodiert usw.. Die Binärzahl vom Dekodierer 7013 wird auf den Leitungen B2, B1 und B0 ausgegeben. Die Binärzahl vom Dekodierer 7015 wird auf den Leitungen A2, A1, A0 ausgegeben. Diese zwei Binärzahlen werden dann durch eine Addiererschaltung 7021 zusammenaddiert, die einen Eingangsspeicher 7023 und eine Addiererlogik 7025 aufweist. Der Ausgangswert ist eine Binärzahl auf den Leitungen N3, N2, N1, N0. Falls beispielsweise ACCUM [0-7] 01101100 ist (vier Einsen hat), ist der Ausgangswert des Addierers 7021 dementsprechend 0100 (binär 4). Eine Gesamtanzahl oder Akkumulierung der so gezählten Einsen wird durch den Akkumulator 7027 erzeugt. Der Akkumulator 7027 hat einen Eingangsspeicher 7029 und eine Akkumulierungslogik 7031. Die Gesamtanzahl wird in einem Satz von Speichern 7033 getaktet durch den Punkttakt aufgefrischt und dann in den Testregisterspeicher 7041 bei Auftreten des nächsten vertikalen Synchronisierungsimpulse VSYNC0 gebracht. Die Schaltung 7045 liefert Punkttakte an die Schaltungen 7011, 7021 und 7027, wenn eine Aktivierungsleitung ACKEN aktiv ist. Die Schaltung 7051 liefert die vertikale Synchronisation an das Testregister 7041 bei Aktivierung durch das Bit 1 des allgemeinen Steuerregisters 4398 (GCRB1).In Figures 54 and 55, the test circuitry 4395 of Figure 31 accumulates a sum of individual bits in color-related bytes of the output signal from RAM 4021 in a time interval between vertical synchronization pulses. Each byte goes into a ones counter circuit 7001 of Figure 54 from a circuit 7061 of Figure 55 which selects the color to be counted. In Figure 54, the byte ACCUM [0-7] is input to a memory 7011. The memory 7011 has 8 bits including a high 4-bit nibble and a low 4-bit nibble. To advantageously make the logic fast, nibble decoders 7013 and 7015 count the number of ones in the respective high and low nibbles by decoding them. For example, 1111 is decoded to 100 (four ones decoded to binary 4), 0101 is decoded to 010 (two ones decoded to binary 2), etc. The binary number from decoder 7013 is output on lines B2, B1, and B0. The binary number from decoder 7015 is output on lines A2, A1, A0. These two binary numbers are then added together by an adder circuit 7021 having an input latch 7023 and an adder logic 7025. The output is a binary number on lines N3, N2, N1, N0. For example, if ACCUM [0-7] is 01101100 (has four ones), the output of adder 7021 is accordingly 0100 (binary 4). A total or accumulation of the ones thus counted is produced by accumulator 7027. Accumulator 7027 has an input latch 7029 and accumulation logic 7031. The total is refreshed in a set of latches 7033 clocked by the dot clock and then placed in test register latch 7041 upon the occurrence of the next vertical synchronization pulse VSYNC0. Circuit 7045 provides dot clocks to circuits 7011, 7021 and 7027 when an enable line ACKEN is active. Circuit 7051 provides vertical synchronization to test register 7041 when activated by bit 1 of general control register 4398 (GCRB1).

In Figur 55 hat eine Akkumulator-Multiplexerschaltung 7061 einen Satz von 3-Eingangs-Mulitplexern 7063.1-.8, welche ein Leitungsausgangssignal aus einem Stückes für die 8 Leitungen ACCUM [0-7] erzeugt. Die Eingänge sind mit den 24 Leitungen des Ausganges des RAM 4021, ROT [0-7], GRÜN [0-7] und BLAU [0-7] verbunden. Die 3-Weg-Auswahl von zu zählenden Farbbits wird durch einen Satz von Leitungen BSB, GSB, RSB gesteuert. Die Aktivierungsschaltungsanordnung 7065 hat Eingänge mit den 3 Leitungen sowie mit einer Austastleitung BLB verbunden, um das Signal ACKEN als Ausgangssignal zu erzeugen.In Figure 55, an accumulator multiplexer circuit 7061 has a set of 3-input multiplexers 7063.1-.8 which produce a one-piece line output signal for the 8 lines ACCUM [0-7]. The inputs are connected to the 24 lines of the output of the RAM 4021, RED [0-7], GREEN [0-7] and BLUE [0-7]. The 3-way selection of color bits to be counted is controlled by a set of lines BSB, GSB, RSB. The activation circuitry 7065 has inputs connected to the 3 lines as well as to a blanking line BLB to produce the ACKEN signal as an output signal.

Wie beschrieben, führt die Schaltungsanordnung 7061 und 7001 eine Ein-Bit-Akkumulierungsanalyse vom Eingangsspeicher 4011 über den Ausgang des Farbpaletten-RAM 4021 durch. Das Palettentestregister und Einsen-Akkumulierungsregister 7041 zählt die Einsen, die am Ausgang des Farbpaletten-RAM während einer Zeitperiode auftreten. Die Zeitperiode ist geeignetermaßen die Periode zwischen aufeinanderfolgenden vertikalen Synchronisierungssignalen oder 16,7 Millisekunden. Da diese Periode so lang sein kann, daß ein Überfließen im Speicher 7033 auftritt, besteht die Akkumulierung aus den niedrigstwertigen Bits einer so akkumulierten binären Gesamtsumme. Die Akkumulierung ermöglicht, daß ein Hostcomputer Testsoftware laufen läßt, um zu bestimmen, ob die korrekten Daten von dem Eingangsspeicher 4011 durch den Ausgang des RAM 4021 gehen. Die Software betreibt einen Vergleich zwischen dem, was empfangen wird, und einem Wert, der zu Verifizierungszwecken empfangen werden sollte. Auf den Einsen- Akkumulierungswert wird über die Anschlüsse D0-D7 zugegriffen, und er wird durch RS0-3 ausgewählt.As described, the circuitry 7061 and 7001 performs a one-bit accumulation analysis from the input memory 4011 through the output of the color palette RAM 4021. The palette test register and one accumulation register 7041 counts the ones that appear at the output of the color palette RAM during a period of time. The period of time is suitably the period between successive vertical synchronization signals, or 16.7 milliseconds. Since this period may be long enough to cause overflow in the memory 7033, the accumulation consists of the least significant bits of a binary total thus accumulated. The accumulation allows a host computer to run test software to determine whether the correct data from the input memory 4011 is passing through the output of the RAM 4021. The software performs a comparison between what is received and a value that should be received for verification purposes. The ones accumulation value is accessed via terminals D0-D7 and is selected by RS0-3.

Die Einsen-Akkumulierung erleichtert den Systemtest. Wenn ein vorbestimmtes Testbild durch den Host 110 geliefert wird und durch Operationen des GSP 120, VRAM 130 und der Palettenvorrichtung 4000 widergegeben wird, dann sollte ein bekannter Wert des Akkumulierungswerts gezählt werden. Falls dieser Wert nicht auftritt, erfaßt der Systemtest eine Bedingung, die möglicher Weise ein Ersetzen vom System oder eine Reparatur davon erfordert.The accumulation of ones facilitates system testing. When a predetermined test pattern is provided by the host 110 and reproduced by operations of the GSP 120, VRAM 130 and palette device 4000, a known value of the accumulation value should be counted. If If this value does not occur, the system test detects a condition that may require system replacement or repair.

Der Farbpaletten-RAM 4021 erzeugt drei 8-Bit-Ausgangssignale. Auf den ersten Blick könnten die 8-Bit-Ausgangssignale irgendeine Sequenz von Einsen und Nullen haben. Wenn ein Testregime eingeführt wird, wird eine Beschränkung eingeführt. In einem Testschema werden alle Nullen in den VRAM geschrieben, und alle Einsen werden in den RAM 4021 geschrieben. Dann sollte bei jedem Zugriff jedes Byte nur Einsen enthalten, und falls dies nicht auftritt, ist der Test gescheitert. Dies wird jedoch nur Null in dem Paletten-RAM 4021 addressieren. Bei einer zweiten Phase des des Tests wird der VRAM mit nur 00000001- Werten gefüllt, und auf die Adresse im RAM wird zugegriffen. Bei einer Anzahl von Phasen, die gleich der Anzahl von Adressen des RAM 4021 ist, wird der Test mit Werten im VRAM, die alle gleich der letzten Adresse im RAM 4021 sind, auf die zuzugreifen ist, laufengelassen. Auf diese Weise werden alle Bits über die Breite des Busses 145, alle Multiplexer und alle Adressen im RAM 4021 getestet.The color palette RAM 4021 produces three 8-bit outputs. At first glance, the 8-bit outputs could be any sequence of ones and zeros. When a test regime is introduced, a restriction is introduced. In a test scheme, all zeros are written to the VRAM, and all ones are written to the RAM 4021. Then, on each access, each byte should contain only ones, and if this does not occur, the test has failed. However, this will only address zero in the palette RAM 4021. In a second phase of the test, the VRAM is filled with only 00000001 values, and the address in the RAM is accessed. For a number of phases equal to the number of addresses in RAM 4021, the test is run with values in VRAM all equal to the last address in RAM 4021 to be accessed. In this way, all bits across the width of bus 145, all multiplexers, and all addresses in RAM 4021 are tested.

Bei einem weiteren Test werden alle Orte im RAM 4021 mit Einsen geladen, mit Ausnahme des Ortes, auf den zuzugreifen ist, welcher mit Nullen geladen wird. Falls dementsprechend nicht alle Nullen als Ausgangssignal erzeugt werden, wird ein Defekt irgendwo im System einschließlich des Prozessors, des VRAM und der Palette 4000 erfaßt. Dieser Defekt kann auf die Palette durch Laufenlassen einer Testroutine von dem Prozessor auf dem VRAM, um zu bestimmen, ob es das Ausgangssignal erzeugt, das abhängig von dem erwartet werden würde, was in den VRAM geladen ist, isoliert werden und, falls der VRAM den Test meistert, hat die Palette 4000 den Defekt.In a further test, all locations in RAM 4021 are loaded with ones, except for the location to be accessed, which is loaded with zeros. Accordingly, if all zeros are not produced as an output, a defect is detected somewhere in the system, including the processor, VRAM, and pallet 4000. This defect can be isolated to the pallet by running a test routine from the processor on the VRAM to determine if it is producing the output that would be expected based on what is loaded into the VRAM, and if the VRAM passes the test, pallet 4000 has the defect.

Weitere Tests können ebenfalls durchgeführt werden. Ein weiteres Testprinzip ist das Zählen der Anzahl von Einsen in den zu übertragenden Daten, und diese Anzahl wird an die übertragenen Daten angehängt. Beim Empfang wird die Anzahl von Einsen wiederum gezählt und mit der an die Übertragung angehängte Zahl verglichen. Falls die Zahl dieselbe ist, dann bestehen die Daten den Test. Auf diese Art und Weise steigt die zum Testen des RAM erforderliche Anzahl von Bits nur logarithmisch mit der RAM-Größe.Other tests can also be performed. Another test principle is counting the number of ones in the data to be transmitted, and that number is appended to the transmitted data. When received, the number of ones is again counted and compared to the number appended to the transmission. If the number is the same, then the data passes the test. In this way, the number of bits required to test the RAM only increases logarithmically with RAM size.

Bei noch einem weiteren Test wird der gesamte RAM 4021 entladen, und all die darin gespeicherten Einsen werden nach dem Farbtyp gezählt und mit Zahlen verglichen, die für den Inhalt des RAM erwartet werden. Drei Register für R-, G-, B- Schuß halten vom Speicher entladene Daten, und eine Summe wird über jeden Satz von 8 Bits erhalten, und dann findet eine Akkumulierung statt, wenn alle Orte im Speicher entladen sind. Das Einsen-Akkumulator-Register kann auch Gesamtwerte für ROT-, GRÜN-, BLAU-Summen halten und darauf kann sequentiell durch eine RS0-3-Adresse, gefolgt durch drei in Wertstellungen eines ROT-Signals zum Lesen der Einsen-Akkumulierungsregister zugegriffen werden. Beim Multiplexen der vorliegenden Ausführungsform wird eine Farbe ausgewählt und dann zwischen Augenblicken vertikaler Synchronisation akkumuliert, und dann eine weitere Farbe und noch eine weitere.In yet another test, the entire RAM 4021 is unloaded and all the 1's stored in it are counted by color type and compared to numbers expected for the contents of the RAM. Three registers for R, G, B shots hold data unloaded from memory and a sum is obtained over each set of 8 bits and then an accumulation takes place when all locations in memory are unloaded. The 1's accumulator register can also hold totals for RED, GREEN, BLUE sums and can be accessed sequentially by an RS0-3 address followed by three increments of a RED signal to read the 1's accumulation registers. In multiplexing the present embodiment, a color is selected and then accumulated between moments of vertical synchronization, and then another color and another.

Diese analogen Vergleichsbits im Testregister liefern in individueller Weise, zusätzlich zum Systemtest einen Test für die Palettenvorrichtung 4000, der durch das Einsen- Akkumulierungsregister vorgesehen ist. Identische Bytes können in den RAM 4021 für jede Farbe geladen werden. Falls sie nicht annähernd dieselben analogen Ausgangssignale erzeugen, dann wird eine mögliche Problembedingung erfaßt. Ein gegebenes Byte eines Wertes, der gleich einem Referenzpegel sein sollte, kann jedem DAC 4031, 4033 oder 4035 geliefert werden, und das DAC- Ausgangssignal verglichen mit diesem Referenzpegel als Analogpegel. Falls es eine Diskrepanz gibt, wird ein defekter DAC oder eine defekte Verbindung zum Monitor angezeigt. Der Grund, daß die Verbindung zum Monitor den DAO-Ausgang beeinflussen könnte, ist der, daß die Eingangsimpedanz des Monitors den DAC abfallen läßt, so daß eine unerwünschte Entkopplung des Monitors das DAC-Ausgangssignal ändert.These analog comparison bits in the test register provide a test for the palette device 4000 individually, in addition to the system test provided by the ones accumulation register. Identical bytes can be loaded into the RAM 4021 for each color. If they do not produce approximately the same analog output signals, then a possible problem condition is detected. A given byte of a value that should be equal to a reference level can be provided to any DAC 4031, 4033 or 4035 and the DAC output compared to that reference level as an analog level. If there is a discrepancy, a defective DAC or a defective connection to the monitor is indicated. The The reason that the connection to the monitor could affect the DAO output is that the input impedance of the monitor causes the DAC to drop, so unwanted decoupling of the monitor changes the DAC output signal.

Der 256x24-RAM 4021 ist ein SRAM gemäß schneller, statischer RAM-Technologie.The 256x24 RAM 4021 is an SRAM based on fast, static RAM technology.

Jetzt wird sich einem weiteren Aspekt zugewandt, und zwar ist das ODER-Gatter 4036 von Figur 32 nur ein Beispiel einer Schaltungsanordnung, welche zum Erfassen der Gegenwart des Realfarbmodus benutzt werden kann. Jeglicher von zwei oder mehr Werten könnte alternativermaßen zum Steuern des Ausgangs- Multiplexers 4038 auf dem Realfarbmodus erfaßt werden, und irgendein Wert dann an die Schaltungsanordnung für Attribute oder Intensität geleitet werden. Ebenfalls kann die Auswahl durch eine Auf-Chip-Steuerschaltungsanordnung eingerichtet werden, was alle Werte der 8 restlichen Bits von Byte D in Figur 31 zum Steuern von Attributen oder Intensität freimacht.Turning now to another aspect, the OR gate 4036 of Figure 32 is just one example of circuitry that can be used to detect the presence of the real color mode. Any of two or more values could alternatively be detected to control the output multiplexer 4038 on the real color mode, and any value then passed to the attribute or intensity circuitry. Also, the selection can be established by on-chip control circuitry, freeing up all values of the 8 remaining bits of byte D in Figure 31 for controlling attributes or intensity.

Die 8 Bits werden hier als Minoritätsbits bezeichnet, und die 24 Bits werden Majoritätsbits genannt. Allgemein gesagt sind die Majoritätsbits gleich oder größer in der Anzahl als die Minoritätsbits, und bei der vorliegenden Ausführungsform stehen die Majoritätsbits im Verhältnis von 3:1 zu den Minoritätsbits. Wie hier benutzt, enthalten Majoritätsbits und Minoritätsbits ein Konzept eines Übergewichts einer bloßen Anzahl, und zwar unabhängig von dem Ort, was ein verschiedenes Konzept von dem der höchstwertigen Bits und der niedrigstwertigen Bits ist, das ein Konzept einer Ortsbeziehung oder -wertigkeit ist.The 8 bits are referred to here as minority bits, and the 24 bits are called majority bits. Generally speaking, the majority bits are equal to or greater in number than the minority bits, and in the present embodiment, the majority bits are in a ratio of 3:1 to the minority bits. As used herein, majority bits and minority bits include a concept of a preponderance of mere number, regardless of location, which is a different concept from that of the most significant bits and the least significant bits, which is a concept of a location relationship or significance.

Bei einer weiteren Ausführungsform werden mit dem in Figur 56 gezeigten 16-Bit-Bus die Minoritätsbits in den Paletten-RAM 4021 eingegeben, und die Majoritätsbits werden an einen 0- Detektor 6836 (analog zum ODER-Gatter 4036 von Figur 32) eingegeben. Der 0-Detektor 6836 steuert die Auwahlleitung eines MUX 6838, der 12 Leitungen in drei Gruppen von 4 Leitungen an die DACs 4031, 4033, 4035 liefert. Der Paletten-RAM 4021 wird auf 4 Leitungen mit Minoritätsbits versorgt und liefert dann ein 12-Bit-Ausgangssignal zur Auswahl durch den MUX 6838. 12 Majoritätsbits werden auf 12 Parallelleitungen als eine alternative Auswahl durch den MUX 6838 geliefert. Diese Ausführungsform benutzt vorteilhafterweise nur einen Wert Null von 4096 (212) Werten, die durch die Majoritätsbits darstellbar sind, um die Auswahl durchzuführen. Diese Schaltung wird leicht zum Schutz der Farbwiederholungsfunktionen im GSP 120 implementiert. Eine Ausführungsform mit Majoritätsbits für den RAM 4021 würde eine hochdetaillierte Farbauswahl für einen Graphikhintergrund und weniger Farbauswahlen für einen Vordergrund (wobei eine davon der Code für eine Reakfarbe oder transparent wäre) vorsehen. Im Gegensatz dazu würde die Ausführungsform von Figur 56 einen Vordergrund von 4095 Farben (4096 weniger 1) bieten, was durch das Umgehen der wahren Farbe vorgesehen ist, und die Nullerfassung 6836 aktiviert und veranlaßt, daß der MUX 6838 jegliche von 16 Farben als Hintergrundfarben vom RAM 4021 auswählt. Mit anderen Worten gibt es (4095+16) verschiedene Farben, die gleichzeitig angezeigt werden können.In another embodiment, the 16-bit bus shown in Figure 56 inputs the minority bits to the palette RAM 4021 and the majority bits are input to a 0 detector 6836 (analogous to the OR gate 4036 of Figure 32). The 0 detector 6836 controls the select line of a MUX 6838 which provides 12 lines in three groups of 4 lines to DACs 4031, 4033, 4035. Palette RAM 4021 is provided with minority bits on 4 lines and then provides a 12-bit output for selection by MUX 6838. 12 majority bits are provided on 12 parallel lines as an alternate selection by MUX 6838. This embodiment advantageously uses only a value zero of 4096 (212) values representable by the majority bits to perform the selection. This circuit is easily implemented to protect the color repeat functions in GSP 120. A majority bit embodiment for RAM 4021 would provide a highly detailed color selection for a graphics background and fewer color selections for a foreground (one of which would be the code for a reactive color or transparent). In contrast, the embodiment of Figure 56 would provide a foreground of 4095 colors (4096 less 1) provided by bypassing the true color and activating the null capture 6836 and causing the MUX 6838 to select any of 16 colors as background colors from RAM 4021. In other words, there are (4095+16) different colors that can be displayed simultaneously.

Mit Bezug auf Figur 57 ist eine weitere Ausführungsform einer verbesserten Palettenschaltungsanordnung gezeigt. Bei 8-Bit- Paletten werden die 8-Bit-Pixeldaten zum Auswählen von einem von 256 (2&sup8;) Einträgen aus einer Nachschlagetabelle (LUT) 4021 benutzt, welche Rohdaten zum Ansteuern der DACs 4031, 4033, 4035 enthält, welche dann analoge RGB-Analogsignale ausgeben. Ein Problem beim Übergang auf Pixelgrößen, die größer als 8 Bits sind, ist das, daß die Dekodierung komplexer und somit langsamer wird. Dies tendiert dazu, es zu veranlassen, daß die Pixeldaten-Bandbreite abfällt.Referring to Figure 57, another embodiment of an improved palette circuitry is shown. With 8-bit palettes, the 8-bit pixel data is used to select one of 256 (28) entries from a look-up table (LUT) 4021 which contains raw data to drive the DACs 4031, 4033, 4035 which then output analog RGB signals. One problem with moving to pixel sizes larger than 8 bits is that decoding becomes more complex and thus slower. This tends to cause the pixel data bandwidth to drop.

In Figur 57 werden die eintretenden 16-Bit-Pixeldaten durch eine Teilungsschaltung 6901 (z.B. in der Selektorschaltung 4051 von Figur 31) in Komponenten aufgespalten, z.B in ROT-, GRÜNund BLAU-Sätze von Bits oder Schüssen. Der Teiler ist eine logische Schaltung, die Pixeldaten simultan mit weiteren vorbestimmten Pegeln, wie gewünscht, an drei 8-Bit-Busse RLD, GLD und BLD (ROT, GRÜN, BLAU-Last) eingibt. Durch Teilen der eintretenden Pixeldaten wird die Größe und die Tiefe des Dekodierens bei jedem der drei 1-von-256-Dekodierer 6903, 6905 und 6907, die jeweils mit den Bussen RLD, GLD und BLD verbunden sind, minimalisiert.In Figure 57, the incoming 16-bit pixel data is divided by a division circuit 6901 (eg in the selector circuit 4051 of Figure 31) into components, e.g., RED, GREEN, and BLUE sets of bits or shots. The divider is a logic circuit that inputs pixel data simultaneously with further predetermined levels as desired to three 8-bit buses RLD, GLD, and BLD (RED, GREEN, BLUE load). By dividing the incoming pixel data, the size and depth of decoding is minimized at each of the three 1-of-256 decoders 6903, 6905, and 6907, respectively connected to the RLD, GLD, and BLD buses.

Beispielsweise wird eine 16-Bit-Palette betrachtet. Die Daten werden willkürlicherweise in ROT-, GRÜN-, BLAU-Komponenten von 8 Bits, 4 Bits und 4 Bits im Stück aufgespalten. Jede dieser Komponenten wird zum Ansteuern des Dekodierens in Komponentennachschlagetabellen 6911, 6013 und 6915 zum Eingeben in die DACs 4031, 4033 und 4035 benutzt. Es sei bemerkt, daß das Dekodieren im schlimmsten Fall bei diesem Beispiel noch lediglich 1-von-256, die ROT-Komponente, ist.For example, consider a 16-bit palette. The data is randomly split into RED, GREEN, BLUE components of 8 bits, 4 bits, and 4 bits a piece. Each of these components is used to drive decoding in component lookup tables 6911, 6013, and 6915 for input to DACs 4031, 4033, and 4035. Note that in the worst case, decoding in this example is still only 1-of-256, the RED component.

Zur Flexibilität kann die Palette so ausgelegt sein, daß sie es dem Benutzer zu ermöglicht, daß Teilen durch Eingeben eines Oodes zum Einrichten des Teilens in das Steuerregister 4371 auszuwählen. Teilungen von 7/6/3, 1/14/1, 8/4/4 und 5/7/4 können beispielsweise durch jegliche von 4 Permutationen der zwei Teilungssteuerbits ausgewählt werden. Die Dekodierer 6903, 6905 und 6907 und die LUTs 6911, 6913, 6915 sind zum Handhaben der Maximalanzahl von Dekodierungen und Nachschlagetabelleneinträgen, welche die aufgespaltenen Steuerbits aufrufen könnten, entworfen.For flexibility, the palette can be designed to allow the user to select the split by entering a code to set up the split into control register 4371. For example, splits of 7/6/3, 1/14/1, 8/4/4, and 5/7/4 can be selected by any of 4 permutations of the two split control bits. Decoders 6903, 6905, and 6907 and LUTs 6911, 6913, 6915 are designed to handle the maximum number of decodes and lookup table entries that could invoke the split control bits.

Beim Teilen der Daten sollten die unbenutzten Signale, welche die Dekodierer ansteuern, automatisch auf einen bekannten Wert gesetzt werden, so daß es keine Zweideutigkeit im Resultat gibt. Nullen (0) sind eine einfache Auswahl eines zu diesem Zweck bekannten Werts. Bei einem Beispiel wird das Steuerregister 4371 geladen mit einem Teilungscode zum Einrichten einer 5/7/4-Teilung für ROT, GRÜN und BLAU. Die Teilungslogik 6901 liefert die Pixelbits S, so daß 5 Bits zum Bus RLD mit drei Null-Bits, 7 Bits zum Bus GLD mit einem Nullbit und vier Bits zum Bus BLD mit vier Nullbits gehen. Somit hat der RLD-Bus die Bits 000SSSSS (wobei S Quelldaten von dem eintretenden Datenstrom sind) . In ähnlicher Weise ist der GLD-Bus 0SSSSSSS, und der BLD Bus ist 0000SSSS.When dividing the data, the unused signals that drive the decoders should be automatically set to a known value so that there is no ambiguity in the result. Zeros (0) are a simple selection of a known value for this purpose. In one example, control register 4371 is loaded with a division code to establish a 5/7/4 division for RED, GREEN and BLUE. Division logic 6901 supplies pixel bits S so that 5 bits go to bus RLD with three zero bits, 7 bits go to bus GLD with one zero bit, and four bits go to bus BLD with four zero bits. Thus, the RLD bus has bits 000SSSSS (where S is source data from the incoming data stream). Similarly, the GLD bus is 0SSSSSSS, and the BLD bus is 0000SSSS.

Mit Bezug auf eine davon verschiedene Verbesserung ist eine direkte Verbindung des VRAM und der programmierbaren Palette 4000 möglich, wenn die VRAM-Busbreite geringer als die oder gleich der Breite des Dateneingangs der Palette 4000 ist. Wenn breitere Busse benutzt werden, kann ein zusätzlicher Multiplexer zwischen dem Bus 145 und dem Eingangsspeicher 4011 vorgesehen sein. Der Multiplexer hat Eingänge mit Abschnitten des Busses 136 verbunden, die geringer oder gleich in der Breite im Vergleich zum Eingangsspeicher 4011 sind, und der Ausgang des Multiplexers ist mit einem Teil oder der gesamten vollen Breite des Eingangsspeichers 4011 verbunden.With respect to a different improvement, a direct connection of the VRAM and the programmable palette 4000 is possible when the VRAM bus width is less than or equal to the width of the data input of the palette 4000. When wider buses are used, an additional multiplexer may be provided between the bus 145 and the input memory 4011. The multiplexer has inputs connected to portions of the bus 136 that are less than or equal in width compared to the input memory 4011, and the output of the multiplexer is connected to part or all of the full width of the input memory 4011.

Figuren 58A-C zeigen die vorliegende Arbeit von einer Prozessoder Verfahrensperspektive. In Figur 58A beginnt der Prozeßbetrieb mit einem START 8001 und geht zu einem Initialisierungsschritt 8003 einschließlich des Initialisierens eines Farbcode-Index auf 1. Dann gibt ein Schrit 8005 Takt- Steuerinformation von einer Quelle, wie z.B. dem GSB 120, außerhalb der integrierten Palettenschaltung 4000 in ein Register ICS und OCS in der integrierten Schaltung. Der nachfolgende Schritt 8007 betreibt die Takt- Steuerschaltungsanordnung 4040 und 4041 als Reaktion auf die Takt-Steuerinformation, so daß Taktimpulse für die Funktionen durchführende Schaltungsanordnung (z.B. 4011, 4051, 4021 und 4030 von Figur 31) durch die Takt-Steuerschaltungsanordnung in Übereinstimmung mit der Takt-Steuerinformation vorgesehen werden, die so in Register ICS und OCS eingegeben ist. Auf diese Art und Weise wird ein bestimmter Taktoszillator ausgewählt, und eine Kombination von Frequenzteilungsverhältnissen wird eingerichtet. Der Frequenzteilerblock 4041 liefert Taktimpulse in einer ersten Kombination von Verhältnissen an die Takt-Ausgänge VCLK und SCLK als eine Reaktion auf einen ersten Satz von Bits in OCS- Register und liefert Taktimpulse an die gleichen Takt-Ausgänge VCLK und SCLK bei einer zweiten Kombination von Verhältnissen als Reaktion auf einen zweiten Satz von Bits, die für den ersten Satz im Register OCS, siehe Tabelle 3b, substituiert sind.Figures 58A-C illustrate the present work from a process or method perspective. In Figure 58A, the process operation begins with a START 8001 and proceeds to an initialization step 8003 including initializing a color code index to 1. Then, a step 8005 inputs clock control information from a source, such as the GSB 120, external to the palette integrated circuit 4000 to a register ICS and OCS in the integrated circuit. The subsequent step 8007 operates the clock control circuitry 4040 and 4041 in response to the clock control information so that clock pulses for the function performing circuitry (e.g., 4011, 4051, 4021 and 4030 of Figure 31) are provided by the clock control circuitry in accordance with the clock control information. thus entered into registers ICS and OCS. In this manner, a particular clock oscillator is selected and a combination of frequency division ratios is established. The frequency divider block 4041 provides clock pulses in a first combination of ratios to the clock outputs VCLK and SCLK in response to a first set of bits in register OCS, and provides clock pulses to the same clock outputs VCLK and SCLK at a second combination of ratios in response to a second set of bits substituted for the first set in register OCS, see Table 3b.

Bei einem Schritt 8009 gibt der GSP 120 Modusbits für das MUX- Steuerregister 4371 ein. Die Modusbits werden zum Auswählen einer Gesamtbusbreite und einer Pixelbreite zum Transfer durch die Selektorschaltung 4051 in Schritt 8011 dekodiert. Das Verhältnis der gesamten Busbreite und der Pixelbreite ist ein Teilungsverhältnis, das für die Schaltung 4041 benutzt wird, um den Punkttakt zum Erzeugen vom Verschiebetakt SCLK zu teilen. Dieses Verhältnis kann werden aus dem Modus im Register 4371 berechnet oder dekodiert oder unabhängig über OCS-Register 4363, wie in Tabelle 3b, geliefert werden.At step 8009, GSP 120 inputs mode bits to MUX control register 4371. The mode bits are decoded to select a total bus width and a pixel width for transfer by selector circuit 4051 at step 8011. The ratio of the total bus width and the pixel width is a division ratio used for circuit 4041 to divide the dot clock to generate shift clock SCLK. This ratio may be calculated or decoded from the mode in register 4371 or provided independently via OCS register 4363 as in Table 3b.

Ein Testschritt 8013 bestimmt, ob der Index 1 seinen ersten Wert als 1 hat. Falls das zutrifft, werden Mehrbit-Farbcodes mit einer Anzahl N gleich dem Teilungsverhältnis (z.B. 32-Bit- Busbreite geteilt durch 8 Bits pro Pixel gleicht einem N-Wert von 4 in einem Modus> simultan vom Videospeicher in den Mehrbit-Eingangsspeicher 4041 in der Palettenvorrichtung 4000 über den Bus 136 in Schritt 8015 eingegeben. Ebenfalls erscheint dabei ein zweiter Satz von Bits, wie z.B. VGA-Bits, falls irgendwelche über einen weiteren Bus, wie z.B. von dem Zusatzstecker 6521 von Figur 26, eingegeben sind.A test step 8013 determines whether index 1 has its first value as 1. If so, multi-bit color codes with a number N equal to the division ratio (e.g., 32-bit bus width divided by 8 bits per pixel equals an N value of 4 in one mode) are simultaneously input from video memory to multi-bit input memory 4041 in palette device 4000 via bus 136 in step 8015. Also appearing is a second set of bits, such as VGA bits, if any are input via another bus, such as from auxiliary connector 6521 of Figure 26.

Falls ein Teilungsmodus im nächsten Schritt 8017 vorliegt, dann wird auf mehrere LUTs gleichzeitig im Schritt 8019 mit reduzierter Dekodierzeit durch Farbcodebits und weitere vorbestimmten Bits, die eingerichtet durch ein Teilen von Bits, hervorgerufen durch den Teilungsmodus, eingerichtet werden, zugegriffen. Der Betrieb geht vom Schritt 8019 über den Punkt A weiter. Andererseits geht der Betrieb vom Schritt 8017 über einen Punkt B weiter.If a division mode is present in the next step 8017, then multiple LUTs are accessed simultaneously in step 8019 with reduced decoding time by color code bits and other predetermined bits established by dividing bits caused by the division mode. The operation proceeds from step 8019 through point A. Otherwise, the operation proceeds from step 8017 through point B.

Mit Bezug auf Figur 58B erreichen der Betrieb, der vom Schritt 8017 über den Punkt B weitergeht, einen Schritt 8021, in dem ein Austastsignal mit fortschreitender Auflösung, wie in Figur 49 gezeigt, abgetastet wird. Als nächstes gibt es einen Entscheidungsschritt 8023 bezüglich des VGA-Durchgangs. Falls der VGA-Durchgang aktiviert ist, dann verzögert ein Schritt 8024 VGABLANK- um eine Verzögerungsanzahl F1 von Punkttakten. Dann transferiert ein Schritt 8025 den VGA-Farbcode an den LUT 4021. Auf diese Art und Weise werden Farbdatenworte selektivermaßen durch den LUT als Reaktion auf Farbcodes vom Eingangsregister 4011 durch Auswählen von Farbcodes von einem ersten oder zweiten Graphikbus geliefert, und ebenfalls wird ein Videosteuersignal für den Ausgang abhängig von dem ausgewählten ersten oder zweiten Graphikbus ausgewählt.Referring to Figure 58B, the operation proceeding from step 8017 through point B reaches a step 8021 in which a blanking signal is sampled with progressive resolution as shown in Figure 49. Next, there is a decision step 8023 regarding the VGA pass. If the VGA pass is enabled, then a step 8024 delays VGABLANK- by a delay number F1 of dot clocks. Then a step 8025 transfers the VGA color code to the LUT 4021. In this manner, color data words are selectively provided by the LUT in response to color codes from the input register 4011 by selecting color codes from a first or second graphics bus, and also a video control signal is selected for output depending on the selected first or second graphics bus.

Wenn der VGA-Durchgang nicht in Schrit 8023 ausgewählt ist, geht der Betrieb zu einem Testschritt 8027 weiter. Falls der SSRT-Anschluß aktiv ist und ein Austastsignal aktiv ist, dann wird ein Extra-SCLK-Impuls im Schritt 8029 beispielsweise gemäß Figuren 24, 35 und 37 ausgegeben. Dies liefert ein Verfahren zum Betreiben eines Computergraphiksystems mit einem Videospeicher mit einem Schieberegister, das für Teil- Schieberegister-Transfers ausgelegt ist, und einem digitalen Oomputer zum Steuern des Videospeichers und mit einem Abgriffspunktzähler, der durch ein Verschiebetaktsignal getaktet ist, und auch mit einer Austastschaltung zum Zuführen eines Austastsignals. Schritt 8029 initiiert einen Extra- Verschiebetakt-Impuls für den Abgriffspunktzähler während eines Austastintervalls, das durch das Austastsignal definiert ist. Falls der Test des Schrittes 8027 nicht bestanden wird, dann wird der Schritt 8029 umgangen.If the VGA pass is not selected in step 8023, operation proceeds to a test step 8027. If the SSRT pin is active and a blanking signal is active, then an extra SCLK pulse is output in step 8029, for example, as shown in Figures 24, 35 and 37. This provides a method of operating a computer graphics system having a video memory with a shift register configured for partial shift register transfers and a digital computer for controlling the video memory and having a tap point counter clocked by a shift clock signal and also having a blanking circuit for supplying a blanking signal. Step 8029 initiates an extra- Shift clock pulse for the tap point counter during a blanking interval defined by the blanking signal. If the test of step 8027 is not passed, then step 8029 is bypassed.

Der Austastpräzessions-Schritt 8031 verzögert ein Austastsignal um eine variable Verzögerung gleich der Summe einer festen Verzögerung F2 plus einer variablen Verzögerung, die gleich oder proportional zur Anzahl N von Zyklen, die zum Transfer der N Pixel in dem Eingangsspeicher zum LUT notwendig sind, ist. Die feste Verzögerung F2 kompensiert die e Schaltungsverzögerungen des LUT, von weiterer Logik und der Digital/Analog-Wandler 4030. Die variable Verzögerung von 2N Punkttakten erkennt, daß die Selektorschaltung 4051 mit dem LUT und den DACs zusammenarbeitet, um Farbcodes gemäß verschiedenen Modi zu verarbeiten, um Farbdatenworte zu liefern, wobei die Verarbeitung verschiedene Zeitintervalle zwischen dem Eingang der Farbcodes zum Verarbeiten und der Lieferung der Farbdatenworte einrichtet. Auf diese Art und Weise wird das Austastsignal als ein Beispiel eines Videosteuersignals in variabler Weise zusammen mit der Verarbeitung um Zeitintervalle verzögert, die in zumindest zwei der verschiedenen Selektormodi mit den Zeitintervallen der Verarbeitung korreliert sind, um dadurch das Videosteuersignal, das so verzögert ist, zu liefern.The blanking precession step 8031 delays a blanking signal by a variable delay equal to the sum of a fixed delay F2 plus a variable delay equal to or proportional to the number N of cycles necessary to transfer the N pixels in the input memory to the LUT. The fixed delay F2 compensates for the circuit delays of the LUT, other logic, and the digital-to-analog converter 4030. The variable delay of 2N dot clocks recognizes that the selector circuit 4051 cooperates with the LUT and the DACs to process color codes according to various modes to provide color data words, the processing establishing various time intervals between the input of the color codes for processing and the delivery of the color data words. In this manner, the blanking signal as an example of a video control signal is variably delayed along with the processing by time intervals correlated with the time intervals of the processing in at least two of the different selector modes, thereby providing the video control signal so delayed.

Der Nibblemodus-Testschritt 8033 bestimmt, ob der Nibblemodus aufgerufen ist. Falls dies zutrifft, liefert ein Schritt 8035 einen hohen oder niedrigennibble (abhängig von dem H- oder L- Zustand des Nibbleeingangs), identifiziert durch einen Index 1, von dem Eingangsspeicher 4011 zum LUT 4021. Falls nicht, geht der Betrieb zum Schritt 8037 weiter. Hier wird eine Busbreiten- Kopplungsschaltung, die durch den Selektor 4051 konfiguriert ist, der zwischen dem Eingangsspeicher 4011 und dem LUT 4021 angeschlossen ist, zum Durchlassen des letzten Farbcodes 1 vom Bus gemäß der programmierten Busbreite programmiert.The nibble mode test step 8033 determines if the nibble mode is invoked. If so, a step 8035 provides a high or low nibble (depending on the high or low state of the nibble input), identified by an index 1, from the input buffer 4011 to the LUT 4021. If not, operation proceeds to step 8037. Here, a bus width coupling circuit configured by the selector 4051 connected between the input buffer 4011 and the LUT 4021 is programmed to pass the last color code 1 from the bus according to the programmed bus width.

Vorteilhafterweise transferiert die Busbreiten- Kopplungssschaltung Farbcodes auswählbarer Breite in sequentieller Weise über den Bus und unter Ausnutzung der gsamten Busbreite. Die Sequenz oder der Zyklus vom Prozesstandpunkt von Figuren 58A-C ist eine Reihe von Schleifen durch das Flußdiagramm für eine Anzahl N von Malen zum Transfer aller Farbcodes, die in den Eingangsspeicher 4011 für die Busbreite, die durch den Modus im Register 4371 eingerichtet ist, geladen wurden.Advantageously, the bus width coupling circuit transfers color codes of selectable width in a sequential manner across the bus and utilizing the entire bus width. The sequence or cycle from the process standpoint of Figures 58A-C is a series of loops through the flow chart N number of times to transfer all of the color codes loaded into the input memory 4011 for the bus width established by the mode in register 4371.

Nach dem Schritt 8037 erfaßt ein Testschritt 8039, ob eine Realfarbe oder eine Überlagerung erfordert ist. Diese Erfassung wird durch eine Schaltung, wie z.B. das ODER-Gatter 4036 von Figur 32 oder beispielsweise den Detektor 6836 von Figur 56 vermittelt. Falls das zutrifft, werden genügend Bits zum Bilden eines Farbdatenworts (z.B. 24) gleichzeitig an die DACs 4030 transferiert, und der LUT 4021 wird in einem Schritt 8041 umgangen. Der Punkt A wird nach irgendeinem der Schritte 8025, 8035, 8041, bei Nein im Schritt 8039 und nach dem Schritt 8019 von Figur 58A erreicht.After step 8037, a test step 8039 detects whether a real color or an overlay is required. This detection is mediated by a circuit such as the OR gate 4036 of Figure 32 or, for example, the detector 6836 of Figure 56. If so, enough bits to form a color data word (e.g., 24) are transferred to the DACs 4030 at a time and the LUT 4021 is bypassed in a step 8041. Point A is reached after any of steps 8025, 8035, 8041, if no in step 8039, and after step 8019 of Figure 58A.

Mit Bezug auf Figur 580 geht der Betrieb vom Punkt A weiter zu einem Umwandlungsschritt 8043, der durch die DACs 4030 ausgeführt wird, um Analogfarbsignale, wie z.B. R, G, B zu erzeugen. Es sollte verstanden werden, daß bei verschiedenen Ausführungsformen die Analogsignale matrixförmige Farbsignale oder Anzeigesignale für Farbwiedergabevorrichtungen, die nicht ein rastergescanntes Bild erzeugen, oder jeglicher Typ, den der Durchschnittsfachmann bei der Praktizierung der Erfindung verwendet, benutzen werden können.Referring to Figure 580, operation proceeds from point A to a conversion step 8043 performed by the DACs 4030 to produce analog color signals such as R, G, B. It should be understood that in various embodiments, the analog signals may be matrix color signals or display signals for color display devices that do not produce a raster scanned image, or any type used by one of ordinary skill in the art in practicing the invention.

Der nachfolgende Schritt 8045 testet, ob das verzögerte Austastsignal L-aktiv ist. Falls das zutrifft, werden die DACs in einem Schritt 8047 ausgetastet. Andererseits geht der Betrieb direkt zu einem Schritt 8049. Falls der Index I die Anzahl N erreicht hat, dann wird der Index I in einem Schritt 8051 auf Null gesetzt. Andererseits geht der Betrieb vom Schritt 8049 zum Akkumulierungsschritt 8053 weiter, um eine laufende Anzahl von Bits eines bestimmten Zustandes (z.B. 1) aufzufrischen, die an einem vorgegebenen Satz von Ausgängen des LUT 4021 über eine Zeitperiode zwischen beispielsweise vertikalen Synchronisationsimpulsen geliefert werden. Bei der Testschaltung von Figur 32 werden laufende Zählerstände der Bits der Wortbytes für ROT-, GRÜN-, BLAU-Farbdaten aufrechterhalten.The following step 8045 tests whether the delayed blanking signal is L-active. If so, the DACs are blanked in a step 8047. Otherwise, the operation goes directly to a step 8049. If the index I has reached the number N, then the index I is incremented in a step 8051 is set to zero. Otherwise, operation proceeds from step 8049 to accumulation step 8053 to update a current number of bits of a particular state (e.g., 1) provided at a predetermined set of outputs of LUT 4021 over a period of time between, for example, vertical sync pulses. In the test circuit of Figure 32, current counts of the bits of the word bytes for RED, GREEN, BLUE color data are maintained.

Ein nächster Schritt 8055 macht eine Prüfung zum Bestimmen, ob ein Testmoduszugriff erforderlich ist. Falls das zutrifft, greift ein Schritt 8047 extern auf den Zählwert oder die Zählwerte vom Gesamtwert der Bits an den Akkumulatorausgängen zu. Ebenfalls zu dieser Zeit werden Analogtests der DACs 4031, 4033 und 4035 durchgeführt und wird auf Bits zum Dartellen der Analogvergleiche vom DAC-Testregister zugegriffen. Falls es keinen Testmodus im Schritt 8055 gibt oder der Schritt 8057 vervollständigt ist, geht der Betrieb zu einem Schritt 8059 weiter, um den Index 1 zu inkrementieren und über Punkt C zu Figur 58B und Figur 58A zu einem Schritt 8061 zum Prüfen einer Rücksetzbedingung zurückzuspringen. Falls es keine Rücksetzbedingung gibt, vervollständigt der Betrieb die Schleife bis zum Schritt 8013 und fährt mit der Ausführung fort. Falls es ein Rücksetzen gibt, geht der Betrieb weiter zum Schritt 8003, woraufhin, wenn das Rücksetzen durchgeführt ist, der Betrieb die Betriebsparameter der Palettenvorrichtung 4000 wiedereinrichtet.A next step 8055 makes a check to determine if a test mode access is required. If so, a step 8047 externally accesses the count or counts from the total value of the bits at the accumulator outputs. Also at this time, analog tests of DACs 4031, 4033 and 4035 are performed and bits for representing the analog comparisons are accessed from the DAC test register. If there is no test mode in step 8055 or step 8057 is completed, operation proceeds to step 8059 to increment the index 1 and return via point C to Figure 58B and Figure 58A to step 8061 to check for a reset condition. If there is no reset condition, the operation completes the loop to step 8013 and continues execution. If there is a reset, the operation proceeds to step 8003, whereupon, if the reset is performed, the operation reestablishes the operating parameters of the pallet device 4000.

Bei einer vorliegenden Ausführungsform hat die Takt- Steuerschaltung 4041 verschiedene Kombinationen von Takt- Teilungsverhältnissen durch das OCS-Register eingerichtet. Bei weiteren Ausführungsformen können die Takt-Teilungsverhältnisse durch Dekodieren von dem MUX-Steuerregister 4371 eingerichtet werden, um zu gewährleisten, daß die Konfigurationen des Selektors 4051 mit den eingerichteten Takteilungsverhältnissen übereinstimmt. Bei solch einer Ausführungsform können von Null verschiedene Werte in bestimmten Bits des OCS-Registers die Taktdekodierung vom MUX-Steuerregister 4371 überschreiben, während Null-Werte standardmäßig eine Dekodierung vom Register 4371 ermöglichen. Weitere Änderungen im Steuerplan zur Konsistenz, Vereinfachung, Flexibilität und Zuverlässigkeit können ebenfalls gemacht werden.In a present embodiment, the clock control circuit 4041 has various combinations of clock division ratios established through the OCS register. In other embodiments, the clock division ratios may be established by decoding from the MUX control register 4371 to ensure that the configurations of the selector 4051 match the established clock division ratios. In such an embodiment, non-zero values in certain bits of the OCS register may override clock decoding from MUX control register 4371, while zero values default to decoding from register 4371. Other changes in the control plan for consistency, simplification, flexibility, and reliability may also be made.

Bei einem weiteren in Figur 59 gezeigten Aspekt ist eine interne Palettensteuerung alternativer erster und zweiter Datenströme durch noch weitere Verfeinerungen vorgesehen, wie dargestellt durch die Steuerlogik 9001. In Figuren 31 und 32 wird eine Auswahl zwischen dem Eingangssignal des VRAM 130 oder dem VGA-Eingangssignal extern durch einen Eintrag von Bit 5 (MCRB5) im Steuerregister 4371 gesteuert. Eine Auswahlschaltung, wie z.B. 4389 von Figur 32, wählt zwischen den zwei Datenströmen aus und läßt Farbcodes an den RAM 4021 durch. Der RAM 4021 liefert Farbdatenwortbytes an die DACs 4030 zum Erzeugen von Farbausgangssignalen IOR, IOG und IOB.In another aspect shown in Figure 59, internal palette control of alternative first and second data streams is provided by still further refinements as represented by control logic 9001. In Figures 31 and 32, a selection between the VRAM 130 input signal or the VGA input signal is controlled externally by an entry of bit 5 (MCRB5) in control register 4371. A selection circuit such as 4389 of Figure 32 selects between the two data streams and passes color codes to RAM 4021. RAM 4021 provides color data word bytes to DACs 4030 for generating color output signals IOR, IOG and IOB.

Bei der Ausführungsform von Figur 59 wählt das Bit 5 vom Steuerregister 4371 nicht sofort den VGA-Durchgang, sondern aktiviert anstattdessen einen Einsatz über einen rechteckigen Abschnitt 9011 eines Bildes 9013 in einem in Figur 60 dargestellten Bild. Der Einsatz 9011 oder das sekundäre Graphikfenster wird von einem Datenstrom angezeigt, und der Rest 9015 des Bildes wird vom weiteren Datenstrom angezeigt. Welcher Datenstrom den Einsatz 9011 liefert, ist durch ein Inversionsbit im Steuerregister 4371 bestimmt. Die Größe und Position des Einsatzes ist durch Koordinaten der oberen linken Ecke (X1,Y1) und der unteren rechten Ecke (X2,Y2) definiert. Diese Koordinaten werden durch GSP 120 zum Schreiben eines Feldes in einen Registersatz 9003 im Steuerblock 9001 eingerichtet. Falls die Koordinaten bewirken, daß der Einsatz den gesamten Schirm bedeckt, ist eine unbedingte Auswahl äquivalent zum VGA-Durchgang von Figuren 31 und 32.In the embodiment of Figure 59, bit 5 of control register 4371 does not immediately select the VGA pass, but instead activates an insert over a rectangular portion 9011 of an image 9013 in an image shown in Figure 60. The insert 9011 or secondary graphics window is displayed by one data stream and the remainder 9015 of the image is displayed by another data stream. Which data stream provides the insert 9011 is determined by an inversion bit in control register 4371. The size and position of the insert is defined by coordinates of the upper left corner (X1,Y1) and the lower right corner (X2,Y2). These coordinates are set up by GSP 120 to write an array into a register set 9003 in control block 9001. If the coordinates cause the insert to cover the entire screen, an unconditional selection is equivalent to the VGA pass of Figures 31 and 32.

Somit kann der Datenstrom für die Palette automatisch zur geeigneten Zeit auf einer Zeilen/Zeilen-Basis umgeschaltet werden. Eine Zähleranordnung einschließlich eines X-Zählers und eines Y-Zählers zählt Punkttaktimpulse von der Taktsteuerung 4041 zum Bestimmen, wann von einem Datenstrom auf einen weiteren zu schalten ist. Die Zählersteuerung und Ausgangslogik 9005 sendet ein Auswahlsignal an den Steuerselektor 4389. Das Auswahlsignal wird in der Logik 9005 abhängig vom Inversionsbit im Steuerregister 4371 invertiert oder nicht invertiert. Der Registerauswahleingang RS [0-L] hat Leitungen hinreichend in der Anzahl L, um alle Registerzugriffe zur Palettensteuerung vorzusehen.Thus, the data stream for the palette can be automatically switched at the appropriate time on a line/line basis. A counter arrangement including an X counter and a Y counter counts dot clock pulses from the clock control 4041 to determine when to switch from one data stream to another. The counter control and output logic 9005 sends a select signal to the control selector 4389. The select signal is inverted or not inverted in the logic 9005 depending on the inversion bit in the control register 4371. The register select input RS [0-L] has sufficient lines in the number L to provide all register accesses for palette control.

Es sollte klar erscheinen, daß die geometrische Gestalt des Einsatzes 9011 rechteckig zu Veranschaulichungszwecken dient und weitere geometrische Funktionen durch die Register im Registersatz 9003 und Steuerbits in der MUX-Steuerung 4371 und eine geeignete Schaltungsanordnung in der Logik 9005 definiert werden. Trapezoidale, polygonale, dreieckige, kreisförmige, ovale, gekrümmte, geschlossene Bänder und weitere Figuren werden geeignetermaßen mit wesentlich reduzierten Prozesslast auf dem GSP 120 implementiert.It should be apparent that the geometric shape of the insert 9011 is rectangular for illustrative purposes and other geometric functions are defined by the registers in the register set 9003 and control bits in the MUX controller 4371 and appropriate circuitry in the logic 9005. Trapezoidal, polygonal, triangular, circular, oval, curved, closed bands and other figures are suitably implemented with significantly reduced processing load on the GSP 120.

Zusätzliche Datenströme außer den zwei gezeigte können eingerichtet werden. Ein oder mehrere Datenströme können intern erzeugt werden, wie z.B. durch eine Hardware-Cursorschaltung 9019. Die Cursorschaltung kann selbst-gesteuert sein oder kann extern durch externe Signale zum Liefern von Daten an den Registersatz 9003 gesteuert sein. Ein Eingabe/Ausgabe-Cursor- Steuerregister 9021 im Registersatz 9003 vermittelt einen Informationstransfer bezüglich des Cursors. Der Cursorgenerator 9019 in einer Ausführungsform teilt X- und Y-Zähler in der Schaltung 9001 zum Positionieren des Cursors und hat bei einer alternativen Ausführungsform extra vorgesehene Zähler (nicht gezeigt) . Die Schaltung 9001 und der Cursorgenerator 9019 bei einer weiteren komplexen Ausführungsform sind als ein sekundärer Graphikcoprozessor auf dem Chip in der Palette 4000 selbst integriert implementiert.Additional data streams other than the two shown may be established. One or more data streams may be generated internally, such as by a hardware cursor circuit 9019. The cursor circuit may be self-controlled or may be controlled externally by external signals for providing data to the register set 9003. An input/output cursor control register 9021 in the register set 9003 mediates information transfer regarding the cursor. The cursor generator 9019 in one embodiment shares X and Y counters in the circuit 9001 for positioning the cursor and in an alternative embodiment has dedicated counters (not shown). The circuit 9001 and cursor generator 9019 in Another complex embodiment is implemented as a secondary graphics coprocessor on the chip integrated in the Palette 4000 itself.

Eine alternative und erhöhte Steuerung der Auswahl von Datenströmen des Selektors 4389 ist durch Dekodieren von einem oder mehrerer der Datenströme in einem Dekodierer 9031 zum Erfassen vorbestimmter Wert(e) zur Überlagerung und anderen Zwecken vorgesehen. Das Dekodierungsresultat wird in ein Register 9033 eingegeben, dessen Ausgang mit der Zählersteuerung und Ausgangslogik 9005 verbunden ist. Beispielweise enthält die Logik 9005 geeignetermaßen einen Modus-gesteuerten Schalter zum selektiven Verbinden der Steuerleitungen mit dem Selektor 4389, mit dem Speicher 9033 oder mit der Logik 9005 zur internen dynamischen Steuerung. Bei einer komplexeren Anordnung wird das Dekodierungsresultat zusammen mit der Zählersteuerinformation verarbeitet, um den Selektor 4389 zu steuern und sophistizierte Graphikmerkmale zu verwenden.An alternative and increased control of the selection of data streams of the selector 4389 is provided by decoding one or more of the data streams in a decoder 9031 to capture predetermined value(s) for superimposition and other purposes. The decoding result is input to a register 9033, the output of which is connected to the counter control and output logic 9005. For example, the logic 9005 suitably includes a mode controlled switch for selectively connecting the control lines to the selector 4389, to the memory 9033, or to the logic 9005 for internal dynamic control. In a more complex arrangement, the decoding result is processed together with the counter control information to control the selector 4389 and to use sophisticated graphics features.

Integrierte Datenströme für verschiedene Busse, wie z.B. VGA, sind ebenfalls durch das Erkennen verbessert, daß die verschiedenen Bilder, die durch die Daten dargestellt werden, eine unterschiedliche Auflösung haben. Falls die Teile eines gesamten Bildes 9013 eine gesteuerte Auflösungsbeziehung haben müssen, wie z.B. gleiche Auflösungen, wird die VGA-Platine 9505 zum Versorgen von VGA-Steuerschaltung 9051, welche VGA-Daten niedriger Geschwindigkeit puffert und den zweiten Datenstrom unter einer Datenrate gleich oder bezogen auf die Datenrate des ersten Datenstroms liefert, angeschlossen. Falls der erste Datenstrom eine höhere Auflösung hat, dann wird der zweite Datenstrom (z.B. VGA) am wahrscheinlichsten unter einer reduzierten Skala, wie durch einen Betrachter empfangen, angezeigt, da ein Bild niedrigerer Auflösung weniger Pixel als ein Bild höherer Auflösung hat und diese wenigeren Pixel vorteilhafterweise in einem Einatz in dem Einsatz 9011 angezeigt werden können. Ein Steuerspeicher 9041 in der Palette 4011 ist geeignetermaßen zum Vermitteln eines Transfers von Steuerinformation von der Logik 9005 an die VGA-Steuerschaltung 9051 zum Steuern der Datenrate und der Zeit des Starts und Stopps des VGA-Datenstroms durch Starten und Stoppen von Übertragungsoperationen eines Puffers in der Schaltung 9051 enthalten. Die Schaltung 9041 hat einen ersten Modus, durch den VGA in einfacher Weise durch die Steuerung 9051 geht, wenn erwünscht ist, ein VGA-Bild voller Größe unter einer VGA- Auflösung zu betrachten. Bei einem oder mehreren von durch Bits im Speicher 9041 eingerichteten Modi wird die Gesamtheit oder ein ausgewählter Teil eines VGA-Bildes bemerkenswerterweise als ein Fenster oder Einsatz 9011 mit steuerbarer XY-Positionierung angezeigt.Integrated data streams for different buses, such as VGA, are also enhanced by recognizing that the different images represented by the data have different resolutions. If the parts of an entire image 9013 must have a controlled resolution relationship, such as equal resolutions, the VGA board 9505 is connected to power VGA control circuitry 9051, which buffers low speed VGA data and provides the second data stream at a data rate equal to or related to the data rate of the first data stream. If the first data stream has a higher resolution, then the second data stream (e.g. VGA) is most likely to be displayed at a reduced scale as received by a viewer, since a lower resolution image has fewer pixels than a higher resolution image and these fewer pixels are advantageously placed in one insert in the insert 9011. can be displayed. A control memory 9041 in the palette 4011 is suitably included for mediating a transfer of control information from the logic 9005 to the VGA control circuit 9051 for controlling the data rate and timing of start and stop of the VGA data stream by starting and stopping transfer operations of a buffer in the circuit 9051. The circuit 9041 has a first mode through which VGA is easily passed by the controller 9051 when it is desired to view a full size VGA image at a VGA resolution. In one or more of modes established by bits in the memory 9041, the entirety or a selected portion of a VGA image is notably displayed as a window or inset 9011 with controllable XY positioning.

Verbesserte Verschiebungsmöglichkeiten sind in der Palette 4000 zum Bewerkstelligen von Anwendungen, bei denen ein Verschieben erwünscht ist, vorgesehen. Der VRAM 130 wird geeignetermaßen gesteuert, ein Verschieben in Einheiten der Anzahl von Pixeln durchzuführen, die durch die Breite des Busses und den Eingangsspeicher 4011 aufgenommen werden. Wenn diese Anzahl M 1 überschreitet, kann ein Grad von Rauhigkeit in der Anzeige auftreten, da das Verschieben durch die Steuerung des VRAM 130 ein laterales Schieben eines Bildes um mehrere Pixelanzahlen M in aufeinanderfolgende Bilder involvieren kann. Ein weicheres Verschieben ist durch eine verbesserte Palettenschaltungsanordnung vorgesehen, die als nächstes beschrieben wird und welche ein Verschieben in Ein-Pixel- Inkrementen vorsieht.Improved shifting capabilities are provided in the palette 4000 to accommodate applications where shifting is desired. The VRAM 130 is suitably controlled to perform shifting in units of the number of pixels accommodated by the width of the bus and the input memory 4011. If this number M exceeds 1, a degree of roughness in the display may occur since shifting by the control of the VRAM 130 may involve laterally shifting an image by several pixel numbers M in successive images. Smoother shifting is provided by improved palette circuitry, described next, which provides for shifting in one-pixel increments.

Ein Verschiebungsprozeß ist mit Bezug auf Figuren 61A, 61B und 61C gezeigt. Der VRAM 130 ist zum Halten einer Bildinformation eingerichtet, die verschoben werden kann. Bei der Anzeige eines ersten Bildes liefert der VRAM 130 Gruppen von M (z.B. 4) Pixeln (Farbcodes) bei jeder Buslast an den Eingangsspeicher 4011. Die Anzahl M ist die Anzahl von Pixeln auf dem Bus, die in den Eingangsspeicher 4011 durch jede aktive Übergangsflanke des Verschiebetakts SCLK getaktet wird. Die Pixel werden an den RAM 4021 durch eine Blockverschiebe-Schaltungsanordnung transferiert, die so entworfen ist, daß sie den Speicher 4011 und den Selektor 4051 zu implementiert. Die Pixel werden in einer Reihenfolge 1, 2, 3, 4 zum Paletten-RAM 4021, wie in Figur 62 gezeigt, transferiert. Zurückkehrend zu Figur 61A wird jede Zeile im Bild durch einen Transfer von einer letzten Gruppe von Pixeln (n-3), (n-2), (n-1), (n), wobei n die Anzahl von Pixeln pro Zeile ist, vervollständigt. (Falls die Zeilenlänge n nicht ohne Rest ist durch M teilbar, hat die letzte Gruppe 9490 eine Restanzahl von Pixeln.)A shifting process is shown with reference to Figures 61A, 61B and 61C. The VRAM 130 is arranged to hold image information that can be shifted. When displaying a first image, the VRAM 130 supplies groups of M (eg 4) pixels (color codes) to the input memory 4011 at each bus load. The number M is the number of pixels on the bus that into the input memory 4011 by each active transition edge of the shift clock SCLK. The pixels are transferred to the RAM 4021 by block shift circuitry designed to implement the memory 4011 and the selector 4051. The pixels are transferred to the palette RAM 4021 in an order 1, 2, 3, 4 as shown in Figure 62. Returning to Figure 61A, each line in the image is completed by a transfer of a final group of pixels (n-3), (n-2), (n-1), (n), where n is the number of pixels per line. (If the line length n is not evenly divisible by M, the final group has a remainder number of pixels 9490.)

In Figur 618 beginnt ein Verschieben nach rechts mit einem Bild nach dem Bild von Figur 61A. Von den Pixeln 1, 2, 3, 4 wird der erste Pixel durch den Selektor 4051 ignoriert und nicht an den RAM 4021 transferiert. Anstattdessen werden die Pixel 2, 3, 4 transferiert, wenn die nächste Gruppe von M-Pixeln geladen ist und alle transferiert sind: 5, 6, 7, 8. Alle folgenden Gruppen einschließlich der Gruppe (n-3), (n-2), (n-1), (n) werden geladen und transferiert. Dann tritt ein weiteres Beladen auf, woraufhin nur der Pixel (n+1) an den RAM 4021 vor dem Einsatz des Austastsignals transferiert wird.In Figure 618, a right shift begins one frame after the frame of Figure 61A. Of pixels 1, 2, 3, 4, the first pixel is ignored by selector 4051 and is not transferred to RAM 4021. Instead, pixels 2, 3, 4 are transferred when the next group of M pixels is loaded and all are transferred: 5, 6, 7, 8. All subsequent groups including group (n-3), (n-2), (n-1), (n) are loaded and transferred. Then another loading occurs, whereupon only pixel (n+1) is transferred to RAM 4021 before the onset of the blanking signal.

Wenn ein Verschieben mit einem Ein-Pixel-Inkrement erwünscht ist, dann wird das erste Bild des Rechtsverschiebens so, wie in Figur 618 gezeigt. Das nächste Bild des Rechtsverschiebens (nicht gezeigt) transferiert die Pixel 3, 4, gefolgt durch vollständige Gruppen über eine gesamte Scanlinie und endend mit Pixeln (n+1) und (n+2) . Ein drittes Bild eines Rechtsverschiebens (nicht gezeigt) transferiert den Pixel 4, gefolgt durch vollständige Gruppen von N über jene Scanlinie und endend mit Pixeln (n+1), (n+2), (n+3) . Ein viertes Bild eines Rechstverschiebens ist derselbe wie Figur 61A, mit der Ausnahme, daß der GSP 120 den Verschiebebetrieb zum Zugreifen auf den VRAM 130 durch Inkrementieren der ersten Gruppe, auf die zuzugreifen ist, koordiniert, um mit 5, 6, 7, 8 zu starten. Folgende Bilder der Rechstverschiebungsschleife durch den Prozeß sind in Figur 63 in detaillierter Weise zu sehen.If a one-pixel increment shift is desired, then the first right shift frame is as shown in Figure 61B. The next right shift frame (not shown) transfers pixels 3, 4, followed by complete groups across an entire scan line and ending with pixels (n+1) and (n+2). A third right shift frame (not shown) transfers pixel 4, followed by complete groups of N across that scan line and ending with pixels (n+1), (n+2), (n+3). A fourth right shift frame is the same as Figure 61A, except that the GSP 120 performs the shift operation to access the VRAM 130 by incrementing the first group on to be accessed is coordinated to start with 5, 6, 7, 8. Following pictures of the right shift loop through the process are shown in detail in Figure 63.

Beim Linksverschieben mit Ein-Pixel-Auflösung ist die erste Verschiebung nach links in Figur 610 gezeigt. Hier hat der GSP 120 die erste Gruppe, auf die zuzugreifen ist, dekrementiert. Die erste Gruppe, die zu transferieren ist, enthält auf jeder Zeile des Bildes Pixel, die willkürlicher Weise als (-1, (-3), (-2), (-1) bezeichnet sind. Ein Pixel (-1) in dieser Gruppe von M Pixeln nach links wird an den RAM 4021 transferiert. Dann folgt die Gruppe 1, 2, 3, 4 mit allen Pixeln an den RAM 4021, und zwar Gruppe um Gruppe, bis die letzte Gruppe 9490 erreicht ist. Bei der letzten Gruppe erreichen nur die Pixel (n-3), (n- 2), und (n-1) den RAM 4021 vor dem Austastsignal.When shifting left at one pixel resolution, the first shift to the left is shown in Figure 610. Here, the GSP 120 has decremented the first group to be accessed. The first group to be transferred contains pixels on each line of the image arbitrarily designated as (-1, (-3), (-2), (-1). One pixel (-1) in this group of M pixels to the left is transferred to RAM 4021. Then group 1, 2, 3, 4 follows with all pixels transferred to RAM 4021, group by group until the last group 9490 is reached. In the last group, only pixels (n-3), (n- 2), and (n-1) reach RAM 4021 before the blanking signal.

In einem zweiten Bild des Linksverschiebens (nicht gezeigt) werden die Pixeln (-2) und (-1) gefolgt durch 1, 2, 3, 4 usw., und die Scanlinie der Anzeige wird durch Pixel (n-3) und (n-2) vervollständigt. Bei einem dritten Bild des Linksverschiebens (nicht gezeigt) werden Pixel (-3), (-2) und (-1) gefolgt durch 1, 2, 3, 4 usw., wobei die Scanlinie durch Pixel (n-3) vervollständigt wird. Ein viertes Bild des Linksverschiebens wird wie der von Figur 61A mit allen Pixeln (-4), (-3), (-2), (-1) an den RAM 4021 und unter Auslassung von der Gruppe 9490 transferiert. Folgende Bilder der Linksverschiebung gehen durch die Schleife des eben beschriebenen Prozesses, wie in Figur 63 detailliert zu sehen.In a second left shift frame (not shown), pixels (-2) and (-1) are followed by 1, 2, 3, 4, etc., and the scan line of the display is completed by pixels (n-3) and (n-2). In a third left shift frame (not shown), pixels (-3), (-2), and (-1) are followed by 1, 2, 3, 4, etc., with the scan line being completed by pixel (n-3). A fourth left shift frame is transferred to RAM 4021 like that of Figure 61A with all pixels (-4), (-3), (-2), (-1) omitted from group 9490. Subsequent left shift frames loop through the process just described, as detailed in Figure 63.

In Figur 62 sind ein oder mehr Verschiebemodusbits 9501 im MUX- Steuerregister 4371 zum Aufrufen eines Rechts- oder Linksverschiebens und zum Bezeichnen irgendwelcher weiterer Parameter und zum Enthalten von dem niedrigstwertigen Bit LSB der VRAM-Adressbits, wie detailliert nachstehend beschrieben, enthalten. Die Verschiebemodusbits sind mit einer Verschiebungssteuerschaltung 9503 einschließlich eines Verschiebungszählers 9507 zum Handhaben der Bild-um-Bild- Inkrementierung bei der Steuerung des Eingangsspeicher 4011 durch den Zähler und die Dekodierungsschaltungsanordnung 4052 von Figuren 62 und 31 verbunden. Die Schaltungsanordnung 4052 ist eingerichtet, eine Logik zu enthalten, die auf den Verschiebungszähler 9507 bei der Verschiebesteuerung 9503 reagiert, um beispielsweise eine Anzahl von x Pixeln aus der ersten Gruppe 1, 2, 3, 4 und eine Anzahl von M-x Pixeln aus der Gruppe (n+1), (n+2, (n+3, (n+4) beim Rechtsverschieben zu transferieren. Eine analoge oder symmetrische Steuerung tritt für das Linksverschieben auf. Die Anzahl x wird Bild-um-Bild durch den Verschiebungszähler 9507 bei der Verschiebesteuerung 9503 inkrementiert (dekrementiert)In Figure 62, one or more shift mode bits 9501 are included in the MUX control register 4371 for invoking a right or left shift and for designating any other parameters and for containing the least significant bit LSB of the VRAM address bits as described in detail below. The shift mode bits are connected to a shift control circuit 9503 including a Shift counter 9507 for handling frame-by-frame incrementation in the control of the input memory 4011 by the counter and the decoding circuitry 4052 of Figures 62 and 31. The circuitry 4052 is arranged to include logic responsive to the shift counter 9507 in the shift control 9503 to transfer, for example, a number of x pixels from the first group 1, 2, 3, 4 and a number of Mx pixels from the group (n+1), (n+2, (n+3, (n+4) in the right shift. Analogous or symmetric control occurs for the left shift. The number x is incremented (decremented) frame-by-frame by the shift counter 9507 in the shift control 9503.

Der VRAM 130 wird für Verschiebezwecke basierend auf den höchstwertigen Bits (MSBs) des Adresswerts, der für den VRAM 130 entsprechend der X-Koordinaten der Pixelgruppen erzeugt wird, geeignet gesteuert. Die Palette 4000 steuert in geeigneter Weise das Verschieben durch die LSBs dieses Adresswerts. Beispielsweise steuert mit 8 Pixeln im Speicher 4011 der Palette 4000 eine Zahl 3 der LSBs ein Verschieben in der Palette, und die MSBs oder der Rest der VRAM Adressbits steuert das Verschieben im VRAM 130.The VRAM 130 is appropriately controlled for shifting purposes based on the most significant bits (MSBs) of the address value generated for the VRAM 130 corresponding to the X coordinates of the pixel groups. The palette 4000 appropriately controls the shifting by the LSBs of this address value. For example, with 8 pixels in the memory 4011 of the palette 4000, a number 3 of the LSBs controls a shift in the palette, and the MSBs or the remainder of the VRAM address bits controls the shifting in the VRAM 130.

Somit ist die Schaltung 4052 zum Verschieben verbessert, so daß sie nicht nur Pixel unter Verwendung einer gesamten Busbreite mit auswählbaren Pixelbreiten transferieren kann, wie zuvor beschrieben, sondern auch erste und zweite Untersätze der Pixel unter Ausnutzung der gesamten Busbreite transferieren kann, wobei der erste Teilsatz am Beginn jeder Zeile eines verschobenen Bildes und der zweite komplementäre Teilsatz am Ende jeder Zeile in einem verschobenen Bild transferiert wird. Die Teilsätze variieren in ihrer Anzahl von Pixeln, wie bestimmt durch die Anzahl x im Verschiebungszähler 9507.Thus, shifting circuit 4052 is improved so that it can not only transfer pixels using an entire bus width with selectable pixel widths as previously described, but also transfer first and second subsets of the pixels using the entire bus width, with the first subset being transferred at the beginning of each line of a shifted image and the second complementary subset being transferred at the end of each line in a shifted image. The subsets vary in their number of pixels as determined by the number x in shift counter 9507.

Die Takt-Steuerschaltungsanordnung 4041 von Figuren 62 und 31 ist auch zum Zuführen der Videotaktimpulse VCLK an den GSP 120 und der Verschiebetaktimpulse SCLK an den VRAM 130 eingerichtet, so daß die Gruppen von M Pixeln an den Eingangsspeicher 4011 geliefert werden, wie zum Verschieben benötigt, und ein kontinuierlichen Transfer von Pixeln an den RAM 4021 in jeder Scanlinie gewährleistet ist.The clock control circuitry 4041 of Figures 62 and 31 is also arranged to supply the video clock pulses VCLK to the GSP 120 and the shift clock pulses SCLK to the VRAM 130 so that the groups of M pixels are supplied to the input memory 4011 as needed for shifting and a continuous transfer of pixels to the RAM 4021 is ensured in each scan line.

Figur 63 zeitgt eine Spalte 9601 von Größen des ersten Teilsatzes, von dem jeder Wert jeweilige Bilder beim Verschieben steuert. Rechtsverschieben über die gesamte e Kapazität des Eingangsspeichers 4011 (wie z.B. 32 Bit) ist durch nach unten weisende Pfeile in der Schleife 9611R gezeigt. Zunächst werden alle M Pixel in Figuren 63 und 61A transferiert. Die M-1 Pixel werden im ersten Teilsatz in Figuren 63 und 61B für das nächsten Bild des Rechtsverschiebens transferiert, später gefolgt durch M-x im x-ten Bild des Rechtsverschiebens, bis der letzte (1) Pixel (als der erste Teilsatz) erreicht ist und die Schleife zum Transferieren aller M Pixel zum Anfang zurückspringt.Figure 63 shows a column 9601 of first subset sizes, each value of which controls respective frames for shifting. Shifting right across the entire capacity of input memory 4011 (such as 32 bits) is shown by downward pointing arrows in loop 9611R. First, all M pixels in Figures 63 and 61A are transferred. The M-1 pixels are transferred in the first subset in Figures 63 and 61B for the next frame of shifting right, followed later by M-x in the x-th frame of shifting right, until the last (1) pixel (as the first subset) is reached and the loop returns to the beginning to transfer all M pixels.

In Figur 63 ist ein Verschieben mit dem Merkmal der auswählbaren Busbreiten der Palette 4000 integriert, wie durch Schleifen 9613R für ein 16 Bit-Bus, 9615R für einen 4-Bit-Bus und 9617R für eine 1-Bit-Bus (Beispiele sind nicht erschöpfend für alle Busbreiten) gezeigt. Die Schleife 9617R ist ein Grenzfall, bei dem der Verschiebezähler 9507 getaktet ist, sich aber nicht im Wert ändert, da M = 1 und ein Verschieben praktischerweise durch eine VRAM-Steuerung durchgeführt wird.In Figure 63, shifting is integrated with the feature of the selectable bus widths of the 4000 range as shown by loops 9613R for a 16-bit bus, 9615R for a 4-bit bus, and 9617R for a 1-bit bus (examples are not exhaustive for all bus widths). Loop 9617R is a limiting case where shift counter 9507 is clocked but does not change in value since M = 1 and shifting is conveniently performed by VRAM control.

Ein Linksverschieben in Figur 63 ist im Konzept symmetrisch zum Rechtsverschieben. In der Schleife 9611L werden alle M Bits in der ersten Gruppe in Figur 61A an den RAM 4021 transferiert. Dann wird in Figur 63 ein Pixel (-1) von Figur 610 vom ersten Teilsatz im Speicher 4011 von Figur 62 am Beginn jeder Zeile des Bildes transferiert. Dann werden 2 Pixel (-2), (-1) im nächsten Bildes transferiert, usw., Bild-um-Bild bis M-1 Pixel am Beginn jeder Zeile eines Bildes transferiert sind, woraufhin die Schleife 9611L zum Transferieren aller M Pixel im folgenden Bild zurückspringt, wie in Figur 61A gezeigt. In ähnlicher Weise zeigen die Schleifen 9613L, 9615L und 9617L einen Betrieb für kleinere Busbreiten beim Linksverschieben.A left shift in Figure 63 is conceptually symmetrical to a right shift. In loop 9611L, all M bits in the first group in Figure 61A are transferred to RAM 4021. Then in Figure 63, a pixel (-1) of Figure 610 is transferred from the first subset in memory 4011 of Figure 62 at the beginning of each line of the image. Then 2 pixels (-2), (-1) in next frame, and so on, frame by frame until M-1 pixels at the beginning of each line of a frame are transferred, whereupon loop 9611L loops back to transfer all M pixels in the following frame, as shown in Figure 61A. Similarly, loops 9613L, 9615L, and 9617L demonstrate operation for smaller bus widths when shifting left.

In Figur 64 ist die Schaltung 4041 zum Zuführen eines zusätzlichen SCLK-Impulses 9711, der um eine Anzahl A von Punkttaktperioden relativ zur Beendigung 9713 des L-aktiven Austastsignals BLMK- vorgelaufen ist, konfiguriert. Das Vorlaufen a ist als eine Funktion der Bildzahl x variabel und ist gleich x beim Rechtsverschieben (vergleiche Figur 61B), wobei (M-x) Pixel nach der Beendigung 9713 am Beginn einer Zeile transferiert werden. Das Vorlaufen a ist gleich M-x beim Linksverschieben (vergleiche Figur 610), wobei x Pixel nach der Beendigung 9713 am Beginn einer Zeile transferiert werden. Der Verschiebeimpuls 9711 transferiert somit eine anfängliche Gruppe von Pixeln, von der nur ein Teilsatz tatsächlich an den RAM 4021 transferiert wird. Ein erster vollständiger SCLK- Impuls nach Beendigung 9713 des Austastsignals ist um eine Anzahl von Punkttakt-Perioden zum Eingeben einer Gruppe von M- Pixeln, welche alle 4021 kontinuierlich nach der Anfangsgruppe an den RAM transferiert werden, verzögert.In Figure 64, circuit 4041 is configured to supply an additional SCLK pulse 9711 advanced by a number A of dot clock periods relative to the termination 9713 of the L active blanking signal BLMK-. The advance a is variable as a function of the frame number x and is equal to x when shifting right (see Figure 61B), where (M-x) pixels are transferred after the termination 9713 at the beginning of a line. The advance a is equal to M-x when shifting left (see Figure 61C), where x pixels are transferred after the termination 9713 at the beginning of a line. The shift pulse 9711 thus transfers an initial group of pixels, only a subset of which is actually transferred to RAM 4021. A first complete SCLK pulse after 9713 the blanking signal is terminated is delayed by a number of dot clock periods to input a group of M pixels which are transferred to the RAM every 4021 consecutively after the initial group.

Fig 65 zeigt eine weitere Verschiebungs-Ausführungsform unter Benutzung von zwei Speichern 4011A und 4011B, wobei das Vorlaufen fest ist und nicht als eine Funktion der Bildnummer x variiert. Für die Ausführungsform von Figur 65 ist der Zeittablauf durch eine Wellenform SCLK (2-Speicher) in Figur 64 dargestellt. Dort wird ein Zyklus von SCLK in einem Zeitintervall 9721, das gleich der Periode von SCLK ist, eingesetzt, und dieses Zeitintervall 9721 endet im gleichen Augenblick 9713, wenn das Austastsignal endet.Fig. 65 shows another shift embodiment using two memories 4011A and 4011B, where the lead is fixed and does not vary as a function of the frame number x. For the embodiment of Fig. 65, the timing is represented by a waveform SCLK (2-memory) in Fig. 64. There, a cycle of SCLK is inserted in a time interval 9721 equal to the period of SCLK, and this time interval 9721 ends at the same instant 9713 when the blanking signal ends.

In Figur 65 ist der Bus 136 mit einer Vielzahl von Speichern, hier 2, verbunden, wie dargestellt durch die Eingangsspeicher 4011A und 4011B. Eine Zeittaksteuerschaltung 4041" - liefert ein Verschiebetaktsignal SCLK (2-Speicher), wie in Figur 64 gezeigt. Ebenfalls reagiert die Takt-Steuerschaltung 4041" - auf die Verschiebungssteuerung 9503 und 9507 mit Zuführen von Lastsignalen LOADA und LOADB mit derselben Periode wie SCLK an Speicher 4011A und 4011B. LOADB wird als ein Einzelimpuls bei dieser Ausführungsform eingesetzt, wenn eine Bildnummer x nicht Null ist und die anfängliche Gruppe von Pixeln am Beginn einer Zeile zu verschieben ist. LOADB kann für andere Zwecke aktiv sein, aber andererseits ist LOADB für Verschiebungszwecke bei dieser Ausführungsform von Figur 65 inaktiv. LOADA ist eine Reihe von Impulsen zum Speichern in allen vorhergehenden Gruppen von Pixeln in jeder Zeile von Figuren 61A, 61B, 61C. Transfers von einem der Speicher 4011A und 4011B über den Selektor 4051 an den RAM 4021 treten unter einer Punkttaktrate auf. Der Austastübergang 9731 am Ende jeder Zeile löscht jegliche verbleibende transferierte Pixel. Eine Auswahl des Speichers 4011A oder 4011B durch den Selektor 4051 und die Anzahl von Pixeln, die von jeder Gruppe an den RAM 4021 transferiert wird, wird durch die Verschiebesteuerung 9503, wie in Zusammenhang mit Figuren 61A, 61B, 61C diskutiert, koordiniert. Anderseits arbeitet die Schaltungsanordnung von Figur 65 so wie und ist analog konstruiert wie die Schaltungsanordnung von Figur 62 mit entsprechenden bereits beschriebenen Bezugszeichen.In Figure 65, bus 136 is connected to a plurality of memories, here 2, as represented by input memories 4011A and 4011B. A timing control circuit 4041"- provides a shift clock signal SCLK (2-memory) as shown in Figure 64. Also, clock control circuit 4041"- responds to shift controller 9503 and 9507 by supplying load signals LOADA and LOADB having the same period as SCLK to memories 4011A and 4011B. LOADB is used as a single pulse in this embodiment when a frame number x is not zero and the initial group of pixels at the beginning of a line is to be shifted. LOADB may be active for other purposes, but otherwise LOADB is inactive for shifting purposes in this embodiment of Figure 65. LOADA is a series of pulses for storing in all previous groups of pixels in each row of Figures 61A, 61B, 61C. Transfers from either of memories 4011A and 4011B via selector 4051 to RAM 4021 occur at a dot clock rate. Blanking transition 9731 at the end of each row clears any remaining transferred pixels. Selection of memory 4011A or 4011B by selector 4051 and the number of pixels transferred from each group to RAM 4021 is coordinated by shift control 9503 as discussed in connection with Figures 61A, 61B, 61C. On the other hand, the circuit arrangement of Figure 65 operates in the same way and is constructed analogously to the circuit arrangement of Figure 62 with corresponding reference numerals already described.

Einige bevorzugte Ausführungsformen sind im Vorigen detailliert beschrieben worden. Es sollte verstanden werden, daß der Umfang der Erfindung Ausführungsformen umfaßt, die deutlich von denen verschieden sind, die innerhalb des Schutzumfanges beschrieben worden sind. Für einige wenige Beispiele können die Farbwiedergabevorrichtungen, die kombiniert benutzt werden, rastergescannte Kathodenstrahlenröhren-Monitore, weitere rastergescannte Vorrichtungen, nicht rastergescannte Vorrichtungen mit paralellisierten Zeilen oder Bildansteuerungen, Farbdrucker, Bildformatierer oder andere Hardkopie-Anzeigen, Flüssigkristalle, Plasmavorrichtungen, holographische Vorrichtungen, deformierbare Mikrospiegel und andere Anzeigen gemäß Nicht-CRT-Technologie und dreidimensionale und weitere nicht planare Bild- Bildungstechnologien sein. Mikroprozessoren und Mikrocomputer werden in manchen Zusammenhängen benutzt, um auszudrücken, daß ein Mikrocomputer einen Speicher erfordert; die Benutzung hier ist die, daß diese Begriffe auch synonym sein können und sich auf äquivalente Dinge beziehen. Der Ausdruck Verarbeitungsschaltungsanordnung umfaßt ASIC-Schaltungen, PALs, PLAs, Dekodierer, Speicher, nicht-Software-basierte Prozessoren oder weitere Schaltungsanordnungen, digitale Computer einschließlich Mikroprozessoren und Mikrocomputer irgendeiner Architektur oder Kombinationen davon. Palette in manchen Zusammenhängen bedeutet eine spezielle Nachschlagetabellenvorrichtung und bedeutet in der vorliegenden Arbeit eine alternative Farbdatenworterzeugung, kombiniert mit einer oder mehrerer zugehöriger Schaltungen, wie z.B. Digital/Analog-Wandler, Selektoren, Zeitablaufsteuerungen, und funktionelle Schaltungen und Testschaltungen und Schnittstellen. Interne und externe Verbindungen können ohmsch, kapazitiv, direkt oder indirekt über zwischengesetzte Schaltungen oder anders, wie erwünscht, gemacht werden. Eine Implementierung ist in diskreten Komponenten oder vollständig integriert in Silizium, Galliumarsenid oder anderen Familien von elektronischen Materialien sowie in optisch-basierten oder Formen und Ausführungsformen anderer Technologien betrachtet. Es sollte verstanden werden, daß viele Ausführungsformen der Erfindung Hardware, Software oder mikrokodierte Firmware verwenden können. Prozeßdiagramme dienen hierbei ebenfalls zum Darstellen von Flußdiagrammen für mikrokodierte und Softwarebasierte Ausführungsformen.Some preferred embodiments have been described in detail above. It should be understood that the scope of the invention includes embodiments that are significantly different from those described within the scope. For a few examples, the color display devices used in combination may be raster-scanned cathode ray tube monitors, other raster-scanned devices, non-raster-scanned Parallel line or image drive devices, color printers, image formatters or other hard copy displays, liquid crystals, plasma devices, holographic devices, deformable micromirrors and other non-CRT displays, and three-dimensional and other non-planar image forming technologies. Microprocessors and microcomputers are used in some contexts to mean that a microcomputer requires a memory; the usage here is that these terms may also be synonymous and refer to equivalent things. The term processing circuitry includes ASIC circuits, PALs, PLAs, decoders, memories, non-software based processors or other circuitry, digital computers including microprocessors, and microcomputers of any architecture, or combinations thereof. Palette in some contexts means a special look-up table device, and in the present work means an alternate color data word generation combined with one or more associated circuits such as digital-to-analog converters, selectors, timing controllers, and functional circuits and test circuits and interfaces. Internal and external connections may be made resistive, capacitive, direct or indirect through intervening circuits, or otherwise as desired. Implementation is contemplated in discrete components or fully integrated in silicon, gallium arsenide, or other families of electronic materials, as well as in optical-based or other forms and embodiments of technologies. It should be understood that many embodiments of the invention may utilize hardware, software, or microcoded firmware. Process diagrams are also provided herein to illustrate flowcharts for microcoded and software-based embodiments.

1. Bildwiedergabeanordnung (100) mit einem Videospeicher (130), in dem mehrere Mehrbit-Farbcodes gespeichert sind, die jeweils ein Bild darstellende Pixel repräsentieren, einem Wiedergabemittel (170), einer Palettenvorrichtung (4000) mit einem Nachschlagetabellenspeicher (4021) zum Liefern von Farbdatenwörtern für die Zuführung zu dem Wiedergabemittel abhängig von den Farbcodes, und einem Mehrbit-Bus (136), bei dem eine vorbestimmte Anzahl von Bits mit dem Videospeicher verbunden ist, um in dem Videospeicher gespeicherte Farbcodes in Buszyklen zu übertragen,1. Image display device (100) with a video memory (130) in which a plurality of multi-bit color codes are stored, each representing pixels representing an image, a display means (170), a palette device (4000) with a look-up table memory (4021) for supplying color data words for supply to the display means depending on the color codes, and a multi-bit bus (136) in which a predetermined number of bits are connected to the video memory in order to transfer color codes stored in the video memory in bus cycles,

dadurch gekennzeichnet, daß der Mehrbit-Bus derart ausgestaltet ist, daß in jedem Buszyklus mehrere Farbcodes unter Erfassung der gesamten Breite des Mehrbit-Busses übertragen werden; und daß die Palettenvorrichtung ferner enthält:characterized in that the multi-bit bus is designed in such a way that in each bus cycle several color codes are transmitted covering the entire width of the multi-bit bus; and that the palette device further comprises:

einen Eingangsspeicher (4011), der an den Mehrbit-Bus angeschlossen ist, um gleichzeitig die mehreren Farbcodes von ihm zu empfangen und die mehreren Farbcodes in jedem Buszyklus zwischenzuspeichern; eine Farbcode-übertragungsschaltung (4051) mit einem extern ladbaren Steuerregister (4371), das eine Darstellung der jedem Farbcode zugeordneten Anzahl von Bits und eine Darstellung der in jedem Buszyklus übertragenen Anzahl von Farbcodes speichert;an input memory (4011) connected to the multi-bit bus for simultaneously receiving the plurality of color codes therefrom and for latching the plurality of color codes in each bus cycle; a color code transmission circuit (4051) having an externally loadable control register (4371) storing a representation of the number of bits associated with each color code and a representation of the number of color codes transmitted in each bus cycle;

und einen ersten Multiplexer (4381), der von dem Steuerregister gesteuert ist und zwischen dem Eingangsspeicher und dem Nachschlagetabellenspeicher angeschlossen ist, wobei der erste Multiplexer dem Nachschlagetabellenspeicher eine Folge von Bitblöcken aus in dem Eingangsspeicher gespeicherten Daten zuführt, wobei jeder der Bitblöcke hinsichtlich seiner Anzahl der Anzahl von Bits gleich ist, die jedem Farbcode zugeordnet ist und in dem Steuerregister gespeichert ist, so daß aus dem Eingangsspeicher einzelne der mehreren Farbcodes übertragen werden, wobei die Folge für eine Anzahl von Bitblöcken fortgesetzt wird, die gleich der Anzahl von Farbcodes ist, die in jedem Buszyklus für jedes Laden des Eingangsspeichers aus dem Mehrbit-Bus übertragen wird.and a first multiplexer (4381) controlled by the control register and connected between the input memory and the look-up table memory, the first multiplexer supplying to the look-up table memory a sequence of bit blocks from data stored in the input memory, each of the bit blocks being equal in number to the number of bits associated with each color code stored in the control register, so that individual ones of the plurality of color codes are transferred from the input memory, the sequence continuing for a number of bit blocks equal to the number of color codes transferred from the multi-bit bus in each bus cycle for each load of the input memory.

2. Palettenvorrichtung nach Anspruch 1, bei welcher Eingänge des ersten Multiplexers mit dem Eingangsspeicher für die gesamte Breite des Busses verbunden sind, wobei der erste Multiplexer eine Anzahl von Ausgängen aufweist, die eine Teilvielfache der Breite des Busses ist.2. Palette device according to claim 1, wherein inputs of the first multiplexer are connected to the input memory for the entire width of the bus, the first multiplexer having a number of outputs that is a partial multiple of the width of the bus.

3. Palettenvorrichtung nach Anspruch 2, bei welcher die übertragungsschaltung einen zweiten Multiplexer (4383, 4385, 4387) enthält, der mit dem Eingangsspeicher für die gesamte Breite des Busses verbundene Eingänge aufweist, wobei der zweite Multiplexer eine Anzahl von Ausgängen aufweist, die eine andere Teilvielfache der Breite des Busses gegenüber der des ersten Multiplexers (4381) ist.3. A pallet device according to claim 2, wherein the transmission circuit includes a second multiplexer (4383, 4385, 4387) having inputs connected to the input memory for the entire width of the bus, the second multiplexer having a number of outputs which is a different sub-multiple of the width of the bus from that of the first multiplexer (4381).

DE1991616012 1990-06-27 1991-06-26 Pallet devices with selection of multiple pixel depths containing the entire bus width Expired - Fee Related DE69116012T2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US54542290A 1990-06-27 1990-06-27
US54477490A 1990-06-27 1990-06-27
US54477590A 1990-06-27 1990-06-27
US07/545,421 US5309551A (en) 1990-06-27 1990-06-27 Devices, systems and methods for palette pass-through mode

Publications (2)

Publication Number Publication Date
DE69116012D1 DE69116012D1 (en) 1996-02-15
DE69116012T2 true DE69116012T2 (en) 1996-10-17

Family

ID=27504710

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1991616012 Expired - Fee Related DE69116012T2 (en) 1990-06-27 1991-06-26 Pallet devices with selection of multiple pixel depths containing the entire bus width

Country Status (3)

Country Link
EP (1) EP0465102B1 (en)
JP (1) JP3164379B2 (en)
DE (1) DE69116012T2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2107314C (en) 1992-09-30 2001-04-17 Katsunori Takahashi Computer system
US5459485A (en) * 1992-10-01 1995-10-17 Hudson Soft Co., Ltd. Image and sound processing apparatus
TW397958B (en) 1992-10-09 2000-07-11 Hudson Soft Co Ltd Image processing system
PL2721811T3 (en) 2011-06-14 2020-06-01 Koninklijke Philips N.V. Graphics processing for high dynamic range video
JP5929206B2 (en) * 2012-01-11 2016-06-01 株式会社リコー Signal processing circuit, image processing apparatus, and signal processing method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2137988A (en) * 1987-07-16 1989-02-13 Nova Graphics International Corporation Look-up table extension method and apparatus
US4857901A (en) * 1987-07-24 1989-08-15 Apollo Computer, Inc. Display controller utilizing attribute bits
EP0319684A3 (en) * 1987-10-23 1991-02-06 Honeywell Inc. Display system for color image quantization
JPH0279093A (en) * 1988-09-16 1990-03-19 Hitachi Ltd Display device

Also Published As

Publication number Publication date
DE69116012D1 (en) 1996-02-15
JP3164379B2 (en) 2001-05-08
EP0465102B1 (en) 1996-01-03
JPH06308925A (en) 1994-11-04
EP0465102A2 (en) 1992-01-08
EP0465102A3 (en) 1992-05-27

Similar Documents

Publication Publication Date Title
US5400057A (en) Internal test circuits for color palette device
US5270687A (en) Palette devices, computer graphics systems and method with parallel lookup and input signal splitting
DE3485765T2 (en) DISPLAY SYSTEM FOR COMPOSED IMAGES.
DE69113240T2 (en) Bus architecture for a multimedia system.
DE69225538T2 (en) High resolution multimedia display
DE69113235T3 (en) Multimedia system.
DE3687358T2 (en) IMAGE BUFFER WITH VARIABLE ACCESS.
DE4332573C2 (en) Videographic system for displaying waveforms on a video monitor
DE69020279T2 (en) Mechanism for securing picture elements for adapters for mixed display of graphic signals and video.
DE69312786T2 (en) External interface for a high-performance graphics adapter that guarantees graphic compatibility
DE69615755T2 (en) Video signal processing apparatus, information processing system, and video signal processing method
DE3882365T2 (en) DEVICE FOR GENERATING A CURSOR PATTERN ON A DISPLAY.
US5293468A (en) Controlled delay devices, systems and methods
DE3153277C2 (en) Video output processor for a computer graphics system
DE69825393T2 (en) Circuit for simultaneously driving a liquid crystal screen and a television screen
US5309551A (en) Devices, systems and methods for palette pass-through mode
US5341470A (en) Computer graphics systems, palette devices and methods for shift clock pulse insertion during blanking
DE68913947T2 (en) DEVICE FOR GENERATING VIDEO SIGNALS.
US5287100A (en) Graphics systems, palettes and methods with combined video and shift clock control
US5327159A (en) Packed bus selection of multiple pixel depths in palette devices, systems and methods
US6232955B1 (en) Palette devices, systems and methods for true color mode
DE3114925A1 (en) IMAGE PROCESSING SYSTEM
DE69116012T2 (en) Pallet devices with selection of multiple pixel depths containing the entire bus width
EP0500147B2 (en) Method of and device for controlling a monitor
DE69131741T2 (en) Graphic systems, pallets and processes with combined video and shift clock signal control

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee