• The specifications in this manual are subject to change without notice. Contact our Sales
Department before purchasing the product described in this manual.
• Information and circuit diagrams in this manual are only examples of device applications, they are
not intended to be used in actual equipment. Also, Fujitsu accepts no responsibility for
infringement of patents or other rights owned by third parties caused by use of the information and
circuit diagrams.
• The contents of this manual must not be reprinted or duplicated without permission of Fujitsu.
• Fujitsu’s semiconductor devices are intended for standard uses (such as office equipment
(computers and OA equipment), industrial/communications/measuring equipment, and
personal/home equipment). Customers using semiconductor devices for special applications
(including aerospace, nuclear, military and medical applications) in which a failure or malfunction
might endanger life or limb and which require extremely high reliability must contact our Sales
Department first. If damage is caused by such use of our semiconductor devices without first
consulting our Sales Department, Fujitsu will not assume any responsibility for the loss.
• Semiconductor devices fail with a known probability. Customers must use safety design (such as
redundant design, fireproof design, over-current prevention design, and malfunction prevention
design) so that failures will not cause accidents, injury or death).
• If the products described in this manual fall within the goods or technologies regulated by the
Foreign Exchange and Foreign Trade Law, permission must be obtained before exporting the goods
or technologies.
ii
Update history
Date Version Page count Change
2001.2.22 0.1 31 First edition
2001.7.23 0.2 228 See separate paper (Page count difference between Orchid and Coral)
2001.8.23 0.3 238 See separate paper (Page count difference between Rev0.2 and Rev0.3)
2001.11.12 0.4 262 See separate paper (Page count difference between Rev0.3 and Rev0.4)
2001.12.8 0.5 266 See separate paper (Page count difference between Rev0.4 and Rev0.5)
2002.1.9 0.6 266 See separate paper (Page count difference between Rev0.5 and Rev0.6)
2002.4.15 0.7 274 See separate paper (Page count difference between Rev0.6 and Rev0.7)
2002.5.21 0.8 274 See separate paper (Page count difference between Rev0.7 and Rev0.8)
2003.1.14 1.1 284 See separate paper (Page count difference between Rev0.8 and Rev1.1)
Coral graphics controller has some functions and optional efficiency and is planned to be
serial-manufactured according to purposes .
For ES version, the specifications in which common descriptions to CORAL series are written are planned
to provide and for mass-production version, the specifications which are unique to each series are planed
to be provided. Therefore, please bear in mind that the contents for ES and mass-production versions
may be different form each other.
• Geometry engine
Geometry engine supports the geometry processing that is compatible with ORCHID (MB86292).
Using the display list created by ORCHID enables drawing. **(But Floating point setup command is
deleted.)
Heavy processing of geometric operations such as coordinates conversions or clipping performed by
this device can reduce the CPU loads dramatically.
• 2D and 3D Drawing
Coral has a drawing function that is compatible with the CREMSON (MB86290A). It can draw data
using the display list created for CREMSON. **(But Internal texture RAM is deleted.)
Coral also supports 3D rendering, such as texture mapping with perspective collection and Gouraud
shading, alpha blending, and anti-aliasing for drawing smooth lines.
• Display controller
Coral has a display controller that is compatible with ORCHID.
In addition to the traditional XGA (1024 × 768 pixels) display, 4-layer overlay, left/right split display,
wrap-around scrolling, double buffers, and translucent display, function of 6-layer overlay, 4-siding for
palette are expanded.
• Host CPU interface
Can be connected to SH3 and SH4 manufactured by Hitachi, to V832 microprocessor by NEC and to
SPARClite (MB86833) by Fujitsu without external circuits.
• External memory interface
SDRAM and FCRAM can be connected.
• Optional function
Final device can be selected either geometry high-/low-speed version.
• Others
CMOS technology with 0. 18-µm
HQFP256 Package (lead pitch 0. 4 mm)
Supply voltage: 1.8 V (internal operation) /3.3 V (I/O)
Current consumption ( TYPICAL )
Supports 1-double word (32 bits) /8-double word (32 bytes) (only SH4) for transfer unit.
ACK used/unused mode can be selected as protocol (only for DAM in dual address mode)
Supports dual address/mode single address mode (only SH4).
Supports cycle steel/burst.
Supports local display list transfer.
Interrupt
Vertical (frame) synchronous detection
Field synchronous detection
External synchronous error detection
Drawing command error
Drawing command execution end
SDRAM or FCRAM can be connected.
64 bits or 32 bits can be selected for data bus.
Max. 133 MHz is available for operating frequency.
Connectable memory configuration is as shown below.
Coral supports two hardware cursor functions. Each of these hardware cursors is specified as a 64 ×
64-pixel area. Each pixel of these hardware cursors is 8 bits and uses the same look-up table as
indirect color mode.
Double buffer method
Double buffer method in which drawing window and display window is switched in units of 1 frame
enables the smooth animation.
Flipping (switching of display window area) is performed in synchronization with the vertical blanking
period using program.
Scroll method
Independent setting of drawing and display windows and their starting position enables the smooth
scrolling.
Display colors
• Supports indirect color mode which uses the look-up table (color palette) in 8 bits/pixels.
• Entry for look -up table (color palette) corresponds to color code for 8 bits, in other words, 256. Color
data is each 6 bits of RGB. Consequently, 256 colors can be displayed out of 260,000 colors.
• Supports direct color mode which specifies RGB with 16 bits/pixels.
Up to four extra layers (C, W, M and B) can be displayed overlaid.
The overlay position for the hardware cursors is above/below the top layer (C).
The transparent mode or the blend mode can be selected for overlay.
The M- and B-layers can be split into separate windows.
Window display can be performed for the W-layer.
Two palettes are provided: C-layer and M-/B-layer.
The W-layer is used as the video input layer.
L0, L2, L4 (0,0)
L3, L5 (HDB+1, 0)
Window mode
• Up to six screens (L0 to 5) can be displayed overlaid.
• The overlay sequence of the L0- to L5-layers can be changed arbitrarily.
• The overlay position for the hardware cursors is above/below the L0-layer.
• The transparent mode or the blend mode can be selected for overlay.
• The L5-layer can be used as the blend coefficient plane (8 bits/pixel).
• Window display can be performed for all layers.
• Four palettes corresponded to L0 to 3 are provided.
• The L1-layer is used as the video input layer.
• Background color display is supported in window display for all layers.
Coral has a geometry engine for performing the numerical operations required for graphics processing.
The geometry engine uses the floating-point format for highly precise operations. It selects the required
geometry processing according to the set drawing mode and primitive type and executes processing to
the final drawing.
Primitives
Point, line, line strip, independent triangle, triangle strip, triangle fan, and arbitrary polygon are
supported.
MVP Transformation
MVP Transformation
Setting a 4 × 4 transformation matrix enables transformation of a 3D model view projection.
Two-dimensional affine transformation is also possible.
Clipping
Clipping stops drawing of figures outside the window (field of view). Polygons (including concave
shapes) can also be clipped.
Culling
Triangles on the back are not drawn.
3D-2D Transformation
This functions transforms 3D coordinates (normalization) into 2D coordinates in orthogonal or
perspective projections.
View port transformation
This function transforms normalized 2D coordinates into drawing (device) coordinates.
Primitive setup
This function automatically performs a variety of slope computations, etc., based on transforming
vertex data into coordinates and prepares for rendering (setup).
Log output of device coordinates
The view port conversion results are output to the local memory.
Coral can perform 2D drawing for graphics memory (drawing plane) in direct color mode or indirect
color mode.
Bold lines with width and broken lines can be drawn. With anti-aliasing smooth diagonal lines also
can be drawn.
A triangle can be tiled in a single color or 2D pattern (tiling), or mapped with a texture pattern by
specifying coordinates of the 2D pattern at each vertex (texture mapping). At texture mapping,
drawing/non-drawing can be set in pixel units. Moreover, transparent processing can be performed
using alpha blending. When drawing in single color or tiling without Gouraud shading or texture
mapping, high-speed 2DLine and high -speed 2DTriangle can be used. Only vertex coordinates are
set for these primitives. High-speed 2DTriangle is also used to draw polygons.
2D Primitives
Primitive type Description
Point Plots point
Line Draws line
Bold line strip
(provisional name)
Triangle Draws triangle
High-speed 2DLine Draws lines
Arbitrary polygon Draws arbitrary closed polygon containing concave shapes
Draws continuous bold line
This primitive is used when interpolating the bold line joint.
Compared to line, this reduces the host CPU processing load.
consisting of vertices
Arbitrary polygon drawing
Using this function, arbitrary closed polygon containing concave shapes consisting of vertices can be
drawn. (There is no restriction on the count of vertices, however, the polygon with its sides crossed
are not supported.) In this case, as a work area for drawing, polygon drawing flag buffer is used on
the graphics memory. In drawing polygon, draw triangle for polygon drawing flag buffer using
high-speed 2DTriangle. Decide any vertex as a starting point to draw triangle along the periphery. It
enables you to draw final polygon form in single color or with tiling/texture mapping in a drawing frame.
This function draws a rectangle using logic operations. It is used to draw pattern and copy the image
pattern within the drawing frame. It is also used for clearing drawing frame and Z buffer.
BLT Attributes
Attribute Description
Raster operation Selects two source logical operation mode
Transparent processing Performs BLT without drawing pixel consistent with the
transparent color.
Alpha blending The alpha map and source in the memory is subjected to alpha
blending and then copied to the destination.
Pattern (Text) drawing
This function draws a binary pattern (text) in a specified color.
Pattern (Text) Drawing Attributes
Attribute Description
Enlarge Vertically 2 × 2
Horizontally × 2 Vertically and Horizontally × 2
Shrink Vertically 1/2 × 1/2
Horizontally 1/2
Vertically and Horizontally 1/2
Drawing clipping
This function sets a rectangle frame in drawing frame to prohibit the drawing of the outside the frame.
This function draws 3D objects in drawing memory in the direct color mode.
3D Primitives
Primitive Description
Point Plots 3D point
Line Draws 3D line
Triangle Draws 3D triangle
Arbitrary polygon Draws arbitrary closed polygon containing concave shapes
consisting of vertexes
3D Drawing attributes
Texture mapping with bi-linear filtering/automatic perspective correction and Gouraud shading provides
high-quality realistic 3D drawing. A built-in texture mapping unit performs fast pixel calculations.
This unit also delivers color blending between the shading color and texture color.
Hidden plane management
Coral supports the Z buffer for hidden plane management.
Anti-aliasing manipulates line borders of polygons in sub-pixel units and blend the pre -drawing pixel
color with color to make the jaggies be seen smooth. It is used as a functional option for 2D drawing
(in direct color mode only).
Bold line and broken line drawing
This function draws lines of a specific width and a broken line.
Line Drawing Attributes
Attribute Description
Line width Selectable from 1 to 32 pixels
Broken line Set by 32 bit or 24 bit of broken line pattern
• Supports the verticality of starting and ending points.
• Supports the verticality of broken line pattern.
• Interpolation of bold line joint supports the following modes:
(1) Broken line pattern reference address fix mode
→ The same broken line pattern is kept referencing for the period of some pixels starting from the
joint and the starting point for the next line.
(2) No interpolation
• Supports the equalization of the width of bold lines.
• Supports the bold line edging.
• Not support the Anti-aliasing of dashed line patterns.
• For a part overlaid due to connection of bold lines, natural overlay can be represented by providing depth
information. (Z value).
Shading
Supports the shading primitive.
Drawing is performed to the body primitive coordinates (X, Y) with an offset as a shade. At this drawing,
the Z buffer is used in order to differentiate between the body and shade.
Alpha blending blends two image colors to provide a transparent effect. CORAL supports two types
of blending; blending two different colors at drawing, and blending overlay planes at display.
Transparent color is not used for these blending options.
There are two ways of specifying alpha blending for drawing:
(1) Set a transparent coefficient to the register; the transparent coefficient is applied for transparency
processing of one plane.
(2) Set a transparent coefficient for each vertex of the plane; as with Gouraud shading, the transparent
coefficient is linear-interpolated to perform transparent processing in pixel units.
In addition to the above, the following settings can be performed at texture mapping. When the most
significant bit of each texture cell is 1, drawing or transparency can be set. When the most significant
bit of each texture cell is 0, non-drawing can be set.
Alpha Blending
Type Description
Drawing Transparent ratio set in particular register
While one primitive (polygon, pattern, etc.), being drawn,
registered transparent ratio applied
A transparent coefficient set for each vertex. A
linear-interpolated transparent coefficient applied.
This is possible only in direct color mode.
Overlay display Blends top layer pixel color with lower layer pixel color
Transparent coefficient set in particular register
Registered transparent coefficient applied during one frame
scan
Gouraud Shading
Gouraud shading can be used in the direct color mode to provide 3D object real shading and color
gradation.
Gray Scale Gouraud Shading
Gray scale gouraud shading can be used in the in-direct color(8bit/pixel) mode to draw a blend
coefficient layer.
Coral supports texture mapping to map an image pattern onto the surface of plane. The texture
pattern can be laid out in the graphics memory. In this case, max. 4096 × 4096 pixels can be used.
For drawing 8-bit color, only point sampling can be specified for texture interpolation; only de -curl can
be specified for the blend mode.
8-bit indirect color and 16-bit direct color are supported as a drawing input data.
Top-left rule non-applicable mode
In addition to the top-left rule applicable mode in which the triangle borders are compatible with
CREMSON, the top-left rule non-applicable mode can be used. (In case of non-top-left polygon
drawing, an object has to be in a geometry clipping area.)
Caution: Use perspective correct mode when use texture at the top-left rule non-applicable mode.
Top-left rule non-applicable primitives cannot use Geometry clip function.
Non-top-left-part’s pixel quality is less than body. (using approximate calculation)
DMA transfer strobe signal (XTC is used in the V832 mode.
PRELIMINARY and CONFIDENTIAL
2.3 Pin Function
2.3.1 Host CPU interface
Table 2-1 Host CPU Interface Pins
Pin name I/O Description
MODE0-2 Input Host CPU mode select
RDY_MODE Input Normally ready, Not ready select
BS_MODE Input BS signal with/without select
XRST Input Hardware reset
D0-31 In/Out Host CPU bus data
A2-A25 Input Host CPU bus address (In the V832 mode, A[24] is
BCLKI Input Host CPU bus clock
XBS Input Bus cycle start signal
XCS Input Chip select signal
XRD Input Read strobe signal
XWE0 Input Write strobe for D0 to D7 signal
XWE1 Input Write strobe for D8 to D15 signal
XWE2 Input Write strobe for D16 to D23 signal
XWE3 Input Write strobe for D24 to D31 signal
XRDY Output
Tri-state
DREQ Output DMA request signal (This signal is low-active in both the SH
DRACK/DMAAK Input Acknowledge signal in response to DMA request (DMAAK is
DTACK/XTC Input
XINT Output Interrupt signal issued to host CPU (In the SH mode, and
connected to XMWR.)
Wait request signal (In the SH3 mode, when this signal is
“0”, it indicates the wait state; in the SH4, V832 and
SPARClite modes, when this signal is “1”, it indicates the
wait state.)
mode and V832 mode.)
used in the V832 mode; this signal is high-active in both the
SH mode and V832 mode.)
In the SH mode, this signal is high-active; in the V832 mode,
it is low-active.)
SPARClite this signal is low-active; in the V832 mode, it is
high-active)