JP2842602B2 - High quality character generator - Google Patents

High quality character generator

Info

Publication number
JP2842602B2
JP2842602B2 JP1012496A JP1249689A JP2842602B2 JP 2842602 B2 JP2842602 B2 JP 2842602B2 JP 1012496 A JP1012496 A JP 1012496A JP 1249689 A JP1249689 A JP 1249689A JP 2842602 B2 JP2842602 B2 JP 2842602B2
Authority
JP
Japan
Prior art keywords
state
register
coordinate
data
signal
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
JP1012496A
Other languages
Japanese (ja)
Other versions
JPH02193191A (en
Inventor
正之 杉浦
眞人 前田
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.)
Pentax Corp
Original Assignee
Asahi Kogaku Kogyo Co Ltd
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
Application filed by Asahi Kogaku Kogyo Co Ltd filed Critical Asahi Kogaku Kogyo Co Ltd
Priority to JP1012496A priority Critical patent/JP2842602B2/en
Publication of JPH02193191A publication Critical patent/JPH02193191A/en
Priority to US08/161,310 priority patent/US5426727A/en
Application granted granted Critical
Publication of JP2842602B2 publication Critical patent/JP2842602B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は例えばレーザプリンタ、CRTディスプレー、
電子計算機写植機等において、コード化されたディジタ
ル文字データより可視的な高品質の文字、記号等を生成
する高品質文字生成装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Industrial Application Field] The present invention relates to, for example, laser printers, CRT displays,
The present invention relates to a high-quality character generation device that generates high-quality characters, symbols, and the like from encoded digital character data in an electronic computer typesetting machine or the like.

〔従来の技術〕[Conventional technology]

ディジタル方式による文字生成装置にはドット方式と
ベクトル方式がある。ドット方式においては文字が最終
的に表示する場合と同様のドットデータで予め記憶され
ているため、容易に文字を発生させることができる。一
方この方式は文字の画素以外のスペースをもコード化し
て記憶させる必要があるので、1文字分のデータ量が大
きくなるとともに、同一の文字であっても文字の大きさ
が異なる場合別の文字データを用意しなければならず、
文字データを記憶する記憶手段の容量が極めて大きくな
る。
There are a dot type and a vector type in digital character generation devices. In the dot method, since characters are stored in advance in the same dot data as when the characters are finally displayed, characters can be easily generated. On the other hand, in this method, it is necessary to code and store a space other than the pixel of the character, so that the data amount for one character is large, and when the size of the same character is different, another character is used. You have to prepare the data,
The capacity of the storage means for storing character data becomes extremely large.

これに対してベクトル方式は文字の線分のみをベクト
ルデータとして記憶手段に記憶させるものであるため、
1つの文字データを記憶していれば、その大きさを所定
の値に自由に変更して表示させることができ、記憶手段
の容量が小さくて済む。
On the other hand, the vector method stores only line segments of characters in the storage means as vector data,
If one character data is stored, its size can be freely changed to a predetermined value and displayed, and the capacity of the storage means can be small.

このベクトル方式にはさらにストローク方式とアウト
ライン(ポリゴン)方式とがある。ストローク方式は少
ないデータ量で構成されるため、文字を高速に表示させ
ることが可能である反面、文字の書体の微細な変化を表
現することが困難である。これに対してアウトライン方
式は文字の輪郭をデータ化したものであるので、ストロ
ーク方式に較べ表現速度はやや遅くなるが、より微細な
書体の表現が可能になる。
The vector system further includes a stroke system and an outline (polygon) system. Since the stroke method is configured with a small amount of data, it is possible to display characters at high speed, but it is difficult to express minute changes in the font of characters. On the other hand, in the outline method, since the outline of a character is converted into data, the expression speed is slightly slower than in the stroke method, but a finer typeface can be expressed.

第2図はアウトライン方式において文字Aを表示する
場合の従来の原理を表わしている。同図に示すように先
ずビットマップを構成するメモリ上に文字Aの輪郭が頂
点a乃至1を結ぶ線分により表示される。次にこのビッ
トマップが例えばx軸方向にスキャンされ、描画すべき
(塗り潰すべき)位置が検知される。そしてさらにこの
検索された位置(輪郭線の内部)が描画される(塗り潰
される)。
FIG. 2 shows the conventional principle of displaying the character A in the outline method. As shown in the figure, first, the outline of the character A is displayed on the memory constituting the bitmap by a line segment connecting the vertices a to 1. Next, the bit map is scanned, for example, in the x-axis direction, and a position to be drawn (filled) is detected. Then, the searched position (the inside of the outline) is drawn (filled).

〔発明が解決しようとする課題〕 従来の装置はこのように、ビットマップ上に文字の輪
郭を一旦書き込んだ後、ビットマップを例えばx軸方向
にスキャンして描画(塗り潰し)の開始点と終了点をサ
ーチし、サーチされた開始点から終了点までを描画する
(塗り潰す)ようにしているので、ビットマップに対す
るアクセス回数が増加し、ビットマップ上に文字を描画
する時間が長くなる欠点があった。
[Problem to be Solved by the Invention] As described above, the conventional apparatus once writes the outline of a character on a bitmap, and then scans the bitmap in, for example, the x-axis direction to start and end drawing (filling). Since points are searched and the search is performed from the start point to the end point (filling), the number of accesses to the bitmap increases, and the time to draw characters on the bitmap increases. there were.

本発明は斯かる状況に鑑みなされたもので、ビットマ
ップに対するアクセス回数を減らし、描画時間が短くな
るようにするものである。
The present invention has been made in view of such a situation, and aims to reduce the number of accesses to a bitmap and shorten the drawing time.

〔課題を解決するための手段〕[Means for solving the problem]

本発明の高品質文字生成装置は、複数の線分を有する
文字の輪郭データを記憶する第1の記憶手段と、第1の
記憶手段から読み出された輪郭データに基づいて描画方
向に平行な座標軸を有する2次元座標における線分に対
応した輪郭点の座標を生成し、描画方向に平行な複数の
ラインの各々において輪郭点の中から偶数個選出して描
画の開始位置および終了位置を規定する描画点として出
力する輪郭座標生成手段と、前記輪郭座標生成手段から
得られた描画点を各ラインにおいて描画方向に沿って並
び換えさらに複数のラインが並ぶ方向に沿って順に並び
換えるソート手段と、ソート手段により並び換えらえた
描画点の座標に基づいてライン毎に奇数番目の描画点か
ら偶数番目の描画点までの描画を行う描画手段と、描画
手段により文字が描画される第2の記憶手段とを備え、
輪郭座標生成手段が、輪郭データに基づいて2次元座標
における輪郭点の座標を線分毎に算出して出力する座標
計算部と、座標計算部により線分毎に算出された輪郭点
の中から線分毎に所定のアルゴリズムに基づいて選出し
描画点として出力する第1の座標選択部と、複数のライ
ンの各々において描画点が偶数個となるように前記座標
計算部により線分毎に算出された前記輪郭点であって線
分同士が交わる交点の中から0個、または1個、または
2個の描画点として選出して出力する第2の座標選択部
とを備えることを特徴としている。
A high-quality character generation device according to the present invention includes a first storage unit that stores outline data of a character having a plurality of line segments, and a parallel storage device that is parallel to the drawing direction based on the outline data read from the first storage unit. Generates coordinates of contour points corresponding to a line segment in two-dimensional coordinates having coordinate axes, selects an even number of contour points from each of a plurality of lines parallel to the drawing direction, and defines a drawing start position and a drawing end position. Contour coordinates generating means for outputting as drawing points to be drawn, and sorting means for rearranging the drawing points obtained from the contour coordinate generating means in each line along a drawing direction and further rearranging the lines in order along a plurality of lines. A drawing means for drawing from the odd-numbered drawing point to an even-numbered drawing point for each line based on the coordinates of the drawing points rearranged by the sorting means, and characters drawn by the drawing means. And a second storage means which is,
A coordinate calculating unit that calculates and outputs the coordinates of the contour points in the two-dimensional coordinates for each line segment based on the contour data, and a contour calculating unit that calculates the coordinates of the contour points from the contour points calculated for each line segment by the coordinate calculating unit A first coordinate selection unit that outputs a selected drawing point for each line segment based on a predetermined algorithm, and a coordinate calculation unit that calculates an even number of drawing points for each of the plurality of lines for each line segment And a second coordinate selection unit that selects and outputs 0, 1, or 2 drawing points from the intersection points where the line segments intersect with each other. .

〔作用〕[Action]

第1の記憶手段より読み出されたポリゴンデータは生
成手段により座標データに変換される。座標データは例
えば同一y軸上に2個の座標が配置されるように選択手
段により選択される。描画手段はこの選択された座標の
うち同一y軸上の最初の座標から後の座標まで順次増加
する座標を直ちに生成し、生成した座標に対応して第2
の記憶手段に文字を描画する。
The polygon data read from the first storage unit is converted into coordinate data by the generation unit. The coordinate data is selected by the selecting means such that two coordinates are arranged on the same y-axis, for example. The drawing means immediately generates, from the selected coordinates, coordinates that sequentially increase from the first coordinate on the same y-axis to the subsequent coordinates, and generates a second coordinate corresponding to the generated coordinates.
Draw characters in the storage means.

従って第2の記憶手段に対するアクセス回数が少なく
て済み、文字をより高速に描画することが可能になる。
Therefore, the number of accesses to the second storage means can be reduced, and the characters can be drawn faster.

〔実施例〕〔Example〕

第1図は本発明の高品質文字生成装置の基本的な構成
を表わしている。同図において1は例えばパーソナルコ
ンピュータ等よりなる表示すべき文章を作成するエディ
タである。エディタ1は文章の編集動作及び表示動作を
制御するCPU11、編集された文章を記憶するハードディ
スク12、ハードディスク12の記憶データが転送されるVR
AM13、並びにアウトラインフォントを記憶するRAMディ
スク14とを有している。15はエディタ1に付加接続され
た座標変換手段(DSP)であり、DSPボード16と、DSPRAM
17とにより構成される。DSPボード16はさらにRAM18A、1
8Bを内蔵している。
FIG. 1 shows a basic configuration of a high-quality character generating apparatus according to the present invention. In FIG. 1, reference numeral 1 denotes an editor for creating a sentence to be displayed, such as a personal computer. The editor 1 includes a CPU 11 for controlling a text editing operation and a display operation, a hard disk 12 for storing the edited text, and a VR to which data stored in the hard disk 12 is transferred.
It has an AM 13 and a RAM disk 14 for storing outline fonts. Reference numeral 15 denotes a coordinate conversion means (DSP) additionally connected to the editor 1, and a DSP board 16 and a DSP RAM
17 is comprised. DSP board 16 also has RAM 18A, 1
Built-in 8B.

2はエディタ1とレーザビームプリンタ(LBP)3と
の間に接続されるCEシステムハードウェアであり、輪郭
座標生成手段(OCG)21、ソート手段(CADM)22、描画
手段(RG)23及びビットマップ24を有している。座標変
換手段15、輪郭座標生成手段21及び描画手段23はDSP外
部インタフェースバス5により相互に接続されている。
4はビットマップ24を管理するCPUであり、VMEバス6を
介して描画手段23とビットマップ24に接続されている。
Reference numeral 2 denotes CE system hardware connected between the editor 1 and the laser beam printer (LBP) 3, which includes a contour coordinate generating means (OCG) 21, a sorting means (CADM) 22, a drawing means (RG) 23, and a bit. It has a map 24. The coordinate conversion means 15, the contour coordinate generation means 21, and the drawing means 23 are mutually connected by the DSP external interface bus 5.
Reference numeral 4 denotes a CPU for managing the bitmap 24, which is connected to the drawing means 23 and the bitmap 24 via the VME bus 6.

第3図はエディタ1により編集された文字がビットマ
ップ24に描かれる(記憶される)までの動作の概略を説
明するための図である。エディタ1において文章(デー
タ)ファイルを作成するとき、CPU11は先ずハードディ
スク12に記憶されている例えば256×256ドットで表わさ
れる文字のアウトラインフォントデータを、座標変換手
段15に転送し易い形式でRAMディスク14に転送、記憶さ
せる。
FIG. 3 is a diagram for explaining an outline of an operation until a character edited by the editor 1 is drawn (stored) in the bit map 24. When creating a text (data) file in the editor 1, the CPU 11 first converts outline font data of characters represented by, for example, 256 × 256 dots stored in the hard disk 12 into a RAM disk in a format that can be easily transferred to the coordinate conversion means 15. Transfer to 14 and memorize.

RAMディスク14は32バンクにより構成され、第4図に
示すように第1乃至第31バンク(第4図(a))がフォ
ントデータを記憶し、第32バンク(第4図(b))が検
索用テーブルを記憶している。第32バンクのアドレスは
文字コードに対応しており、各アドレスにおけるデータ
の上位4ビット(bk)はその文字コードのデータが記憶
されているバンク(第1〜第31バンクのいずれか)を表
わし、下位28ビット(POINT)は、その文字コードに対
応するフォントデータが記憶されているそのバンク(bk
バンク)のアドレスとされている。第1乃至第31バンク
の各アドレスのデータにおいて、上位16ビットには所定
のコマンドを表わす値が記憶され、例えば上位16ビット
がH(16進数を表わす)0001のときポリゴンの開始点
を、H00FFのとき1文字分のデータの終了を、各々表わ
している。その次の下位8ビットにX座標(x軸アドレ
ス)が、最下位8ビットにY座標(y軸アドレス)が、
各々記憶される。
The RAM disk 14 is composed of 32 banks, as shown in FIG. 4, banks 1 to 31 (FIG. 4 (a)) store font data, and bank 32 (FIG. 4 (b)) stores font data. A search table is stored. The address of the 32nd bank corresponds to the character code, and the upper 4 bits (bk) of the data at each address indicate the bank (one of the 1st to 31st banks) in which the data of the character code is stored. , The lower 28 bits (POINT) are stored in the bank (bk) in which font data corresponding to the character code is stored.
Bank). In the data of each address of the first to 31st banks, a value representing a predetermined command is stored in the upper 16 bits. For example, when the upper 16 bits are H (representing a hexadecimal number) 0001, the start point of the polygon is set to H00FF Indicates the end of the data for one character. The next lower 8 bits contain the X coordinate (x-axis address), the least significant 8 bits contain the Y coordinate (y-axis address),
Each is stored.

尚第32バンクの下位28ビットのPOINTはその文字コー
ドのフォントデータのアドレスを表わしているので、そ
のフォントデータのサイズは、次のアドレスのPOINTと
の差より求めることができる。
Since the lower 28 bits POINT of the 32nd bank represents the address of the font data of the character code, the size of the font data can be obtained from the difference from the POINT of the next address.

RAMディスク14にアウトラインフォントが記憶された
状態で文章ファイルが作成される。ハードディスク12に
記憶させた状態で文章ファイルにアクセスすると時間が
かかる。そこでCPU11は作成された文章ファイルをハー
ドディスク12からVRAM13に転送させ、記憶させる。CPU1
1はさらにVRAM13に記憶された文章ファイル(例えば文
字A)に対応する文字データをRAMディスク14より読み
出してデータパケットを作成し、コマンドパケットとと
もに座標変換手段15に出力させる。
A sentence file is created with the outline font stored in the RAM disk 14. It takes time to access the text file while it is stored on the hard disk 12. Then, the CPU 11 causes the created text file to be transferred from the hard disk 12 to the VRAM 13 and stored therein. CPU1
1 further reads character data corresponding to a text file (for example, character A) stored in the VRAM 13 from the RAM disk 14 to create a data packet, and causes the coordinate conversion means 15 to output the data packet together with the command packet.

座標変換手段15は文字の拡大、縮小、傾斜、回転、平
均移動等のため、入力されたアウトラインフォントの座
標変換を行う。座標変換されたフォントデータは輪郭座
標生成手段21に供給される。
The coordinate conversion means 15 performs coordinate conversion of the input outline font for enlargement, reduction, inclination, rotation, average movement, and the like of the character. The font data subjected to the coordinate conversion is supplied to the outline coordinate generation means 21.

第5図は座標変換手段15から輪郭座標生成手段21へ送
出されるコマンドとデータのフォーマットを表わしてい
る。同図に示すように16ビットからなる第1の(FD)ワ
ード(WORD)の上位4ビットにコマンドが、下位12ビッ
トにポリゴンの頂点座標のx座標値(Xc)が、各々セッ
トされる。また第2(SD)のワード(WORD)の上位4ビ
ットにコマンドが、下位12ビットにポリゴンの頂点座標
のy座標値(Yc)が、各々セットされる。
FIG. 5 shows the format of commands and data sent from the coordinate conversion means 15 to the contour coordinate generation means 21. As shown in the figure, a command is set in the upper 4 bits of a first (FD) word (WORD) composed of 16 bits, and the x coordinate value (Xc) of the vertex coordinates of the polygon is set in the lower 12 bits. The command is set in the upper 4 bits of the second (SD) word (WORD), and the y coordinate value (Yc) of the vertex coordinates of the polygon is set in the lower 12 bits.

コマンドは例えば次表のように定義される。 Commands are defined, for example, as shown in the following table.

輪郭座標生成手段21は入力された文字の輪郭座標から
輪郭のドットデータを演算し、生成する。輪郭ドットデ
ータはソート手段22によりソートされ、奇数ドット(順
番が奇数番目のドット)と偶数ドット(順番が偶数番目
のドット)の組み合わせが生成される。ソートされたデ
ータは描画手段23に入力される。描画手段23は入力され
た奇数ドットと偶数ドットをビットマップ24とそのアド
レスに記憶させるとともに、両者の間のドットを描画さ
せる(塗り潰させる)。
The outline coordinate generation means 21 calculates and generates outline dot data from the input outline coordinates of the character. The outline dot data is sorted by the sorting means 22, and a combination of odd-numbered dots (odd-numbered dots in order) and even-numbered dots (even-numbered dots in order) is generated. The sorted data is input to the drawing means 23. The drawing means 23 stores the inputted odd-numbered dots and even-numbered dots in the bitmap 24 and its addresses, and draws (paints) the dots between them.

このビットマップ24内に存在する出力コントロール回
路にCPUが命令を送り込むことによってビデオインター
フェースからレーザビームプリンタにビットマップのイ
メージが転送され、そこに描画された文字がレーザビー
ムプリンタ3に出力され、所定の用紙にプリントされ
る。
When the CPU sends a command to the output control circuit existing in the bit map 24, the image of the bit map is transferred from the video interface to the laser beam printer, and the characters drawn there are output to the laser beam printer 3, and Is printed on paper.

尚VRAM13とRAMディスク14から座標変換手段15への入
力と、CEシステムハードウェア2における処理は並列に
動作される。
The input from the VRAM 13 and the RAM disk 14 to the coordinate conversion means 15 and the processing in the CE system hardware 2 are operated in parallel.

文章(テキスト)ファイルはアスキーテキストファイ
ルで記述され、日本語文字コードはシフトJISで表わさ
れる。また文章ファイル中には次のコマンドを記述し、
その内容を実行させることができる。
Sentence (text) files are described in ASCII text files, and Japanese character codes are expressed in Shift JIS. In the text file, describe the following command,
The contents can be executed.

・wr value1 value2 DSPシステム側のvalue1(10進)のアドレスにvalue2
(10進)のデータを書き込む ・re value1 value1のアドレスのデータを読み出す ・ps DSPシステムの初期化とプリント出力準備 ・pe プリント出力終了 ・pp value1 value1の紙種(A3、A4等)のマージンの設定を行う ・pm value1 value2 value1=0 .cwで設定された文字サイズで描画を行う value1=1 CMTマトリックス(concatenation of matr
ix transformations)で文字の座標変換を行い描画を行
う value2=0 横書き value2=1 縦書き ・mg value1 value2 value3 value4 value1=left margin(左マージン) value2=right margin(右マージン) value3=top margin(上マージン) value4=bottom margin(下マージン) ・sc value1 value2 文字描画の移動ステップ(文字ピッチ) value1=X value2=Y ・po value1 value2 文字描画位置絶対指定 value1=X value2=Y ・cw value1 value2 描画文字の大きさ指定 value1=X value2=Y ・rt value1 文字の回転角指定 value1=角度 ・sl value1 文字の傾斜角指定 value1=角度 ・sp value1 スプライン変換の分割数 value1=分割数 ・tx=value1 文字描画のテクスチャ、濃度指定 ・ff フォームフィード、用紙の出力 ・lf ラインフィード、改行復改を伴なう ・dg デバッグ用 ・rg value1 value2 RGボードデバッグ用 ・bt value1 value2 value3 RGボートデバッグ用 ・mt value1 value2 value3 value4 CMTマトリックスの設定 value1→CMTA value2→CMTB value3→CMTD value4→CMTE その他のシフトJISコードで指定された行は、文字列
として描画作用を起す。
-Wr value1 value2 value2 (decimal) address on the DSP system
Write (decimal) data ・ re value1 Read data at address of value1 ・ ps Initialize DSP system and prepare for print output ・ pe Print output end ・ pp margin of value1 paper type (A3, A4, etc.) Perform setting ・ pm value1 value2 value1 = 0 Draw with the character size set by .cw value1 = 1 CMT matrix (concatenation of matr
ix transformations) to draw characters by performing coordinate transformation. value2 = 0 Horizontal writing value2 = 1 Vertical writing ・ mg value1 value2 value3 value4 value1 = left margin (left margin) value2 = right margin (right margin) value3 = top margin (top Margin) value4 = bottom margin (bottom margin) ・ sc value1 value2 Step of moving character drawing (character pitch) value1 = X value2 = Y ・ po value1 value2 Absolute specification of character drawing position value1 = X value2 = Y ・ cw value1 value2 drawing character Value1 = X value2 = Y ・ rt value1 Character rotation angle value1 = angle ・ sl value1 Character inclination angle value1 = angle ・ sp value1 Spline conversion division value1 = division number ・ tx = value1 Character drawing Ff Form feed, paper output ・ lf Line feed, with line feed break ・ dg debug ・ rg value1 value2 RG board debug ・ bt value1 valu e2 value3 For RG boat debugging ・ mt value1 value2 value3 value4 CMT matrix setting value1 → CMTA value2 → CMTB value3 → CMTD value4 → CMTE Other lines specified by shift JIS code have drawing effect as character strings.

CPU11において各動作を実行させるプログラムはC言
語で記述されている。このプログラムにおいては次の2
つの関数が用いられている。
A program for executing each operation in the CPU 11 is described in C language. In this program, the following 2
Two functions are used.

その第1はmain( )関数であり、この関数の場合次
のような処理を実行する。
The first is a main () function, which performs the following processing.

1)set_mode( )関数 この関数によりコマンドラインで指定された初期設定
が行われる。
1) set_mode () function This function performs the initial setting specified on the command line.

1a)TEXT_IN テキストファイルを1行毎に取り出し、次に説明する
btoj(rramp,buf)を実行する(例えばVRAM13にテキス
トファイルを展開する)。
1a) TEXT_IN Text file is extracted line by line and explained next.
Execute btoj (rramp, buf) (for example, expand a text file in VRAM13).

1b)HEX_SET DSPのインストラクションコードをCPU11からDSP15へ
転送し、DSPに起動をかける(Trans( ))。
1b) HEX_SET The instruction code of the DSP is transferred from the CPU 11 to the DSP 15, and the DSP is activated (Trans ()).

2)(*communicat)( )関数 VRAM13上に展開されたテキストファイルを取り出し、
文字の場合はmemmen( )関数を呼び出してRAMディス
ク14内にあるフォントデータをコマンドパケットに結合
してDSP15のDSPRAM(DUAL PORT RAM)17に転送する。VR
AM13のテキストデータが終了したとき変数sys_statusが
FALSEに設定される。
2) (* communicat) () function Extract the text file expanded on VRAM13,
In the case of a character, the memory () function is called to combine the font data in the RAM disk 14 into a command packet and transfer it to the DSPRAM (DUAL PORT RAM) 17 of the DSP 15. VR
When the text data of AM13 ends, the variable sys_status
Set to FALSE.

3)sys_statusがFALSEの場合このループから抜ける。3) Exit from this loop when sys_status is FALSE.

4)Next( )関数 (*communicat)( )関数でDSP RAM17に転送したコ
マンドパケットの通信処理を行う。
4) Next () function The communication processing of the command packet transferred to the DSP RAM 17 is performed by the (* communicat) () function.

5)次に上記2)に戻る。5) Then return to the above 2).

6)上記3)の条件からループを抜けた場合main( )
関数は終了する。
6) When exiting the loop from condition 3) above main ()
The function ends.

第2の関数はbtoj( )関数である。この関数の場合
第6図(a)のfromに示すようなテキストファイルの1
行分の文字(シフトJISの1文字は2バイト)をtoに示
すようにVRAM13のポインタに変換する。toにはVRAMに対
するアドレス(ポインタ)が入っており、そのアドレス
に変換後のデータが書き込まれる。尚“\0"は1行分の
文字の終了を表わす。例えば約6図(b)に示すように
from配列の先頭バイトがシフトJISコードであるとき、
シフトJISをJISコードの区点コードに変換してVRAM13に
転送する。改行“\n"と行端“\0"はその後のコードが
文字ではなくコマンドであることを表わす識別フォーマ
ット“Hffff"とラインフィードコマンド“H1500"に変換
される。また第6図(c)に示すようにfrom配列の先頭
バイトが“."であるとき、識別フォーマット“Hffff"の
次にコマンド番号H00(.wrはコマンド番号H00)、その
次にデータサイズ(この実施例の場合02)、その次に第
1データ(10)と第2データ(10)が順次セットされ
る。第6図(d)に示すようにfrom配列の先頭バイトが
“\n"であるとき、識別フォーマット“Hffff"とその次
にセットされているコマンド(この実施例の場合“\0"
であるのでラインフィードコマンド“H1500")に変換さ
れる。
The second function is the btoj () function. In the case of this function, one of the text files as shown in from in Fig. 6 (a)
The characters of the line (one character of Shift JIS is 2 bytes) are converted into the pointer of the VRAM 13 as indicated by to. To contains the address (pointer) for the VRAM, and the converted data is written to that address. Note that "$ 0" indicates the end of one line of characters. For example, as shown in FIG.
When the first byte of the from array is Shift JIS code,
The shift JIS is converted to a JIS code Kuten code and transferred to the VRAM13. The line feed “$ n” and the line end “$ 0” are converted into an identification format “Hffff” and a line feed command “H1500” indicating that the subsequent code is not a character but a command. As shown in FIG. 6 (c), when the first byte of the from array is ".", The command number H00 (.wr is the command number H00) is placed after the identification format "Hffff", and then the data size ( In the case of this embodiment 02), then the first data (10) and the second data (10) are set sequentially. As shown in FIG. 6 (d), when the first byte of the from array is "$ n", the identification format "Hffff" and the command set next to it ("$ 0" in this embodiment)
Therefore, it is converted to the line feed command “H1500”).

次に座標変換手段(DSP)15における動作のフローチ
ャートを説明する。第7図に示すようにCPU11から座標
変換手段15にDSPプログラムがロードされたとき、座標
変換手段15のシステムのリセットが行われ、内部の初期
化が実行される。このときDSP15の内部のレジスタやRAM
18がクリアされ、プログラム用ジャンプテーブルがセッ
トされる(S1)。次にDSP RAM(dual_port RAM)17のdu
al_port0バンクからのデータのロードとロードデータの
実行(CommandExecute)(S2)、CPU11との通信用カウ
ンタのインクリメントと通信(ComCounter)(S3)、du
al_port1バンクからのデータのロードとロードデータの
実行(CommandExecute)(S4)、並びにCPU11との通信
用カウンタのインクリメントと通信(ComCounter)(S
5)の各サブルーチンよりなるエンドレスループが実行
される。すなわち第8図に示すようにDSP RAM17はdual_
port RAMで構成され、CPU11、dual_port RAM0(又は
1)、dual_port RAM1(又は0)、DSPボード16の系路
で通信が行われるようになっている。通信用カウンタは
通信の回路をカウントするものであり、これによりデー
タ転送が正常に行われたか否かの判定が行われる。
Next, a flow chart of the operation of the coordinate conversion means (DSP) 15 will be described. As shown in FIG. 7, when the DSP program is loaded from the CPU 11 to the coordinate conversion means 15, the system of the coordinate conversion means 15 is reset and the internal initialization is executed. At this time, DSP15 internal registers and RAM
18 is cleared and the program jump table is set (S1). Next, du of DSP RAM (dual_port RAM) 17
Loading data from al_port0 bank and executing load data (CommandExecute) (S2), incrementing and communicating a counter for communication with CPU11 (ComCounter) (S3), du
Loading data from the al_port1 bank and executing the load data (CommandExecute) (S4), and incrementing and communicating a communication counter with the CPU 11 (ComCounter) (S4)
An endless loop consisting of each subroutine of 5) is executed. That is, as shown in FIG.
It is configured by a port RAM, and communication is performed by a system of the CPU 11, the dual_port RAM0 (or 1), the dual_port RAM1 (or 0), and the DSP board 16. The communication counter counts communication circuits, and determines whether data transfer has been normally performed.

dual_port0バンクからのデータのロードとロードデー
タの実行のサブルーチン(S2)の詳細は第9図に示す通
りである(dual_port1バンクのサブルーチン(S4)も同
様)。先ずコマンドパケットのヘッダ部が入力される
(S11)。
The details of the subroutine (S2) for loading data from the dual_port0 bank and executing the load data are as shown in FIG. 9 (the same applies to the subroutine (S4) for the dual_port1 bank). First, the header of the command packet is input (S11).

第10図に示すようにコマンドパケットのヘッダ部はそ
の最初の8ビットが空きとされ、次の8ビットにはコマ
ンド番号が、次の下位16ビットにはヘッダ部に続く、デ
ータ部のサイズ(バッファサイズ)が、各々セットされ
ている。
As shown in FIG. 10, in the header portion of the command packet, the first 8 bits are empty, the next 8 bits are the command number, and the next lower 16 bits are the size of the data portion following the header portion ( Buffer size) is set.

次にDSPボード16内部のRAMの一方(例えばRAM18A)
(RAM0)にコマンドパケットのデータ部がロードされる
(S12)。さらにコマンド番号0乃至16及び20に従ってC
_ExternalWrite(S14)、C_ExternalRead(S15)、C_Pl
otFont(S16)、C_PlotStart(S17)、C_PlotEnd(S1
8)、C_PaperTypeSet(S19)、C_PlotModeSet(S20)、
C_MarginSet(S21)、C_StepSet(S22)、C_PositionSe
t(S23)、C_CellWidthSet(S24)、C_RotateSet(S2
5)、C_SlantSet(S26)、C_SplineSet(S27)、C_Text
ureSet(S28)、C_LineFeed(S29)、C_FormFeed(S3
0)又はC_CMTSet(S31)のいずれかのサブルーチンに移
行する(S13)。
Next, one of the RAMs inside the DSP board 16 (for example, RAM 18A)
The data part of the command packet is loaded into (RAM0) (S12). Further, according to command numbers 0 to 16 and 20, C
_ExternalWrite (S14), C_ExternalRead (S15), C_Pl
otFont (S16), C_PlotStart (S17), C_PlotEnd (S1
8), C_PaperTypeSet (S19), C_PlotModeSet (S20),
C_MarginSet (S21), C_StepSet (S22), C_PositionSe
t (S23), C_CellWidthSet (S24), C_RotateSet (S2
5), C_SlantSet (S26), C_SplineSet (S27), C_Text
ureSet (S28), C_LineFeed (S29), C_FormFeed (S3
The process proceeds to a subroutine of either 0) or C_CMTSet (S31) (S13).

C_ExternalWriteのサブルーチンの場合、コマンドパ
ケットは第11図に示すように、ヘッダの次にライトアド
レス(WRITE ADDRESS)とライトデータ(WRITE DATA)
が順次セットされており、ライトアドレスで指定された
アドレスへライトデータが書き込まれる。
In the case of the C_ExternalWrite subroutine, as shown in FIG. 11, the command packet consists of a header, followed by a write address (WRITE ADDRESS) and write data (WRITE DATA).
Are sequentially set, and write data is written to the address specified by the write address.

C_ExternalReadのサブルーチンの場合のコマンドパケ
ットは第12図に示すように、ヘッダの次にリードアドレ
ス(READ ADDRESS)がセットされている。この場合リー
ドアドレスで指定されたアドレスからそこに書き込まれ
ているデータが読み出される。
In the command packet in the case of the C_ExternalRead subroutine, as shown in FIG. 12, a read address (READ ADDRESS) is set after the header. In this case, the data written therein is read from the address specified by the read address.

C_PlotStartとC_PlotEndのサブルーチンのコマンドパ
ケットは第13図と第14図に示すように、ヘッダのみとさ
れている。前者の場合プロットスタート(Plot Start)
のメイルがCPU4に送出され、CPU4からの返答が受信され
る。また後者の場合プロットエンド(Plot End)のメイ
ルがCAP4に送られ、CAP4からの返答が受けられる。C_Pa
perTypeSetのサブルーチンの場合、用紙の種類(Paper
Type)がRAM18Bに変数V_PAPERとして転送され、RAM18B
が初期状態に復帰される。例えば初期状態として、Cell
Width(文字の大きさ)が40×40、マージンが用紙の最
大値へ設定されているとすれば、これらの値がセットさ
れる。
As shown in FIGS. 13 and 14, the command packet of the subroutine C_PlotStart and C_PlotEnd has only a header. In the former case, Plot Start
Is sent to the CPU 4 and a reply from the CPU 4 is received. In the latter case, the mail of the plot end (Plot End) is sent to CAP4, and the reply from CAP4 is received. C_Pa
In the case of the subType of perTypeSet, the paper type (Paper
Type) is transferred to RAM18B as a variable V_PAPER, and RAM18B
Is returned to the initial state. For example, as the initial state, Cell
If the Width (character size) is set to 40 × 40 and the margin is set to the maximum value of the paper, these values are set.

C_PlotModeSetのサブルーチンの場合、コマンドパケ
ットは第16図に示すように、ヘッダの次にプロットモー
ド(PLOT MODE)が付加された構成となっている。この
場合プロットモードがDSPボード16内のRAM18Bに変数V_M
ODEとして転送される。
In the case of the C_PlotModeSet subroutine, the command packet has a configuration in which a plot mode (PLOT MODE) is added after the header as shown in FIG. In this case, the plot mode stores the variable V_M in the RAM 18B in the DSP board 16.
Transferred as ODE.

C_MarginSetのサブルーチンの場合、コマンドパケッ
トは第17図に示すようにヘッダ、左マージン(LEFT MAR
GIN)、右マージン(RIGHT MARGIN)、上マージン(TOP
MARGIN)及び下マージン(BOTTOM MARGIN)により構成
される。この場合左、右、上及び下の各マージンが、DS
Pボード16内のRAM18Bに変数V_MARGINL、V_MARGINR、V_M
ARGINT、V_MARGINBとして各々転送される。
In the case of the C_MarginSet subroutine, the command packet consists of a header and a left margin (LEFT MAR
GIN), right margin (RIGHT MARGIN), top margin (TOP
MARGIN) and the bottom margin (BOTTOM MARGIN). In this case, the left, right, top and bottom margins are DS
Variables V_MARGINL, V_MARGINR, V_M are stored in RAM 18B in P board 16.
Transferred as ARGINT and V_MARGINB respectively.

C_StepSetのサブルーチンの場合、コマンドパケット
は第18図に示すようにヘッダ、Xステップ(X Step)及
びYステップ(Y Step)より構成される。この場合Xス
テップとYステップの値がRAM18Bに変数V_STEPXとV_STE
PYとして各々転送される。
In the case of the C_StepSet subroutine, the command packet includes a header, an X step (X Step), and a Y step (Y Step) as shown in FIG. In this case, the values of the X step and the Y step are stored in the RAM 18B by the variables V_STEPX and V_STE.
Each is transferred as PY.

C_PositionSetのサブルーチンの場合、コマンドパケ
ットは第19図に示すようにヘッダ、X位置(X POSITIO
N)及びY位置(Y POSITION)により構成される。この
場合X位置、Y位置の値がRAM18Bに変数V_POSIX、V_POS
IYとして転送される。
In the case of the C_PositionSet subroutine, the command packet is composed of a header and an X position (X POSITIO
N) and Y position (Y POSITION). In this case, the values of the X position and the Y position are stored in the RAM 18B in the variables V_POSIX and V_POS.
Transferred as IY.

C_CellWidthSetのサブルーチンの場合、ヘッダ、セル
X(CELL X)及びセルY(CELL Y)によりコマンドパケ
ットが構成され、セルX、セルYの値がRAM18Bに変数V_
CELLX、V_CELLYとして転送される。
In the case of the C_CellWidthSet subroutine, a command packet is composed of a header, a cell X (CELL X) and a cell Y (CELL Y), and the values of the cells X and Y are stored in the RAM 18B in the variable V_
Transferred as CELLX, V_CELLY.

C_RotateSetのサブルーチンの場合、第21図に示すよ
うに、ヘッダとロテート(ROTATE)によりコマンドパケ
ットが構成される。この場合DSPボード16のRAM18Bにロ
テートの値が変数V_ROTATEとして転送される。
In the case of the C_RotateSet subroutine, as shown in FIG. 21, a command packet is composed of a header and rotate (ROTATE). In this case, the rotation value is transferred to the RAM 18B of the DSP board 16 as a variable V_ROTATE.

文字の大きさは変数V_CELL X、V_CELLYにより、また
文字の回転角度は変数V_ROTATEにより、各々設定される
ので、文字を回転する場合の行列式が次のようにして生
成される。
Since the character size is set by the variables V_CELL X and V_CELLY, and the rotation angle of the character is set by the variable V_ROTATE, the determinant for rotating the character is generated as follows.

C_SlantSetのサブルーチンの場合、第22図に示すよう
にヘッダとスラント(SLANT)によりコマンドパケット
が構成され、スラントの値がRAM18Bに変数V_SLANTとし
て転送される。
In the case of the C_SlantSet subroutine, a command packet is composed of a header and a slant (SLANT) as shown in FIG. 22, and the slant value is transferred to the RAM 18B as a variable V_SLANT.

文字の大きさは変数V_CELLX、V_CELLYで、文字の傾斜
角度は変数V_SLANTで、各々表わされるので、文字を傾
斜させる場合の行列式が次のように生成される。
Since the character size is represented by variables V_CELLX and V_CELLY, and the inclination angle of the character is represented by variable V_SLANT, the determinant for inclining the character is generated as follows.

C_SplineSetのサブルーチンの場合、コマンドパケッ
トは第23図に示すように、ヘッダとスプライン(SPLIN
E)により構成され、スプラインの値がRAM18Bに変数V_S
PLINEとして転送される。これによりスプライン変換用
の初期値が求められる。
In the case of the C_SplineSet subroutine, the command packet consists of a header and a spline (SPLIN) as shown in FIG.
E), and the value of the spline is stored in the RAM 18B in the variable V_S
Transferred as PLINE. Thus, an initial value for spline conversion is obtained.

C_TextureSetのサブルーチンの場合、コマンドパケッ
トは第24図に示すように、ヘッダとテキスチュア(Text
ure)により構成される。この場合テキスチュアの値がR
AM18Bに変数V_TEXTUREとして転送される。
In the case of the C_TextureSet subroutine, the command packet is composed of a header and a text (Text) as shown in FIG.
ure). In this case, the value of the texture is R
Transferred to AM18B as variable V_TEXTURE.

C_CMTSetのサブルーチンの場合、コマンドパケットは
第25図に示すようにヘッダ、SCMTA、SCMTB、SCMTD及びS
CMTEにより構成される。これらの値は固定小数点表現か
ら浮動小数点表現へ変換するため値256で除算された
後、RAM18Bに変数V_CMTA、V_CMTB、V_CMTD及びV_CMTEと
して各々転送される。
In the case of the C_CMTSet subroutine, the command packet is composed of a header, SCMTA, SCMTB, SCMTD and SMTD as shown in FIG.
It is configured by CMTE. These values are divided by a value 256 to convert from fixed point representation to floating point representation and then transferred to RAM 18B as variables V_CMTA, V_CMTB, V_CMTD and V_CMTE, respectively.

これらの変数V_CMTA、V_CMTB、V_CMTD、V_CMTEは次の
CMT演算に用いられる。
These variables V_CMTA, V_CMTB, V_CMTD, V_CMTE are:
Used for CMT operation.

またこのマトリックスの入力データ(x、y)を(0,
255)、(255,0)及び(255,255)とした場合の出力デ
ータ(X Y)のうち最小のものが求められ、その値が負
であるとき、その値の符号を反転した値XとYがV_CMTC
とV_CMTFとされ、RAM18Bに転送される。この処理は第26
図に示すように、文字を回転、傾斜又は平行移動した場
合に変換された座標が負の値をもたないようにするもの
である。
The input data (x, y) of this matrix is (0,
255), (255,0) and (255,255), the smallest of the output data (XY) is obtained, and when the value is negative, the values X and Y obtained by inverting the sign of the value are obtained. V_CMTC
And V_CMTF, and are transferred to the RAM 18B. This process is 26th
As shown in the figure, the coordinates converted when the character is rotated, tilted, or translated do not have a negative value.

C_LineFeedのサブルーチンにおいては第27図に示すよ
う、変数V_POSIXの値が変数V_MARGINL(左マージン)に
設定され(S41)、変数V_POSIYに変数V_STEPYの値が加
算される(S42)。尚ここで V_POSIY+=V_STEPY は次式を表わす(以下同様)。
In the C_LineFeed subroutine, as shown in FIG. 27, the value of the variable V_POSIX is set to the variable V_MARGINL (left margin) (S41), and the value of the variable V_STEPY is added to the variable V_POSIY (S42). Here, V_POSIY + = V_STEPY represents the following equation (the same applies hereinafter).

V_POSIY=V_POSIY+V_STEPY 次に変数V_POSIYと変数V_MARGINB(下マージン)とが
比較され(S43)、前者が後者の値以上であるときC_For
mFeedのサブルーチンが実行される(S44)。
V_POSIY = V_POSIY + V_STEPY Next, the variable V_POSIY and the variable V_MARGINB (lower margin) are compared (S43), and when the former is greater than the latter, C_For
The mFeed subroutine is executed (S44).

C_FormFeedのサブルーチンにおいては第28図に示すよ
うに、変数V_POSIXとV_POSIYに、変数V_RARGINL(左マ
ージン)とV_MARGINT(上マージン)の値が各々設定さ
れた後(S51)、ビットマップメモリ24のバンクが切り
換えられ、ベースアドレス(第111図参照)が変更され
る(V_OFFSETはビットマップメモリのバンクアドレスの
オフセットを示す)(S52)。次にNew PageのメイルがC
PU4に送られ、その返答が受信される(S53)。
In the C_FormFeed subroutine, as shown in FIG. 28, after the values of the variables V_RARGINL (left margin) and V_MARGINT (upper margin) are set in the variables V_POSIX and V_POSIY, respectively (S51), the bank of the bitmap memory 24 is Switching is performed, and the base address (see FIG. 111) is changed (V_OFFSET indicates the offset of the bank address of the bitmap memory) (S52). Next, the New Page mail is C
The reply is sent to PU4, and the reply is received (S53).

C_PlotFontのサブルーチンにおいては第29図に示すよ
うに、ソート手段(CADM)22がリセットされ、さらに初
期値が設定される(S61)。変数V_MODEが0のとき(S6
2)、DSPボード16のRAM18A(RAM0)のフォントベクトル
データが読み出され、その256×256のx座標とy座標が
次式を演算することにより、各々変数V_CELLXとV_CELLY
の座標に返還される(S63)。
In the C_PlotFont subroutine, as shown in FIG. 29, the sorting means (CADM) 22 is reset and an initial value is set (S61). When the variable V_MODE is 0 (S6
2) The font vector data of the RAM 18A (RAM0) of the DSP board 16 is read out, and the x- and y-coordinates of 256 × 256 are calculated by the following equations to obtain variables V_CELLX and V_CELLY, respectively.
(S63).

WR4=(x×(V_CELLX))/256 WR3=(y×(V_CELLY))/256 ここでWR3、WR4はDSPボード16の内部のワーキングレ
ジスタ(Working Register)である。
WR4 = (xx (V_CELLX)) / 256 WR3 = (yx (V_CELLY)) / 256 Here, WR3 and WR4 are working registers inside the DSP board 16.

Plot Fontの場合コマンドパケットは第30図に示すよ
うに構成されている。ヘッダの次の上位8ビットがH00
の時、次の4ビットがx座標、下位4ビットがy座標か
らなるデータ列が配置され、ヘッダの次の上位8ビット
がH01であればポリゴンの終了と、またHFFであればデー
タの終了とされる。
In the case of Plot Font, the command packet is configured as shown in FIG. The next upper 8 bits of the header are H00
In the case of, a data string consisting of the next 4 bits consisting of the x coordinate and the lower 4 bits consisting of the y coordinate is arranged. If the next upper 8 bits of the header are H01, the end of the polygon is reached. It is said.

そこで次にRAM18Aから読み出したフォントデータの種
類が判定され、ポリゴンの終了又はデータの終了を表わ
しているときステップ78(S78)に移行し(S64、S6
5)、ポリゴン及びデータの終了でないときRAM18Aのフ
ォントベクトルデータ(x、y)が読み出され、次の演
算式の結果がワーキングレジスタWR1、WR2に各々設定さ
れる(S66)。
Then, the type of the font data read from the RAM 18A is determined next, and when it indicates the end of the polygon or the end of the data, the process proceeds to step 78 (S78) (S64, S6).
5) When the polygon and the data are not finished, the font vector data (x, y) of the RAM 18A is read, and the results of the following arithmetic expressions are set in the working registers WR1 and WR2, respectively (S66).

WR1=(y×(V_CELLY))/256 WR2=(x×(V_CELLX))/256 値WR1とWR3が等しい場合(S67)、すなわちベクトル
が横方向に水平である場合、RAM18Bにワーキングレジス
タWR1、WR2の値が格納される(S68)。さらにワーキン
グレジスタWR3とWR4にワーキングレジスタWR1とWR2の値
が各々設定された後、ステップ64に戻る(S69)。
WR1 = (y × (V_CELLY)) / 256 WR2 = (xx × (V_CELLX)) / 256 When the values WR1 and WR3 are equal (S67), that is, when the vector is horizontal in the horizontal direction, the working register WR1, The value of WR2 is stored (S68). After the values of the working registers WR1 and WR2 are set in the working registers WR3 and WR4, the process returns to step 64 (S69).

ステップ67においてワーキングレジスタWR1とWR3の値
が等しくない場合(ベクトルが横方向に水平でない場
合)、H0×H1000の値とワーキングレジスタWR4の値との
論理和(OR)が演算される。これにより16進で表現し
て、上位4ビットにH1が、下位12ビットにWR4の値が各
々設定される。この時のフォーマットは第5図の様にな
る。同様にしてH0×H6000の値とワーキングレジスタWR2
との論理和が演算され、これらの値がワーキングレジス
タWR1、WR3の値とともに輪郭座標生成手段(OCG)21に
転送される(S70)。次にフォントデータがポリゴンの
終了を表わしている場合(S71)、RAM18Bに記憶したデ
ータが輪郭座標生成手段21に転送された後(S77)、ス
テップ63に移行する。
In step 67, if the values of the working registers WR1 and WR3 are not equal (if the vector is not horizontal in the horizontal direction), the logical sum (OR) of the value of H0 × H1000 and the value of the working register WR4 is calculated. As a result, the value of H1 is set in the upper 4 bits and the value of WR4 is set in the lower 12 bits, expressed in hexadecimal. The format at this time is as shown in FIG. Similarly, the value of H0 × H6000 and the working register WR2
Is calculated, and these values are transferred to the contour coordinate generation means (OCG) 21 together with the values of the working registers WR1 and WR3 (S70). Next, when the font data indicates the end of the polygon (S71), the data stored in the RAM 18B is transferred to the outline coordinate generation means 21 (S77), and the process proceeds to step 63.

フォントデータがポリゴン及びデータの終了を表わし
ていない場合(S72)、ワーキングレジスタWR0に次の演
算値が設定され、その値が輪郭座標生成手段21に転送さ
れる(S73、S74)。
If the font data does not indicate the end of the polygon and the data (S72), the next operation value is set in the working register WR0, and the value is transferred to the outline coordinate generation means 21 (S73, S74).

WR0=(x×(V_CELLX))/256 次に同様に次式の演算が行われ、その値が輪郭座標生
成手段21に転送された後、ステップ71に戻る(S75、S7
6)。
WR0 = (xx × (V_CELLX)) / 256 Next, similarly, the following calculation is performed, and the value is transferred to the contour coordinate generation means 21. Then, the process returns to step 71 (S75, S7).
6).

WR0=(y×(V_CELLY))/256 フォントデータがデータの終了を表わしている場合
(S72)、変数V_POSIXの値が描画手段23に転送され(S8
1)、さらに変数V_POSIYに変数V_OFFSETを加算した値が
描画手段23に転送される(S82)。また変数V_TEXTUREが
同様に描画手段23に転送された後(S83)、PositionTra
nsのサブルーチンが実行される(S84)。
WR0 = (y × (V_CELLY)) / 256 When the font data indicates the end of the data (S72), the value of the variable V_POSIX is transferred to the drawing means 23 (S8).
1) Further, the value obtained by adding the variable V_OFFSET to the variable V_POSIY is transferred to the drawing means 23 (S82). After the variable V_TEXTURE is similarly transferred to the drawing means 23 (S83), PositionTra
The ns subroutine is executed (S84).

ステップ64又は65においてフォントデータがポリゴン
又はデータの終了を表わしているとき、RAM18Bに記憶さ
れているx座標の最大値(Xmax)と最小値(Xmin)が求
められ(S78)、点(Xmin y)から点(Xmax y)まで直
線が引かれるように輪郭座標生成手段21にコマンドとデ
ータが転送される(S79)。そしてフォントデータが終
了していなければステップ62に戻り、終了していればス
テップ81に移行する。
When the font data indicates the end of the polygon or the data in step 64 or 65, the maximum value (Xmax) and the minimum value (Xmin) of the x coordinate stored in the RAM 18B are obtained (S78), and the point (Xminy ) To the point (Xmax y), the command and data are transferred to the contour coordinate generation means 21 (S79). If the font data has not been completed, the process returns to step 62, and if completed, the process proceeds to step 81.

ステップ62において変数V_MODEが0でない場合、次の
演算式 WR3=(x×(V_CELLY))/256 WR4=(x×(V_CELLX))/256 が、次の演算式 WR3=x×(V_CMTD)+y×(V_CMTE)+(V_CMTF) WR4=x×(V_CMTA)+y×(V_CMTB)+(V_CMTC) に変更される点を除いてステップ63以下と同様の処理が
実行される。
If the variable V_MODE is not 0 in step 62, the following equation WR3 = (xx (V_CELLY)) / 256 WR4 = (xx (V_CELLX)) / 256 is obtained by the following equation: WR3 = xx (V_CMTD) + y × (V_CMTE) + (V_CMTF) The same processing as in step 63 and subsequent steps is executed except that WR4 = x × (V_CMTA) + y × (V_CMTB) + (V_CMTC).

PositionTransのサブルーチンの場合第31図に示すよ
うに、変数V_POSIXに変数V_STEPXが加算された後(S9
1)、変数V_POSIXと変数V_MARGINR(右マージン)との
比較が行われる(S92)。前者の値が後者の値以上であ
ればC_LineFeedのサブルーチンが実行される(S93)。
In the case of the PositionTrans subroutine, as shown in FIG. 31, after the variable V_STEPX is added to the variable V_POSIX (S9
1) The variable V_POSIX is compared with the variable V_MARGINR (right margin) (S92). If the former value is equal to or greater than the latter value, the C_LineFeed subroutine is executed (S93).

第32図は各サブルーチンの処理の様子を模式的に表わ
している。同図に示すように、左右上下にマージンが設
定されたビットマップ(印字する紙に対応する)上にお
いて、PositionTrans処理により文字が順次右方向に移
転され、右マージンに対応する位置にきたときC_LineFe
ed(改行、復帰)の処理が実行される。また下マージン
に対応する位置にきたときFormFeed(改頁)の処理が実
行される。
FIG. 32 schematically shows the processing of each subroutine. As shown in the figure, on a bitmap (corresponding to the paper to be printed) on which margins are set on the left, right, top, and bottom, characters are sequentially shifted rightward by PositionTrans processing and when they reach the position corresponding to the right margin, C_LineFe
The processing of ed (line feed, carriage return) is executed. When the position corresponding to the bottom margin is reached, FormFeed (page break) processing is executed.

次に輪郭座標生成手段(OCG)21について説明する。
輪郭座標生成手段21の基本的機能は次の2つである。
Next, the contour coordinate generation means (OCG) 21 will be described.
The basic functions of the contour coordinate generating means 21 are the following two.

1)座標変換手段15より入力されるベクトル座標から、
そのベクトルの始点と終点をを結んでできる線分の座標
を演算して生成する。
1) From the vector coordinates input from the coordinate conversion means 15,
The coordinates of a line segment connecting the start point and the end point of the vector are calculated and generated.

2)演算、生成した座標から後段の描画手段23における
描画処理(塗り潰し処理)に適した座標を選出する。
2) From the calculated and generated coordinates, coordinates suitable for the drawing process (filling process) in the subsequent drawing means 23 are selected.

尚上記2つの処理は高速処理のため並列的に行われ
る。
The above two processes are performed in parallel for high-speed processing.

このような処理を行う輪郭座標生成手段21は第33図に
示すように、入力コントロール部31、座標計算部32、直
線座標選択部33、コーナ座標選択部34及び出力コントロ
ール35により構成されている。
As shown in FIG. 33, the contour coordinate generation means 21 for performing such processing is constituted by an input control unit 31, a coordinate calculation unit 32, a linear coordinate selection unit 33, a corner coordinate selection unit 34, and an output control 35. .

入力コントロール部31は座標変換手段(DSP)15から
入力されたベクトル座標を内蔵する入力FIFO(First_In
First_Out)に格納する。座標計算部32は入力FIFOから
始点と終点の座標を読み出し、その始点と終点を結ぶ線
分の座標を演算して生成する。例えば第33図に示す点A
(始点)と点B(終点)の座標が読み出されたとき、点
Aと点Bを結ぶ線分(直線)を構成するドットの座標A1
乃至A5を演算により求める。以下同様にして点Bと点
C、点Cと点D、点Dと点Aを結ぶ線分の座標を順次計
算する。直線座標選択部33は演算された直線座標の中か
ら必要な座標のみを選出する。すなわち後段で点Aと
B、BとC、CとD、DとAを各々結ぶ線分AB、BC、C
D、DAにより構成されるポリゴンの内側を塗り潰す処理
を行うには、塗り潰す方向(例えばx軸方向)に塗り潰
しの始点と終点の2点のみがあればよい。このため同一
のy軸上に2つの点のみが存在するように処理される。
例えば点D8と同一のy座標値を有する点として点A2とA3
が存在するので、この場合はより外側の点A3のみが選択
される。この結果後段では点D8と点A3の間の点を塗り潰
すことになる。以下同様にして直線を構成する点から必
要なもののみが選択される。
The input control unit 31 has an input FIFO (First_In) incorporating the vector coordinates input from the coordinate conversion means (DSP) 15.
First_Out). The coordinate calculation unit 32 reads the coordinates of the start point and the end point from the input FIFO, and calculates and generates the coordinates of a line segment connecting the start point and the end point. For example, point A shown in FIG.
When the coordinates of the (start point) and the point B (end point) are read, the coordinates A 1 of the dots forming the line segment (straight line) connecting the points A and B
To determine by computation A 5. In the same manner, the coordinates of the line connecting point B and point C, point C and point D, and point D and point A are sequentially calculated. The linear coordinate selection unit 33 selects only necessary coordinates from the calculated linear coordinates. That is, line segments AB, BC, C connecting points A and B, B and C, C and D, and D and A, respectively,
In order to perform the process of filling the inside of a polygon constituted by D and DA, only two points, ie, the start point and the end point of the filling in the filling direction (for example, the x-axis direction) are required. Therefore, processing is performed so that only two points exist on the same y-axis.
Eg, point A 2 and A 3 as a point having the same y-coordinate values and the point D 8
There so present only in A 3 and more in this case the outside is selected. The result will be to fill the points between points D 8 and the point A 3 is later. Hereinafter, only necessary points are selected in the same manner from the point of forming a straight line.

コーナ座標選択部34はコーナを構成する点から必要な
ものを選択する。例えば第33図の実施例においては点A
乃至Dにより構成される4つのコーナが存在するが、こ
のうち点Dにより構成されるコーナにおいては、同一の
y座標を有する点が1つしか存在しないので、後段の描
画処理において描画の始点と終点が特定できなくなる。
そこでこのようなコーナにおいては点Dが描画の始点と
して選択されるとともに終点としても選択される。
The corner coordinate selection unit 34 selects necessary ones from the points constituting the corner. For example, in the embodiment of FIG.
There are four corners constituted by the points D to D. Of these, in the corner constituted by the point D, there is only one point having the same y-coordinate. The end point cannot be specified.
Therefore, in such a corner, the point D is selected as a drawing start point and also as an end point.

出力コントロール部35はこのように直線処理とコーナ
処理が行われた座標を内蔵する出力FIFOに格納し、さら
に後段のソート手段22に出力する。
The output control unit 35 stores the coordinates on which the linear processing and the corner processing have been performed in the built-in output FIFO, and outputs the coordinates to the sorting unit 22 in the subsequent stage.

尚入力コントロール部31から出力コントロール部35ま
での5つのブロックは、高速処理のため各々並列的に動
作する。
The five blocks from the input control unit 31 to the output control unit 35 operate in parallel for high-speed processing.

座標計算部32は例えば第34図のように構成され、第35
図に示すようなレジスタ付PALよりなるシーケンサによ
り制御される。
The coordinate calculation unit 32 is configured, for example, as shown in FIG.
It is controlled by a sequencer consisting of a PAL with a register as shown in the figure.

第34図において41は入力FIFOであり、座標変換手段15
より入力されるベクトル座標が格納される。42、43はFI
FO41から読み出されたx座標(BUSX)とy座標(BUSY)
を各々格納するレジスタである。44はABUS又はBBUSから
の信号を選択出力するマルチプレクサ(MUX)、45はマ
ルチプレクサ44の出力を演算処理するALU、46はALU45の
出力の2の補数を出力する回路である。回路46の出力は
レジスタ47乃至51とアップダウンカウンタ52、53に供給
されている。カウンタ(CAPX)52はFIFO41への入力座標
のうち直線の始点のx座標(スタートx座標)がロード
され、その座標から線分を形成するx座標を順次発生す
る。カウンタ(CAPY)53は直線の始点のy座標(スター
トy座標)がロードされ、それから線分を形成するy座
標を順次発生する。レジスタ(DELX)48はレジスタ(BU
SX)42の記憶値とカウンタ(CAPX)52の記憶値(スター
トx座標)との差の絶対値(|BUSX−CAPX|)を記憶す
る。この絶対値は直線のx軸方向の移動量を定義する。
(BUSX−CAPX)の符号を表わすフラグSXが直線のx軸に
関する方向を定義し、(BUSX−CAPX)の値が零であるか
否かを表わすフラグZXが、その直線がy軸に平行か否か
を定義している。レジスタ(DELY)49とレジスタ(DELY
_Y)50はレジスタ(BUSY)43とカウンタ(CAPY)53(ス
タートy座標)の差の絶対値(|BUSY−CAPY|)を記憶す
る。この絶対値は直線のy軸方向の移動量を定義する。
(BUSY−CAPY)の符号フラグSYが直線のy軸に関する方
向を、零フラグZYが直線のx軸に対する平行を定義して
いる。レジスタ(DDXY)47はレジスタ(DELX)48の記憶
値とレジスタ(DELY)49との差の絶対値(|DELX−DELY
|)を記憶する。(DELX−DELY)の符号フラグSCは直線
のx軸に対する傾きが45度以上であるか否かを定義し、
(DELX−DELY)が零であるか否かを表わすフラグZCは傾
きが45度頂度であるか否かを定義している。レジスタ
(D_DELX)51はレジスタ(DELX)48の記憶値及びBresen
hamのアルゴリズムの誤差項eを格納する。
In FIG. 34, reference numeral 41 denotes an input FIFO,
The input vector coordinates are stored. 42 and 43 are FI
X coordinate (BUSX) and y coordinate (BUSY) read from FO41
Are stored in the register. 44 is a multiplexer (MUX) for selectively outputting a signal from ABUS or BBUS, 45 is an ALU for performing arithmetic processing on the output of the multiplexer 44, and 46 is a circuit for outputting the 2's complement of the output of the ALU 45. The output of the circuit 46 is supplied to registers 47 to 51 and up / down counters 52 and 53. The counter (CAPX) 52 is loaded with the x-coordinate (start x-coordinate) of the start point of the straight line among the input coordinates to the FIFO 41, and sequentially generates x-coordinates forming a line segment from the coordinates. The counter (CAPY) 53 is loaded with the y-coordinate (start y-coordinate) of the start point of the straight line, and then sequentially generates y-coordinates forming a line segment. Register (DELX) 48 is the register (BU
SX) 42 and the absolute value (| BUSX-CAPX |) of the difference between the stored value of the counter (CAPX) 52 (start x coordinate). This absolute value defines the amount of movement of the straight line in the x-axis direction.
A flag SX indicating the sign of (BUSX-CAPX) defines the direction of the straight line with respect to the x-axis, and a flag ZX indicating whether the value of (BUSX-CAPX) is zero or not indicates whether the straight line is parallel to the y-axis. Defines whether or not. Register (DELY) 49 and Register (DELY
_Y) 50 stores the absolute value (| BUSY-CAPY |) of the difference between the register (BUSY) 43 and the counter (CAPY) 53 (start y coordinate). This absolute value defines the amount of movement of the straight line in the y-axis direction.
The (BUSY-CAPY) sign flag SY defines the direction of the straight line with respect to the y-axis, and the zero flag ZY defines the straight line parallel to the x-axis. The register (DDXY) 47 is an absolute value of the difference between the stored value of the register (DELX) 48 and the register (DELY) 49 (| DELX-DELY
|) Is memorized. The sign flag SC of (DELX-DELY) defines whether the inclination of the straight line with respect to the x-axis is 45 degrees or more,
The flag ZC indicating whether (DELX-DELY) is zero defines whether the inclination is 45 degrees or not. The register (D_DELX) 51 stores the stored value of the register (DELX) 48 and Bresen
The error term e of the ham algorithm is stored.

54、55、56はデータを1ビット左(上位)にシフトし
て2倍するシフタである。57、58はカウンタ(CAPX)5
2、カウンタ(CAPY)53の値をBバスへ出力するタイミ
ングをとるためのバッファである。59はレジスタ(DEL
X)48とレジスタ(DELY)49の出力を選択するマルチプ
レクサ、60はカウンタ(CAPX)52のカウントイネーブル
信号CNTENXとカウンタ(CAPY)53のカウントイネーブル
信号CNTENYを選択出力するマルチプレクサである。61は
ダウンカウンタであり、初期値としてレジスタ(DELX)
48又はレジスタ(DELY)49の記憶値が入力され、その値
をダウンカウントすることにより1つの線分に関するデ
ータの生成の終了を表わすCNTOVR信号を発生する。62、
63は線分のステータスを格納する6段のシフトレジスタ
であり、2つの線分を1まとまりとして、新しく入力さ
れた線分をOUT(出力)、古い線分をINP(入力)とし、
各線分のステータスを表わす信号OUT_SC、OUT_SY、OUT_
SX、INP_SC、INP_SY、INP_SX又はOUT_ZC、OUT_ZY、OUT_
ZX、INP_ZC、INP_ZY、INP_ZXを各々出力する。
Reference numerals 54, 55, and 56 denote shifters for shifting the data one bit to the left (upper) and doubling the data. 57 and 58 are counters (CAPX) 5
2. A buffer for setting the timing for outputting the value of the counter (CAPY) 53 to the B bus. 59 is a register (DEL
A multiplexer for selecting the output of the X) 48 and the register (DELY) 49, and a multiplexer 60 for selectively outputting the count enable signal CNTENX of the counter (CAPX) 52 and the count enable signal CNTENY of the counter (CAPY) 53. 61 is a down counter, which is a register (DELX) as an initial value
The value stored in the register 48 or the register (DELY) 49 is input, and the value is down-counted to generate a CNTOVR signal indicating the end of data generation for one line segment. 62,
Reference numeral 63 denotes a six-stage shift register for storing the status of a line segment. The two line segments are grouped together, the newly input line segment is referred to as OUT (output), and the old line segment is referred to as INP (input).
Signals OUT_SC, OUT_SY, OUT_ indicating the status of each line
SX, INP_SC, INP_SY, INP_SX or OUT_ZC, OUT_ZY, OUT_
Outputs ZX, INP_ZC, INP_ZY, INP_ZX, respectively.

第35図において71はステートカウンタであり、システ
ムクロックSCLKが入力される毎に、他の入力信号に対応
して6ビットの所定のコード信号を出力する。72は9ビ
ットの入力と8ビットの出力を有する4個のレジスタ付
PROMであり、MEMCLKにより出力はラッチされる。又9ビ
ットの入力のうち下位6ビットにステートカウンタ71の
出力が供給され、その上位3ビットにMODE(MODE0乃至M
ODE3)を表わす信号が供給されている。この4つのMODE
は、第5図に示す座標変換手段15から送られてくる16ビ
ットの信号のうち上位4ビットのコマンドをデコードす
ることにより生成される。第2表はこれらの対応関係を
表わしている。
In FIG. 35, a state counter 71 outputs a predetermined 6-bit code signal corresponding to another input signal every time the system clock SCLK is input. 72 has 4 registers with 9-bit input and 8-bit output
The output is latched by MEMCLK. The lower 6 bits of the 9-bit input are supplied with the output of the state counter 71, and the upper 3 bits are MODE (MODE0 to M0).
A signal representing ODE3) is provided. These four MODEs
Is generated by decoding the upper 4 bits of the command of the 16 bits transmitted from the coordinate converter 15 shown in FIG. Table 2 shows these correspondences.

PROM72はステートカウンタ71から入力されるデータに
対応して第35図に示す種々のコントロール信号を出力す
る。このコントロール信号が第34図の各レジスタ、カウ
ンタ等に供給され、この動作を制御する。第34図のブロ
ック図において使用されているコントロール信号をまと
めると第3表のようになる。
The PROM 72 outputs various control signals shown in FIG. 35 according to the data input from the state counter 71. This control signal is supplied to each register, counter and the like in FIG. 34 to control this operation. Table 3 summarizes the control signals used in the block diagram of FIG.

第36図は第34図のブロック図における座標計算の処理
をフローチャートに示したものである。FIFO41に入力さ
れたデータは先ずレジスタ(BUSX)42に格納される(S
1)。そしてその上位4ビットから第2表に示すいずれ
のMODEであるのか判定が行われる(S2)。MODE0(第1
番目のデータ)であるとき初期値設定の処理が実行され
る(S3)。すなわちレジスタ(BUSX)42の値がカウンタ
(CAPX)52に、FIFO41に次に入力された値がレジスタ
(BUSY)43に、そしてレジスタ(BUSY)43の値がカウン
タ(CAPY)53に、各々順次転送される。これによりカウ
ンタ(CAPX)52と(CAPY)53に初期値(ポリゴンのスタ
ート座標)が設定される。
FIG. 36 is a flowchart showing the coordinate calculation process in the block diagram of FIG. The data input to the FIFO 41 is first stored in the register (BUSX) 42 (S
1). Then, it is determined from the upper 4 bits which MODE shown in Table 2 is set (S2). MODE0 (1st
When the data is the (third data), an initial value setting process is executed (S3). That is, the value of the register (BUSX) 42 is sequentially stored in the counter (CAPX) 52, the value input to the FIFO 41 is stored in the register (BUSY) 43, and the value of the register (BUSY) 43 is sequentially stored in the counter (CAPY) 53. Will be transferred. As a result, an initial value (start coordinates of the polygon) is set in the counters (CAPX) 52 and (CAPY) 53.

MODE1又は2(ポリゴンの第2番目以降のデータ)で
あるときは後述する定数計算のためのステップS6以降が
実行される。
If it is MODE 1 or 2 (the second and subsequent data of the polygon), step S6 and subsequent steps for constant calculation described later are executed.

MODE3(ソート手段22へのコマンド又はデータ)であ
るとき、レジスタ(BUSX)42の値がカウンタ(CAPY)53
に転送され(S4)、さらに座標転送クロックTRANSをオ
ンし、またオフする(S5)。これによりコマンド又はデ
ータが直線座標選択部33に転送される。
When the mode is MODE3 (command or data to the sorting means 22), the value of the register (BUSX) 42 is set to the counter (CAPY) 53
The coordinate transfer clock TRANS is turned on and off (S5). Thereby, the command or data is transferred to the linear coordinate selection unit 33.

定数計算のステップにおいては先ずレジスタ(BUSX)
42の値とカウンタ(CAPX)52の値の差の絶対値が演算さ
れ、レジスタ(DELX)48に格納される(S6)。次にFIFO
41の値がレジスタ(BUSY)43に格納された後(S7)、レ
ジスタ(BUSY)43とカウンタ(CAPY)53の値の差の絶対
値がレジスタ(DELY)49に格納される(S8)。さらにレ
ジスタ(DELY)49の値が0であるか否かの判定が行わ
れ、0であるとき(x軸に平行な直線であるとき)特殊
処理のステップが実行される(S9)。0でないときレジ
スタ(DELX)48とレジスタ(DELY)49の値の差の絶対値
がレジスタ(DDXY)47に格納された後、Bresenhamのア
ルゴリズムの処理ステップ(S13以降)に移行する(S
9、S10)。
In the constant calculation step, first register (BUSX)
The absolute value of the difference between the value of 42 and the value of the counter (CAPX) 52 is calculated and stored in the register (DELX) 48 (S6). Then FIFO
After the value of 41 is stored in the register (BUSY) 43 (S7), the absolute value of the difference between the value of the register (BUSY) 43 and the value of the counter (CAPY) 53 is stored in the register (DELY) 49 (S8). Further, it is determined whether or not the value of the register (DELY) 49 is 0, and when it is 0 (when it is a straight line parallel to the x-axis), a special processing step is executed (S9). If it is not 0, after the absolute value of the difference between the value of the register (DELX) 48 and the value of the register (DELY) 49 is stored in the register (DDXY) 47, the process proceeds to the processing step of the Bresenham algorithm (S13 and subsequent steps) (S
9, S10).

このようにステップS6乃至S10において直線座標を生
成するためのBresenhamのアルゴリズムに必要な定数が
計算されるとともに、直線のステータスが生成される。
但しBresenhamのアルゴリズムの定数は次のように変換
されている。
Thus, in steps S6 to S10, constants required for Bresenham's algorithm for generating linear coordinates are calculated, and the status of the line is generated.
However, the constants of Bresenham's algorithm are converted as follows.

DELX−2DDXY=DELY−2(DELX−DELY) =2DELY−DELX (D_DELX)−2DDXY=(D_DELX)−2(DELX−DELY) =(D_DELX)+2(DELY−DELX) 直線がx軸と平行な場合の特殊処理のステップにおい
ては、カウンタ(CAPX)52の値がレジスタ(D_DELX)51
に、レジスタ(BUSX)42の値がカウンタ(CAPX)52に、
各々格納される。またレジスタ(D_DELX)51とレジスタ
(BUSX)42の値の差の符号が求められる(S11)。次に
クロックTRANSのオン、オフが行われ、ステップS1に戻
る(S12)。このようにしてBresenhamのアルゴリズムを
使わずに直線の終点の座標のみがそのまま転送される。
DELX-2DDXY = DELY-2 (DELX-DELY) = 2DELY-DELX (D_DELX) -2DDXY = (D_DELX) -2 (DELX-DELY) = (D_DELX) +2 (DELY-DELX) When the straight line is parallel to the x-axis In the special processing step, the value of the counter (CAPX) 52 is stored in the register (D_DELX) 51.
The value of the register (BUSX) 42 is stored in the counter (CAPX) 52,
Each is stored. The sign of the difference between the values of the register (D_DELX) 51 and the register (BUSX) 42 is obtained (S11). Next, the clock TRANS is turned on and off, and the process returns to step S1 (S12). In this way, only the coordinates of the end point of the straight line are transferred without using the Bresenham algorithm.

Bresenhamのアルゴリズムの処理ステップにおいて
は、先ずレジスタ(DELX)48と(DELY)49の値の差の符
号が判定される(S13)。この符号が負又は0のとき
(直線のx軸に対する傾きが45度以上のとき)、レジス
タ(DELY)49の値からレジスタ(DDXY)47の値を2倍し
た値を引いた値がレジスタ(D_DELX)51に格納され(S1
4)、またレジスタ(DELY)49の値が1だけデクリメン
トされる(S15)。そしてレジスタ(DELY)49の値が0
であるか否かの判定が行われ(S16)、0であるときク
ロックTRANSのオン、オフが行われた後ステップS1に戻
る(S17)。レジスタ(DELY)49の値が0でないときレ
ジスタ(D_DELX)51の符号が判定される(S18)。この
値が正又は0であるときレジスタ(D_DELX)51の値とレ
ジスタ(DDXY)47を2倍した値との差がレジスタ(D_DE
LX)51に格納され、また条件によりカウンタ(CAPX)52
の値が1だけインクリメント又はデクリメントされる
(S19)。レジスタ(D_DELX)51の値が負のときはレジ
スタ(D_DELX)51の値とレジスタ(DELX)48の値の2倍
の値とが加算され、レジスタ(D_DELX)51に格納される
(S20)。レジスタ(D_DELX)51の値がいずれの場合で
あってもそれらの処理の後、カウンタ(CAPY)53の値が
1だけインクリメント又はデクリメントされ、ステップ
S15に戻る(S21)。
In the processing steps of the Bresenham algorithm, first, the sign of the difference between the values of the registers (DELX) 48 and (DELY) 49 is determined (S13). When this sign is negative or 0 (when the inclination of the straight line with respect to the x-axis is 45 degrees or more), a value obtained by subtracting a value obtained by doubling the value of the register (DDXY) 47 from the value of the register (DELY) 49 is the register ( D_DELX) 51 (S1
4) Also, the value of the register (DELY) 49 is decremented by 1 (S15). And the value of the register (DELY) 49 is 0
Is determined (S16). If the value is 0, the clock TRANS is turned on and off, and the process returns to step S1 (S17). When the value of the register (DELY) 49 is not 0, the sign of the register (D_DELX) 51 is determined (S18). When this value is positive or 0, the difference between the value of the register (D_DELX) 51 and the value obtained by doubling the value of the register (DDXY) 47 is the value of the register (D_DEX).
LX) 51 and the counter (CAPX) 52
Is incremented or decremented by 1 (S19). When the value of the register (D_DELX) 51 is negative, the value of the register (D_DELX) 51 and twice the value of the register (DELX) 48 are added and stored in the register (D_DELX) 51 (S20). Regardless of the value of the register (D_DELX) 51, after those processes, the value of the counter (CAPY) 53 is incremented or decremented by 1 and the step
The process returns to S15 (S21).

ステップS13においてレジスタ(DELX)48とレジスタ
(DELY)49の差が正のとき(直線のx軸に対する傾きが
45度より小さいとき)、レジスタ(DELX)48の値からレ
ジスタ(DDXY)47の値を2倍した値を引いた値がレジス
タ(D_DELX)51に格納され(S22)、またレジスタ(DEL
X)48の値が1だけデクリメントされる(S23)。そして
レジスタ(DELX)48の値が0であるか否かの判定が行わ
れ(S24)、0であるときクロックTRANSのオン、オフが
行われた後ステップ1に戻る(S25)。レジスタ(DEL
X)48の値が0でないときレジスタ(D_DELX)51の値が
判定される(S26)。この値が正又は0であるときレジ
スタ(D_DELX)51の値とレジスタ(DDXY)47の値を2倍
した値との差がレジスタ(D_DELX)51に格納され、また
条件によりカウンタ(CAPY)53の値が1だけインクリメ
ント又はデクリメントされる(S27)。レジスタ(D_DEL
X)51の値が負のときはレジスタ(D_DELX)51の値とレ
ジスタ(DELY)49の値の2倍の値とが加算され、レジス
タ(D_DELX)51に格納される(S28)。レジスタ(D_DEL
X)の値がいずれの場合であってもそれらの処理の後、
カウンタ(CAPX)52の値が1だけインクリメント又はデ
クリメントされ、ステップS23に戻る(S29)。
In step S13, when the difference between the register (DELX) 48 and the register (DELY) 49 is positive (the inclination of the straight line with respect to the x-axis is
When it is smaller than 45 degrees), a value obtained by subtracting a value obtained by doubling the value of the register (DDXY) 47 from the value of the register (DELX) 48 is stored in the register (D_DELX) 51 (S22), and the value of the register (DELX) is also obtained.
X) The value of 48 is decremented by 1 (S23). Then, it is determined whether or not the value of the register (DELX) 48 is 0 (S24). When the value is 0, the clock TRANS is turned on and off, and the process returns to step 1 (S25). Register (DEL
When the value of (X) 48 is not 0, the value of the register (D_DELX) 51 is determined (S26). When this value is positive or 0, the difference between the value of the register (D_DELX) 51 and the value obtained by doubling the value of the register (DDXY) 47 is stored in the register (D_DELX) 51, and the counter (CAPY) 53 depending on the condition. Is incremented or decremented by 1 (S27). Register (D_DEL
When the value of (X) 51 is negative, the value of register (D_DELX) 51 and twice the value of register (DELY) 49 are added and stored in register (D_DELX) 51 (S28). Register (D_DEL
X) after processing them in any case,
The value of the counter (CAPX) 52 is incremented or decremented by 1, and the process returns to step S23 (S29).

第34図に示した座標計算部32の動作は、クロックSCLK
が1個発生される毎に遷移する状態の流れとして表わし
た状態遷移図により説明することもできる。第37図は状
態遷移の全体の流れを表わしている。初期状態(ステー
トST0)においてクロックSCLKが発生すると、ステート
は待機(WAIT)ステート(ST02)に移行する。このステ
ートにおいてコントロール信号IEMPがモニタされ、FIFO
41のデータが空(信号IEMPが論理0)でなければ(!IEM
Pであれば)次のMODEセットのステート(ST1)に移行す
る。尚ここに“!"はNOTを意味する。MODEセットのステ
ートにおいてはレジスタ(BUSX)42にFIFO41から入力さ
れたデータがラッチされ、そのデータのモード(第2
表)が判定される。
The operation of the coordinate calculation unit 32 shown in FIG.
Can be described by a state transition diagram expressed as a flow of a state in which a transition is made every time one is generated. FIG. 37 shows the overall flow of the state transition. When the clock SCLK is generated in the initial state (state ST0), the state shifts to a wait (WAIT) state (ST02). In this state, the control signal IEMP is monitored and the FIFO
If data of 41 is not empty (signal IEMP is logic 0) (! IEM
The state moves to the next MODE set state (ST1). Here, "!" Means NOT. In the MODE set state, the data input from the FIFO 41 is latched in the register (BUSX) 42, and the mode of the data (second
Table) is determined.

MODE0の場合(ポリゴンの第1番目のデータの場合)
初期値設定のステート(ST2乃至ST5)が実行された後、
FIFOリードのステート(ST01)に移行する。FIFOリード
のステートにおいては、FIFO41に格納されているデータ
が読み出される。FIFOリードのステートの後再び初期ス
テート(ST0)に戻る。
MODE0 (first polygon data)
After the initial value setting state (ST2 to ST5) is executed,
Move to the FIFO read state (ST01). In the FIFO read state, data stored in the FIFO 41 is read. After the FIFO read state, the operation returns to the initial state (ST0) again.

MODE1又はMODE2の場合(ポリゴンの第2番目以降のデ
ータである場合)、定数計算のステート(ST2乃至ST7)
が実行され、DELX(Δx)、DELY(Δy)及びDDXY(Δ
x−Δy)の計算が行われた後、直線のステータスに対
応して直線がx軸に平行でなければBresenhamのアルゴ
リズムによる座標計算のステート(ST8乃至ST17)が、
またx軸に平行であれば特殊処理のステート(ST20乃至
ST29)が、各々実行される。これらの処理の後FIFOリー
ドのステート(ST01)を経て初期ステート(ST0)に戻
る。
In the case of MODE1 or MODE2 (when the data is the second and subsequent polygons), the constant calculation state (ST2 to ST7)
Is executed, and DELX (Δx), DELY (Δy) and DDXY (Δ
After the calculation of (x−Δy) is performed, if the straight line is not parallel to the x axis corresponding to the status of the straight line, the state (ST8 to ST17) of the coordinate calculation by the Bresenham algorithm is as follows:
If parallel to the x-axis, the state of special processing (ST20 to ST20)
ST29) are respectively executed. After these processes, the process returns to the initial state (ST0) via the FIFO read state (ST01).

一方MODE3の場合(ソート手段22へ出力するコマンド
又はデータである場合)、コマンド処理のステート(ST
2乃至ST6)が実行された後、FIFOリードのステート(ST
01)を介して初期ステート(ST0)に戻る。
On the other hand, in the case of MODE3 (when the command or data is output to the sorting means 22), the state of the command processing (ST
2 to ST6), the state of the FIFO read (ST
01) to the initial state (ST0).

第38図は初期値設定のステートをより詳細に表わして
いる。先ずレジスタ(BUSX)42とFIFO41の読み出しが行
われ(ST2)、カウンタ(CAPX)52とレジスタ(BUSY)4
3に各々ラッチされる(ST3)。FIFO41が空(信号IEMPが
オン)であればそのまま待機し、空でなければ(!IEMP
であれば)レジスタ(BUSY)43が読み出され(ST4)、
そのデータがカウンタ(CAPY)53にラッチされる(ST
5)。
FIG. 38 shows the state of the initial value setting in more detail. First, the register (BUSX) 42 and the FIFO 41 are read (ST2), and the counter (CAPX) 52 and the register (BUSY) 4
Latched to 3 (ST3). If the FIFO 41 is empty (the signal IEMP is on), the process waits. If the FIFO41 is not empty (! IEMP
If so, the register (BUSY) 43 is read (ST4),
The data is latched by the counter (CAPY) 53 (ST
Five).

第39図は初期値設定のタイミングチャートを表わして
いる。クロックSCLKが入力される毎にステートがST0、S
T02、ST1、ST2と順次変化して行く。ここにクロックSCL
Kの立ち上がりエッジとステートの遷移との間に遅れが
あるのは、第35図のステートカウンタ71にクロックSCLK
が入力されてからPROM72より所定のコントロール信号が
出力される迄の間に若干の遅延が発生するからである。
FIG. 39 shows a timing chart of the initial value setting. Each time the clock SCLK is input, the state becomes ST0, S
It changes sequentially from T02, ST1, ST2. Here is the clock SCL
There is a delay between the rising edge of K and the state transition because the clock SCLK
This is because there is a slight delay between the input of the PROM 72 and the output of the predetermined control signal from the PROM 72.

ステートST1においてコントロール信号MODESTに対応
してMODE(実施例の場合MODE0)の設定が行われた後、
ステートST2においてレジスタ(BUSX)42のデータがABU
S、マルチプレクサ44を介してAMBUSに出力される。さら
にこのデータはALU45によりFBUSにスルー出力されるの
で、ステートST3においてカウンタ(CAPX)52にラッチ
可能となる。またステートST2においてFIFO41のデータD
x0が読み出されるので、次のステートST3においてはFIF
ORDに次のデータDy0が出力され、これがレジスタ(BUS
Y)43にラッチされる。FIFO41が空でないとき(信号IEM
Pが論理1のとき)、ステートST4においてレジスタ(BU
SY)43のデータがAMBUS、FBUSに読み出され、これがス
テートST5においてカウンタ(CAPY)53にラッチされ
る。
After the setting of MODE (MODE0 in the embodiment) corresponding to the control signal MODEST in the state ST1,
In state ST2, the data in register (BUSX) 42 is ABU
S, output to AMBUS via multiplexer 44. Further, since this data is output to the FBUS by the ALU 45, the data can be latched by the counter (CAPX) 52 in the state ST3. Also, in state ST2, data D of FIFO41
Since x 0 is read out, in the next state ST3 FIF
The next data Dy 0 is output to ORD, and this is
Y) Latched at 43. When FIFO41 is not empty (signal IEM
When P is logic 1, the register (BU) in state ST4
SY) 43 is read out to AMBUS and FBUS, and this is latched by the counter (CAPY) 53 in state ST5.

次にBresenhamのアルゴリズムの処理を実行するため
の定数計算と座標計算のステートを説明する前に、第40
図を参照してBresenhamのアルゴリズムの原理を説明す
る。第40図に示すように始点Aと終点Bの2つの点を結
ぶ直線を点(ドット)の集合として表わす場合、座標の
単位の整数倍でないところに位置する直線上の点は、座
標の単位の整数倍の位置の点で近似することになる。こ
の近似を行うのに、直線上の所定の点のx座標とy座標
のうち一方の値をそのままとし、他方を最も近い座標単
位の整数倍を座標値にする。すなわち第40図(a)に示
すようにx軸に対する傾斜角度が45度以下である直線の
場合(すなわち始点A(x1、y1)と終点B(x2、y2)の
x座標の差(x2−x1)をΔx(その符号をSX)、y座標
の差(y2−y1)をΔy(その符号をSY)とするとき、
(|Δx|−|Δy|)の符号SCがSC≧0の場合)、例えば
直線AB上の点A1を近似するのに、点A1と同一のx座標の
2つの点A2とA3を考え、これらの点と点A1との誤差を
e2、e3とするとき、誤差が小さい方の点(この場合e2
e3であるから点A2)を選択する。誤差eは1(単位)以
下であるからその値が1/2以下である点が近似点として
選択されることになる。以下同様にして直線ABは点A、
A2、A4、A5・・・A10、Bにより近似される。
Next, before describing the state of constant calculation and coordinate calculation for executing the processing of Bresenham's algorithm,
The principle of Bresenham's algorithm will be described with reference to the drawings. As shown in FIG. 40, when a straight line connecting two points of the start point A and the end point B is represented as a set of points (dots), a point on the straight line located at a position other than an integral multiple of the coordinate unit is a coordinate unit. Will be approximated at a point at an integer multiple of. To perform this approximation, one of the x and y coordinates of a predetermined point on the straight line is left as it is, and the other is set to a coordinate value that is an integral multiple of the nearest coordinate unit. That is, when the straight line inclination angle is 45 ° or less with respect to the x-axis as shown in Figure 40 (a) (i.e. the starting point A of the x-coordinate of (x 1, y 1) and the end point B (x 2, y 2) When the difference (x 2 −x 1 ) is Δx (sign thereof is SX) and the difference (y 2 −y 1 ) of y coordinate is Δy (sign thereof is SY),
(| Δx | - | Δy | ) when the sign SC is SC ≧ 0 in), for example, linear to approximate the A 1 point on AB, the point A 1 and the same x-coordinate of the two points A 2 and A 3 the idea, the error between the point a 1 these points
When e 2 and e 3 are set, the point with the smaller error (in this case, e 2 <
selecting a point A 2) since it is e 3. Since the error e is 1 or less (unit), a point whose value is 1/2 or less is selected as an approximate point. Similarly, the straight line AB is point A,
A 2 , A 4 , A 5 ... A 10 , and B are approximated.

第40図(b)に示すように直線の傾きが45度より大き
い場合は、y軸方向の座標値はそのままとされ、x軸の
方向の座標が、誤差eが1/2以下となる点の座標とされ
る。
When the inclination of the straight line is larger than 45 degrees as shown in FIG. 40 (b), the coordinate value in the y-axis direction is kept as it is, and the coordinate in the x-axis direction is such that the error e is less than 1/2. Coordinates.

このような近似点の座標は例えば第40図(a)の場合
次のプログラムにより示される演算を行うことにより求
めることができる。
For example, in the case of FIG. 40 (a), the coordinates of such an approximate point can be obtained by performing an operation shown by the following program.

e:2DELY−DELX for i:1 to DELX do begin Plot(x,y); if e>0 then begin y:y+1; e:e+2(DELY−DELX) end else e:e+2*DELY x:=x+1; end; 第34図の座標計算部32はこの演算をハードウェアによ
り実行するものであり、第41図乃至第43図はその動作を
状態遷移図により説明するものである。
e: 2DELY-DELX for i: 1 to DELX do begin Plot (x, y); if e> 0 then begin y: y + 1; e: e + 2 (DELY-DELX) end else e: e + 2 * DELY x: = x + 1; end; The coordinate calculation unit 32 in FIG. 34 executes this calculation by hardware, and FIGS. 41 to 43 illustrate the operation thereof with reference to a state transition diagram.

第41図は定数決算のステートの状態遷移図を表わして
いる。この定数計算のステートにおいては先ずレジスタ
(BUSX)42の値とカウンタ(CAPX)52の値との差(BUSX
−CAPX)がALU45により演算されるとともに、FIFO41の
データが読み出される(ST2)。次のステートにおいて
演算結果がレジスタ(DELX)48に、読み出しデータがレ
ジスタ(BUSY)43に、各々ラッチされるとともに、シフ
トイネーブル信号FLGCLKがオンされ、ALU45が出力する
信号SIGNとZEROがシフトレジスタ62と63に各々記憶され
る(ST3)。FIFO41が空でなければ次のステートに移行
し、レジスタ(BUSY)43の値とカウンタ(CAPY)53の値
の差(BUSY−CAPY)がALU45により演算される(ST4)。
この演算結果は次のステートにおいてレジスタ(DELY)
49とレジスタ(DELY_Y)50にラッチされる(ST5)。こ
のステートにおいてはまたクロックFLGCLKがオンされ、
ALU45の出力SIGNとZEROがシフトレジスタ62と63に各々
ラッチされる。さらに信号ZEROが論理1(直線がx軸に
平行)である場合特殊処理のサブステート(ST20乃至ST
261)に移行する。
FIG. 41 shows a state transition diagram of the constant settlement state. In this constant calculation state, the difference between the value of the register (BUSX) 42 and the value of the counter (CAPX) 52 (BUSX
−CAPX) is calculated by the ALU 45, and the data in the FIFO 41 is read (ST2). In the next state, the operation result is latched in the register (DELX) 48 and the read data is latched in the register (BUSY) 43, and the shift enable signal FLGCLK is turned on. And 63 (ST3). If the FIFO 41 is not empty, the process proceeds to the next state, and the difference (BUSY-CAPY) between the value of the register (BUSY) 43 and the value of the counter (CAPY) 53 is calculated by the ALU 45 (ST4).
This operation result is stored in the register (DELY) in the next state.
It is latched by 49 and the register (DELY_Y) 50 (ST5). In this state, the clock FLGCLK is turned on again,
Outputs SIGN and ZERO of ALU 45 are latched in shift registers 62 and 63, respectively. If the signal ZERO is logic 1 (the straight line is parallel to the x-axis), the special processing substates (ST20 to ST20)
261).

直線がx軸に平行でない場合次にレジスタ(DELX)48
の値がレジスタ(D_DELX)51に格納されるとともに、レ
ジスタ(D_DELX)51とレジスタ(DELY)49との差((D_
DELX)−DELY)がALU45により演算される(ST51、ST
6)。次のステートにおいて演算結果がレジスタ(DDX
Y)47にラッチされるとともに、クロックFLGCLKがオン
され、ALU45の出力SIGNとZEROがシフトレジスタ62と63
に各々ラッチされる(ST7)。このステートにおいて後
述する出力用FIFO97、98(第74図)が一杯であるとき
(コントロール信号OFULが論理1のとき)待機し、一杯
でなければ座標計算のステートに移行する。
If the straight line is not parallel to the x-axis then register (DELX) 48
Is stored in the register (D_DELX) 51 and the difference between the register (D_DELX) 51 and the register (DELY) 49 ((D_DELX)
DELX) -DELY) is calculated by ALU45 (ST51, ST51).
6). In the next state, the operation result is stored in the register (DDX
Y) While being latched by 47, the clock FLGCLK is turned on, and the outputs SIGN and ZERO of the ALU 45 are shifted to the shift registers 62 and 63.
(ST7). In this state, when output FIFOs 97 and 98 (FIG. 74), which will be described later, are full (when control signal OFUL is at logic 1), the process shifts to the coordinate calculation state if not.

第42図と第43図は座標計算のステートの状態遷移図で
あり、第42図はALU45の出力フラグSIGNが論理0(x軸
に対する直線の傾きが45度未満)であり、かつ出力用FI
FOが一杯でない場合、また第43図はフラグSIGNが論理1
であり(直線の傾きが45度以上)、かつ出力用FIFOが一
杯でない場合に、各々第41図のステートST7から移行す
るものである。
42 and 43 are state transition diagrams of the coordinate calculation state. FIG. 42 shows that the output flag SIGN of the ALU 45 is logic 0 (the inclination of the straight line with respect to the x-axis is less than 45 degrees) and the output FI
If FO is not full, and FIG.
(When the inclination of the straight line is 45 degrees or more) and the output FIFO is not full, the process shifts from the state ST7 in FIG. 41.

第42図において先ずレジスタ(D_DELX)51の値と、レ
ジスタ(DDXY)47の値を2倍した値との差((D_DELX)
−2DDXY)がALU45により演算され、また座標計算の開始
を表わすコントロール信号STRTがオンされる(ST8)。
次のステートにおいてALU45の演算結果がレジスタ(D_D
ELX)51にラッチされるとともに、クロックTRANSがオン
され、計算座標が後述するパイプラインレジスタPIP1X8
2、PIP1Y84(第54図)に転送される(ST91)。またこの
ステートからフラグSIGNが論理1、かつCNTOVRとOFULが
論理0であるときステートST11、フラグCNTOVRが論理1
かつフラグOFULが論理0のときステートST12、フラグSI
GN、CNTOVR及びOFULのいずれもが論理0のときステート
ST10に、各々移行し、そのいずれでもないとき待機す
る。
In FIG. 42, first, the difference between the value of the register (D_DELX) 51 and the value obtained by doubling the value of the register (DDXY) 47 ((D_DELX)
−2DDXY) is calculated by the ALU 45, and the control signal STRT indicating the start of coordinate calculation is turned on (ST8).
In the next state, the operation result of ALU45 is stored in the register (D_D
ELX) 51, the clock TRANS is turned on, and the calculation coordinates are described in a pipeline register PIP1X8 described later.
2. Transferred to PIP1Y84 (FIG. 54) (ST91). From this state, when the flag SIGN is logic 1 and CNTOVR and OFUL are logic 0, the state ST11 and the flag CNTOVR are logic 1
When the flag OFUL is logic 0, the state ST12, the flag SI
State when all of GN, CNTOVR and OFUL are logic 0
The process proceeds to ST10 and waits when none of them is found.

ステートST10においてはレジスタ(D_DELX)51の値と
レジスタ(DDXY)47の2倍との差((D_DELX)−2DDX
Y)が演算され、かつクロックTRANSがオフされる。また
カウンタ(CAPX)52と(CAPY)53のカウントイネーブル
信号CNTENXとCNTENYがオンされる。これらの処理が実行
された後再びステートST10からステートST91に戻る。
In state ST10, the difference between the value of register (D_DELX) 51 and twice the value of register (DDXY) 47 ((D_DELX) −2DDX
Y) is calculated and the clock TRANS is turned off. The count enable signals CNTENX and CNTENY of the counters (CAPX) 52 and (CAPY) 53 are turned on. After performing these processes, the process returns from the state ST10 to the state ST91 again.

ステートST11においてはレジスタ(D_DELX)51の値と
レジスタ(DELY)49の2倍の値がALU45により加算さ
れ、かつ信号CNTENXがオンされる。次のステートにおい
てはレジスタ(D_DELX)51に加算値がラッチされ、クロ
ックTRANSがオンされる(ST92)。このステートにおい
てフラグSIGNとOFULが論理1かつフラグCNTOVRが論理0
であるときステートST11に、フラグSIGN、OFUL、CNTOVR
のいずれもが論理0であるときステートST10に、フラグ
CNTOVRが論理1かつフラグOFULが論理0のときステート
ST12に、各々移行し、それらのいずれでもないとき待機
する。
In the state ST11, the value of the register (D_DELX) 51 and twice the value of the register (DELY) 49 are added by the ALU 45, and the signal CNTENX is turned on. In the next state, the added value is latched in the register (D_DELX) 51, and the clock TRANS is turned on (ST92). In this state, the flags SIGN and OFUL are logic 1 and the flag CNTOVR is logic 0
State ST11, the flags SIGN, OFUL, CNTOVR
When both are logical 0, state ST10
State when CNTOVR is logic 1 and flag OFUL is logic 0
Transition to ST12, and wait if none of them.

ステートST12においてはクロックTRANSがオフされ、
さらに次のステートST13においてクロックTRANSがオン
された後、ステートST01に戻る。
In state ST12, the clock TRANS is turned off,
After the clock TRANS is turned on in the next state ST13, the process returns to the state ST01.

第43図においては先ずレジスタ(DELY_Y)50の値とレ
ジスタ(DDXY)47の2倍の値との差((DELY_Y)−2DDX
Y)がALU45により演算され、信号STRTがオンされる(ST
14)。また次のステートにおいてはレジスタ(D_DELX)
51にALU45の演算結果がラッチされるとともに、クロッ
クTRANSがオンされる(ST150)。さらにALU45が出力す
るフラグSIGNが論理0であればステートST16に、論理1
であればステートST17に、各々移行する。
In FIG. 43, first, the difference between the value of the register (DELY_Y) 50 and twice the value of the register (DDXY) 47 ((DELY_Y) −2DDX)
Y) is calculated by the ALU45, and the signal STRT is turned on (ST
14). In the next state, register (D_DELX)
The operation result of the ALU 45 is latched at 51, and the clock TRANS is turned on (ST150). If the flag SIGN output by the ALU 45 is logic 0, the state ST16 is set to logic 1
If so, the process proceeds to state ST17.

ステートST16においてレジスタ(D_DELX)51の値とレ
ジスタ(DDXY)47の2倍の値との差((D_DELX)−2DDX
Y)がALU45により演算され、またカウントイネーブル信
号CNTENXとCNTENYがオンされる。次のステートにおいて
演算結果がレジスタ(D_DELX)51にラッチされるととも
に、クロックTRANSがオンされる(ST151)。このステー
トにおいてはフラグSIGNが論理1、かつフラグCNTOVRと
OFULが論理0のときステートST17、フラグSIGN、OFUL、
CNTOVRのいずれもが論理0のときステートST16、フラグ
CNTOVRが論理1かつフラグOFULが論理0のときステート
ST12に、各々移行し、その他のときは待機する。
In state ST16, the difference between the value of register (D_DELX) 51 and twice the value of register (DDXY) 47 ((D_DELX) -2DDX
Y) is calculated by the ALU 45, and the count enable signals CNTENX and CNTENY are turned on. In the next state, the operation result is latched by the register (D_DELX) 51, and the clock TRANS is turned on (ST151). In this state, the flag SIGN is at logic 1 and the flag CNTOVR and
When OFUL is logic 0, state ST17, flags SIGN, OFUL,
State ST16, flag when any of CNTOVR is logic 0
State when CNTOVR is logic 1 and flag OFUL is logic 0
The process proceeds to ST12, and waits at other times.

ステートST17においてはレジスタ(D_DELX)51の値と
レジスタ(DELX)48の2倍の値とが加算され((D_DEL
X)+2DELX)、また信号CNTENYがオンされる。その次の
ステートにおいてはレジスタ(D_DELX)51に前のステー
トにおける演算結果がラッチされるとともに、クロック
TRANSがオンされる(ST152)。このステートにおいては
フラグSIGNが論理1かつフラグCNTOVRとOFULが論理0の
ときステートST17に、フラグSIGN、OFUL、CNTOVRのいず
れもが論理0のときステートST16に、フラグCNTOVRが論
理1かつフラグOFULが論理0のときステートST12に、各
々移行し、その他の場合は待機する。
In the state ST17, the value of the register (D_DELX) 51 is added to twice the value of the register (DELX) 48 ((D_DELX)
X) + 2DELX), and the signal CNTENY is turned on. In the next state, the operation result in the previous state is latched in the register (D_DELX) 51 and the clock is output.
TRANS is turned on (ST152). In this state, when the flag SIGN is at logic 1 and the flags CNTOVR and OFUL are at logic 0, the state ST17 is reached. When all of the flags SIGN, OFUL, CNTOVR are at logic 0, the state ST16 is reached. When the value is logic 0, the state shifts to the state ST12, and otherwise stands by.

ステートST12においてクロックTRANSがオフされ、次
のステートST13においてオンされる。その後第37図のス
テートST01に移行する。
The clock TRANS is turned off in the state ST12, and turned on in the next state ST13. Thereafter, the flow shifts to the state ST01 in FIG.

第44図はMODE2の場合における定数計算と座標計算の
タイミングチャートを表わしている。定数計算のためス
テートST2においてレジスタ(BUSX)42のデータがABUS
に読み出され、さらにマルチプレクサ44よりAMBUSに読
み出される。同様にレジスタ(CAPX)52のデータがBBUS
に読み出され、さらにマルチプレクサ44よりBMBUSに読
み出される。そしてALU45により(BUSX−CAPX)の演算
が行われ、その結果がFBUSに出力される。またFIFO41か
らデータDx1が読み出されるのでFIFORDには次のデータD
y1が出力される。その結果ステートST3においてFBUSとF
IFORDのデータがレジスタ(DELX)48とレジスタ(BUS
Y)43に各々ラッチされる。またALU45は演算(BUSX−CA
PX)の演算結果よりも早くその演算値のフラグSIGNとZE
ROを出力する。その結果ステートST3においてクロックF
LGCLKがオンされたときフラグSIGN、ZEROのデータが、D
ELX(Δx=BUSX−CAPX)の符号SX、ZXとしてシフトレ
ジスタ62と63に各々ラッチされる。
FIG. 44 shows a timing chart of constant calculation and coordinate calculation in the case of MODE2. Data of register (BUSX) 42 is ABUS in state ST2 for constant calculation.
And read out to the AMBUS by the multiplexer 44. Similarly, the data of register (CAPX) 52 is BBUS
And read out from the multiplexer 44 to BMBUS. Then, the operation of (BUSX-CAPX) is performed by the ALU 45, and the result is output to the FBUS. The next data D in FIFORD the data Dx 1 is read from FIFO41
y 1 is output. As a result, FBUS and F
IFORD data is stored in register (DELX) 48 and register (BUS
Y) Each is latched at 43. In addition, ALU45 calculates (BUSX-CA
PX) SIGN and ZE of the operation value faster than the operation result of PX)
Output RO. As a result, clock F in state ST3
When LGCLK is turned on, the data of flags SIGN and ZERO
The symbols SX and ZX of ELX (Δx = BUSX−CAPX) are latched in the shift registers 62 and 63, respectively.

ステートST4においてはAMBUSとBMBUSにレジスタ(BUS
Y)43とカウンタ(CAPY)53のデータが各々出力され、F
BUSにはALU45より両者の差(BUSY−CAPY)が出力され
る。ステートST5においてFBUSのデータがレジスタ(DEL
Y)49と(DELY−Y)50にラッチされ、またクロックFLG
CLKがオンされてALU45が出力するフラグSIGNとZEROが、
DELY(Δy=BUSY−CAPY)の符号SY、ZYとしてシフトレ
ジスタ62と63に各々ラッチされる。
In state ST4, registers (BUS
Y) 43 and counter (CAPY) 53 data are output respectively,
The difference between the two (BUSY-CAPY) is output from the ALU 45 to the BUS. In state ST5, FBUS data is stored in the register (DEL
Y) 49 and (DELY-Y) 50 are latched and the clock FLG
Flags SIGN and ZERO output by ALU45 when CLK is turned on,
The symbols SY and ZY of DELY (Δy = BUSY−CAPY) are latched in the shift registers 62 and 63, respectively.

ステートST51においてレジスタ(DELX)48のデータが
ABUS、マルチプレクサ44を介してAMBUSに出力され、こ
れがALU45によりスルーされてFBUSに出力され、レジス
タ(D_DELX)51にラッチされる。ステート6においてAM
BUSとBMBUSにレジスタ(D_DELX)51と(DELY)49のデー
タが出力され、ALU45により演算((D_DELX)−DELY)
が実行され、その結果がFBUSに出力される。ステートST
7においてFBUSのデータがレジスタ(DDXY)47にラッチ
される。またクロックFLGCLKによりそのときALU45が出
力しているフラグSIGNとZEROが、DDXY(Δx−Δy)の
符号SCとZCとしてシフトレジスタ62と63に各々ラッチさ
れる。
In state ST51, the data in the register (DELX) 48 is
The signal is output to the AMBUS via the ABUS and the multiplexer 44, is passed through the ALU 45, is output to the FBUS, and is latched by the register (D_DELX) 51. AM in state 6
The data of the registers (D_DELX) 51 and (DELY) 49 are output to BUS and BMBUS, and operated by ALU45 ((D_DELX)-DELY)
Is executed, and the result is output to FBUS. State ST
At 7, the FBUS data is latched in the register (DDXY) 47. Further, the flags SIGN and ZERO output by the ALU 45 at that time by the clock FLGCLK are latched in the shift registers 62 and 63 as signs SC and ZC of DDXY (Δx−Δy), respectively.

このようにして定数計算が行われた後、次に座標計算
が行われる(実施例は第42図に示したステートに対応し
ている)。ステートST8においてAMBUSとBMBUSにはレジ
スタ(D_DELX)51のデータと、レジスタ(DDXY)47の値
を2倍したシフタ54のデータが、各々出力され、ALU45
は両者の差を演算し、FBUSに出力する。この出力がステ
ートST91においてレジスタ(D_DELX)51にラッチされ
る。またステートST8において信号STRTがオンされ、ス
テートST91においてクロックTRANSがオンされる。
After the constant calculation is performed in this manner, the coordinate calculation is performed next (the embodiment corresponds to the state shown in FIG. 42). In the state ST8, the data of the register (D_DELX) 51 and the data of the shifter 54 which is twice the value of the register (DDXY) 47 are output to the AMBUS and the BMBUS, respectively.
Calculates the difference between the two and outputs the result to FBUS. This output is latched by the register (D_DELX) 51 in the state ST91. The signal STRT is turned on in the state ST8, and the clock TRANS is turned on in the state ST91.

ステートST10においてはAMBUSとBMBUSに、シフトレジ
スタ(D_DELX)51のデータとシフタ54のデータ(2DDX
Y)とが出力されており、ALU45により両者の差が演算さ
れ、FBUSに出力される。このときまたカウントイネーブ
ル信号CNTENX、CNTENYがオンされる。次に再びステート
91の処理が行われた後、ステートST11に移行する。ステ
ートST11においてはAMBUSとBMBUSにレジスタ(D_DELX)
51のデータと、レジスタ(DELY)49の値を2倍したシフ
タ56のデータとが出力され、ALU45により両者の和がFBU
Sに出力される。このFBUSのデータが次のステートST92
においてレジスタ(D_DELX)51にラッチされる。ステー
トST11においては信号CNTENXがオンされ、ステートST92
においてはクロックTRANSがオンされる。
In state ST10, the data of the shift register (D_DELX) 51 and the data of the shifter 54 (2DDX) are stored in AMBUS and BMBUS.
Y) is output, and the difference between the two is calculated by the ALU 45 and output to the FBUS. At this time, the count enable signals CNTENX and CNTENY are turned on again. Then state again
After the process of 91 is performed, the process proceeds to the state ST11. Register (D_DELX) in AMBUS and BMBUS in state ST11
The data of 51 and the data of the shifter 56 which is twice the value of the register (DELY) 49 are output, and the sum of both is
Output to S. This FBUS data is stored in the next state ST92.
Is latched by the register (D_DELX) 51 at In the state ST11, the signal CNTENX is turned on, and the state ST92
In, the clock TRANS is turned on.

そして所定のステートが繰り返された後、ステートST
12とST13においてクロックTRANSがオフされ、またオン
される。これにより計算により生成された座標が次段に
転送される。
After the predetermined state is repeated, the state ST
At 12 and ST13, the clock TRANS is turned off and on again. Thereby, the coordinates generated by the calculation are transferred to the next stage.

第45図は特殊処理のステートの状態遷移図である。第
41図のステートST5から、フラグZEROが論理1のときこ
の特殊処理が実行されるのであるが、フラグINP_ZYが論
理0のとき(入力線分がx軸に平行でないとき)ステー
トST20に、論理1のとき(入力線分がx軸に平行である
とき)ステートST26に、各々移行する。
FIG. 45 is a state transition diagram of the special processing state. No.
From state ST5 in FIG. 41, this special processing is executed when the flag ZERO is at logic 1; when the flag INP_ZY is at logic 0 (when the input line segment is not parallel to the x-axis), (When the input line segment is parallel to the x-axis), the state shifts to the state ST26.

ステートST20においてはカウンタ(CAPX)52の値がレ
ジスタ(D_DELX)51にセットされ、次のステートにおい
てレジスタ(BUSX)42からデータが読み出されるととも
に、タイミング調整のため、クロックFLGCLKがオンされ
る(ST21)。
In the state ST20, the value of the counter (CAPX) 52 is set in the register (D_DELX) 51. In the next state, data is read from the register (BUSX) 42, and the clock FLGCLK is turned on for timing adjustment (ST21). ).

ステートST26においてはレジスタ(D_DELX)51のデー
タとレジスタ(BUSX)42のデータの差が演算され、次の
ステートにおいてクロックFLGCLKがオンされる(ST26
1)。すなわち後のコーナ処理のため、ここで後述するD
IFとSAMの符号が求められる。ステートST261の次にステ
ートST21に移行する。
In state ST26, the difference between the data in the register (D_DELX) 51 and the data in the register (BUSX) 42 is calculated, and the clock FLGCLK is turned on in the next state (ST26).
1). That is, for later corner processing, D
IF and SAM codes are required. After the state ST261, the mobile terminal shifts to the state ST21.

ステートST21の次のステートではカウンタ(CAPX)52
にレジスタ(BUSX)42のデータがラッチされるととも
に、フラグSTRTがオンされ、かつコントロール信号DF/S
Mがセットされ、ALU45が出力するフラグSIGNがDIF/SAM
としてラッチされる(ST22)。さらにクロックTRANSが
オン(ST23)、オフ(ST24)、オン(ST25)された後、
第37図のステートST01に移行する。
In the state following state ST21, the counter (CAPX) 52
The data of the register (BUSX) 42 is latched, the flag STRT is turned on, and the control signal DF / S
M is set and the flag SIGN output by ALU45 is DIF / SAM
(ST22). After the clock TRANS is turned on (ST23), off (ST24), and on (ST25),
Move to the state ST01 in FIG.

第46図は出力線分はx軸に平行であるが、入力線分が
x軸に平行でない場合(ZERO&!INP_ZY)の特殊処理の
タイミングチャートである。ステートST20においてカウ
ンタ(CAPX)52のデータがマルチプレクサ44からAMBUS
へ、さらにALU45からFBUSへ出力され、レジスタ(D_DEL
X)51にラッチされる。ステートST21においてレジスタ
(BUSX)42のデータがAMBUS、さらにFBUSに読み出され
る。そしてタイミング調整のためクロックFLGCLKがオン
される。ステートST22においてFBUSの上のレジスタ(BU
SX)42のデータがカウンタ(CAPX)に52にラッチされ
る。またフラグSTRTがオンされるとともに、コントロー
ル信号DF/SMがセットされる。
FIG. 46 is a timing chart of special processing when the output line segment is parallel to the x-axis but the input line segment is not parallel to the x-axis (ZERO &! INP_ZY). In the state ST20, the data of the counter (CAPX) 52 is transmitted from the multiplexer 44 to the AMBUS.
Output from the ALU45 to the FBUS, register (D_DEL
X) Latched at 51. In state ST21, the data of the register (BUSX) 42 is read to AMBUS and further to FBUS. Then, the clock FLGCLK is turned on for timing adjustment. In state ST22, the register (BU
SX) 42 is latched by the counter (CAPX) 52. Further, the flag STRT is turned on, and the control signal DF / SM is set.

第47図は出力線分とともに入力線分がx軸に平行な場
合(ZERO&INP_ZY)の特殊処理のタイミングチャートで
ある。この場合はステートST26においてAMBUSとBMBUSに
レジスタ(D_DELX)51とレジスタ(BUSX)42のデータが
各々読み出されており、ALU45によりその差が演算さ
れ、FBUSへ出力される。ステートST261においてクロッ
クFLGCLKがオンされ、ALU45のフラグSIGNとZEROがシフ
トレジスタ62、63にラッチされる。
FIG. 47 is a timing chart of the special processing when the input line segment is parallel to the x-axis together with the output line segment (ZERO & INP_ZY). In this case, in the state ST26, the data of the register (D_DELX) 51 and the data of the register (BUSX) 42 are read to AMBUS and BMBUS, respectively, and the difference is calculated by the ALU 45 and output to the FBUS. In state ST261, the clock FLGCLK is turned on, and the flags SIGN and ZERO of the ALU 45 are latched in the shift registers 62 and 63.

第48図は第37図のステートST1においてMODEが3であ
った場合に実行されるコマンド転送処理の状態遷移図で
ある。ステートST2においてレジスタ(BUSX)42のデー
タが読み出され、ステートST3においてこのデータがカ
ウンタ(CAPY)53にラッチされ、フラグSTRTがオンされ
る。さらにステートST4乃至6において信号TRANSがオ
ン、オフ、オンされた後、第37図のステートST01に戻
る。
FIG. 48 is a state transition diagram of a command transfer process executed when MODE is 3 in state ST1 of FIG. In the state ST2, the data of the register (BUSX) 42 is read, and in the state ST3, the data is latched by the counter (CAPY) 53, and the flag STRT is turned on. Further, after the signal TRANS is turned on, off, and turned on in the states ST4 to ST6, the process returns to the state ST01 in FIG.

第49図はコマンド転送処理のタイミングチャートであ
る。ステートST2においてレジスタ(BUSX)42のデータ
がAMBUS、FBUSに読み出され、ステートST3においてカウ
ンタ(CAPY)53にラッチされる。またこのときフラグST
RTがオンされる。ステートST4乃至6において信号TRANS
がオン、オフ、オンされ、データが転送される。
FIG. 49 is a timing chart of the command transfer processing. In state ST2, the data in the register (BUSX) 42 is read out to AMBUS and FBUS, and latched in the counter (CAPY) 53 in state ST3. At this time, the flag ST
RT is turned on. In states ST4 to ST6, the signal TRANS
Are turned on, off, and on, and data is transferred.

第50図は第34図及び第35図における各信号の遅延状態
を表わしている。ステートカウンタ71はクロックSCLKが
入力されてから25ns後にPROM72に出力を発生し、PROM72
はステートカウンタ71から信号が入力されてから37ns後
に所定コントロール信号を出力する。レジスタ42、43、
47乃至51はPROM72よりコントロール信号が入力されてか
ら15ns後にABUS、BBUSに信号を出力し、マルチプレクサ
44は各レジスタから信号が入力されてから15ns後にAMBU
S、BMBUSに信号を出力する。ALU45はAMBUS、BMBUSから
データが入力されてから20ns後にCBUSにデータを出力
し、その時からさらに5ns後にフラグSIGN、ZEROを出力
する。また2の補数回路46はALU45からフラグが出力さ
れてから15ns後にFBUSにデータを出力する。
FIG. 50 shows a delay state of each signal in FIGS. 34 and 35. The state counter 71 generates an output to the PROM 72 25 ns after the clock SCLK is input, and the PROM 72
Outputs a predetermined control signal 37 ns after a signal is input from the state counter 71. Registers 42, 43,
47 to 51 output signals to ABUS and BBUS 15 ns after the control signal is input from PROM 72,
44 is the AMBU 15 ns after the signal is input from each register
Outputs signals to S and BMBUS. The ALU 45 outputs data to CBUS 20 ns after data is input from AMBUS and BMBUS, and outputs the flags SIGN and ZERO 5 ns after that. The two's complement circuit 46 outputs data to the FBUS 15 ns after the flag is output from the ALU 45.

クロックMEMCLKはクロックSCLKを反転し、さらに25ns
遅延したものであり、その立ち上がりエッジによりPROM
72の出力がラッチされる。
Clock MEMCLK inverts clock SCLK for an additional 25 ns
The PROM is delayed by its rising edge.
72 outputs are latched.

次にその直線座標選択部33について説明するが、その
前に直線座標選択の原理を説明する。外側のポリゴンは
時計方向に、内側のポリゴンは反時計方向に各々処理さ
れるものとされる。
Next, the linear coordinate selection unit 33 will be described, but before that, the principle of linear coordinate selection will be described. The outer polygon is processed clockwise, and the inner polygon is processed counterclockwise.

第51図に示すようにΔx−Δy<0のとき(SC=1の
とき)、その直線はx軸に対して45度以上の角度にな
る。換言すればy軸に対して45度以内の角度になる。こ
の場合直線を構成する点がx軸方向に2以上存在しない
ので、直線を構成するすべての点が選択される(LINE A
LL)。
As shown in FIG. 51, when Δx−Δy <0 (when SC = 1), the straight line has an angle of 45 degrees or more with respect to the x-axis. In other words, the angle is within 45 degrees with respect to the y-axis. In this case, since there are no more than two points constituting the straight line in the x-axis direction, all the points constituting the straight line are selected (LINE A
LL).

一方第52図に示すように直線がそのx軸に対する角度
が45度未満(Δx−Δy≧0、すなわちSC=0)であ
り、かつ右上がりであるとき、x軸方向に2以上の点が
存在する。直線の始点を(x1、y1)、終点を(x2
y2)、(x2−x1)の符号を示すフラグをSX(x2−x1≧0
のときSX=0、x2−x1<0のときSX=1)、(y2−y1
の符号を示すフラグをSY(y2−y1≧0のときSY=0、y2
−y1<0のときSY=1)とすると、左下に指向する直線
(第52図(a))の場合SX=1、SY=0、右上に指向す
る直線(第52図(b))の場合SX=0、SY=1となる。
これらの場合は始点(x1、y1)と、座標yを1だけイン
クリメントすることにより発生された座標が選択される
(LINE NOW)。
On the other hand, as shown in FIG. 52, when the angle of the straight line with respect to the x-axis is less than 45 degrees (Δx−Δy ≧ 0, that is, SC = 0) and the angle rises to the right, two or more points in the x-axis direction Exists. The starting point of the straight line (x 1, y 1), the end point (x 2,
The flag indicating the sign of (y 2 ) and (x 2 −x 1 ) is set to SX (x 2 −x 1 ≧ 0).
SX = 1) when SX = 0, x 2 -x 1 <0 when, (y 2 -y 1)
The flag indicating the sign of SY is set to SY (y = 0 when y 2- y 1 ≥ 0, y 2
Assuming that SY = 1 when −y 1 <0, a straight line directed to the lower left (FIG. 52 (a)) is SX = 1, SY = 0, and a straight line directed to the upper right (FIG. 52 (b)) In this case, SX = 0 and SY = 1.
In these cases, the starting point (x 1 , y 1 ) and the coordinates generated by incrementing the coordinate y by 1 are selected (LINE NOW).

さらに第53図に示すように、直線がそのx軸に対する
角度が45度未満(SC=0)であり、かつ右下がりである
ときもx軸方向に2以上の点が存在する。右下に指向す
る直線(第53図(a))の場合SX=0、SY=0、左上に
指向する直線(第53図(b))の場合SX=1、SY=1と
なる。これらの場合は終点(x2、y2)と、座標yを1だ
けインクリメントすることにより発生された座標の1つ
前の座標が選択される(LINE BFR)。このようにy座標
を1だけインクリメントした後、インクリメントする前
の座標を選択する場合があるので、後述するパイプライ
ンレジスタが2段(PIP1、PIP2)必要になる。
Further, as shown in FIG. 53, there are two or more points in the x-axis direction when the angle of the straight line with respect to the x-axis is less than 45 degrees (SC = 0) and the line goes down to the right. In the case of a straight line directed to the lower right (FIG. 53 (a)), SX = 0 and SY = 0, and in the case of a straight line directed to the upper left (FIG. 53 (b)), SX = 1 and SY = 1. In these cases, the end point (x 2 , y 2 ) and the coordinate immediately before the coordinate generated by incrementing the coordinate y by 1 are selected (LINE BFR). As described above, after incrementing the y coordinate by one, there is a case where the coordinate before the increment is selected, so that two stages (PIP1, PIP2) of pipeline registers described later are required.

第51図の場合はフラグSCが1、第52図の場合はフラグ
SCが0かつフラグSXとSYの排他的論理和が1、第53図の
場合はフラグSCが0かつフラグSXとSYの排他的論理和が
0であるから、これらのフラグから各場合を判定するこ
とができる。
In the case of FIG. 51, the flag SC is 1, and in the case of FIG. 52, the flag SC is set.
Since SC is 0 and the exclusive OR of the flags SX and SY is 1, and in the case of FIG. 53, the flag SC is 0 and the exclusive OR of the flags SX and SY is 0, each case is determined from these flags. can do.

次に直線座標選択部33について説明すると、その機能
は次の通りである。
Next, the function of the linear coordinate selection unit 33 will be described.

(1)座標計算部32より出力された座標(直線の補間処
理で生成された座標)のうち、x軸に対する傾きが45度
未満の線分の座標に対して上述した第52図及び第53図の
示した規則に従って座標を選択する。
(1) Among the coordinates output from the coordinate calculation unit 32 (coordinates generated by the straight line interpolation processing), the coordinates of a line segment whose inclination with respect to the x-axis is less than 45 degrees are described above with reference to FIGS. The coordinates are selected according to the rules shown in the figure.

(2)座標計算部32より出力された座標(直線の補間処
理で生成された座標)のうち、x軸に対する傾きが45度
以上の線分の座標に対しては、全ての座標を選択する。
(2) Among the coordinates output from the coordinate calculation unit 32 (coordinates generated by the linear interpolation processing), all coordinates are selected for coordinates of a line segment whose inclination with respect to the x-axis is 45 degrees or more. .

(3)座標計算部32より出力されるx軸と平行な線分の
始点、終点、並びにCADM(ソート手段22)用のコマンド
とデータを選択する。
(3) Select a start point and an end point of a line parallel to the x-axis output from the coordinate calculation unit 32, and a command and data for a CADM (sorting unit 22).

第54図は以上の機能を実行する直線座標選択部33のハ
ードウェアのブロック図である。同図において81はレジ
スタ付PALで構成されるシーケンサであり、図中左側に
示す各種の入力信号に対応して、パイプラインレジスタ
PIP2X83、PIP2Y85のラッチイネーブル信号ENFLGと、次
段(コーナ座標選択部34)の出力FIFO97、98(第74図)
の書き込みを制御する信号DATAENを発生する。パイプラ
インレジスタPIP1X82とPIP1Y84は第34図のカウンタ(CA
PX)52と(CAPY)53に各々接続されており、それらより
入力されるデータを全てラッチする。パイプラインレジ
スタPIP2X83、PIP2Y85は、前段のパイプラインレジスタ
PIP1X82、PIP1Y84より出力された座標のうち、フラグEN
FLGがオンのときの座標をラッチする。
FIG. 54 is a block diagram of hardware of the linear coordinate selection unit 33 that executes the above functions. In the figure, reference numeral 81 denotes a sequencer composed of a PAL with a register, which corresponds to a pipeline register corresponding to various input signals shown on the left side of the figure.
The latch enable signal ENFLG of PIP2X83 and PIP2Y85 and the output FIFOs 97 and 98 of the next stage (corner coordinate selector 34) (Fig. 74)
A signal DATAEN for controlling the writing of data is generated. The pipeline registers PIP1X82 and PIP1Y84 are the counters (CA
PX) 52 and (CAPY) 53, and latches all data input from them. The pipeline registers PIP2X83 and PIP2Y85 are the pipeline registers of the previous stage.
Of the coordinates output from PIP1X82 and PIP1Y84, flag EN
Latch the coordinates when FLG is on.

第55図は第54図の直線座標選択部33の状態遷移図であ
る。初期のステートST00において、次の条件のいずれか
が満足されたとき対応するステートに移行し、いずれの
条件も満足されないとき待機する。
FIG. 55 is a state transition diagram of the linear coordinate selection unit 33 in FIG. In the initial state ST00, the state shifts to the corresponding state when any of the following conditions is satisfied, and waits when none of the conditions is satisfied.

(1)フラグSTRTとOUT_SCが論理1かつフラグCMDとOUT
_ZYが論理0のとき(直線のx軸に対する角度が45以上
のとき)LINE ALLステート。
(1) Flags STRT and OUT_SC are logic 1 and flags CMD and OUT
LINE ALL state when _ZY is logic 0 (when the angle of the straight line to the x-axis is 45 or more).

(2)フラグSTRTが論理1かつフラグOUT_SC、フラグOU
T_SYとOUT_SXの排他的論理和($)、フラグCMD、フラ
グOUT_ZYのいずれもが論理0のとき(直線x軸に体する
角度が45度未満で右下がりの直線のとき)LINE BFRステ
ート。
(2) The flag STRT is logical 1, the flag OUT_SC, the flag OU
The LINE BFR state when the exclusive OR ($) of T_SY and OUT_SX, the flag CMD, and the flag OUT_ZY are all logical 0 (when the angle on the straight x-axis is less than 45 degrees and the straight line descends to the right).

(3)フラグSTRT及びフラグOUT_SYとOUT_SXの排他的論
理和が論理1、かつフラグOUT_SC、フラグCMD及びフラ
グOUT_ZYのいずれもが論理0のとき(直線x軸に対する
角度が45度未満で左下がりの直線のとき)LINE NOWステ
ート。
(3) When the exclusive OR of the flag STRT and the flags OUT_SY and OUT_SX is logic 1, and all of the flags OUT_SC, flag CMD, and flag OUT_ZY are logic 0 (the angle with respect to the linear x-axis is less than 45 degrees and When in a straight line) LINE NOW state.

(4)フラグSTRTとCMDが論理1のとき又は(#)フラ
グSTRTとOUT_ZYが論理1でフラグCMDが論理0のとき
(直線がx軸と平行なとき)CMND/ZEROステート。
(4) CMND / ZERO state when flags STRT and CMD are logic 1 or (#) flag STRT and OUT_ZY are logic 1 and flag CMD is logic 0 (when the straight line is parallel to the x-axis).

尚フラグCMDはCADM用のコマンド又はデータであるか
否かを表わしている。
The flag CMD indicates whether or not the command or data is for a CADM.

LINE ALL、LINE BFR、LINE NOW、CMND/ZEROの各ステ
ートにおいてフラグCNTOVRが論理1になったとき初期ス
テートに戻り、論理0のとき待機する。
In each of the states of LINE ALL, LINE BFR, LINE NOW, and CMND / ZERO, when the flag CNTOVR becomes logic 1, it returns to the initial state, and when it is logic 0, it stands by.

第56図はLINE ALLステートを表わしている。最初のス
テートST01において初期CNTENYがオンのときステートST
02に、フラグCNTOVRが論理1でクロックTRANSが処理0
のとき(出力用FIFOがFULLでないとき)ステートST03
に、各々移行する。ステートST02においては信号DATAEN
とENFLGがオンされた後、ステートST01に戻る。ステー
トST03においては信号DATAENとENFLGがオンされた後、
初期ステートST00に戻る。
FIG. 56 shows the LINE ALL state. When the initial CNTENY is ON in the first state ST01, the state ST
02, flag CNTOVR is logic 1 and clock TRANS is processing 0
State (when the output FIFO is not FULL) state ST03
, Respectively. In state ST02, the signal DATAEN
And ENFLG are turned on, and the process returns to state ST01. In state ST03, after the signals DATAEN and ENFLG are turned on,
Return to the initial state ST00.

第57図はLINE ALLステートの始点Co付近のタイミング
チャートを表わしている。ステートST01においてクロッ
クTRANSが論理1になると、カウンタ(CAPX)52と(CAP
Y)53にラッチされている始点Coのx座標とy座標がパ
イプラインレジスタPIP1X82とPIP1Y84に各々転送され
る。そして信号CNTENYが論理1になるとステートST02に
移行し、カウンタ(CAPX)52と(CAPY)53に次の点C1
x座標とy座標が各々ラッチされる。また信号TRANSが
論理1になると、パイプラインレジスタPIP1X82、PIP1Y
84の座標Cox、CoyがパイプラインレジスタPIP2X83、PIP
2Y85に、各々転送されるとともに、カウンタ(CAPX)52
と(CAPY)53の座標C1x、C1yがパイプラインレジスタPI
P1X82、PIP1Y84に、各々転送される。信号DATAEN、ENFL
Gが論理1になると再びステートST01に戻り、同様の動
作が繰り返され、パイプラインレジスタPIP1X82、PIP1Y
84に座標C2、C3、C4が順次入力され、またパイプライン
レジスタPIP2X83、PIP2Y85に、座標C1、C2、C3が順次転
送される。
FIG. 57 shows a timing chart near the start point Co of the LINE ALL state. When the clock TRANS becomes logic 1 in the state ST01, the counter (CAPX) 52 and (CAPX)
Y) The x-coordinate and y-coordinate of the start point Co latched in 53 are transferred to the pipeline registers PIP1X82 and PIP1Y84, respectively. The signal CNTENY is a shift to state ST02 becomes a logic 1, the counter (CAPx) 52 and (Capy) of C 1 53 the following points x and y coordinates are respectively latched. When the signal TRANS becomes logic 1, the pipeline registers PIP1X82, PIP1Y
84 coordinates Cox, Coy are pipeline registers PIP2X83, PIP
Each is transferred to 2Y85 and the counter (CAPX) 52
And (CAPY) 53, the coordinates C 1 x and C 1 y correspond to the pipeline register PI
Transferred to P1X82 and PIP1Y84, respectively. Signals DATAEN, ENFL
When G becomes logic 1, the state returns to the state ST01 again, and the same operation is repeated, and the pipeline registers PIP1X82, PIP1Y
Coordinates C 2 , C 3 , and C 4 are sequentially input to 84, and coordinates C 1 , C 2 , and C 3 are sequentially transferred to pipeline registers PIP2X83 and PIP2Y85.

第58図はLINE ALLステートの終点CN付近のタイミング
チャートを表わしている。この場合もステートST01と02
が繰り返され、点CN-2、CN-1の座標が順次パイプライン
レジスタPIP182、84、PIP283、85に転送されてくる。カ
ウンタ(CAPX)52、(CAPY)53に終点CNの座標がラッチ
されると、信号CNTOVRが論理1となる。ステートST02に
おいて信号CNTOVRが論理1になるとステートST03に移行
し、終点CNの座標をパイプラインレジスタPIP2X83、PIP
2Y85に転送した後、ステートST00に移行する。
FIG. 58 represents a timing chart in the vicinity of the end point C N of LINE ALL state. In this case also states ST01 and ST02
Are repeated, and the coordinates of the points C N-2 and C N-1 are sequentially transferred to the pipeline registers PIP182, 84, PIP283, and 85. Counter (CAPx) 52, the coordinate of the end point C N is latched in (CAPY) 53, signal CNTOVR becomes logical 1. Signal CNTOVR In state ST02 is a shift to state ST03 becomes a logic 1, coordinates the pipeline register endpoint C N PIP2X83, PIP
After the transfer to 2Y85, the flow shifts to the state ST00.

第59図はLINE ALLステートにおいて、パイプラインレ
ジスタPIP182、84とPIP283、85が座標で順次ラッチされ
るタイミングの様子を表わしている。いま始点aから終
点kまでの直線を構成する座標a乃至kがカウンタ(CA
PX)52、(CAPY)53において順次生成されると、これら
の座標は信号TRANSの立ち上がりエッジに同期してパイ
プラインレジスタPIP182、84に順次転送され、これらの
座標がすべて信号ENFLGが論理1のとき信号TRANSの立ち
上がりエッジに同期してパイプラインレジスタPIP283、
85にさらに順次転送される。
FIG. 59 shows how the pipeline registers PIP182, 84 and PIP283, 85 are sequentially latched by coordinates in the LINE ALL state. Now, coordinates a to k forming a straight line from the start point a to the end point k are counters (CA
PX) 52 and (CAPY) 53, these coordinates are sequentially transferred to the pipeline registers PIP 182 and 84 in synchronization with the rising edge of the signal TRANS, and these coordinates are all set to the signal ENFLG of logic 1 When the pipeline register PIP283, in synchronization with the rising edge of the signal TRANS,
It is further sequentially transferred to 85.

第60図はLINE BFRステートを表わしている。ステート
ST11において信号CNTENYが論理1のときステートST12
に、信号CNTOVRが論理1のときステートST13に、各々移
行し、それ以外のとき待機する。ステートST12において
信号DATAENとENFLGがオンされ、信号CNTOVRが論理0の
ときステートST11に戻り、論理1のときステートST13に
移行する。ステートST13において信号TRANSが論理1の
とき(出力FIFOが一杯のとき)待機し、論理0のときス
テートST14に移行する。ステートST14において信号DATA
ENとENFLGがオンにされた後、ステートST00に戻る。
FIG. 60 shows the LINE BFR state. State
State ST12 when signal CNTENY is logic 1 in ST11
Then, when the signal CNTOVR is at logic 1, the state shifts to the state ST13, and otherwise stands by. In the state ST12, the signals DATAEN and ENFLG are turned on. When the signal CNTOVR is logic 0, the process returns to the state ST11, and when the signal CNTOVR is logic 1, the process shifts to the state ST13. In the state ST13, when the signal TRANS is logic 1 (when the output FIFO is full), the process waits, and when the signal TRANS is logic 0, the process shifts to the state ST14. In state ST14, the signal DATA
After EN and ENFLG are turned on, the process returns to state ST00.

第61図はLINE BFRステートにおける始点Co付近のタイ
ミングチャートを表わしている。ステートST11において
始点Coに続いてその次の点C1の座標がPIP182、84にラッ
チされると、信号CNTENYが論理1になり、ステートST12
に移行する。ステートST12において信号DATAENとENFLG
が論理1にされるとともに、信号TRANSの立ち上がりエ
ッジにおいて、点C1の座標がパイプラインレジスタPIP2
83、85にラッチされる。その後ステートST11に戻る。こ
のようにしてy座標が1だけインクリメントした点
(C2、C5、C8・・・)の直前の点(C1、C4、C7・・・)
の座標のみがパイプラインレジスタPIP283、85に転送さ
れる。
FIG. 61 shows a timing chart near the start point Co in the LINE BFR state. When Following start Co coordinates thereof the following points C 1 is latched in PIP182,84 in state ST11, the signal CNTENY becomes logic 1, state ST12
Move to In state ST12, the signals DATAEN and ENFLG
Together but are in a logic 1 on the rising edge of the signal TRANS, point C 1 coordinates pipeline register PIP2
Latched at 83 and 85. Thereafter, the process returns to the state ST11. In this way, the points (C 1 , C 4 , C 7, ...) Immediately before the points (C 2 , C 5 , C 8, ...) Where the y coordinate is incremented by one
Are transferred to the pipeline registers PIP283 and 85.

第62図はLINE BFRステートにおける終点CNの付近のタ
イミングチャートを表わしている。y座標が1だけイン
クリメントされた点CN-3、CN-1の直前の点CN-4、CN-2
パイプラインレジスタPIP283、85に順次ラッチされた
後、ステートST11において終点CNの座標がカウンタ(CA
P)52、53により生成され、信号CNTOVRが論理1になる
と、ステートST13に移行する。ステートST13において信
号TRANSが論理0になるとステートST14に移行し、信号D
ATAENのENFLGが論理1に設定され、パイプラインレジス
タPIP283、85に終点CNがラッチされる。
FIG. 62 represents a timing chart in the vicinity of the end point C N in LINE BFR state. After the point y coordinate is incremented by 1 C N-3, C just before the point of N-1 C N-4, C N-2 are sequentially latched into pipeline register PIP283,85, end point C in the state ST11 The coordinate of N is the counter (CA
P) When the signal CNTOVR is generated by 52 and 53 and becomes logic 1, the process proceeds to the state ST13. When the signal TRANS becomes logic 0 in the state ST13, the processing shifts to the state ST14 and the signal D
ATAEN's ENFLG is set to logic one, and the endpoint C N is latched in the pipeline registers PIP283,85.

終点CN自身がy座標を1だけインクリメントしたもの
である場合、第62図に破線で示すように、ステートST12
において点CN-1がパイプラインレジスタPIP283、85にラ
ッチされる。そしてステートST12において信号CNTOVRが
論理1になり、ステートST13に移行する。
If the end point CN itself is obtained by incrementing the y-coordinate by 1, as shown by the broken line in FIG.
At, the point CN -1 is latched in the pipeline registers PIP283 and 85. Then, in the state ST12, the signal CNTOVR becomes logic 1, and the state shifts to the state ST13.

第63図はLINE BFRステートにおいてパイプラインレジ
スタPIP182、84、PIP283、85に座標が順次ラッチされる
タイミングの様子を表わしている。始点aから終点jま
での直線を構成する座標a乃至jがカウンタ(CAP)5
2、53において順次生成されると、これらの座標は信号T
RANSの立ち上がりエッジに同期してパイプラインレジス
タPIP182、84に順次転送される。これらの座標のうち信
号ENFLGが論理1となるタイミングの座標b、d、f、
h、jのみが信号TRANSに同期してパイプラインレジス
タPIP283、85に転送される。
FIG. 63 shows the timing at which coordinates are sequentially latched in pipeline registers PIP182, 84, PIP283, 85 in the LINE BFR state. Coordinates a to j forming a straight line from the start point a to the end point j are counters (CAP) 5
When sequentially generated at 2, 53, these coordinates are
The data is sequentially transferred to the pipeline registers PIP182 and 84 in synchronization with the rising edge of RANS. Among these coordinates, the coordinates b, d, f, at the timing when the signal ENFLG becomes logic 1
Only h and j are transferred to the pipeline registers PIP283 and 85 in synchronization with the signal TRANS.

第64図はLINE NOWステートの信号ENFLGに関する状態
遷移図である。ステートFST1を経てステートFST2に移行
した後、信号CNTENYとTRANSが論理0であるときステー
トFST3に、信号CNTENYが論理1のときステートFST31
に、各々移行し、それ以外のとき待機する。ステートFS
T3において信号ENFLGがオンされた後ステートFST4に移
行する。またステートFST31においては信号ENFLGがオン
された後ステートFST6に移行する。
FIG. 64 is a state transition diagram relating to the signal ENFLG in the LINE NOW state. After transitioning to state FST2 via state FST1, the state changes to state FST3 when the signals CNTENY and TRANS are logic 0, and to state FST31 when the signal CNTENY is logic 1
, And wait at other times. State FS
After the signal ENFLG is turned on at T3, the state shifts to the state FST4. In the state FST31, after the signal ENFLG is turned on, the state shifts to the state FST6.

ステートFST4においては信号CNTENYが論理1のときス
テートFST5を介してFST6に移行し、それ以外のとき待機
する。ステートFST6において信号CNTENYとTRANSが論理
0のときステートFST7に、信号CNTENYが論理1のときス
テートFST8に、各々移行し、それ以外のとき待機する。
ステートFST7において信号CNTOVRが論理0のときステー
トFST4に、論理1のときステートST00に、各々移行す
る。ステートFST8においては信号ENFLGがオンされた後
ステートFST6に戻る。
In the state FST4, when the signal CNTENY is logic 1, the processing shifts to the state FST6 via the state FST5, and otherwise stands by. In the state FST6, the state shifts to the state FST7 when the signals CNTENY and TRANS are logic 0, to the state FST8 when the signal CNTENY is logic 1, and waits in other cases.
In the state FST7, the state shifts to the state FST4 when the signal CNTOVR is logic 0, and to the state ST00 when the signal CNTOVR is logic 1. In state FST8, the signal returns to state FST6 after the signal ENFLG is turned on.

第65図はLINE NOWステートの信号DATAENに関する状態
遷移図である。ステートST1において信号CNTENYが論理
1のときステートST2に、信号CNTOVRが論理1のときス
テートST00に、各々移行し、それ以外のとき待機する。
ステートST2においては信号DATAENがオンされた後ステ
ートST1に戻る。
FIG. 65 is a state transition diagram relating to the signal DATAEN in the LINE NOW state. In the state ST1, the state transitions to the state ST2 when the signal CNTENY is at logic 1 and to the state ST00 when the signal CNTOVR is at logic 1, and waits otherwise.
In the state ST2, after the signal DATAEN is turned on, the process returns to the state ST1.

第66図はLINE NOWステートにおける始点Co付近のタイ
ミングチャートである。信号ENFLGに関して先に説明す
ると、ステートFST1においてカウンタ(CAPX)52、(CA
PY)53にラッチされている始点Coがパイプラインレジス
タPIP1X82、PIP1Y84に転送された後、ステートFST3にお
いて信号ENFLGが論理1に設定される。ステートFST3に
おいて信号TRANSの立ち上がりエッジにおいてパイプラ
インレジスタPIP1X82、PIP1Y84のラッチ座標Coがパイプ
ラインレジスタPIP2X83、PIP2Y85に転送される。ステー
トFST4において信号CNTENYが論理1とされる。ステート
FST7において信号ENFLGが論理1とされると、パイプラ
インレジスタPIP1X82、PIP1Y84のラッチ座標C2がパイプ
ラインレジスタPIP2X83、PIP2Y85に転送される。このよ
うにしてy座標が1だけインクリメントされたときの点
C0、C2、C4・・・がパイプラインレジスタPIP2X83、PIP
2Y85に順次転送される。
FIG. 66 is a timing chart near the start point Co in the LINE NOW state. The signal ENFLG will be described first. In the state FST1, the counter (CAPX) 52, (CA
After the start point Co latched in (PY) 53 is transferred to the pipeline registers PIP1X82 and PIP1Y84, the signal ENFLG is set to logic 1 in the state FST3. In the state FST3, at the rising edge of the signal TRANS, the latch coordinates Co of the pipeline registers PIP1X82 and PIP1Y84 are transferred to the pipeline registers PIP2X83 and PIP2Y85. In the state FST4, the signal CNTENY is set to logic 1. State
When the signal ENFLG is a logic 1 in FST7, latch coordinates C 2 of the pipeline register PIP1X82, PIP1Y84 is transferred to the pipeline register PIP2X83, PIP2Y85. The point when the y coordinate is incremented by 1 in this way
C 0 , C 2 , C 4 ... are pipeline registers PIP2X83, PIP
Transferred sequentially to 2Y85.

始点C0の次の点C1から点C4まで連続してy座標がイン
クリメントされている場合、ステートFST6とFST8が繰り
返され、第66図に破線で示すように、ステートFST8にな
る度に信号ENFLGがオンされ、これらの座標がパイプラ
インレジスタPIP2X83、PIP2Y85に順次転送される。
If the y coordinate continuously from the following points C 1 of the start point C 0 to the point C 4 is incremented, the state FST6 and FST8 is repeated, as indicated by a broken line in the 66 figures, whenever made in the state FST8 The signal ENFLG is turned on, and these coordinates are sequentially transferred to the pipeline registers PIP2X83 and PIP2Y85.

次に信号DATAENについて説明すると、ステートST1に
おいて信号CNTENYが論理1になるとステートST2に移行
し、ステートST2において信号DATAENが論理1に設定さ
れる。
Next, the signal DATAEN will be described. When the signal CNTENY changes to logic 1 in the state ST1, the process shifts to the state ST2, and the signal DATAEN is set to logic 1 in the state ST2.

第67図はLINE NOWステートの終点CN付近におけるタイ
ミングチャートである。最初に信号ENFLGについて説明
すると、ステートFST4において信号CNTENYが論理1にな
り、ステートFST7において信号ENFLGが論理1になる
と、ステートFST7においてパイプラインレジスタPIP1X8
2、PIP1Y84のラッチ座標CN-3がパイプラインレジスタPI
P2X83、PIP2Y85に転送される。再びステートFST4に戻
り、信号CNTENYが論理1になると、ステートFST7におい
て論理1になり、パイプラインレジスタPIP1X82、PIP1Y
84ラッチ座標CN-1がパイプラインレジスタPIP2X83、PIP
2Y85に転送される。
67 Figure is a timing chart in the vicinity of the end point C N of LINE the NOW state. First, the signal ENFLG will be described. When the signal CNTENY becomes logic 1 in the state FST4, and the signal ENFLG becomes logic 1 in the state FST7, the pipeline register PIP1X8 in the state FST7.
2.The latch coordinate C N-3 of PIP1Y84 is the pipeline register PI.
Transferred to P2X83, PIP2Y85. Returning to the state FST4 again, when the signal CNTENY becomes logic 1, the logic becomes 1 in state FST7, and the pipeline registers PIP1X82, PIP1Y
84 latch coordinates C N-1 are pipeline registers PIP2X83, PIP
Transferred to 2Y85.

終点CNもy座標をインクリメントした座標であると
き、第67図に破線で示すように、ステートFST6において
信号CNTENYが論理1となり、ステートFST8に移行する。
ステートFST8で信号ENFLGがオンされた後、ステートFST
6を介してステートFST7に移行したとき再び信号ENFLGが
オンされる。これにより終点CNがパイプラインレジスタ
PIP1X82、PIP1Y84からパイプラインレジスタPIP2X83、P
IP2Y85に転送される。
When the end point C N also coordinates incrementing the y-coordinate, as shown by the broken line in the 67 figures, the signal CNTENY the state FST6 transitions logic 1, and the state FST8.
After signal ENFLG is turned on in state FST8, state FST
When the state transits to the state FST7 via 6, the signal ENFLG is turned on again. This causes the end point CN to be a pipeline register
From PIP1X82, PIP1Y84 to pipeline registers PIP2X83, P
Transferred to IP2Y85.

次に信号DATAENについて説明すると、ステートST1とS
T2が繰り返され、ステートST2において信号DATAENが論
理1に設定される。
Next, the signal DATAEN will be described.
T2 is repeated, and the signal DATAEN is set to logic 1 in the state ST2.

第68図はLINE NOWステートにおいて始点aから終点j
までの点a乃至jにより構成される直線の各点が、パイ
プラインレジスタPIP1X82、PIP1Y84からパイプラインレ
ジスタPIP2X83、PIP2Y85に順次転送されるタイミングチ
ャートである。
Fig. 68 shows the start point a to end point j in the LINE NOW state.
This is a timing chart in which each point of a straight line constituted by the points a to j is sequentially transferred from the pipeline registers PIP1X82 and PIP1Y84 to the pipeline registers PIP2X83 and PIP2Y85.

カウンタ(CAPX)52、(CAPY)53の生成する座標a乃
至jはすべてパイプラインレジスタPIP1X82、PIP1Y84に
順次転送されるが、信号ENFLGはy座標がインクリメン
トされた点に対応して発生されるので、点a、c、e、
g、iのみがパイプラインレジスタPIP1X82、PIP1Y84か
らパイプラインレジスタPIP2X83、PIP2Y85に順次転送さ
れる。
All the coordinates a to j generated by the counters (CAPX) 52 and (CAPY) 53 are sequentially transferred to the pipeline registers PIP1X82 and PIP1Y84. However, since the signal ENFLG is generated corresponding to the point where the y coordinate is incremented, , Points a, c, e,
Only g and i are sequentially transferred from pipeline registers PIP1X82 and PIP1Y84 to pipeline registers PIP2X83 and PIP2Y85.

第69図はCMND/ZEROステートの状態遷移図である。ス
テートST21を介してステートST22に移行したとき、信号
TRANSが論理1であれば待機し、論理0であればステー
トST23に移行する。ステートST23において信号ENFLGとD
ATAENがオンされた後、ステートST00に戻る。
FIG. 69 is a state transition diagram of the CMND / ZERO state. When a transition is made to state ST22 via state ST21, a signal
If TRANS is logical 1, the process waits. If logical 0, the process proceeds to state ST23. In state ST23, signals ENFLG and D
After ATAEN is turned on, the process returns to state ST00.

第70図はCMND/ZEROステートにおけるコマンドCMNDの
タイミングチャートである。ステートST00においてカウ
ンタ(CAPY)53にラッチされたコマンドCMNDはステート
ST21においてパイプラインレジスタPIP1Y84に転送され
る。ステートST23において信号ENFLGが論理1に設定さ
れると、パイプラインレジスタPIP1Y84のコマンドCMND
がパイプラインレジスタPIP2Y85に転送される。
FIG. 70 is a timing chart of the command CMND in the CMND / ZERO state. The command CMND latched by the counter (CAPY) 53 in the state ST00 is the state
In ST21, the data is transferred to the pipeline register PIP1Y84. When the signal ENFLG is set to logic 1 in the state ST23, the command CMND of the pipeline register PIP1Y84
Is transferred to the pipeline register PIP2Y85.

第71図は入力直線がx軸に対して45度以上(SC=0)
であり、出力直線がx軸に平行である場合のCMND/ZERO
ステートにおけるZERO座標(x軸に平行な線分のデー
タ)のタイミングチャートである。ステートST00におい
てカウンタ(CAPX)52、(CAPY)53に出力直線の終点CN
がラッチされると、この座標がステートST21においてパ
イプラインレジスタPIP1X82、PIP1Y84に転送される。ス
テートST23において信号ENFLGとDATAENが論理1とされ
たとき、パイプラインレジスタPIP1X82、PIP1Y84の座標
CNがパイプラインレジスタPIP2X83、PIP2Y85に転送され
る。
Fig. 71 shows that the input straight line is 45 degrees or more with respect to the x axis (SC = 0)
CMND / ZERO when the output straight line is parallel to the x-axis
It is a timing chart of ZERO coordinates (data of a line parallel to the x-axis) in a state. In state ST00, counters (CAPX) 52 and (CAPY) 53 are connected to the end point C N of the output straight line.
Are latched, the coordinates are transferred to the pipeline registers PIP1X82 and PIP1Y84 in the state ST21. When the signals ENFLG and DATAEN are set to logic 1 in the state ST23, the coordinates of the pipeline registers PIP1X82 and PIP1Y84
C N is transferred to the pipeline register PIP2X83, PIP2Y85.

第72図は入力直線がx軸に対して45度未満(SC=1)
であり、出力直線がx軸に平行な場合のCMND/ZEROステ
ートにおけるZERO座標のタイミングチャートである。ス
テートST00においてカウンタ(CAPX)52、(CAPY)53に
ラッチされた出力線分の終点CNの座標は、ステートST21
においてパイプラインレジスタPIP1X82、PIP1Y84に転送
される。このときパイプラインレジスタPIP2X83、PIP2Y
85には出力線分の始点(入力線分の終点)CN′の直前の
点CN′の座標がラッチされている。ステートST23におい
て信号ENFLGとDATAENとが論理1に設定されると、パイ
プラインレジスタPIP1X82、PIP1Y84の座標CNがパイプラ
インレジスタPIP2X83、PIP2Y85に転送される。
Figure 72 shows that the input straight line is less than 45 degrees to the x-axis (SC = 1)
7 is a timing chart of ZERO coordinates in the CMND / ZERO state when the output straight line is parallel to the x-axis. Counter (CAPx) 52 in the state ST00, the coordinate of the end point C N output line latched by the (Capy) 53, the state ST21
Are transferred to the pipeline registers PIP1X82 and PIP1Y84. At this time, pipeline registers PIP2X83 and PIP2Y
In 85, the coordinates of the point C N 'immediately before the start point of the output line segment (end point of the input line segment) C N ' are latched. When a signal ENFLG and DATAEN is set to a logic 1 in the state ST23, the coordinates C N of the pipeline register PIP1X82, PIP1Y84 is transferred to the pipeline register PIP2X83, PIP2Y85.

次にコーナ座標選択部34について説明する。コーナ座
標選択部34は次の機能を有する。
Next, the corner coordinate selection unit 34 will be described. The corner coordinate selector 34 has the following functions.

(1)前段の直線座標選択部33(パイプラインレジスタ
PIP2X83、PIP2Y85)から転送される座標のうち、線分の
座標は所定の規則に従ってコーナの選択処理を行い、コ
ーナ以外の点とともに出力用FIFOに転送する。
(1) Linear coordinate selector 33 (pipeline register)
Among the coordinates transferred from the PIP2X83 and PIP2Y85), the coordinates of the line segment are subjected to corner selection processing according to a predetermined rule, and transferred to the output FIFO together with points other than the corners.

(2)前段の直線座標選択部33から転送される座標のう
ち、x軸に平行な線分の始点と終点はレジスタ(MIN9
1、MAX92)にラッチする。
(2) Of the coordinates transferred from the linear coordinate selection unit 33 in the preceding stage, the start point and the end point of the line segment parallel to the x-axis are stored in the register (MIN9
1, latch to MAX92).

(3)前段の直線座標選択部33から転送される座標のう
ち、CADM(ソート)用のコマンド及びデータはそのまま
出力用FIFOに転送する。
(3) Among the coordinates transferred from the linear coordinate selection section 33 in the preceding stage, the command and data for CADM (sort) are transferred to the output FIFO as they are.

上記(1)におけるコーナの選択処理のため第73図に
示すように、所定の点に入力する入力直線とそこから出
力する出力直線のステータスからコーナが分類され、各
コーナ毎に処理内容が定められる。
As shown in FIG. 73 for the corner selection processing in the above (1), the corners are classified based on the status of the input straight line input to a predetermined point and the output straight line output therefrom, and the processing content is determined for each corner. Can be

入力直線の終点で有効な点のx座標をエンドX、出力
直線の始点で有効な点のx座標をスタートXとし、この
2点の選択、記憶処理がコーナ選択処理となる。選択さ
れる座標は同一のy軸上の点であるので(描画のスキャ
ン方向がx軸方向なので)、x座標のみとなる。
The x coordinate of a valid point at the end point of the input straight line is defined as end X, and the x coordinate of a valid point at the start point of the output straight line is defined as start X. The selection and storage of these two points is the corner selection processing. Since the selected coordinates are points on the same y-axis (since the drawing scan direction is the x-axis direction), only the x-coordinate is used.

コーナは通常のコーナ(A1、B1、A4、B4)と、特殊コ
ーナの始まり(A2、B2、A3、B3)と、特殊コーナの途中
(A2′、B2′、A3′、B3′)と、特殊コーナからの脱出
(A1′、B1′、A4′、B4′)とに大きく分類される。
The corners include the normal corners (A1, B1, A4, B4), the beginning of special corners (A2, B2, A3, B3), and the middle of special corners (A2 ', B2', A3 ', B3'). Escape from special corners (A1 ', B1', A4 ', B4').

これらのコーナの定義をまとめると、第4表のように
なる。
Table 4 summarizes the definitions of these corners.

尚第4表中、入力直線がx軸に平行(INP_ZY=1)で
あるコーナA1′、B1′、A4′、B4′、A2′、B2′、A
3′、B3′におけるINP_SYは、入力直線(x軸と平行)
のさらに前の直線でx軸に平行になる直前の直線のステ
ータスとされる。
In Table 4, corners A1 ', B1', A4 ', B4', A2 ', B2', A where the input straight line is parallel to the x-axis (INP_ZY = 1)
INP_SY at 3 'and B3' is the input straight line (parallel to the x axis)
Is the status of the straight line just before becoming parallel to the x-axis.

例えばコーナA1は、入力直線がx軸に平行でなく(IN
P_ZY=0)、かつ下に向かっており(INP_SY=0)、ま
た出力直線もx軸に平行でなく(OUT_ZY=0)、かつ下
に向かっている(OUT_SY=0)場合として定義される。
またコーナA2は、入力直線がx軸に平行でなくかつ下に
向かっており、出力直線がx軸に平行(OUT_ZY=1)
で、左方向に向かっている(OUT_SX=1)場合として定
義される。
For example, at corner A1, the input straight line is not parallel to the x-axis (IN
P_ZY = 0) and downward (INP_SY = 0), and the output straight line is not parallel to the x-axis (OUT_ZY = 0) and downward (OUT_SY = 0).
In the corner A2, the input straight line is not parallel to the x axis and is directed downward, and the output straight line is parallel to the x axis (OUT_ZY = 1).
, And is defined as a case where the vehicle is moving leftward (OUT_SX = 1).

コーナA1′は入力直線がx軸に平行であり(INP_ZY=
1)、出力直線がx軸と平行でなく(OUT_ZY=0)、か
つ下を向いている(OUT_SY=0)場合であって、さらに
x軸と平行な入力直線より前の直線でx軸に平行になる
直前の直線が下を向いている(INP_SY=0)場合であ
る。従ってこのコーナA1′には、x軸と平行な直線が左
右に複数回往復する場合も含まれる。
In corner A1 ', the input straight line is parallel to the x-axis (INP_ZY =
1) When the output straight line is not parallel to the x-axis (OUT_ZY = 0) and faces downward (OUT_SY = 0), and the straight line before the input straight line parallel to the x-axis is This is the case where the straight line immediately before becoming parallel faces downward (INP_SY = 0). Therefore, the corner A1 'includes a case where a straight line parallel to the x-axis reciprocates left and right a plurality of times.

特殊コーナの始まり(A2、B2、A3、B3)と特殊コーナ
の途中(A2′、B2′、A3′、B3′)の各コーナに対応し
てSAM又はDIFのモードが設定(定義)される。コーナA
4′は、入力直線がx軸と平行(INP_ZY=1)、出力直
線がx軸と平行でなく(OUT_ZY=0)かつ上を向いてお
り(OUT_SY=1)、さらにx軸と平行な入力直線の前の
直線でx軸に平行になる直前の直線が下を向いている
(INP_SY=0)ものとして定義されるので、2つの場合
が存在する。すなわち入力直線とその前の直線との交点
の座標(x座標)が入力直線と出力直線の交点の座標
(x座標)より大きい問題(DIFモードの場合)と小さ
い問題(SAMモードの場合)である。DIFモードは直線の
ベクトル方向が時計回りを、SAMモードは反時計回り
を、各々意味する。後述するコーナ選択処理においてDI
Fモードの場合2つの点が選択され、SAMモードの場合い
ずれの点も選択されない。このことはコーナB4′におい
ても同様である。
The mode of SAM or DIF is set (defined) corresponding to each corner at the beginning of the special corner (A2, B2, A3, B3) and at the middle of the special corner (A2 ', B2', A3 ', B3'). . Corner A
4 'indicates that the input straight line is parallel to the x-axis (INP_ZY = 1), the output straight line is not parallel to the x-axis (OUT_ZY = 0) and points upward (OUT_SY = 1), and the input straight line is parallel to the x-axis. There are two cases because the straight line before the straight line, which is just before being parallel to the x-axis, is defined as facing down (INP_SY = 0). That is, the problem (in the case of DIF mode) and the problem (in the case of SAM mode) that the coordinate (x coordinate) of the intersection of the input straight line and the straight line before it is larger than the coordinate (x coordinate) of the intersection of the input straight line and the output straight line. is there. In the DIF mode, the vector direction of the straight line means clockwise, and in the SAM mode, it means counterclockwise. DI in the corner selection processing described later
In F mode, two points are selected, and in SAM mode, neither point is selected. The same applies to the corner B4 '.

第74図はコーナ座標選択部34のハードウェアのブロッ
ク図である。91、92はレジスタMINとレジスタMAXであ
り、コンパレータCMP/MUX95の演算後の最小データ又は
最大データを各々記憶する。93はパイプラインレジスタ
PIP2X83の出力を一時的に記憶するレジスタACCである。
94はレジスタMIN91、レジスタMAX92、又はレジスタACC9
3の出力のいずれか1つを選択するマルチプレクサであ
る。コンパレータCMP/MUX95は演算後の大きいデータ又
は小さいデータを出力するか、あるいはパイプラインレ
ジスタPIP2X83の出力をスルーする。97はコンパレータC
MP/MUX95が出力するx座標をラッチする出力FIFO−X、
98はパイプラインレジスタPIP2Y85が出力するy座標を
ラッチする出力FIFO−Yである。
FIG. 74 is a block diagram of the hardware of the corner coordinate selection unit. Reference numerals 91 and 92 denote registers MIN and MAX, respectively, which store the minimum data or the maximum data after the operation of the comparator CMP / MUX95. 93 is a pipeline register
This register ACC temporarily stores the output of the PIP2X83.
94 is register MIN91, register MAX92, or register ACC9
A multiplexer for selecting any one of the three outputs. The comparator CMP / MUX 95 outputs large data or small data after the operation, or passes the output of the pipeline register PIP2X83. 97 is comparator C
Output FIFO-X that latches the x coordinate output by MP / MUX95,
Reference numeral 98 denotes an output FIFO-Y for latching the y coordinate output from the pipeline register PIP2Y85.

このコーナ座標選択部34による各コーナ毎の処理をま
とめると次のようになる。
The processing for each corner by the corner coordinate selection unit 34 is summarized as follows.

コーナA1のときコーナにおけるエンドXをレジスタAC
C93にいったん格納し、さらにその内容とスタートXを
比較し、大きい方を選択する(1データ選択)。
When corner A1, the end X at the corner is set to register AC
Once stored in C93, the content is compared with the start X, and the larger one is selected (1 data selection).

コーナA4のときコーナにおけるエンドXとスタートX
をそのまま選択する(2データ選択)。
End X and Start X at corner A4
Is selected as it is (2 data selection).

コーナB1のときコーナにおけるエンドXをレジスタAC
C93にいったん格納し、さらにその内容とスタートXを
比較して小さい方を選択する(1データ選択)。
When corner B1, the end X at the corner is registered in the register AC.
Once stored in C93, the contents are compared with the start X, and the smaller one is selected (1 data selection).

コーナB4のときコーナにおけるエンドXとスタートX
をそのまま選択する(2データ選択)。
End X and Start X at corner B4
Is selected as it is (2 data selection).

コーナA1′のときレジスタMAX92の値と、コーナにお
けるスタートXとを比較し、大きい方を選択する(1デ
ータ選択)。
At the corner A1 ', the value of the register MAX92 is compared with the start X at the corner, and the larger one is selected (1 data selection).

コーナA4′のときDIF/SAMモードがDIFモードであれ
ば、レジスタMAX92の値を選択し、さらにレジスタMIN91
の値とスタートXを比較して小さい方を選択する(2デ
ータ選択)。SAMモードであれば選択しない(0デー
タ)。
If the DIF / SAM mode is DIF mode at corner A4 ', select the value of register MAX92 and
Is compared with the start X, and the smaller one is selected (2 data selection). Not selected in SAM mode (0 data).

コーナB1′のときレジスタMIN91の値と、コーナにお
けるスタートXとを比較して小さい方を選択する(1デ
ータ選択)。
At the corner B1 ', the value of the register MIN91 is compared with the start X at the corner to select the smaller one (1 data selection).

コーナB4′のときDIF/SAMモードがDIFモードであれば
レジスタMIN91の値を選択し、さらにレジスタMAX92の値
とスタートXを比較して大きい方を選択する(2データ
選択)。SAMモードであれば選択しない(0データ)。
If the DIF / SAM mode is the DIF mode at the corner B4 ', the value of the register MIN91 is selected, and the larger value is selected by comparing the value of the register MAX92 with the start X (2 data selection). Not selected in SAM mode (0 data).

コーナA2のときDIF/SAMモードをDIFとし、出力直線の
終点のx座標をレジスタMIN91に格納し、さらにコーナ
のスタートXをレジスタMAX92とレジスタ(D_DELX)51
(第34図)に格納する(0データ)。レジスタ(D−DE
LX)51への格納は第45図に示す座標計算における特殊処
理のステートST20において行われている。
At the corner A2, the DIF / SAM mode is set to DIF, the x coordinate of the end point of the output straight line is stored in the register MIN91, and the start X of the corner is set to the register MAX92 and the register (D_DELX) 51.
(0 data). Register (D-DE
LX) 51 is stored in the special processing state ST20 in the coordinate calculation shown in FIG.

コーナA3のときDIF/SAMモードをSAMとし、出力直線の
終点のx座標をレジスタMAX92に格納し、さらにコーナ
のスタートXをレジスタMIN91とレジスタ(D_DELX)51
に格納する(0データ)。
At the corner A3, the DIF / SAM mode is set to SAM, the x coordinate of the end point of the output straight line is stored in the register MAX92, and the start X of the corner is set to the register MIN91 and the register (D_DELX) 51.
(0 data).

コーナB2のときDIF/SAMモードをSAMとし、出力直線の
終点のx座標をレジスタMIN91に格納し、さらにコーナ
のスタートXをレジスタMAX92とレジスタ(D_DELX)51
に格納する(0データ)。
In the case of corner B2, the DIF / SAM mode is set to SAM, the x coordinate of the end point of the output straight line is stored in the register MIN91, and the start X of the corner is set to the register MAX92 and the register (D_DELX) 51.
(0 data).

コーナB3のときDIF/SAMモードをDIFとし、出力直線の
終点のx座標をレジスタMAX92に格納し、さらにコーナ
のスタートXをレジスタMIN91とレジスタ(D_DELX)51
に格納する(0データ)。
At the corner B3, the DIF / SAM mode is set to DIF, the x coordinate of the end point of the output straight line is stored in the register MAX92, and the start X of the corner is set to the register MIN91 and the register (D_DELX) 51.
(0 data).

コーナA2′のときレジスタ(D_DELX)51に保存されて
いる値(x軸と初めて平行になった直線の始点のx座標
値)と出力直線の終点のx座標値を比較して、レジスタ
(D_DELX)51の値の方が大きければモードをDIFとし、
小さければSAMとする。出力直線の終点のx座標をレジ
スタMIN91の値を比較し、小さな方をレジスタMIN91に格
納する(0データ)。この比較処理は第45図に示す座標
計算における特殊処理のステートST26において行われ
る。
At the corner A2 ', the value stored in the register (D_DELX) 51 (the x-coordinate value of the starting point of the straight line parallel to the x-axis for the first time) is compared with the x-coordinate value of the ending point of the output straight line, and the register (D_DELX ) If the value of 51 is larger, set the mode to DIF,
If smaller, SAM. The x coordinate of the end point of the output straight line is compared with the value of the register MIN91, and the smaller one is stored in the register MIN91 (0 data). This comparison processing is performed in the state ST26 of the special processing in the coordinate calculation shown in FIG.

コーナA3′のときレジスタ(D_DELX)51に保存されて
いる値(x軸と初めて平行になった直線の始点のx座標
値)と出力直線の終点のx座標を比較して、レジスタ
(D_DELX)51の値の方が大きければDIF/SAMモードをDIF
とし、小さければSAMとする。出力直線の終点のx座標
とレジスタMAX92の値を比較し、大きな方をレジスタMAX
92に格納する(0データ)。
At the corner A3 ', the value stored in the register (D_DELX) 51 (the x-coordinate value of the start point of the straight line parallel to the x-axis for the first time) is compared with the x-coordinate of the end point of the output straight line, and the register (D_DELX) If the value of 51 is larger, DIF / SAM mode is set to DIF
And SAM if smaller. Compare the x-coordinate of the end point of the output straight line with the value in the register MAX92, and determine the larger one in the register MAX.
Stored in 92 (0 data).

コーナB2′のときレジスタ(D_DELX)51に保存されて
いる値(x軸と初めて平行になった直線の始点のx座標
値)と出力直線の終点のx座標値を比較して、レジスタ
(D_DELX)51の値の方が大きければDIF/SAMモードをSAM
とし、小さければDIFとする。出力直線の終点のx座標
とレジスタMIN91の値を比較し、小さな方をレジスタMIN
91に格納する(0データ)。
At the corner B2 ', the value stored in the register (D_DELX) 51 (the x-coordinate value of the start point of the straight line parallel to the x-axis for the first time) is compared with the x-coordinate value of the end point of the output straight line, and the register (D_DELX) is compared. ) If the value of 51 is larger, set the DIF / SAM mode to SAM.
And DIF if smaller. Compare the x-coordinate of the end point of the output straight line with the value in register MIN91, and determine the smaller one in register MIN91.
Stored in 91 (0 data).

コーナB3′のときレジスタ(D_DELX)51に保存されて
いる値(x軸と初めて平行になった直線の始点のx座標
値)と出力直線の終点のx座標を比較して、レジスタ
(D_DELX)51の値の方が大きければDIF/SAMモードをSAM
とし、小さければDIFとする。出力直線の終点のx座標
とレジスタMAX92の値を比較し、大きな方をレジスタMAX
92に格納する(0データ)。
At the corner B3 ', the value stored in the register (D_DELX) 51 (the x-coordinate value of the start point of the straight line parallel to the x-axis for the first time) is compared with the x-coordinate of the end point of the output straight line, and the register (D_DELX) If the value of 51 is larger, set the DIF / SAM mode to SAM
And DIF if smaller. Compare the x-coordinate of the end point of the output straight line with the value in the register MAX92, and determine the larger one in the register MAX.
Stored in 92 (0 data).

第75図は第74図のコーナ座標選択部34を制御するコン
トロール信号を発生するシーケンサであり、レジスタ付
PALよりなるステートカウンタ101と、レジスタ付PROM10
2により構成されている。ステートカウンタ101は図中左
側に記載されている信号に対応して4ビットの信号CNT0
乃至3を、PROM102の下位4ビットA0乃至3に出力す
る。PROM102の最上位ビットA8にはDIF/SAMのモードを表
わす信号DIF/SAMが供給され、中間の4ビット、ビットA
4乃至7には4ビットのCNUM信号が供給されている。PRO
M102はこれらの入力信号に対応して第5表に示す各コン
トロール信号を出力する。
FIG. 75 shows a sequencer for generating a control signal for controlling the corner coordinate selector 34 of FIG.
State counter 101 consisting of PAL and PROM 10 with register
It is composed of two. The state counter 101 has a 4-bit signal CNT0 corresponding to the signal described on the left side of the figure.
To 3 are output to the lower 4 bits A0 to 3 of the PROM 102. A signal DIF / SAM indicating the mode of DIF / SAM is supplied to the most significant bit A8 of the PROM 102, and the middle four bits, bit A
4 to 7 are supplied with a 4-bit CNUM signal. PRO
M102 outputs each control signal shown in Table 5 corresponding to these input signals.

信号CNUM0乃至f(H)は、直接のステータスと、第
2表及び第37図に示すMODE0乃至3に対応して生成され
る信号であり、ポリゴンのスタート及び第2番目の座標
のときCNUM0が発生される。ポリゴンの第3番目以降の
座標のときCNUM1乃至7又はCNUM8乃至bが発生され、CA
DM用コマンド又はデータのときCNUMfが発生される。
Signals CNUM0 to f (H) are signals generated in accordance with the direct status and MODE0 to MODE3 shown in Table 2 and FIG. 37. When the start of the polygon and the second coordinate, CNUM0 is Generated. CNUM1 to 7 or CNUM8 to b are generated at the third and subsequent coordinates of the polygon, and CA
CNUMf is generated for a DM command or data.

後述するようにCNUM0のとき何も処理されず、CNUM1乃
至7のときコーナ処理と直線処理、CNUM8乃至bのとき
コーナ処理、CNUMfのときコマンド処理が、各々行われ
る。
As will be described later, no processing is performed for CNUM0, and corner processing and linear processing are performed for CNUM1 to CNUM, corner processing is performed for CNUM8 to b, and command processing is performed for CNUMf.

第76図はPROM102内のコントロール信号の配置を表わ
している。CNUM0乃至fのデータは2組用意され、一方
はSAMモードの場合に、他方はDIFモードの場合に、各々
用いられる。SAM又はDIFのモードのデータはCNUM6、7
に配置され、それ以外のCNUM0乃至5、8乃至fのデー
タはSAMモードとDIFモードの場合において同一となる。
CNUM0乃至fのデータは、各々0乃至Fの各アドレスに
配置されたステートST0乃至STFのデータより構成されて
いる。例えばCNUM0においてはアドレス0にステートST
0、CNUM1と2においてはアドレス0乃至4、6、7、8
にステートST0乃至4、6、7、8のデータが各々配置
されている。
FIG. 76 shows an arrangement of control signals in the PROM 102. Two sets of data of CNUM0 to CNUMf are prepared, one of which is used in the case of the SAM mode and the other is used in the case of the DIF mode. SAM or DIF mode data is CNUM6,7
And the other data of CNUM0 to 5, and 8 to f are the same in the case of the SAM mode and the DIF mode.
The data of CNUM0 to CNUM is composed of data of states ST0 to STF arranged at respective addresses of 0 to F. For example, in CNUM0, state ST
For 0, CNUM1 and 2, addresses 0 to 4, 6, 7, 8
The data of the states ST0 to 4, 6, 7, and 8 are respectively arranged.

第77図は第74図のコーナ座標選択部34の状態遷移図で
ある。初期のステートST0において、信号STRTがオン
し、かつMODE0(ポリゴンのスタートデータ)又はMODE1
(ポリゴンの第2番目のデータ)である場合(CNUM0で
ある場合)待機し、信号STRTがオンし、かつMODE2(ポ
リゴンの頂点のデータ)又はMODE3(CADMへのコマンド
又はデータ)である場合コーナ及びコマンド処理ステー
トに移行する。
FIG. 77 is a state transition diagram of the corner coordinate selection unit 34 in FIG. In the initial state ST0, the signal STRT is turned on and MODE0 (polygon start data) or MODE1
If it is (the second data of the polygon) (if it is CNUM0), it waits, the signal STRT is turned on, and if it is MODE2 (data of the vertex of the polygon) or MODE3 (command or data to CADM) And a transition to the command processing state.

コーナ及びコマンド処理ステートにおいて、MODE2で
ある場合コーナ処理が、MODE3である場合コマンド処理
が、各々実行される。
In the corner and command processing states, corner processing is executed when the mode is MODE2, and command processing is executed when the mode is MODE3.

コーナ処理における処理はCTYP1乃至6の6つのタイ
プに分類される。コーナA1(CNUM1)又はB1(CNUM2)の
ときCTYP1、コーナA4又はB4(CNUM3)のときCTYP2、コ
ーナA1′(CNUM4)又はB1′(CNUM5)のときCTYP3、コ
ーナA4′(CNUM6)又はB4′(CNUM7)のときCTYP4、コ
ーナA2若しくはB2(CNUM8)又はコーナA3若しくはB3(C
NUM9)のときCTYP5、コーナA2′若しくはB2′(CNUMa)
又はコーナA3′若しくはB3′(CNUMb)のときCTYP6の各
処理が実行される。
The processing in the corner processing is classified into six types, CTYP1 to CTYP6. CTYP1 when corner A1 (CNUM1) or B1 (CNUM2), CTYP2 when corner A4 or B4 (CNUM3), CTYP3 when corner A1 '(CNUM4) or B1' (CNUM5), corner A4 '(CNUM6) or B4' (CNUM7) CTYP4, corner A2 or B2 (CNUM8) or corner A3 or B3 (C
NUM9), CTYP5, corner A2 'or B2' (CNUMa)
Alternatively, at the corner A3 'or B3' (CNUMb), each processing of CTYP6 is executed.

コマンド処理はCNUMfの場合に行われ、CTYP7とされ
る。
Command processing is performed in the case of CNUMf, and is set to CTYP7.

コーナ及びコマンド処理において、CTYP1乃至4又は
5乃至7で、信号CNTOVRが論理1かつDATAENが論理0の
ときステートST0に戻り、CTYP1乃至4で信号CNTOVRが論
理0のとき直線処理ステート(ST6、7)に移行する。
直線処理ステート終了後はステートST0に戻る。
In the corner and command processing, when the signal CNTOVR is logic 1 and DATAEN is logic 0 at CTYP1 to 4 or 5 to 7, the processing returns to the state ST0. When the signal CNTOVR is logic 0 at CTYP1 to 4, the linear processing state (ST6, ).
After the end of the linear processing state, the process returns to the state ST0.

第78図はCTYP1のコーナ処理の状態遷移図である。信
号STRTがオンし、CNUM1である場合ステートST1を介して
ステートST2に移行し、そこでパイプラインレジスタPIP
2X83のデータ(エンドX)がレジスタACC93にラッチさ
れる。ステートST2において信号DATAENが論理0のとき
待機し、論理1のとき(パイプラインレジスタPIP2X83
にスタートXがラッチされたとき)ステートST3に移行
する。
FIG. 78 is a state transition diagram of corner processing of CTYP1. If the signal STRT turns on and is CNUM1, the state shifts to state ST2 via state ST1, where the pipeline register PIP
2X83 data (end X) is latched in the register ACC93. In the state ST2, the control waits when the signal DATAEN is logic 0, and when the signal DATAEN is logic 1 (the pipeline register PIP2X83
When the start X is latched at the time, the state shifts to the state ST3.

ステートST3においてレジスタACC93の値とパイプライ
ンレジスタPIP2X83の値がコンパレータCMP/MUX95により
比較され、前者が後者と等しいかそれより大きい場合、
レジスタACC93の値が出力FIFO_X97に転送され、小さい
場合、パイプラインレジスタPIP2X83のデータが出力FIF
O_X97へ転送される。すなわちレジスタACC93の値とパイ
プラインレジスタPIP2X83の値のうち、大きい方が出力F
IFO_X97に転送される。ステートST3において信号CNTOVR
が論理1のとき初期ステートST0に戻り、論理0のとき
ステートST4に移行する。ステートST4において信号CNTO
VRが論理1で信号DATAENが論理0のとき初期ステートST
0に、信号CNTOVRが論理0で信号DATAENが論理1のとき
直線処理のステートST6に、また信号CNTOVRとDATAENが
ともに論理1のとき直線処理のステートST8に、各々移
行し、それ以外の場合は待機する。
In the state ST3, the value of the register ACC93 and the value of the pipeline register PIP2X83 are compared by the comparator CMP / MUX95, and when the former is equal to or larger than the latter,
The value of register ACC93 is transferred to output FIFO_X97, and if smaller, the data of pipeline register PIP2X83 is output to output FIF
Transferred to O_X97. That is, the larger of the value of register ACC93 and the value of pipeline register PIP2X83 is output F
Transferred to IFO_X97. In state ST3, the signal CNTOVR
Returns to the initial state ST0 when is a logical 1, and shifts to the state ST4 when is a logical 0. Signal CNTO in state ST4
Initial state ST when VR is logic 1 and signal DATAEN is logic 0
When the signal CNTOVR is logic 0 and the signal DATAEN is logic 1, the state shifts to the linear processing state ST6. When both the signals CNTOVR and DATAEN are logic 1, the state shifts to the linear processing state ST8. stand by.

CNUM2の場合、ステートST3においてレジスタACC93と
パイプラインレジスタPIP2X83の値のうち、小さい方が
出力FIFO_X97に転送される点を除き、CNUM1の場合と同
様の処理が実行される。
In the case of CNUM2, the same process as in the case of CNUM1 is executed in state ST3, except that the smaller of the values of the register ACC93 and the pipeline register PIP2X83 is transferred to the output FIFO_X97.

第79図はCTYP1のコーナ処理のタイミングチャートで
ある。ステートST2においてパイプラインレジスタPIP2X
83のデータエンドXがレジスタACC93にラッチされ、さ
らにマルチプレクサ94を介してコンパレータCMP/MUX95
に出力される。一方パイプラインレジスタPIP1X82には
ステートST1において信号TRANSの立ち上がりエッジに同
期してスタートXがラッチされており、このスタートX
がステートST2においてパイプラインレジスタPIP2X83へ
転送される。ステートST3においてコンパレータCMP/MUX
95はマルチプレクサ94より入力されたエンドXとパイプ
ラインレジスタPIP2X83より入力されたスタートXとを
比較し、大きい方(CNUM1の場合)又は小さい方(CNUM2
の場合)を選択出力する。この選択データが信号OFIXWT
の立ち上がりエッジに同期して出力FIFO_X97にラッチさ
れる。
FIG. 79 is a timing chart of the corner processing of CTYP1. In state ST2, pipeline register PIP2X
The data end X of 83 is latched in the register ACC93, and furthermore, the data is inputted to the comparator CMP / MUX95 through the multiplexer 94.
Is output to On the other hand, the start X is latched in the pipeline register PIP1X82 in synchronization with the rising edge of the signal TRANS in the state ST1.
Is transferred to the pipeline register PIP2X83 in the state ST2. Comparator CMP / MUX in state ST3
95 compares the end X input from the multiplexer 94 with the start X input from the pipeline register PIP2X83, and determines which is larger (in the case of CNUM1) or smaller (CNUM2).
) Is selected and output. This selection data is the signal OFIXWT
Is latched in the output FIFO_X97 in synchronization with the rising edge of.

第80図はCTYP2のコーナ処理の状態遷移図である。ス
テートST1を介してステートST2に移行したとき、パイプ
ラインレジスタPIP2X83の値が出力FIFO_X97に書き込ま
れる。次にステートST3に移行し、信号DATAENが論理1
になるまで待機し、論理1になったときステートST4に
移行する。ここでパイプラインレジスタPIP2X83のデー
タが出力FIFO_X97に書き込まれる。出力CNTOVRが論理1
のときステートST0に戻り、論理0のときステートST5に
移行する。ステートST5において、信号DATAENが論理0
で信号CNTOVRが論理1のときステートST0に、信号DATAE
Nが論理1で信号CNTOVRが論理0のとき直線処理のステ
ートST6に、信号DATAENとCNTOVRの両方が論理1のとき
直線処理のステートST8に、各々移行し、その他の場合
待機する。
FIG. 80 is a state transition diagram of the corner processing of CTYP2. When the state shifts to the state ST2 via the state ST1, the value of the pipeline register PIP2X83 is written to the output FIFO_X97. Next, the process proceeds to the state ST3, where the signal DATAEN is set to the logic 1
, And transitions to state ST4 when the logic 1 is reached. Here, the data of the pipeline register PIP2X83 is written to the output FIFO_X97. Output CNTOVR is logic 1
At this time, the process returns to the state ST0. In the state ST5, the signal DATAEN is set to logic 0.
And when the signal CNTOVR is at logic 1, the signal DATAE
When N is logic 1 and the signal CNTOVR is logic 0, the state shifts to the linear processing state ST6, and when both the signal DATAEN and CNTOVR are logic 1, the state shifts to the linear processing state ST8, and otherwise stands by.

第81図はCTYP2のコーナ処理のタイミングチャートで
ある。パイプラインレジスタPIP2X83にはエンドXがラ
ッチされており、パイプラインレジスタPIP1X82にはス
テートST1において次のスタートXがラッチされる。ス
テートST2においてパイプラインレジスタPIP2X83のエン
ドXがコンパレータCMP/MUX95より出力されており、こ
のエンドXが信号OFIXWTの立ち上がりエッジに同期して
出力FIFO_X97に書き込まれる。ステートST3においてパ
イプラインレジスタPIP1X82のスタートXが信号TRANSの
立ち上がりエッジに同期してパイプラインレジスタPIP2
X83に転送され、コンパレータCMP/MUX95より出力され
る。このスタートXがステートST4において信号OFIXWT
の立ち上がりエッジに同期して出力FIFO_X97にラッチさ
れる。
FIG. 81 is a timing chart of the corner processing of CTYP2. The end X is latched in the pipeline register PIP2X83, and the next start X in the state ST1 is latched in the pipeline register PIP1X82. In the state ST2, the end X of the pipeline register PIP2X83 is output from the comparator CMP / MUX95, and this end X is written to the output FIFO_X97 in synchronization with the rising edge of the signal OFIXWT. In the state ST3, the start X of the pipeline register PIP1X82 is synchronized with the rising edge of the signal TRANS and the pipeline register PIP2
Transferred to X83 and output from comparator CMP / MUX95. This start X is the signal OFIXWT in state ST4.
Is latched in the output FIFO_X97 in synchronization with the rising edge of.

第82図はCTYP3のコーナ処理の状態遷移図である。信
号STRTがオンし、CNUM4である場合ステートST1において
信号DATAENが論理0のとき待機し、論理1のとき(パイ
プラインレジスタPIP2X83にスタートXがラッチされた
とき)ステートST2に移行する。
FIG. 82 is a state transition diagram of the corner processing of CTYP3. When the signal STRT is turned on and is CNUM4, in the state ST1, the state waits when the signal DATAEN is logic 0, and when the signal is logic 1 (when the start X is latched in the pipeline register PIP2X83), the state ST2 is entered.

ステートST2においてパイプラインレジスタPIP2X83の
値とレジスタMAX92の値がコンパレータCMP/MUX95により
比較され、前者が後者と等しいかそれより大きい場合、
パイプラインレジスタPIP2X83の値が出力FIFO_X97に転
送され、小さい場合、レジスタMAX92のデータが出力FIF
O_X97へ転送される。すなわちレジスタMAX92の値とパイ
プラインレジスタPIP2X83の値のうち、大きい方が出力F
IFO_X97に転送される。ステートST2において信号CNTOVR
が論理1のとき初期ステートST0に戻り、論理0のとき
ステートST3に移行する。ステートST3において信号CNTO
VRが論理1で信号DATAENが論理0のとき初期ステートST
0に、信号CNTOVRが論理0で信号DATAENが論理1のとき
直線処理のステートST6に、また信号CNTOVRとDATAENが
ともに論理1のとき直線処理のステートST8に、各々移
行し、それ以外の場合は待機する。
In state ST2, the value of the pipeline register PIP2X83 and the value of the register MAX92 are compared by the comparator CMP / MUX95, and if the former is equal to or greater than the latter,
The value of pipeline register PIP2X83 is transferred to output FIFO_X97, and if smaller, the data in register MAX92 is output to output FIFO_X97.
Transferred to O_X97. That is, the larger of the value of the register MAX92 and the value of the pipeline register PIP2X83 is the output F
Transferred to IFO_X97. In state ST2, the signal CNTOVR
Returns to the initial state ST0 when is a logical 1, and shifts to the state ST3 when is a logical 0. Signal CNTO in state ST3
Initial state ST when VR is logic 1 and signal DATAEN is logic 0
When the signal CNTOVR is logic 0 and the signal DATAEN is logic 1, the state shifts to the linear processing state ST6. When both the signals CNTOVR and DATAEN are logic 1, the state shifts to the linear processing state ST8. stand by.

CNUM5の場合、ステートST2においてパイプラインレジ
スタPIP2X83とレジスタMIN91の値のうち、小さい方が出
力FIFO_X97に転送される点を除き、CNUM4の場合と同様
の処理が実行される。
In the case of CNUM5, in the state ST2, the same processing as in the case of CNUM4 is executed, except that the smaller one of the values of the pipeline register PIP2X83 and the register MIN91 is transferred to the output FIFO_X97.

第83図はCTYP3のコーナ処理のタイミングチャートで
ある。ステートST1においてパイプラインレジスタPIP1X
82にスタートXがラッチされるとともに、マルチプレク
サ94はレジスタMAX92(CNUM4の場合)又はレジスタMIN9
1(CNUM5の場合)の値を出力する。信号DATAENがオンさ
れたとき、スタートXはさらにパイプラインレジスタPI
P2X83へ転送される。ステートST2においてコンパレータ
CMP/MUX95は、CNUM4の場合レジスタMAX92の値とスター
トXのうち大きい方を、CNUM5の場合レジスタMIN91の値
とスタートXのうち小さい方を、各々選択出力し、選択
データが信号OFIXWTの立ち上がりエッジに同期して出力
FIFO_X97に書き込まれる。
FIG. 83 is a timing chart of the corner processing of CTYP3. Pipeline register PIP1X in state ST1
The start X is latched at 82, and the multiplexer 94 is connected to the register MAX92 (for CNUM4) or the register MIN9.
Outputs the value of 1 (for CNUM5). When the signal DATAEN is turned on, the start X is further added to the pipeline register PI
Transferred to P2X83. Comparator in state ST2
The CMP / MUX95 selects and outputs the larger of the value of the register MAX92 and the start X in the case of CNUM4, and the smaller of the value of the register MIN91 and the start X in the case of CNUM5, and the selected data is the rising edge of the signal OFIXWT. Output in sync with
Written to FIFO_X97.

第84図はCTYP4のコーナ処理の状態遷移図である。CNU
M6の場合、ステートST1を介してステートST2に移行し、
そこでレジスタMAX92の値が出力FIFO_X97に書き込まれ
る。その後ステートST3に移行し、信号DATAENが論理1
になるまで待機し、論理1になったときステートST4に
移行する。ステートST4においてパイプラインレジスタP
IP2X83とレジスタMIN91の値が比較され、小さい方の値
が出力FIFO_X97に書き込まれる。さらに信号CNTOVRが論
理1のときステートST0に、論理0のときステートST5に
移行する。ステートST5において信号DATAENが論理0で
信号CNTOVRが論理1のときステートST0、信号DATAENが
論理1かつ信号CNTOVRが論理0のとき直線処理のステー
トST6、信号DATAENとCNTOVRが両方とも論理1のとき直
線処理のステートST8に、各々移行し、その他の場合待
機する。
FIG. 84 is a state transition diagram of the corner processing of CTYP4. CNU
In case of M6, transition to state ST2 via state ST1,
Then, the value of the register MAX92 is written to the output FIFO_X97. After that, the state moves to the state ST3, and the signal DATAEN becomes
, And transitions to state ST4 when the logic 1 is reached. Pipeline register P in state ST4
The value of IP2X83 and the value of register MIN91 are compared, and the smaller value is written to output FIFO_X97. Further, when the signal CNTOVR is logic 1, the state shifts to state ST0, and when the signal CNTOVR is logic 0, the state ST5 shifts. In the state ST5, when the signal DATAEN is at logic 0 and the signal CNTOVR is at logic 1, the state ST0 is performed. When the signal DATAEN is at logic 1 and the signal CNTOVR is at logic 0, the processing is performed in the state ST6. The process proceeds to the processing state ST8, and waits otherwise.

CNUM7の場合ステートST2においてレジスタMIN91の値
が出力FIFO_X97に書きこまれる点と、ステートST4にお
いてパイプラインレジスタPIP2X83とレジスタMAX92の値
のうち大きい方が出力FIFO_X97に書き込まれる点を除
き、CNUM6の場合と同様に処理される。
In the case of CNUM7, except that the value of the register MIN91 is written to the output FIFO_X97 in the state ST2, and that the larger value of the pipeline register PIP2X83 and the register MAX92 is written to the output FIFO_X97 in the state ST4, The same processing is performed.

以上は信号DIF/SAMが論理1(DIFモード)の場合であ
るが、論理0(SAMモード)の場合はステートST1におい
て信号DATAENが論理1になるまで待機した後、ステ_ト
ST2に移行する。ステートST2において信号DATAENが論理
0で信号CNTOVRが論理1のときステートST0、信号DATAE
Nが論理1でCNTOVRが論理0のとき直線処理のステートS
T6、信号DATAENとCNTOVRが両方とも論理1のとき直線処
理ステートST8に、各々移行し、それ以外のとき待機す
る。
The above is the case where the signal DIF / SAM is logic 1 (DIF mode). If the signal DIF / SAM is logic 0 (SAM mode), after waiting in step ST1 until the signal DATAEN becomes logic 1, the state
Move to ST2. When the signal DATAEN is logic 0 and the signal CNTOVR is logic 1 in the state ST2, the state ST0, the signal DATAE
State N of linear processing when N is logic 1 and CNTOVR is logic 0
At T6, when both the signals DATAEN and CNTOVR are at logic 1, the state shifts to the linear processing state ST8, respectively, and otherwise stands by.

第85図はCTYP4で信号DIF/SAMが論理1(DIFモード)
の場合のコーナ処理のタイミングチャートである。ステ
ートST1においてマルチプレクサ94、さらにコンパレー
タCMP/MUX95はCNUM6のときレジスタMIN91の値を、CNUM7
のときレジスタMAX92の値を、各々選択出力する。選択
出力された値はステートST2において信号OFIXWTの立ち
上がりエッジのタイミングで出力FIFO_X97に書き込まれ
る。ステートST3においてスタートXがパイプラインレ
ジスタPIP1X82からPIP2X83に転送され、ステートST4に
おいてスタートXとレジスタMIN91又はMAX92の値とが比
較され、小さい方又は大きい方が選択され、信号OFIXWT
の立ち上がりエッジのタイミングで出力FIFO_X97に書き
込まれる。
Figure 85 shows CTYP4 with signal DIF / SAM at logic 1 (DIF mode)
9 is a timing chart of a corner process in the case of FIG. In state ST1, the multiplexer 94 and the comparator CMP / MUX95 store the value of the register MIN91 when CNUM6 is
At this time, the value of the register MAX92 is selectively output. The value selected and output is written to the output FIFO_X97 at the timing of the rising edge of the signal OFIXWT in the state ST2. In state ST3, start X is transferred from pipeline register PIP1X82 to PIP2X83, and in state ST4, start X is compared with the value of register MIN91 or MAX92, and the smaller or larger one is selected, and signal OFIXWT
Is written to the output FIFO_X97 at the timing of the rising edge of.

第86図はCTYP4で信号DIF/SAMが論理0(SAMモード)
の場合のコーナ処理のタイミングチャートである。この
場合ステートST1においてパイプラインレジスタPIP1X82
にスタートXがラッチされ、これがさらにパイプライン
レジスタPIP2X83に転送される。パイプラインレジスタP
IP1X82には次のデータD0、D1が順次ラッチされ、ステー
トST2においてデータD1がパイプラインレジスタPIP2X83
へ転送され、コンパレータCMP/MUX95から出力される。
Figure 86 shows CTYP4 with signal DIF / SAM at logic 0 (SAM mode)
9 is a timing chart of a corner process in the case of FIG. In this case, in state ST1, the pipeline register PIP1X82
Is latched, and this is further transferred to the pipeline register PIP2X83. Pipeline register P
IP1X82 the next data D 0, D 1 are sequentially latched in the data D 1 is a pipeline register in the state ST2 PIP2X83
And output from the comparator CMP / MUX95.

第87図はCTYP5の場合のコーナ処理の状態遷移図であ
る。CNUM8の場合、ステートST1を介してステートST2に
移行し、そこでパイプラインレジスタPIP2X83の値がレ
ジスタMAX92にラッチされる。その後ステートST3を介し
てステートST4に移行し、そこでパイプラインレジスタP
IP2X83の値がレジスタMIN91にラッチされた後、ステー
トST0に移行する。
FIG. 87 is a state transition diagram of corner processing in the case of CTYP5. In the case of CNUM8, a transition is made to state ST2 via state ST1, where the value of pipeline register PIP2X83 is latched in register MAX92. Thereafter, the state shifts to state ST4 via state ST3, where the pipeline register P
After the value of IP2X83 is latched in the register MIN91, the state shifts to the state ST0.

CNUM9の場合、パイプラインレジスタPIP2X83の値がス
テートST2においてレジスタMIN91に、ステートST4にお
いてレジスタMAX92に、各々転送される点を除き、CNUM8
の場合と同様の処理が行われる。
In the case of CNUM9, except that the value of pipeline register PIP2X83 is transferred to register MIN91 in state ST2 and to register MAX92 in state ST4, respectively.
The same processing as in the case of is performed.

第88図はCTYP5のコーナ処理のタイミングチャートで
ある。ステートST1においてパイプラインレジスタPIP1X
82にスタートXがラッチされるとともに、パイプライン
レジスタPIP2X83のエンドXがコンパレータCMP/MUX95よ
り出力される。ステートST2において、コンパレータCMP
/MUX95より出力されるエンドXがレジスタMAX92(CNUM8
の場合)又はMIN91(CNUM9の場合)にラッチされる。ス
テートST3においてスタートXがパイプラインレジスタP
IP1X82からPIP2X83に転送され、コンパレータCMP/MUX95
から出力される。このスタートXがステートST4におい
てレジスタMIN91(CNUM8の場合)又はMAX92(CNUM9の場
合)にラッチされる。
FIG. 88 is a timing chart of the corner processing of CTYP5. Pipeline register PIP1X in state ST1
The start X is latched at 82, and the end X of the pipeline register PIP2X83 is output from the comparator CMP / MUX95. In state ST2, the comparator CMP
End X output from / MUX95 is in register MAX92 (CNUM8
) Or MIN91 (for CNUM9). In state ST3, start X is the pipeline register P
Transferred from IP1X82 to PIP2X83, comparator CMP / MUX95
Output from This start X is latched in the register MIN91 (for CNUM8) or MAX92 (for CNUM9) in the state ST4.

第89図はCTYP6の場合のコーナ処理の状態遷移図であ
る。CNUMaの場合ステートST1において信号DATAENが論理
1になるまで待機した後、論理1になったときステート
ST2に移行する。ステートST2においてパイプラインレジ
スタPIP2X83とレジスタMIN91の値が比較され、小さい方
がレジスタMIN91にラッチされた後、ステートST0に移行
する。
FIG. 89 is a state transition diagram of corner processing in the case of CTYP6. In the case of CNUMa, after waiting until the signal DATAEN becomes logic 1 in the state ST1, the state becomes logic 1
Move to ST2. In the state ST2, the value of the pipeline register PIP2X83 is compared with the value of the register MIN91, and the smaller one is latched in the register MIN91, and then the state shifts to the state ST0.

CNUMbの場合、ステートST2においてパイプラインレジ
スタPIP2X83とレジスタMAX92の値が比較され、大きい方
がレジスタMAX92にラッチされる点を除き、CNUMaの場合
と同様の処理が行われる。
In the case of CNUMb, in the state ST2, the value of the pipeline register PIP2X83 is compared with the value of the register MAX92, and the same processing as in the case of CNUMa is performed, except that the larger one is latched by the register MAX92.

第90図はCTYP6のコーナ処理のタイミングチャートで
ある。ステートST1において、マルチプレクサ94よりレ
ジスタMIN91の値(CNUMaの場合)又はレジスタMAX92の
値(CNUMbの場合)が選択出力されるとともに、スター
トXがパイプラインレジスタPIP1X82からPIP2X83へ転送
される。ステートST2において、コンパレータCMP/MUX95
によりスタートXとレジスタMIN91の値(CNUMaの場合)
又はレジスタMAX92の値(CNUMbの場合)が比較され、小
さい方が又は大きい方がレジスタMIN91又はレジスタMAX
92に各々ラッチされる。
FIG. 90 is a timing chart of the corner processing of CTYP6. In the state ST1, the value of the register MIN91 (for CNUMa) or the value of the register MAX92 (for CNUMb) is selected and output from the multiplexer 94, and the start X is transferred from the pipeline register PIP1X82 to PIP2X83. In state ST2, the comparator CMP / MUX95
Start X and value of register MIN91 (CNUMa)
Or, the value of the register MAX92 (in the case of CNUMb) is compared, and the smaller one or the larger one is the register MIN91 or the register MAX.
Latched at 92 respectively.

第91図はCTYP7の場合のコマンド処理の状態遷移図で
ある。ステートST1において信号DATAENが論理1になっ
たときステートST2に移行する。ステートST2においてパ
イプラインレジスタPIP2Y85のデータが出力FIFO_Y98に
転送された後、ステートST0に戻る。
FIG. 91 is a state transition diagram of command processing in the case of CTYP7. When the signal DATAEN becomes logic 1 in the state ST1, the state shifts to the state ST2. After the data of the pipeline register PIP2Y85 is transferred to the output FIFO_Y98 in the state ST2, the process returns to the state ST0.

第92図はCTYP7のコマンド処理のタイミングチャート
である。ステートST1において信号DATAENがオンになる
と、パイプラインレジスタPIP1Y84にラッチされたコマ
ンドCMNDが信号TRANSに同期してパイプラインレジスタP
IP2Y85に転送される。ステートST2において、信号OFIYW
Tの立ち上がりエッジのタイミングでコマンドが出力FIF
O_Y98に書き込まれる。
FIG. 92 is a timing chart of the command processing of CTYP7. When the signal DATAEN is turned on in the state ST1, the command CMND latched in the pipeline register PIP1Y84 is synchronized with the signal TRANS and the pipeline register P
Transferred to IP2Y85. In state ST2, the signal OFIYW
Command is output at the rising edge of T. FIF
Written to O_Y98.

CADM(ソート手段22)を制御するコマンドはカウンタ
(CAPY)53にのみ入力され、カウンタ(CAPX)52には出
力されない。従ってこの処理の場合においてのみ信号OF
IYWTのタイミングで出力FIFO_Y98のみが動作し、他の処
理の場合出力FIFO_X97と出力FIFO_Y98には信号OFIWT(O
FIXWTとOFIYWT)に同期して同時にデータがラッチされ
る。
The command for controlling the CADM (sorting means 22) is input only to the counter (CAPY) 53 and not output to the counter (CAPX) 52. Therefore, only in this case is the signal OF
Only the output FIFO_Y98 operates at the timing of IYWT, and in other cases, the output FIFO_X97 and the output FIFO_Y98 output the signal OFIWT (O
Data is latched simultaneously in synchronization with FIXWT and OFIYWT).

第93図は直線処理の状態遷移図である。CTYP1乃至4
で信号DATAENが論理1かつCNTOVRが論理0の場合、ステ
ートST6においてパイプラインレジスタPIP2X83、PIP2Y8
5のデータが出力FIFO_X97、出力FIFO_Y98に各々書き込
まれる。次にステートST7に移行し、信号DATAENが論理
0でCNTOVRが論理1のときステートST0、信号DATAENとC
NTOVRが両方とも論理1のときステートST8に、信号DATA
ENが論理1でCNTOVRが論理0のときステートST6に、各
々移行し、その他の場合待機する。
FIG. 93 is a state transition diagram of the linear processing. CTYP1 to 4
When the signal DATAEN is logic 1 and CNTOVR is logic 0, the pipeline registers PIP2X83, PIP2Y8
Data of 5 is written to the output FIFO_X97 and the output FIFO_Y98, respectively. Next, the process proceeds to the state ST7. When the signal DATAEN is logic 0 and CNTOVR is logic 1, the state ST0, the signals DATAEN and C
When both NTOVRs are logic 1, the signal DATA
When EN is at logic 1 and CNTOVR is at logic 0, the state shifts to the state ST6, respectively, and otherwise stands by.

CTYP1乃至4で信号DATAENとCNTOVRがともに論理1の
場合及びステートST7から移行した場合、ステートST8に
おいてパイプラインレジスタPIP2X83、PIP2Y85の出力が
出力FIFO_X97、出力FIFO_Y98に各々ラッチされた後、ス
テートST0に移行する。
In the case where the signals DATAEN and CNTOVR are both logic 1 in CTYP1 to CTYP4 and when the transition from the state ST7 is made, in the state ST8, the outputs of the pipeline registers PIP2X83 and PIP2Y85 are latched by the output FIFO_X97 and the output FIFO_Y98, respectively, and then the state is shifted to the state ST0. I do.

第94図はLINE ALLの場合の終点CN付近の直線処理のタ
イミングチャートである。ステートST6とST7が繰り返さ
れ、各ステートST6においてパイプラインレジスタPIP2X
83、PIP2Y85のデータCN-3、CN-2が出力FIFO_X97、出力F
IFO_Y98に各々順次書き込まれる。ステートST7において
信号DATAENとCNTOVRが論理1になるとステートST8に移
行し、終点CNの1つ前の点CN-1が出力FIFO_X97、出力FI
FO_Y98に書き込まれた後、ステートST0に移行する。
94 Figure is a timing chart of the linear processing in the vicinity of the end point C N in the case of LINE ALL. State ST6 and ST7 are repeated, and in each state ST6, the pipeline register PIP2X
83, PIP2Y85 data C N-3 and C N-2 output FIFO_X97, output F
Each is sequentially written to IFO_Y98. Signal DATAEN and CNTOVR is shifted to the state ST8 becomes a logic 1 in the state ST7, C N-1 point of the previous one endpoint C N output FIFO_X97, output FI
After writing to FO_Y98, the state shifts to the state ST0.

第95図はLINE BFRの場合の終点CN付近の直線処理のタ
イミングチャートである。ステートST6においてパイプ
ラインレジスタPIP2X83、PIP2Y85の出力CN-4、CN-2が信
号OFIWTの立ち上がりエッジに同期して出力FIFO_X97、
出力FIFO_Y98に各々順次書き込まれる。その後ステート
ST7を介してST0に移行する。
95th figure is a timing chart of the linear processing in the vicinity of the end point C N in the case of LINE BFR. In the state ST6, the outputs C N-4 and C N-2 of the pipeline registers PIP2X83 and PIP2Y85 are output in synchronization with the rising edge of the signal OFIWT to output FIFO_X97,
Each is sequentially written to the output FIFO_Y98. Then state
Move to ST0 via ST7.

終点CNの直前の点CN-1も選択される場合、図に破線で
示すように、ステートST7において信号DATAENがオンし
てステートST8に移行し、点CN-1が出力FIFO_X97と出力F
IFO_Y98に書き込まれる。その後ステートST0に移行す
る。
When the point C N-1 immediately before the end point C N is also selected, the signal DATAEN is turned on in the state ST7 and transitions to the state ST8 as shown by a broken line in the figure, and the point C N-1 is output as the output FIFO_X97 and the output FIFO_X97. F
Written to IFO_Y98. After that, the state shifts to the state ST0.

第96図はLINE NOWの場合の終点CN付近の直線処理のタ
イミングチャートである。ステートST6において点
CN-5、CN-3が出力FIFO_X97、出力FIFO_Y98書き込まれた
後、ステートST7において信号DATAENが論理0であれ
ば、ステート0に移行する。
The 96 Figure is a timing chart of the linear processing in the vicinity of the end point C N in the case of LINE the NOW. Dot in state ST6
After C N-5 and C N-3 are written to the output FIFO_X97 and the output FIFO_Y98, if the signal DATAEN is logic 0 in the state ST7, the state shifts to the state 0.

終点CNも選択される場合、図に破線で示すように、ス
テートST7において信号DATAENが論理1になり、ステー
トST8に移行する。そこで点CN-1が出力FIFO_X97、出力F
IFO_Y98に書き込まれた後、ステートST0に移行する。
If the end point C N is also chosen, as indicated by a broken line in the figure, the signal DATAEN becomes logic 1 in the state ST7, the process proceeds to state ST8. Therefore, point C N-1 is output FIFO_X97, output F
After being written to IFO_Y98, the state transits to the state ST0.

以上のように直線処理では線分の最後の有効点(エン
ドX)の1つ前の有効な点までで出力FIFOに書きこまれ
る。又、エンドXはパイプラインレジスタPIP2に記憶さ
れ、次のコーナ処理に用いられる。
As described above, in the straight line processing, data is written to the output FIFO up to the effective point immediately before the last effective point (end X) of the line segment. The end X is stored in the pipeline register PIP2 and used for the next corner processing.

第97図は輪郭座標生成手段21の全体のブロック図を表
わしている。同図において111と112はレジスタ付PALよ
りなるステートカウンタであり、各々入力コントロール
部31と出力コントロール部35のシーケンサを構成してい
る。
FIG. 97 is an overall block diagram of the outline coordinate generating means 21. In the figure, reference numerals 111 and 112 denote state counters composed of PALs with registers, which constitute a sequencer of the input control unit 31 and the output control unit 35, respectively.

第98図は輪郭座標生成手段21の全体の動作のタイミン
グチャートである。いまa、g、k、oの4つの頂点に
より構成されるポリゴンのデータを時計回転方向に処理
するものとすると、座標計算部32においては、始点aと
終点gで規定される直線の定数計算をした後、その間の
座標を計算し、a、b、c、d、e、f、gの各点の座
標を順次出力する。次に始点gと終点k、始点kと終点
o、始点oと終点a、始点aと終点gで規定される直線
につき順次同様の処理を繰り返す。点aをコーナとする
処理には直線oaと直線agが必要になるので直線agは2回
処理される。
FIG. 98 is a timing chart of the overall operation of the contour coordinate generation means 21. Now, assuming that polygon data composed of four vertices a, g, k, and o are processed in the clockwise direction, the coordinate calculator 32 calculates a constant of a straight line defined by the start point a and the end point g. After that, the coordinates between them are calculated, and the coordinates of the points a, b, c, d, e, f, and g are sequentially output. Next, the same processing is sequentially repeated for the straight line defined by the start point g and the end point k, the start point k and the end point o, the start point o and the end point a, and the start point a and the end point g. The straight line ag is processed twice since the straight line oa and the straight line ag are required for the processing using the point a as a corner.

カウンタ(CAPX)52、(CAPY)53により生成された各
点の座標は、クロックTRANSが1つ発生される毎にパイ
プラインレジスタPIP1X82、PIP1Y84、パイプラインレジ
スタPIP2X83、PIP2Y85、出力FIFO_X97、出力FIFO_Y98に
順次転送されて行く。1段目のパイプラインレジスタPI
P1X82、PIP1Y84にはすべての点の座標が転送されるが、
2段目のパイプラインレジスタPIP2X83、PIP2Y85には、
同一y軸上に2つ(偶数個)の点が存在するように選択
された点(図中ハッチングを施した点)の座標のみが転
送される。さらにコーナ座標選択部34においては、例え
ば点oよりなるコーナでは同一y軸上に1個(奇数個)
の点しか存在しないので、1個の点oを2回選択し、形
式的にy軸上に2個の点が存在するようにする。このよ
うにして後段におけるソート及び同一y軸上の2点間の
描画処理が迅速に行えるようにする。
The coordinates of each point generated by the counters (CAPX) 52 and (CAPY) 53 are stored in pipeline registers PIP1X82, PIP1Y84, pipeline registers PIP2X83, PIP2Y85, output FIFO_X97, and output FIFO_Y98 each time one clock TRANS is generated. It is transferred sequentially. First stage pipeline register PI
The coordinates of all points are transferred to P1X82 and PIP1Y84,
In the second stage pipeline registers PIP2X83 and PIP2Y85,
Only the coordinates of the points (hatched points in the figure) selected so that two (even number) points exist on the same y-axis are transferred. Further, in the corner coordinate selecting section 34, for example, at the corner formed by the point o, one (odd number) is placed on the same y-axis.
Since only the point exists, one point o is selected twice so that two points are formally present on the y-axis. In this way, sorting at the subsequent stage and drawing processing between two points on the same y-axis can be performed quickly.

このようにポリゴンを構成する点の座標が、ポリゴン
を時計方向又は反時計方向にトレースした場合の順番で
輪郭座標生成手段21より出力される。次段のソート手段
22はこのデータを描画するのに適した順番に並べ変える
ものである。
The coordinates of the points constituting the polygon are output from the outline coordinate generation means 21 in the order in which the polygon is traced clockwise or counterclockwise. Next sort means
Reference numeral 22 reorders the data in an order suitable for drawing.

例えば第99図に示すように点a乃至nで構成されるポ
リゴンがある場合、輪郭座標生成手段21はポリゴンを時
計方向にトレースした順番で点a乃至nの座標を順次出
力する。ソート手段22は第100図に示すように、同一y
軸上にある2つの点が組になるように、しかもx座標の
小さい方が先になるようにするとともに、y座標の小さ
い組が先になるように配列させる。すなわちこの実施例
の場合abcde・・・mnの順番が(na)(mb)(ec)(k
d)・・・のように並べ変えられる。
For example, when there is a polygon composed of points a to n as shown in FIG. 99, the outline coordinate generation means 21 sequentially outputs the coordinates of points a to n in the order in which the polygon is traced clockwise. The sorting means 22 has the same y as shown in FIG.
The two points on the axis are arranged so as to form a set, with the smaller x-coordinate first, and the set with the smaller y-coordinate first. That is, in the case of this embodiment, the order of abcde ... mn is (na) (mb) (ec) (k
d) ... can be rearranged.

このような並べ変えを行うため、各点のx座標とy座
標が、y座標が上位の桁になるようにして組み合わされ
る。この組み合わされたデータ(数字)を1つの数字と
して小さいものが先になるようにソートすると、上述し
た並べ変えが行われる。
In order to perform such rearrangement, the x-coordinate and the y-coordinate of each point are combined such that the y-coordinate becomes the upper digit. If the combined data (number) is sorted as one number and the smaller one is sorted first, the above-described rearrangement is performed.

第101図はこのような処理を行うソート手段22のブロ
ック図である。121、122は各々入力及び出力用のインタ
フェースである。126乃至129は入力データを小さい順に
ソートする演算を行うIC(例えば商品名CADM(Content
Addressable Data Manager))である。CADM126乃至129
は各々シーケンサ131乃至134により制御される。シーケ
ンサ131はデータ書き込み終了信号BLKE0、ソート終了信
号DONE0及びデータ読み出し終了信号ZERO0の入力に対応
して、ライトアベイラブル(Write Avairable)信号WA
0、ライトネクストバンク(Write Next Bank)信号WNB
0、リードアベイラブル(Read Avairable)及びRA0及び
リードネクストバンク(Read Next Bank)信号RNB0を出
力する。他のシーケンサ132乃至134も同様である。
FIG. 101 is a block diagram of the sorting means 22 for performing such processing. Reference numerals 121 and 122 denote input and output interfaces, respectively. 126 to 129 are ICs that perform an operation of sorting input data in ascending order (for example, product name CADM (Content
Addressable Data Manager)). CADM126 to 129
Are controlled by sequencers 131 to 134, respectively. The sequencer 131 responds to the input of the data write end signal BLKE0, the sort end signal DONE0, and the data read end signal ZERO0, and outputs a write available (Write Avairable) signal WA.
0, Write Next Bank signal WNB
0, and outputs Read Available (RA), RA0, and Read Next Bank signal RNB0. The same applies to the other sequencers 132 to 134.

123はマルチプレクサであり、インタフェース121と12
2をCADM126乃至129のいずれか1つに選択的に接続す
る。124はバンクコントロールであり、シーケンサ131乃
至134が出力する信号WNB0乃至WNB3に対応してマルチプ
レクサ123を制御し、インタフェース121をCADM126乃至1
29のいずれかに接続する。125はバンクコントロールで
あり、シーケンサ131乃至134が出力する信号RNB0乃至RN
B3に対応してマルチプレクサ123を制御し、インタフェ
ース122をCADM126乃至129のいずれかに接続する。CADM1
26乃至129のいずれか1つがインタフェース121に接続さ
れているとき、インタフェース122は他のCADMに接続さ
れているようになっている。
123 is a multiplexer and interfaces 121 and 12
2 is selectively connected to any one of the CADMs 126 to 129. Reference numeral 124 denotes a bank control, which controls the multiplexer 123 in accordance with the signals WNB0 to WNB3 output from the sequencers 131 to 134, and switches the interface 121 to the CADMs 126 to 1.
Connect to any of 29. Reference numeral 125 denotes a bank control, and signals RNB0 to RNB output from the sequencers 131 to 134 are provided.
The multiplexer 123 is controlled corresponding to B3, and the interface 122 is connected to one of the CADMs 126 to 129. CADM1
When any one of 26 to 129 is connected to the interface 121, the interface 122 is connected to another CADM.

第102図は第101図のソート手段22のタイミングチャー
トである。CADM126乃至129のいずれか(例えば126)の
書き込みが終了すると、信号BLKE0が発生される。この
とき信号WA0が論理1から論理0に反転され、以後の書
き込みが禁止されるとともに、CADM126はソートを開始
する。一方信号BLKE0に同期して信号WNB0が発生され、
他のCADM(例えば127)へのデータの書き込みが指令さ
れる。CADM126はソートを終了したとき信号DONE0を発生
する。このとき信号RA0が論理0から論理1に反転さ
れ、インタフェース122がCADM126に接続され、ソートさ
れたデータが読み出される。読み出しが終了したとき信
号ZERO0が発生され、信号WA0が論理1に反転されてCADM
126は書き込み可能となり、データの入力待ちとなる。
また信号RA0が論理0に反転し、以後の読み出しが禁止
されるとともに、信号RNB0が発生され、他のCADMの読み
出しが指令される。
FIG. 102 is a timing chart of the sorting means 22 in FIG. When the writing of any of the CADMs 126 to 129 (for example, 126) is completed, a signal BLKE0 is generated. At this time, the signal WA0 is inverted from logic 1 to logic 0, further writing is inhibited, and the CADM 126 starts sorting. On the other hand, a signal WNB0 is generated in synchronization with the signal BLKE0,
Writing of data to another CADM (for example, 127) is instructed. The CADM 126 generates a signal DONE0 when finishing the sorting. At this time, the signal RA0 is inverted from logic 0 to logic 1, the interface 122 is connected to the CADM 126, and the sorted data is read. When reading is completed, signal ZERO0 is generated, signal WA0 is inverted to logic 1 and CADM
126 becomes writable and waits for data input.
In addition, the signal RA0 is inverted to logic 0, the subsequent reading is prohibited, and the signal RNB0 is generated to instruct reading of another CADM.

第103図はCADM126乃至129の数とソートのタイミング
を表わしている。いま1文字の輪郭座標の生成(ソート
手段22へのデータの転送)に0.5ms、ソートに1ms、描画
に0.5msかかるものとすると、CADMが1個の場合、0.5ms
かけてデータが入力された後、1msかけてソートを行
い、ソート終了後0.5msかけて描画を行うので、結局2ms
毎に1文字を描画できることになる。
FIG. 103 shows the number of CADMs 126 to 129 and the timing of sorting. Now, assuming that it takes 0.5 ms to generate outline coordinates of one character (transfer data to the sorting means 22), 1 ms to sort, and 0.5 ms to draw, if there is one CADM, 0.5 ms
After the data is input, the sorting is performed for 1 ms, and the drawing is performed for 0.5 ms after the sorting is completed.
One character can be drawn each time.

これに対してCADMが2個の場合、一方がソートしてい
る間に他方へのデータの書き込みが可能となるので1ms
毎に1文字を描画することができる。同様にしてCADMが
3個の場合0.7ms毎に1文字を、CADMが4個の場合0.5ms
毎に1文字を、各々描画することができる。
On the other hand, if there are two CADMs, data can be written to the other while one is sorted, so 1 ms
One character can be drawn each time. Similarly, if there are three CADMs, one character will be output every 0.7 ms, and if there are four CADMs, 0.5 ms.
One character can be drawn each time.

このようにソート手段22によりソートされた座標が次
段の描画手段23に入力されると、描画手段23は描画デー
タを生成し、ビットマップ24上に文字を描画する。
When the coordinates sorted by the sorting unit 22 are input to the drawing unit 23 in the next stage, the drawing unit 23 generates drawing data and draws a character on the bit map 24.

本発明においてビットマップ24はシングルモードとダ
ブルモードの2つのモードで使用される。シングルモー
ドの場合第104図に示すように、X軸方向が16ビットを1
WORDとする8912ビット、Y軸方向が8192ビットとされ、
またダブルモードの場合第105図に示すように、X軸方
向が4096ビット(256WORD)、Y軸方向が16384(8192×
2)ビットとされる。
In the present invention, the bitmap 24 is used in two modes, a single mode and a double mode. In the case of single mode, as shown in FIG.
8912 bits for WORD, 8192 bits for Y axis direction,
In the case of double mode, as shown in FIG. 105, the X-axis direction is 4096 bits (256 words) and the Y-axis direction is 16384 (8192 ×
2) Bits are used.

このようなビットマップ24上の所定の座標値(X、
Y)をビットマップ24(メモリ)のアドレスで表現する
場合、ビットマップ24を第106図に示すように16ビットW
ORDバンダリメモリとして考え、座標Xの下位4ビット
をXbit、それ以外の上位ビットをXwordとすると、 シングルモードのとき、 メモリ(バイト)アドレス=(512Y+Xword)×2 メモリビット=Xbit ダブルモードのとき、 メモリ(バイト)アドレス=(256Y+Xword)×2 メモリビット=Xbit となる。
Predetermined coordinate values (X,
When Y) is represented by the address of the bitmap 24 (memory), the bitmap 24 is written as a 16-bit W as shown in FIG.
If the lower 4 bits of the coordinate X are Xbit and the other upper bits are Xword, memory (byte) address = (512Y + Xword) x 2 memory bits = Xbit in double mode Memory (byte) address = (256Y + Xword) × 2 Memory bit = Xbit.

すなわち第107図に示すようにビットマップ24を1WORD
(2バイト)を単位として左上から右下方向に順次メモ
リアドレス(バイトアドレス)を付するようにしたの
を、各WORDを1列に縦方向に並べたのが第106図である
から、WORD位置はメモリアドレスにより特定され、さら
にそのWORDの内部の位置は4ビットのメモリビットによ
り16通りのいずれかに特定される。
That is, as shown in FIG.
The memory addresses (byte addresses) are sequentially assigned from the upper left to the lower right in units of (2 bytes). FIG. 106 shows that each WORD is arranged in one column in the vertical direction. The position is specified by the memory address, and the position inside the WORD is specified to one of 16 ways by 4 memory bits.

第108図はこのような原理に従ってビットマップ24を
制御する描画手段23のハードウェアのブロック図であ
る。データIOバス(DATA IO BUS)141にはソート手段22
によりソートされた座標が入力される。その座標はデー
タIOバス141により第109図に示すようなフォーマットに
従って出力される。この座標(描画データ)は13ビット
からなり、このMSB(D12)はブロックの終了(論理1)
又は非終了(論理0)を表わし、下位12ビットが座標を
表わしている。従って実質的に4096通りの座標を表わす
ことができる。MSBはデータIOバスコントロール142に、
座標はアダー143に、各々供給される。座標は描画する
始点のY座標(Y0、Y2、Y3・・・)、始点のX座標(X
0、X2・・・)、終点のX座標(X1、X3・・・)の順に
配列されている(終点のY座標は始点のY座標と同
一)。
FIG. 108 is a block diagram of hardware of the drawing means 23 for controlling the bitmap 24 according to such a principle. Data IO bus (DATA IO BUS) 141 has sorting means 22
Are input. The coordinates are output by the data IO bus 141 according to a format as shown in FIG. The coordinates (drawing data) are composed of 13 bits, and the MSB (D12) is the end of the block (logic 1).
Or, it indicates non-end (logic 0), and the lower 12 bits indicate coordinates. Therefore, it is possible to represent substantially 4096 kinds of coordinates. MSB is in the data IO bus control 142,
The coordinates are supplied to the adder 143, respectively. The coordinates are the Y coordinate (Y0, Y2, Y3 ...) of the starting point to be drawn, and the X coordinate (X
0, X2...) And the X coordinate (X1, X3...) Of the end point (the Y coordinate of the end point is the same as the Y coordinate of the start point).

一方コマンド記憶用FIFO144にはDSPIOバス(DSP IO B
US)152を介して座標変換手段(DSP)15より第110図に
示すフォーマットに従ってX_BASE、Y_BASE、OPERATIO
N、TEXTUREのRG描画コマンドが供給、記憶されている。
RG描画コマンドは3WORDからなり、第1WORDはX_BASE、第
2WORDはY_BASE、第3WORDのD8ビットにOPERATION、下位
7ビットにTEXTUREが、各々配置されている。FIFO出力
コントローラ(FIFO OUTPUT CONTROLER)150はFIFO144
を制御し、X_BASE、Y_BASE、OPERATION、TEXTUREの各デ
ータをレジスタX_BASE145、Y_BASE146、OPERATION147、
TEXTURE148に、各々出力、記憶させる。
On the other hand, a DSPIO bus (DSP IO B
US) 152 via a coordinate transformation means (DSP) 15 in accordance with the format shown in FIG. 110, X_BASE, Y_BASE, OPERATIO
RG drawing commands of N and TEXTURE are supplied and stored.
RG drawing command consists of 3 words, 1st word is X_BASE, 1st word
The 2 words are Y_BASE, the OPERATION is arranged in the D8 bit of the third word, and the TEXTURE is arranged in the lower 7 bits. FIFO output controller (FIFO OUTPUT CONTROLER) 150 is FIFO144
Control the X_BASE, Y_BASE, OPERATION, and TEXTURE data in registers X_BASE145, Y_BASE146, OPERATION147,
Output and memorize each in TEXTURE148.

X_BASE、Y_BASEは第111図に示すように、ソート手段2
2より供給される相対座標(Y0、X0、X1、Y2、X2、X3・
・・)を、ビットマップ24上の絶対座標に変換するため
の描画基準のX及びY座標値である。X_BASEはシングル
モードのとき−8191から+8191まで、ダブルモードのと
き−4095から+4095までの値をとり、Y_BASEはシングル
モードのとき−8191から+8191まで、ダブルモードのと
き−16383から+16383までの値をとる。レジスタX_BASE
145又はY_BASE146の一方の出力がマルチプレクサ149に
より選択され、アダー143に供給される。データIOバス
コントロール142によりタイミングが制御され、アダー1
43は座標Y0、Y2・・・にY_BASEを、座標X0、X1、X2、X3
・・・にX_BASEを、各々加算する。ストレージレジスタ
コントロール(STORAGE REGISTER CONTROL)167はタイ
ミングを制御し、アダー143より出力される座標のうち
Y座標をレジスタYCOOR STORAGE161に、描画する始点の
X座標をレジスタXSTART STORAGE163に、終点のX座標
をレジスタXEND STORAGE165に、各々ラッチさせる。
X_BASE and Y_BASE are as shown in FIG.
The relative coordinates (Y0, X0, X1, Y2, X2, X3
..) are X and Y coordinate values of a drawing reference for converting into absolute coordinates on the bitmap 24. X_BASE takes a value from −8191 to +8191 in single mode, -4095 to +4095 in double mode, and Y_BASE takes a value from −8191 to +8191 in single mode and -16383 to +16383 in double mode. Take. Register X_BASE
One output of 145 or Y_BASE 146 is selected by the multiplexer 149 and supplied to the adder 143. The timing is controlled by the data IO bus control 142 and adder 1
43 is Y_BASE for coordinates Y0, Y2 ..., coordinates X0, X1, X2, X3
, And X_BASE is added to each. The storage register control (STORAGE REGISTER CONTROL) 167 controls the timing, and among the coordinates output from the adder 143, the Y coordinate is registered in the register YCOOR STORAGE161, the X coordinate of the drawing start point is registered in the register XSTART STORAGE163, and the X coordinate of the end point is registered in the register. Let XEND STORAGE165 latch each.

レジスタYCOOR STORAGE161にラッチされたデータはレ
ジスタYCOOR162を介して1ビットシフタセレクタ168の
上位14ビットに入力される。レジスタXSTART STORAGE16
3にラッチされたデータはカウンタXSTART164にロードさ
れ、カウンタXSTART164はロードされた値(始点のX座
標)からVMEバス及びシステムコントローラ178が出力す
るクロックに同期してカウントアップ動作を行う。カウ
ンタXSTART164の出力のMSB(D12)は1ビットシフタセ
レクタ168のLSBに、上位9ビット(D4乃至D12)はコン
パレータ171に、下位4ビット(D0乃至D3)はビットパ
ターンROM174の4ビット(D4乃至D7)に、各々供給され
る。
The data latched in the register YCOOR STORAGE 161 is input to the upper 14 bits of the 1-bit shifter selector 168 via the register YCOOR 162. Register XSTART STORAGE16
The data latched in 3 is loaded into the counter XSTART164, and the counter XSTART164 performs a count-up operation from the loaded value (the X coordinate of the starting point) in synchronization with the clock output from the VME bus and the system controller 178. The MSB (D12) of the output of the counter XSTART164 is the LSB of the 1-bit shifter selector 168, the upper 9 bits (D4 to D12) are to the comparator 171 and the lower 4 bits (D0 to D3) are the 4 bits (D4 to D4) of the bit pattern ROM 174. D7).

レジスタXEND STORAGE165にラッチされたデータはレ
ジスタXEND166を介してその上位9ビット(D4乃至D12)
がコンパレータ171に、上位4ビット(D0乃至D3)がビ
ットパターンROM174の下位4ビット(D0乃至D3)に、各
々供給される。
The data latched in the register XEND STORAGE 165 is the upper 9 bits (D4 to D12) via the register XEND 166.
Are supplied to the comparator 171 and the upper 4 bits (D0 to D3) are supplied to the lower 4 bits (D0 to D3) of the bit pattern ROM 174, respectively.

CPU4からの入力に対応して、VMEバス6を介してレジ
スタRGコントロール181にはシングル又はダブルのモー
ドが設定されている。このモードに対応した信号SINGLE
/DOUBLEがレジスタRGコントロール181から1ビットシフ
タセレクタ168に供給されている。1ビットシフタセレ
クタ168はシングルモードのときY座標のビットD0乃至D
13の入力データを、ダブルモードのときビットD1乃至14
のデータを、各々VMEバス6のアドレスのビットD9乃至D
22に出力する。またVMEバス6のアドレスのビットD1乃
至D8には、カウンタXSTART164の出力のビットD4乃至D11
が供給されている。VMEバス6のアドレスのLSB(D0)と
MSB(D23)は0に設定されている。
A single or double mode is set in the register RG control 181 via the VME bus 6 in response to an input from the CPU 4. Signal SINGLE corresponding to this mode
/ DOUBLE is supplied from the register RG control 181 to the 1-bit shifter selector 168. The 1-bit shifter selector 168 sets the bits D0 to D of the Y coordinate in the single mode.
13 input data in the double mode, bits D1 to 14
Are transferred to bits D9 to D9 of the address of the VME bus 6, respectively.
Output to 22. Bits D1 to D8 of the address of the VME bus 6 include bits D4 to D11 of the output of the counter XSTART164.
Is supplied. LSB (D0) of the address of VME bus 6
MSB (D23) is set to 0.

以上のことを模式的に示すと第112図に示すようにな
る。すなわちシングルモードの場合描画の始点又は終点
のX座標とそれらのY座標は各々13ビットにより表わさ
れ、X座標(始点のX座標)の上位9ビット(D4乃至D1
2)によりXwordが、下位4ビット(D0乃至D3)によりXb
itが、各々形成される。一方ダブルモードの場合はY座
標の下位1ビットが増加され、その分X座標の上位1ビ
ットが減少される。Y座標の13ビットとX座標の上位9
(又は8)ビットによりビットマップ24上のWORDの位置
が特定され、後述するようにそのWORD内におけるビット
パターンがX座標の下位4ビットにより決定される。
The above is schematically shown in FIG. 112. That is, in the case of the single mode, the X coordinate of the drawing start point or the ending point and the Y coordinate thereof are each represented by 13 bits, and the upper 9 bits (D4 to D1) of the X coordinate (X coordinate of the starting point)
Xword is calculated by 2) and Xb is calculated by lower 4 bits (D0 to D3).
it is each formed. On the other hand, in the case of the double mode, the lower one bit of the Y coordinate is increased, and the upper one bit of the X coordinate is reduced accordingly. 13 bits of Y coordinate and upper 9 of X coordinate
The position of the word on the bit map 24 is specified by the (or 8) bits, and the bit pattern in the word is determined by the lower 4 bits of the X coordinate as described later.

カウンタX START164は第111図に示すようにX座標の
始点(X0、Y0)から終点(X1、Y0)に向かって描画を開
始するとき、ロードされた値を1づつカウントアップし
て描画点のX座標を生成する。コンパレータCOMP EQUAL
171はこのカウント値をレジスタXEND166の値(終点のX
座標X1)と比較し、一致したときROMモードセレクトア
レイ(ROM MODE SELECT ARRAY)172に信号を出力する。
ROMモードセレクトアレイ172はVMEバス及びシステムコ
ントローラ178から供給される描画開始直後か否かの信
号と、コンパレータCOMP EQUAL 171から供給される描画
点のX座標が終点のX座標と一致したか否かの信号に対
応して次のようなROM MODE信号を出力する。
As shown in FIG. 111, when starting drawing from the starting point (X0, Y0) of the X coordinate to the ending point (X1, Y0), the counter X START164 counts up the loaded value by one and increments the drawing point. Generate an X coordinate. Comparator COMP EQUAL
171 uses this count value as the value of register XEND166 (the X
The coordinates are compared with the coordinates X1), and when they match, a signal is output to the ROM mode select array (ROM MODE SELECT ARRAY) 172.
The ROM mode select array 172 determines whether or not the signal supplied from the VME bus and the system controller 178 immediately after the start of drawing and the X coordinate of the drawing point supplied from the comparator COMP EQUAL 171 match the X coordinate of the end point. The following ROM MODE signal is output in response to this signal.

(1)描画開始直後かつ座標一致のとき ・・・ROM MODE11 (2)描画開始直後かつ座標不一致のとき ・・・ROM MODE01 (3)描画開始直後ではなく座標一致のとき ・・・ROM MODE10 (4)描画開始直後ではなく座標不一致のとき ・・・ROM MODE00 このROM MODE信号はビットパターンROM174のビットD
8、D9に供給される。またこのビットパターンROM174のM
SB(D10)にはレジスタOPERATION147が出力する信号OPE
RATIONが入力されている。
(1) Immediately after the start of drawing and when the coordinates match ... ROM MODE11 (2) Immediately after the start of drawing and when the coordinates do not match ... ROM MODE01 (3) When the coordinates match rather than immediately after the start of drawing ... ROM MODE10 ( 4) When the coordinates do not match immediately after the start of drawing ... ROM MODE00 This ROM MODE signal is the bit D of bit pattern ROM174.
8, supplied to D9. This bit pattern ROM174 M
The signal OPE output from the register OPERATION147 is provided to SB (D10).
RATION has been entered.

ビットパターンROM174は第113図に示すように2つの
部分174A、174Bからなり、所定の信号が入力されると対
応する所定のビットパターンの上位8ビットと下位8ビ
ットを各々発生する。ビットパターンROM174は、信号OP
ERATION(POLARITY)が論理0であるとき正パターン、
論理1であるとき反転パターンを、各々発生する。また
カウンタXSTART164からのデータ(ROM START)とレジス
タXEND166からのデータ(ROM END)に対応して発生する
パターンは各々第6表と第7表に示すように定められて
いる。
The bit pattern ROM 174 includes two portions 174A and 174B as shown in FIG. 113, and when a predetermined signal is input, generates the upper 8 bits and the lower 8 bits of the corresponding predetermined bit pattern. The bit pattern ROM 174 outputs the signal OP
Positive pattern when ERATION (POLARITY) is logical 0,
Invert patterns are respectively generated when logic one. The patterns generated corresponding to the data (ROM START) from the counter XSTART 164 and the data (ROM END) from the register XEND 166 are defined as shown in Tables 6 and 7, respectively.

そしてROM MODEが01のときスタートパターン(第6
表)が、10のときエンドパターン(第7表)が、各々選
択され、11のときスタートパターンとエンドパターンの
論理積が生成される。また00のとき、16ビットのROM出
力はOPERATIONが0であればHFFFFを生成し、OPERATION
が1であればH0000を生成する。
When the ROM MODE is 01, the start pattern (6th
When the table is 10, the end pattern (Table 7) is selected, and when 11, the logical product of the start pattern and the end pattern is generated. At 00, the 16-bit ROM output generates HFFFF if OPERATION is 0, and OPERATION
If H is 1, H0000 is generated.

第8表はビットパターンROM174が入力に対応して発生
するビットパターンの例を表わしている。
Table 8 shows an example of a bit pattern generated by the bit pattern ROM 174 in response to an input.

また第114図はROM MODEと描画(WRITE)回数(WORD
数)の例を示している。通常(OPERATIONが論理0で標
準のORモードの場合)始点X0はROM MODE01、終点X1は1
0、その間は00とされる。始点と終点が1WORD内に存在す
る場合はROM MODE11となる。第114図(a)、(b)、
(c)はW RITE回数(WORD数)が4、2又は1の場合を各々表わし
ている。
Fig. 114 shows the ROM MODE and the number of drawing (WRITE) times (WORD
Number). Normal (when OPERATION is logic 0 and standard OR mode) Start point X0 is ROM MODE01, end point X1 is 1
It is set to 0, and 00 in the meantime. If the start and end points are within 1 word, ROM MODE11 is set. FIG. 114 (a), (b),
(C) is W The case where the number of RITEs (the number of WORDs) is 4, 2 or 1 is shown.

第115図に示すように、テクスチュアパターンROM(TE
XTURE PATTERN ROM)173にはその上位7ビット(D8乃至
D14)にレジスタTEXTURE148からのデータTEXTUREが、中
間の6ビット(D2乃至D7)にY_TEXTURE SELECTとしてレ
ジスタYCOOR 162からの下位6ビット(D0乃至D5)が、
下位2ビット(D0、D1)にX_TEXTURE SELECTとしてカウ
ンタX START164からのビットパターン用の4ビット(D0
乃至D3)を除く下位2ビット(D4、D5)が、各々供給さ
れている。TEXTUREは値0乃至15により黒から白までの
濃度(グレイスケール)が、また値16から31によりハッ
チング等所定の幾何学的テクスチュアが、各々表わさ
れ、値32から127はその他の指定のための予備とされて
いる。テキスチュアパターンROM173は2つ(173A、173
B)に区分され、入力データに対応して8ビットづつの
所定のテキスチュアパターンを発生する。これにより第
116図に示すように、64×64ビットの範囲を単位として
所定のテキスチュアが描画可能となる。この場合X軸方
向はWORD(16ビット)が単位とされ、Y軸方向はビット
が単位とされる。
As shown in FIG. 115, the texture pattern ROM (TE
XTURE PATTERN ROM) 173 has the upper 7 bits (D8 to
D14) contains the data TEXTURE from the register TEXTURE148, and the middle 6 bits (D2 to D7) contain the lower 6 bits (D0 to D5) from the register YCOOR 162 as Y_TEXTURE SELECT.
4 bits (D0, D1) for the bit pattern from the counter X START164 as X_TEXTURE SELECT in the lower 2 bits (D0, D1)
The lower two bits (D4, D5) except for the bits D3 to D3 are supplied. TEXTURE represents the density (gray scale) from black to white by the values 0 to 15, and the predetermined geometric texture such as hatching by the values 16 to 31, and the values 32 to 127 are used for other designations. Is reserved. Two texture patterns ROM173 (173A, 173
B), and a predetermined texture pattern of 8 bits is generated corresponding to the input data. This allows
As shown in FIG. 116, a predetermined texture can be drawn in units of 64 × 64 bits. In this case, the X-axis direction is in units of WORD (16 bits), and the Y-axis direction is in units of bits.

ビットパターンROM174の出力とテキスチュアパターン
ROM173の出力はAND OR LOGIC ALU175により演算され
る。この演算はレジスタOPERATION147の出力により制御
され、その値が論理0のとき両入力の論理積(AND)
が、またその値が論理1のとき両入力の論理和(OR)
が、各々演算される。
Bit pattern ROM174 output and texture pattern
The output of the ROM 173 is calculated by the AND OR LOGIC ALU 175. This operation is controlled by the output of the register OPERATION147, and when its value is logic 0, the logical product of both inputs (AND)
Is the logical sum (OR) of both inputs when the value is logic 1.
Are respectively calculated.

ビットマップ24の所定のアドレスに所定の文字等を描
画するとき、そのアドレスに既に描画されているデータ
が先に読み出され、VMEバス6を介してレジスタ177にラ
ッチされる。AND OR LOGIC ALU176はAND OR LOGIC ALU1
75とレジスタ177のデータとを演算する。この演算もレ
ジスタOPERATION147の出力に制御され、その値が論理0
(標準ORモード)のとき両入力の論理和(OR)が、論理
1(リバースANDモード)のとき両入力の論理積(AND)
が、各々演算される。
When a predetermined character or the like is drawn at a predetermined address of the bit map 24, data already drawn at that address is read out first and latched by the register 177 via the VME bus 6. AND OR LOGIC ALU176 is AND OR LOGIC ALU1
The arithmetic operation of 75 and the data of the register 177 is performed. This operation is also controlled by the output of the register OPERATION147, and its value is logic 0.
The logical sum (OR) of both inputs is (logical OR mode), and the logical product (AND) of both inputs is logical 1 (reverse AND mode)
Are respectively calculated.

標準ORモード(セットモード)の場合第117図に示す
ように、ビットマップ24が論理0でクリアされている状
態に対して論理1にセットすることにより描画を行う
が、あるパターンが既に描画されている場合、それは消
去されず、その上に新たな文字等が重ね書きされる。
In the case of the standard OR mode (set mode), as shown in FIG. 117, drawing is performed by setting the bit map 24 to a logical 1 while the bit map 24 is cleared to a logical 0, but a certain pattern has already been drawn. Is not erased, a new character or the like is overwritten thereon.

これに対してリバースANDモード(クリアモード)の
場合第118図に示すように、ビットマップ24が論理1で
セットされている状態に対して論理0にクリアすること
により描画を行う。
On the other hand, in the case of the reverse AND mode (clear mode), as shown in FIG. 118, drawing is performed by clearing the state in which the bit map 24 is set to logic 1 to logic 0.

第119図はCPU4からVMEバス6を介してレジスタRG CON
TROL181に送出される7ビットの信号RG CONTROL COMMAN
Dのフォーマットであり、値0がDOUBLE MODE、値1がSI
NGLE MODEとされ、前者がDefaultとされている。値2乃
至255は予備とされている。
FIG. 119 shows that the register RG CON is transmitted from the CPU 4 through the VME bus 6.
7-bit signal RG CONTROL COMMAN sent to TROL181
D format, value 0 is DOUBLE MODE, value 1 is SI
NGLE MODE is set, and the former is set to Default. Values 2 through 255 are reserved.

第120図はレジスタRG STATUS182からVMEバス6を介し
てCPU4に送出される7ビットの信号RG STATUSのフォー
マットであり、値0がNOT BUSY、値1がBUSY、値2乃至
255は予備とされている。信号BUSYは描画手段23がビッ
トマップ24にアクセスを行っているときオンされ、この
ときCPU4のビットマップ24へのアクセスは禁止される。
FIG. 120 shows the format of a 7-bit signal RG STATUS sent from the register RG STATUS 182 to the CPU 4 via the VME bus 6, in which the value 0 is NOT BUSY, the value 1 is BUSY, and the values 2 to
255 is reserved. The signal BUSY is turned on when the drawing means 23 is accessing the bitmap 24, and at this time, the CPU 4 is prohibited from accessing the bitmap 24.

第121図はDSP(座標変換手段)15からDSP IOバス15
2、レジスタMAILBOX DSP TO VME183、VMEバス6を介し
てCPU4に、またCPU4からVMEバス6、レジスタMAILBOX V
ME TO DSP184、DSP IOバス152を介してDSP15に、各々デ
ータを受け渡す場合のフォーマットであり、各々16ビッ
トが使用される。
FIG. 121 shows the DSP (coordinate conversion means) 15 to the DSP IO bus 15
2. Register MAILBOX DSP TO VME183, to CPU 4 via VME bus 6, and from CPU 4 to VME bus 6, register MAILBOX V
This is a format for transferring data to the DSP 15 via the ME TO DSP 184 and the DSP IO bus 152, and each uses 16 bits.

レジスタMAILBOX DSP TO VME183とMAILBOX VME TO DS
P184はFIFO144とともに、DSP IO BUSコントローラ151に
より制御される。
MAILBOX DSP TO VME183 and MAILBOX VME TO DS
P184 is controlled by the DSP IO BUS controller 151 together with the FIFO 144.

第122図はVMEバス及びSYSTEMコントローラ178による
システム制御のタイミングチャートである。リセットパ
ルスによりシステムが一旦リセットされると、DSP IO B
US152からFIFO144にコマンドが入力され、さらに読み出
され、レジスタX_BASE145、Y_BASE146、OPERATION147、
TEXTURE148に転送される。DATA IO BUS141の準備が完了
すると、レジスタX_BASE145、Y_BASE146の値がDATA IO
BUS141から入力されたX座標とY座標に加算され、レジ
スタYCOOR STORAGE161、XSTART STORAGE163、XEND165に
転送される。これらのレジスタのデータに対応してテキ
スチュアパターンROM173、ビットパターンROM174から所
定のパターンが発生され、アドレスデータとともにVME
バス6を介してビットマップ24に送出される。これによ
り所定の描画が行われる。DATA IO BUS141にブロックエ
ンドのデータが入力されたとき、その最後のブロックの
処理を完了した後、再びFIFO144から次のコマンドが入
力され、同様の処理が繰り返される。
FIG. 122 is a timing chart of the system control by the VME bus and the system controller 178. Once the system is reset by the reset pulse, DSP IO B
A command is input from the US 152 to the FIFO 144 and further read out, and the registers X_BASE 145, Y_BASE 146, OPERATION 147,
Transferred to TEXTURE148. When the preparation of DATA IO BUS141 is completed, the values of registers X_BASE145 and Y_BASE146
The values are added to the X and Y coordinates input from the BUS 141 and transferred to the registers YCOOR STORAGE 161, XSTART STORAGE 163, and XEND 165. A predetermined pattern is generated from the texture pattern ROM 173 and the bit pattern ROM 174 corresponding to the data of these registers, and the VME is generated together with the address data.
The data is transmitted to the bit map 24 via the bus 6. Thereby, a predetermined drawing is performed. When the block end data is input to the DATA IO BUS 141, after completing the processing of the last block, the next command is input again from the FIFO 144, and the same processing is repeated.

第123図はVMEバス及びシステムコントローラ178によ
るパターン生成と描画のシーケンスを表わしている。描
画の開始が入力されると、レジスタYCOOR STORAGE161、
XSTART STORAGE163、XEND STORAGE165に、各々所定のデ
ータがラッチされる。VMEバス6に描画するビットマッ
プ24のアドレスが入力されると、そこに既に描画されて
いるデータが先に読み出され、レジスタ177にラッチさ
れる。
FIG. 123 shows a sequence of pattern generation and drawing by the VME bus and the system controller 178. When the start of drawing is input, register YCOOR STORAGE161,
Predetermined data is latched in XSTART STORAGE 163 and XEND STORAGE 165, respectively. When the address of the bit map 24 to be drawn on the VME bus 6 is input, the data already drawn there is read out first and latched by the register 177.

一方カウンタXSTART164はロードされた始点のX座標
値からカウント値を順次インクリメントし、レジスタXE
ND166の値と比較する。ROMモードセレクトアレイ172は
この比較結果に対応して所定のROM MODEを発生する。ビ
ットパターンROM174はこのROM MODEやレジスタ XEND166
からのデータに対応して所定のビットパターンを発生
し、またテキスチュアパターンROM173は指定されたテキ
スチュアパターンを発生する。これらのパターンがレジ
スタOPERATION147からの信号OPERATIONに対応してALU17
5、176により演算され、ビットマップ24の指定されたア
ドレスに書き込まれる。
On the other hand, the counter XSTART164 increments the count value sequentially from the X coordinate value of the loaded starting point,
Compare with the value of ND166. The ROM mode select array 172 generates a predetermined ROM MODE according to the comparison result. The bit pattern ROM174 is used for this ROM MODE and register XEND166.
A predetermined bit pattern is generated in accordance with the data from, and a texture pattern ROM 173 generates a specified texture pattern. These patterns correspond to the signal OPERATION from the register OPERATION147 and ALU17
The operation is performed by 5, 176, and written to the specified address of the bit map 24.

1WORDの書き込みが完了するとVMEバス及びシステムコ
ントローラ178からカウンタクロックが出力されて描画
点(WORD)が移動され、次のWORDが読み出され、また書
き込まれる。この様な動作が繰り返し行われる。
When the writing of one word is completed, the counter clock is output from the VME bus and the system controller 178, the drawing point (WORD) is moved, and the next word is read and written. Such an operation is repeatedly performed.

第124図はビットマップ24の所定のアドレスからデー
タを読み出し、さらに書き込む場合のより詳細なタイミ
ングチャートである。アドレスデータが入力された後、
アドレスストローブ信号が論理0とされたとき、そのア
ドレスデータが有効とされる。ビットマップ24の出力信
号DTACKが論理1になり、さらに描画(RG)手段23の信
号READ/WRITEが論理1(READ)になると、描画手段23の
データストローブ信号が論理0とされる。これによりビ
ットマップ24からデータが読み出される。読み出しが開
始されると信号DTACKが論理0に反転される。信号DTACK
が論理0になると所定のタイミングでデータストローブ
信号が論理1に反転する。その結果信号READ/WRITEが論
理0(WRITE)に反転し、読み出しデータが終了して信
号DTACKが再び論理1に反転する。このとき描画手段23
より書き込みデータが出力され、データストローブ信号
が論理0に反転され、さらに信号DTACKが論理0に反転
される。その後所定のタイミングでデータストローブ信
号が論理1に反転し、書き込みデータが終了する。この
ときまたアドレスストローブ信号も論理1に反転され
る。データストローブ信号が論理1になると信号DTACK
が論理1に反転する。
FIG. 124 is a more detailed timing chart when data is read from a predetermined address of the bit map 24 and further written. After the address data has been entered,
When the address strobe signal is set to logic 0, the address data is made valid. When the output signal DTACK of the bit map 24 becomes logic 1 and the signal READ / WRITE of the drawing (RG) means 23 becomes logic 1 (READ), the data strobe signal of the drawing means 23 becomes logic 0. As a result, data is read from the bitmap 24. When reading is started, the signal DTACK is inverted to logic 0. Signal DTACK
Becomes logic 0, the data strobe signal is inverted to logic 1 at a predetermined timing. As a result, the signal READ / WRITE is inverted to logic 0 (WRITE), the read data is completed, and the signal DTACK is again inverted to logic 1. At this time, the drawing means 23
The write data is output, the data strobe signal is inverted to logic 0, and the signal DTACK is also inverted to logic 0. Thereafter, at a predetermined timing, the data strobe signal is inverted to logic 1, and the write data ends. At this time, the address strobe signal is also inverted to logic 1. When the data strobe signal becomes logic 1, the signal DTACK
Is inverted to logic one.

このように描画手段23によりビットマップ24上にデー
タを書き込む前に読み出す処理は、READ_MODIFY_WRITE
シーケンスに従って行われる。これにより、アドレスを
指定して先ずREADモードを実行し、それを一旦終了させ
た後、再びアドレスを指定してWRITEモードを実行する
ような場合に較べ、処理時間を短縮することができる。
As described above, the process of reading data before writing data on the bitmap 24 by the drawing unit 23 is performed by READ_MODIFY_WRITE
It is performed according to a sequence. As a result, the processing time can be shortened as compared with the case where the READ mode is first executed by designating the address, and once terminated, and then the address is again designated and the WRITE mode is executed.

〔発明の効果〕〔The invention's effect〕

以上の如く本発明によれば、ポリゴンを形成する座標
から、描画の開始点と終了点のみを選択し、開始点から
終了点まで順次増加する座標を生成しつつ、ビットマッ
プに文字を描画するようにしたので、ビットマップに一
旦ポリゴンを描画した後、スキャンして描画の開始点と
終了点をサーチ、選択する場合に較べ、ビットマップに
対するアクセス回数を減らすことができ、描画時間を短
縮することが可能になる。
As described above, according to the present invention, only the starting point and the ending point of the drawing are selected from the coordinates forming the polygon, and the characters are drawn on the bit map while generating the coordinates that sequentially increase from the starting point to the ending point. As a result, the number of accesses to the bitmap can be reduced and the rendering time can be reduced as compared with the case where a polygon is once drawn on the bitmap, and then scanning is performed to search and select the start and end points of the drawing. It becomes possible.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の高品質文字生成装置のブロック図、 第2図はアウトライン方式の原理図、 第3図は本発明の高品質文字生成装置の処理の説明図、 第4図はRAMディスクのフォーマットの説明図、 第5図は座標変換手段から出力されるコマンドとデータ
のフォーマットの説明図、 第6図はbtoj( )関数の処理の説明図、 第7図は座標変換処理のフローチャート、 第8図はデュアルポートRAMの説明図、 第9図はデュアルポート0バンクからのデータのロード
とロードデータの実行のサブルーチンのフローチャー
ト、 第10図乃至25図はコマンドパケットの説明図、 第26図は文字の回転、傾斜又は平行移動の説明図、 第27図はC_LineFeedのサブルーチンのフローチャート、 第28図はC_FormFeedのサブルーチンのフローチャート、 第29図はC_PlotFontのサブルーチンのフローチャート、 第30図はコマンドパケットの説明図、 第31図はPositionTransのサブルーチンのフローチャー
ト、 第32図はビットマップ上におけるマージンの説明図、 第33図は輪郭座標生成手段のブロック図、 第34図は座標計算部のブロック図、 第35図は座標計算部のシーケンサのブロック図、 第36図は座標計算のフローチャート、 第37図は座標計算の状態遷移図、 第38図は初期値設定の状態遷移図、 第39図は初期値設定のタイミングチャート、 第40図はブレッセンハムのアルゴリズムの説明図、 第41図は定数計算の状態遷移図、 第42図及び第43図は座標計算の状態遷移図、 第44図は座標計算のタイミングチャート、 第45図は特殊処理の状態遷移図、 第46図及び第47図は特殊処理のタイミングチャート、 第48図はコマンド転送処理の状態遷移図、 第49図はコマンド転送処理のタイミングチャート、 第50図は信号の遅延の説明図、 第51図乃至第53図は直線座標選択の説明図、 第54図は直線座標選択部のブロック図、 第55図は直線座標選択部の状態遷移図、 第56図はLINE ALLの状態遷移図、 第57図乃至第59図はLINE ALLのタイミングチャート、 第60図はLINE BFRの状態遷移図、 第61図乃至第63図はLINE BFRのタイミングチャート、 第64図及び第65図はLINE NOWの状態遷移図、 第66図乃至第68図はLINE NOWのタイミングチャート、 第69図はCMND/ZEROの状態遷移図、 第70図はCMNDのタイミングチャート、 第71図及び第72図はZEROのタイミングチャート、 第73図はコーナ分類の説明図、 第74図はコーナ座標選択部のブロック図、 第75図はコーナ座標選択部のシーケンサのブロック図、 第76図はPROM内のコントロール信号の配置図、 第77図はコーナ座標選択の状態遷移図、 第78図はCTYP1のコーナ処理の状態遷移図、 第79図はCTYP1のコーナ処理のタイミングチャート、 第80図はCTYP2のコーナ処理の状態遷移図、 第81図はCTYP2のコーナ処理のタイミングチャート、 第82図はCTYP3のコーナ処理の状態遷移図、 第83図はCTYP3のコーナ処理のタイミングチャート、 第84図はCTYP4のコーナ処理の状態遷移図、 第85図及び第86図はCTYP4のコーナ処理のタイミングチ
ャート、 第87図はCTYP5のコーナ処理の状態遷移図、 第88図はCTYP5のコーナ処理のタイミングチャート、 第89図はCTYP6のコーナ処理の状態遷移図、 第90図はCTYP6のコーナ処理のタイミングチャート、 第91図はCTYP7のコマンド処理の状態遷移図、 第92図はCTYP7のコマンド処理のタイミングチャート、 第93図は直線処理の状態遷移図、 第94図は直線処理(LINE ALL)のタイミングチャート、 第95図は直線処理(LINE BFR)のタイミングチャート、 第96図は直線処理(LINE NOW)のタイミングチャート、 第97図は輪郭座標生成手段のブロック図、 第98図は輪郭座標生成処理のタイミングチャート、 第99図及び第100図はソートの説明図、 第101図はソート手段のブロック図、 第102図及び第103図はソートのタイミングチャート、 第104図乃至第107図はビットマップの説明図、 第108図は描画手段のブロック図、 第109図は描画データのフォーマットの説明図、 第110図は描画コマンドのフォーマットの説明図、 第111図は描画処理の説明図、 第112図は描画アドレスとビットパターンのフォーマッ
トの説明図、 第113図はビットパターンROMの説明図、 第114図はROM MODEの説明図、 第115図はテキスチュアパターンROMの説明図、 第116図はテキスチュアパターンの説明図、 第117図は標準ORモードの説明図、 第118図はリバースANDモードの説明図、 第119図はRG CONTROL COMMANDのフォーマットの説明
図、 第120図はRG STATUSのフォーマットの説明図、 第121図はMAILBOXのフォーマットの説明図、 第122図は描画システムのタイミングチャート、 第123図はビットパターン生成のタイミングチャート、 第124図は読み出しと書き込みのタイミングチャートで
ある。 1……エディタ 2……CEシステムハードウェア 3……レーザビームプリンタ 4……CPU 5……DSP外部インタフェースバス 6……VMEバス 11……CPU 12……ハードディスク 13……VRAM 14……RAMディスク 15……座標変換手段 21……輪郭座標生成手段 22……ソート手段 23……描画手段 24……ビットマップ 31……入力コントロール 32……座標計算部 33……直線座標選択部 34……コーナ座標選択部 35……出力コントロール
FIG. 1 is a block diagram of a high-quality character generator of the present invention, FIG. 2 is a principle diagram of an outline system, FIG. 3 is an explanatory diagram of processing of the high-quality character generator of the present invention, and FIG. FIG. 5 is an explanatory diagram of a format of a command and data output from the coordinate conversion means, FIG. 6 is an explanatory diagram of a btoj () function process, FIG. 7 is a flowchart of a coordinate conversion process, FIG. 8 is an explanatory diagram of a dual port RAM, FIG. 9 is a flowchart of a subroutine for loading data from a dual port 0 bank and executing load data, FIGS. 10 to 25 are explanatory diagrams of a command packet, and FIG. Is a diagram for explaining rotation, inclination or translation of characters, FIG. 27 is a flowchart of a subroutine of C_LineFeed, FIG. 28 is a flowchart of a subroutine of C_FormFeed, FIG. 29 is a subroutine of C_PlotFont FIG. 30 is an explanatory diagram of a command packet, FIG. 31 is a flowchart of a subroutine of PositionTrans, FIG. 32 is an explanatory diagram of a margin on a bitmap, FIG. 33 is a block diagram of a contour coordinate generating means, FIG. 34 is a block diagram of the coordinate calculation unit, FIG. 35 is a block diagram of a sequencer of the coordinate calculation unit, FIG. 36 is a flowchart of the coordinate calculation, FIG. 37 is a state transition diagram of the coordinate calculation, and FIG. 38 is an initial value setting 39 is a timing chart for setting initial values, FIG. 40 is an explanatory diagram of Bressenham's algorithm, FIG. 41 is a state transition diagram for constant calculation, and FIGS. 42 and 43 are states for coordinate calculation. FIG. 44 is a timing chart of coordinate calculation, FIG. 45 is a state transition diagram of special processing, FIGS. 46 and 47 are timing charts of special processing, and FIG. 48 is a state transition of command transfer processing. FIG. 49 is a timing chart of a command transfer process, FIG. 50 is an explanatory diagram of signal delay, FIGS. 51 to 53 are explanatory diagrams of linear coordinate selection, and FIG. 54 is a block of a linear coordinate selection unit. Figure, Figure 55 is the state transition diagram of the linear coordinate selection unit, Figure 56 is the state transition diagram of LINE ALL, Figures 57 to 59 are the timing chart of LINE ALL, Figure 60 is the state transition diagram of LINE BFR 61 to 63 are LINE BFR timing charts, FIGS. 64 and 65 are LINE NOW state transition diagrams, FIGS. 66 to 68 are LINE NOW timing charts, and FIG. 69 is CMND / State transition diagram of ZERO, FIG. 70 is a timing chart of CMND, FIGS. 71 and 72 are timing charts of ZERO, FIG. 73 is an explanatory diagram of corner classification, FIG. 74 is a block diagram of a corner coordinate selection unit, Fig. 75 is a block diagram of the sequencer of the corner coordinate selection unit. Fig. 76 is the control signal in the PROM. Layout diagram, Fig. 77 is the state transition diagram of corner coordinate selection, Fig. 78 is the state transition diagram of CTYP1 corner process, Fig. 79 is the timing chart of CTYP1 corner process, Fig. 80 is the state of CTYP2 corner process FIG. 81 is a timing chart of the corner processing of CTYP3, FIG. 82 is a timing chart of the corner processing of CTYP3, FIG. 83 is a timing chart of the corner processing of CTYP3, and FIG. 84 is a state of the corner processing of CTYP4. 85 and 86 are timing charts of corner processing of CTYP4, FIG. 87 is a state transition chart of corner processing of CTYP5, FIG. 88 is a timing chart of corner processing of CTYP5, and FIG. 89 is CTYP6. State transition diagram of corner processing, Fig. 90 is timing chart of CTYP6 corner processing, Fig. 91 is state transition diagram of CTYP7 command processing, Fig. 92 is timing chart of CTYP7 command processing, Fig. 93 is linear processing State transition diagram Fig. 94 is a timing chart for linear processing (LINE ALL), Fig. 95 is a timing chart for linear processing (LINE BFR), Fig. 96 is a timing chart for linear processing (LINE NOW), and Fig. 97 is contour coordinate generation means. FIG. 98 is a timing chart of contour coordinate generation processing, FIGS. 99 and 100 are explanatory diagrams of sorting, FIG. 101 is a block diagram of a sorting means, and FIGS. 102 and 103 are timings of sorting. Charts, FIGS. 104 to 107 are explanatory diagrams of bitmaps, FIG. 108 is a block diagram of drawing means, FIG. 109 is a diagram illustrating the format of drawing data, FIG. 110 is a diagram illustrating the format of drawing commands, FIG. 111 is an explanatory diagram of a drawing process, FIG. 112 is an explanatory diagram of a format of a drawing address and a bit pattern, FIG. 113 is an explanatory diagram of a bit pattern ROM, FIG. 114 is an explanatory diagram of a ROM MODE, and FIG. Texture Illustration of turn ROM, Fig. 116 explanation of texture pattern, Fig. 117 explanation of standard OR mode, Fig. 118 explanation of reverse AND mode, Fig. 119 explanation of format of RG CONTROL COMMAND Fig. 120 is an explanatory diagram of RG STATUS format, Fig. 121 is an explanatory diagram of MAILBOX format, Fig. 122 is a timing chart of drawing system, Fig. 123 is a timing chart of bit pattern generation, Fig. 124 is 5 is a timing chart of reading and writing. 1 ... editor 2 ... CE system hardware 3 ... laser beam printer 4 ... CPU 5 ... DSP external interface bus 6 ... VME bus 11 ... CPU 12 ... hard disk 13 ... VRAM 14 ... RAM disk 15 ... Coordinate conversion means 21 ... Contour coordinate generation means 22 ... Sort means 23 ... Drawing means 24 ... Bitmap 31 ... Input control 32 ... Coordinate calculation unit 33 ... Linear coordinate selection unit 34 ... Corner Coordinate selection section 35 Output control

フロントページの続き (56)参考文献 特開 平1−166275(JP,A) 特開 昭62−42273(JP,A) 特開 昭63−318686(JP,A) 特開 昭62−200473(JP,A) 特開 昭62−115580(JP,A) 特開 昭63−4380(JP,A) (58)調査した分野(Int.Cl.6,DB名) G09G 5/24 G09G 5/36 G06T 11/00 G06T 11/40 B41J 2/485Continuation of front page (56) References JP-A-1-166275 (JP, A) JP-A-62-42273 (JP, A) JP-A-63-318686 (JP, A) JP-A-62-200473 (JP, A) JP-A-62-115580 (JP, A) JP-A-63-4380 (JP, A) (58) Fields investigated (Int. Cl. 6 , DB name) G09G 5/24 G09G 5/36 G06T 11/00 G06T 11/40 B41J 2/485

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数の線分を有する文字の輪郭データを記
憶する第1の記憶手段と、 前記第1の記憶手段から読み出された前記輪郭データに
基づいて、描画方向に平行な座標軸を有する2次元座標
における前記線分に対応した輪郭点の座標を生成し、前
記描画方向に平行な複数のラインの各々において前記輪
郭点の中から偶数個選出して、描画の開始位置および終
了位置を規定する描画点として出力する輪郭座標生成手
段と、 前記輪郭座標生成手段から得られた前記描画点を、各ラ
インにおいて前記描画方向に沿って並び換え、さらに複
数のラインが並ぶ方向に沿って順に並び換えるソート手
段と、 前記ソート手段により並び換えらえた前記描画点の座標
に基づいて、ライン毎に奇数番目の前記描画点から偶数
番目の前記描画点までの描画を行う描画手段と、 前記描画手段により前記文字が描画される第2の記憶手
段とを備え、 前記輪郭座標生成手段が、 前記輪郭データに基づいて前記2次元座標における前記
輪郭点の座標を線分毎に算出して出力する座標計算部
と、 前記座標計算部により線分毎に算出された前記輪郭点の
中から、線分毎に、所定のアルゴリズムに基づいて選出
し前記描画点として出力する第1の座標選択部と、 前記複数のラインの各々において前記描画点が偶数個と
なるように、前記座標計算部により線分毎に算出された
前記輪郭点であって前記線分同士が交わる交点の中か
ら、0個、または1個、または2個の前記描画点として
選出して出力する第2の座標選択部とを備えることを特
徴とする高品質文字生成装置。
A first storage unit for storing outline data of a character having a plurality of line segments; and a coordinate axis parallel to a drawing direction based on the outline data read from the first storage unit. Generating the coordinates of the contour points corresponding to the line segments in the two-dimensional coordinates, selecting an even number of the contour points in each of a plurality of lines parallel to the drawing direction, and starting and ending the drawing position Contour coordinates generating means for outputting as drawing points defining the following, and the drawing points obtained from the contour coordinate generating means are rearranged along the drawing direction in each line, and further along the direction in which a plurality of lines are arranged. Sorting means for rearranging in order, and drawing from the odd-numbered drawing points to the even-numbered drawing points for each line based on the coordinates of the drawing points rearranged by the sorting means. Drawing means, and a second storage means on which the character is drawn by the drawing means, wherein the outline coordinate generation means calculates the coordinates of the outline point in the two-dimensional coordinates based on the outline data by a line segment. A coordinate calculation unit for calculating and outputting each line, and from the contour points calculated for each line segment by the coordinate calculation unit, each line segment is selected based on a predetermined algorithm and output as the drawing point. A first coordinate selection unit; the contour points calculated for each line segment by the coordinate calculation unit so that the drawing points are an even number in each of the plurality of lines; A high-quality character generation device, comprising: a second coordinate selection unit that selects and outputs zero, one, or two drawing points from the intersections.
【請求項2】前記第2の座標選択部が、1個の前記交点
を1個の前記描画点として選出する第1の選出処理と、
1個の前記交点を2個の前記描画点として選出する第2
の選出処理と、前記交点を前記描画点として選出しない
第3の選出処理と、前記交点を有する前記線分上の前記
輪郭点であってこの交点とは異なる点を前記描画点とし
て選出する第4の選出処理との4つの選出処理の中の何
れかの選出処理を行うことを特徴とする特許請求の範囲
第1項に記載の高品質文字生成装置。
2. A first selection process in which the second coordinate selection unit selects one intersection as one drawing point.
A second selecting one of the intersection points as two of the drawing points;
A third selection process that does not select the intersection as the drawing point, and a third selection process that selects, as the drawing point, a contour point on the line segment having the intersection that is different from the intersection. 2. The high-quality character generating apparatus according to claim 1, wherein any one of the four selection processes and the four selection processes is performed.
JP1012496A 1989-01-20 1989-01-20 High quality character generator Expired - Fee Related JP2842602B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1012496A JP2842602B2 (en) 1989-01-20 1989-01-20 High quality character generator
US08/161,310 US5426727A (en) 1989-01-20 1993-12-03 High-quality character generating system and method for use therein

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1012496A JP2842602B2 (en) 1989-01-20 1989-01-20 High quality character generator

Publications (2)

Publication Number Publication Date
JPH02193191A JPH02193191A (en) 1990-07-30
JP2842602B2 true JP2842602B2 (en) 1999-01-06

Family

ID=11806983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1012496A Expired - Fee Related JP2842602B2 (en) 1989-01-20 1989-01-20 High quality character generator

Country Status (1)

Country Link
JP (1) JP2842602B2 (en)

Also Published As

Publication number Publication date
JPH02193191A (en) 1990-07-30

Similar Documents

Publication Publication Date Title
US4725831A (en) High-speed video graphics system and method for generating solid polygons on a raster display
US4529978A (en) Method and apparatus for generating graphic and textual images on a raster scan display
JPH0863144A (en) Font processing device and font processing method
US5426727A (en) High-quality character generating system and method for use therein
JP2842601B2 (en) High quality character generator
US5053759A (en) Method of and apparatus for generating high-quality pattern
KR100212412B1 (en) Apparatus for generating character pattern
JP2842602B2 (en) High quality character generator
EP0062669B1 (en) Graphic and textual image generator for a raster scan display
US5475809A (en) Method and apparatus for generating high-quality character pattern defined by edge lines
US4774508A (en) Method of forming matrix image
JPH10143134A (en) Method for forming and storing characters and apparatus therefor
US5428719A (en) Method and apparatus for generating high-quality pattern in accordance with an edge defining a character pattern
EP0391401A2 (en) Method and apparatus for generating high-quality pattern
EP0838786A1 (en) Method of producing polygon data, image processor to which the method is applied, and expanded function board
JP3089906B2 (en) Drawing equipment
JP3284172B2 (en) Character processor
KR910002799B1 (en) Character generation method and apparatus for computer system
KR960013368B1 (en) Outline font formation method
JPH0661960B2 (en) Dot interpolation control device
JP2835056B2 (en) High quality character pattern generation method
JPH01166967A (en) Pattern data forming method and pattern generator containing said pattern data
JPH03288894A (en) Document preparing device
JP2000242802A (en) Graphic processor
JPH03278190A (en) Polygon painting-out system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees