JP2001053747A - Shaping method - Google Patents

Shaping method

Info

Publication number
JP2001053747A
JP2001053747A JP22875699A JP22875699A JP2001053747A JP 2001053747 A JP2001053747 A JP 2001053747A JP 22875699 A JP22875699 A JP 22875699A JP 22875699 A JP22875699 A JP 22875699A JP 2001053747 A JP2001053747 A JP 2001053747A
Authority
JP
Japan
Prior art keywords
arrangement
group
ideal
value
processing
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.)
Granted
Application number
JP22875699A
Other languages
Japanese (ja)
Other versions
JP3691297B2 (en
Inventor
Haruko Kato
晴子 河東
Yasuhito Sasaki
康仁 佐々木
Hironori Terauchi
弘典 寺内
Shunsuke Tsutsumi
俊介 堤
Manabu Yoshino
學 吉野
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.)
Mitsubishi Electric Corp
Nippon Telegraph and Telephone Corp
Original Assignee
Mitsubishi Electric Corp
Nippon Telegraph and Telephone Corp
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 Mitsubishi Electric Corp, Nippon Telegraph and Telephone Corp filed Critical Mitsubishi Electric Corp
Priority to JP22875699A priority Critical patent/JP3691297B2/en
Publication of JP2001053747A publication Critical patent/JP2001053747A/en
Application granted granted Critical
Publication of JP3691297B2 publication Critical patent/JP3691297B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To uniformly arrange whole groups in terms of structure by collecting the groups whose bands are the same, arranging the groups from the group of high priority and the group of the large band, calculating ideal arrangement slot positions for respective groups, arranging group elements to the positions and retrieving an alternate slot position at random. SOLUTION: In GID arrangement where a group identifier (GID) is written into a GID arrangement table, the groups of the same bands are collected and the groups are arranged from the group of the large band with base offsets selected at random from whole slots as a reference. A start offset in the group and GID in one group are uniformly dispersed. When intra-group GID cannot be arranged in a permitted CDV value (deviation from ideal position), the start offset is changed and it is reset. When it cannot be reset even if the permitted number of times is changed, an integerizing method and the permitted CDV value at the time of calculating a GID interval are changed.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、ATMネットワ
ークノードの交換装置内で実施されるシェーピング方法
に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a shaping method implemented in a switching device of an ATM network node.

【0002】[0002]

【従来の技術】図77は、例えば電子情報通信学会技術
報告SSE98−193(1999年1月)岩村、小
林、堀江、藤田、芦「GFR処理回路の帯域割り当て方
法に関する検討」に示された従来のシェーピング方法を
示す図である。図において、GIDTBLはグループ識
別子配置テーブル、ADRはGIDアドレス、CALP
はGIDの計算理想配置位置、CALDはGIDの理想
配置間隔、RDは相関計算範囲である。
2. Description of the Related Art FIG. 77 is a diagram showing a conventional example shown in, for example, IEICE Technical Report SSE98-193 (January 1999) Iwamura, Kobayashi, Horie, Fujita, Ashi "A Study on Bandwidth Assignment Method of GFR Processing Circuit". It is a figure which shows the shaping method of. In the figure, GIDTBL is a group identifier arrangement table, ADR is a GID address, and CALP
Is a calculated ideal arrangement position of GID, CALD is an ideal arrangement interval of GID, and RD is a correlation calculation range.

【0003】図77において、理想配置位置CALPの
前7スロット、後8スロットを抜粋拡大したものが図の
下部に示されており、スロット毎に1から16の番号が
振られている。スロット5からスロット12が許容CD
V値7の場合の許容CDV範囲であり、この各々のスロ
ットに対して、9スロット毎の相関理想範囲RD5から
RD12が定義されている。
[0005] In FIG. 77, an extract and enlargement of seven slots before and eight slots after the ideal arrangement position CALP are shown at the bottom of the figure, and numbers 1 to 16 are assigned to each slot. Slot 5 to slot 12 are acceptable CDs
This is an allowable CDV range in the case of a V value of 7, and for each slot, a correlation ideal range RD5 to RD12 is defined for every nine slots.

【0004】図78は、この従来のシェーピング方法の
1グループ内のグループ要素配置の手順を示す図であ
る。図の処理trunc_s3_past_s3におい
て、理想配置間隔CALDは、総スロット数/グループ
要素数GPCRで計算され、これに基き理想配置位置C
ALPが求められる。各々の理想配置位置CALPに関
して、許容CDV範囲内、許容CDV値を7とすれば、
前3スロットから後4スロット、すなわち理想位置をス
ロット8と置くとスロット5からスロット12までの各
スロットについて、相関計算範囲RD5からRD12の
荷重付き相関を計算し、配置密度がなるべく均等になる
ように配置位置を選択する。
FIG. 78 is a diagram showing a procedure for arranging group elements in one group in the conventional shaping method. In the process trunc_s3_past_s3 shown in the figure, the ideal arrangement interval CALD is calculated by the total number of slots / the number of group elements GPCR, and based on this, the ideal arrangement position C
ALP is required. Assuming that the ideal CDV value is 7 within the allowable CDV range for each ideal arrangement position CALP,
When the front 3 slots to the rear 4 slots, that is, when the ideal position is set to the slot 8, the weighted correlation of the correlation calculation range RD5 to RD12 is calculated for each slot from the slot 5 to the slot 12, so that the arrangement density is as uniform as possible. Select the placement position.

【0005】さらに、配置母体のGIDテーブルGID
TBL内の理想位置CALPの配置位置に関しては、理
想配置間隔CALDの範囲内で10箇所を選択して試行
し、全体としての配置密度がなるべく均等になる位置、
すなわちGIDテーブルGIDTBL内の配置済スロッ
トがなるべく均等になる位置を選択して、GIDを配置
する。
Further, the GID table GID
With respect to the arrangement position of the ideal position CALP in the TBL, 10 positions are selected and tried within the range of the ideal arrangement interval CALD, and the positions where the overall arrangement density becomes as uniform as possible,
That is, a position where the arranged slots in the GID table GIDTBL are made as equal as possible is selected, and the GID is arranged.

【0006】上記のような従来のシェーピング方法で
は、GID配置に関して多種類の複雑な仮想配置処理を
試行し、その結果を比較して最適な配置位置を選択して
いる。図78の手順で示すように、この方式では多重の
ループ処理からなる仮想配置処理が課されている。
In the above-described conventional shaping method, various kinds of complicated virtual arrangement processing are tried for the GID arrangement, and the results are compared to select an optimal arrangement position. As shown in the procedure of FIG. 78, this method imposes virtual arrangement processing including multiple loop processing.

【0007】[0007]

【発明が解決しようとする課題】図77と図78に示す
方法では、許容CDV値が7以下であるが、許容CDV
値が大きくなると、trunc_s3_past_s4
からtrunc_s3_past_s7へのループの回
数は、許容CDV値に比例して多くなり、GIDテーブ
ルの全スロットに対する要配置グループ要素の割合が小
さい場合でも、多重のループ処理による仮想配置処理を
経る必要があるという課題があった。
In the method shown in FIGS. 77 and 78, the allowable CDV value is 7 or less, but the allowable CDV value is not more than 7.
As the value increases, trunc_s3_past_s4
The number of loops from to trunc_s3_past_s7 increases in proportion to the permissible CDV value, and it is necessary to go through virtual placement processing by multiple loop processing even when the ratio of placement required group elements to all slots in the GID table is small. There were challenges.

【0008】また、この方法は、配置の際のCDVを、
許容CDV値を超えない最大値にするような構造になっ
ているので、少ないCDVで配置できる場合でも、大き
なCDV値の位置に配置されてしまうという課題があっ
た。
[0008] In this method, the CDV at the time of arrangement is
Since the structure is such that the maximum value is set so as not to exceed the allowable CDV value, there is a problem that even if the arrangement can be made with a small number of CDVs, the arrangement is made at a position with a large CDV value.

【0009】また、この方法は、理想配置位置CALP
の計算については、割り切れない整数除算の商を単純な
整数計算(理想間隔CALD=整数個の総スロット数/
整数個のグループ要素数GPCR)で一定値において計
算しており、実数計算に基く理想位置と、整数化した場
合のずれに対する配慮がないという課題があった。
[0009] This method is also suitable for the ideal arrangement position CALP.
Is calculated by dividing the quotient of an indivisible integer division by a simple integer (ideal interval CALD = total number of integer slots /
There is a problem that the calculation is performed at a constant value using an integer number of group elements (GPCR), and there is no consideration for the deviation from the ideal position based on the real number calculation and the conversion to an integer.

【0010】この発明は、上述のような課題を解決する
ためになされたもので、第1の目的は、構造的に全グル
ープを配置するようにしたものである。第2の目的は、
理想配置位置を全スロット中にできるだけ均等に分散さ
せるようにしたものである。第3の目的は、理想配置位
置に配置できない場合に、適切な代替位置を選択するよ
うにしたものである。第4の目的は、正確なCDV値が
算出できるようにしたものである。第5の目的は、周期
と範囲を限定した乱数系列が得られるようにしたもので
ある。
The present invention has been made to solve the above-mentioned problems, and a first object is to arrange all groups structurally. The second purpose is
The ideal arrangement positions are distributed as evenly as possible among all the slots. A third object is to select an appropriate alternative position when it cannot be arranged at the ideal arrangement position. A fourth object is to enable an accurate CDV value to be calculated. A fifth object is to obtain a random number sequence having a limited period and range.

【0011】[0011]

【課題を解決するための手段】この発明に係るシェーピ
ング方法は、一個または複数個のグループの、グループ
毎に定められた個数の要素を、アドレスを有する複数個
のスロットから構成される母体テーブルに分散配置する
ものにおいて、帯域が同一の上記グループをまとめて配
置する群化処理と、優先度の高い上記グループから配置
する優先配置処理と、帯域が大きい上記グループから配
置する降順処理と、上記グループ毎の理想配置スロット
位置(以下、スロット位置を位置と称す)を算出する理
想位置算出処理と、算出した上記理想配置位置にグルー
プ要素を配置するグループ要素配置処理と、上記理想配
置位置に配置できない場合に代替のスロットを探索する
代替位置探索処理とを備え、上記理想位置算出処理が、
定められた個数の上記グループを上記母体テーブルへ均
等配置する際の、二種類の整数配置間隔を求める整数間
隔算出処理と、定められた個数のグループを上記母体テ
ーブルへ均等配置する際の上記理想配置位置を、実数計
算により求めて整数化する実数間隔算出処理と、上記実
数間隔算出処理において、実数計算により求めた値を整
数化する際に、バイアスを加算してから整数化演算処理
を行うバイアス付加処理と、上記二種類の整数配置間隔
の選択順番を変化させる間隔混合法変化処理と、同一帯
域グループ内の上記グループ毎の理想配置位置を、上記
整数配置間隔内に均等分散する群内理想位置均等分散処
理と、上記同一帯域グループの上記グループ毎の配置開
始位置を、上記母体テーブルに均等分散する群内開始位
置均等分散処理と、上記実数間隔算出処理および上記群
内理想位置均等分散処理により算出した理想配置位置
と、上記群内開始位置均等分散処理により算出した配分
開始位置を行列座標にして記憶する行列座標記憶処理
と、帯域の異なる上記グループの配置開始位置を、上記
母体テーブル内にランダム分散する開始位置ランダム分
散処理と、同一帯域グループ内のグループ要素の均等配
分を、上記整数間隔算出処理および上記実数間隔算出処
理を用いて行う共通化均等配分処理と、同一グループの
要素の隣接スロットへの配置を禁止する隣接配置禁止処
理とを備え、上記代替位置探索処理が、上記理想配置位
置の周辺のスロット配置状況を観察し、あらかじめ記憶
させておいた最適配置位置パターンと照合し、最適配置
位置を求めるパターン照合処理と、上記母体テーブル内
の配置済スロットの割合に依存して、上記最適配置位置
パターンを変化させる配置割合依存パターン照合処理
と、上記理想配置位置の近傍スロットをランダムに探索
する近傍ランダム探索処理と、上記グループの配置開始
位置を上記母体テーブル内でランダムに探索する全体ラ
ンダム探索処理と、同一帯域グループ群の配置開始位置
基準点を、上記母体テーブル内で、所定の連続スロット
の空をランダムに探索する全体連続ランダム探索処理と
を備えたものである。
According to the present invention, there is provided a shaping method, comprising the steps of: defining a group of one or a plurality of groups; In a distributed arrangement, a grouping process for arranging the groups having the same band at once, a priority arrangement process for arranging the groups having the higher priority, a descending order process for arranging the groups having the larger band, An ideal position calculation process for calculating an ideal arrangement slot position (hereinafter, a slot position is referred to as a position), a group element arrangement process for arranging a group element at the calculated ideal arrangement position, And a substitute position search process for searching for a substitute slot in the case where the ideal position calculation process is performed.
When uniformly arranging a predetermined number of the groups in the matrix table, an integer interval calculation process for calculating two types of integer arrangement intervals, and the ideal when uniformly arranging a predetermined number of groups in the matrix table In the real number interval calculation process of calculating the arrangement position by real number calculation and converting it to an integer, in the real number interval calculation process, when converting the value obtained by the real number calculation to an integer, add a bias and then perform an integer conversion operation process A bias addition process, an interval mixing method changing process for changing the selection order of the two types of integer arrangement intervals, and a group in which the ideal arrangement position of each group in the same band group is evenly distributed within the integer arrangement interval. Ideal position equal distribution processing, and within-group start position equal distribution processing for equally distributing the arrangement start positions of the same band group for each group in the matrix table. An ideal arrangement position calculated by the real number interval calculation process and the intra-group ideal position uniform distribution process; and a matrix coordinate storage process of storing the distribution start position calculated by the intra-group start position uniform distribution process as matrix coordinates; The arrangement start positions of the different groups are randomly distributed in the matrix table, and the start position random distribution processing and the equal distribution of group elements in the same band group are performed using the integer interval calculation processing and the real number interval calculation processing. And an adjacent arrangement prohibition process for prohibiting the arrangement of elements of the same group in adjacent slots. The alternative position search process observes the slot arrangement situation around the ideal arrangement position. A pattern matching process for obtaining an optimal arrangement position by comparing with an optimal arrangement position pattern stored in advance, An arrangement ratio dependent pattern matching process for changing the optimal arrangement position pattern depending on the ratio of the arranged slots in the body table; a neighborhood random search process for randomly searching for a nearby slot at the ideal arrangement position; Random search processing for randomly searching the matrix start position in the matrix table, and randomly searching the matrix table for an arrangement start position reference point of the same band group in the sky of a predetermined continuous slot in the matrix table. And a continuous random search process.

【0012】この発明に係るシェーピング方法は、理想
位置算出処理におけるバイアス付加処理において、付加
するバイアス値をゼロ以上1未満とする小数バイアス付
加処理と、上記理想位置算出処理における間隔混合法変
化処理において、上記小数バイアス付加処理でバイアス
値を変化させ、グループ要素の再設定を行うバイアス変
化処理と、上記バイアス変化処理において、変化させる
バイアス値の順番をあらかじめ定めて、ゼロ以上1未満
の値をとるバイアス値に、バイアス値の種類の総数を乗
じることによって整数値として、この整数値の数列とバ
イアス値の種類総数を記憶させておくバイアス値変化パ
ターン記憶処理とを備えたものである。
According to the shaping method of the present invention, in the bias adding process in the ideal position calculating process, the decimal bias adding process in which the added bias value is equal to or more than zero and less than 1 and the interval mixing method changing process in the ideal position calculating process are performed. The bias value is changed by the decimal bias adding process and the group element is reset, and the order of the bias value to be changed in the bias changing process is set to a value of zero or more and less than one. It is provided with a sequence of integer values and a bias value change pattern storing process for storing the total number of types of bias values as integer values by multiplying the bias values by the total number of types of bias values.

【0013】この発明に係るシェーピング方法は、理想
位置算出処理における実数間隔算出処理において、32
ビット以下の整数による固定小数点変数を用いて、母数
を除数で除算し、第1の商と第1の剰余を求める第1の
処理と、上記第1の剰余を所定のビット数だけ左シフト
する(所定のビット数回だけ2を乗ずる)第2の処理
と、上記左シフトされた第1の剰余を上記除数で除算
し、第2の商と第2の剰余を求める第3の処理と、上記
第2の商に、1以上で上記除数以下の第1の整数を乗算
し、第1の変数を求める第4の処理と、上記第2の剰余
に上記第1の整数を乗算し、上記除数で除算し、第2の
変数を求める第5の処理と、上記第1の変数と上記第2
の変数を加算し、第1の剰余分回答を求める第6の処理
と、上記第1の剰余分回答を、上記所定のビット数だけ
右シフトし(所定のビット数回だけ2で除算し)、第2
の剰余分回答を求める第7の処理と、上記第1の商に上
記第1の整数を乗算し、商分回答を求める第8の処理
と、上記第2の剰余分回答と上記商分回答を加算するこ
とにより、回答を求める第9の処理と、上記第1の整数
を、1以上から上記除数以下の範囲で変化させ、上記第
4の処理から上記第9の処理を繰り返すループ処理とを
備えたものである。
According to the shaping method of the present invention, in the real number interval calculation process in the ideal position calculation process, 32
A first process of dividing a parameter by a divisor using a fixed-point variable having an integer of bits or less to obtain a first quotient and a first remainder, and shifting the first remainder to the left by a predetermined number of bits A second process of multiplying (2 by a predetermined number of bits) and a third process of dividing the left-shifted first remainder by the divisor to obtain a second quotient and a second remainder. Multiplying the second quotient by a first integer equal to or greater than 1 and equal to or less than the divisor to obtain a first variable; and multiplying the second remainder by the first integer; A fifth process of dividing by the divisor to obtain a second variable;
And the first surplus answer is right-shifted by the predetermined number of bits (divided by 2 a predetermined number of times). , Second
A seventh process for obtaining a surplus answer of the above, an eighth process for multiplying the first quotient by the first integer to obtain a quotient answer, the second surplus answer and the quotient answer A ninth process for obtaining an answer, and a loop process for changing the first integer in a range from 1 or more to the divisor or less and repeating the fourth to ninth processes. It is provided with.

【0014】この発明に係るシェーピング方法は、理想
位置算出処理における開始位置ランダム分散処理、なら
びに代替位置探索処理における近傍ランダム探索処理、
全体ランダム探索処理および全体連続ランダム探索処理
において、2のべき乗値で表される乱数の周期を引数と
し、周期毎に異なる変数を設け、周期毎の変数を初期化
する乱数初期化処理と、周期毎の変数を一次関数で更新
する処理と、一周期間の乱数発生時にゼロと最大目的地
の間の各整数を1回または2回ランダムに発生させる乱
数発生周期制御処理と、上記最大目的地を越えない最小
の2のべき乗の周期を選択する周期選択処理と、上記選
択した2のべき乗の周期の乱数関数を呼出す乱数関数呼
出し処理とを備えたものである。
[0014] The shaping method according to the present invention includes a start position random distribution process in an ideal position calculation process, a neighborhood random search process in an alternative position search process,
In the whole random search process and the whole continuous random search process, a random number period represented by a power of 2 is used as an argument, a different variable is provided for each period, and a random number initialization process for initializing a variable for each period is performed. A process of updating each variable with a linear function, a random number generation period control process of randomly generating each integer between zero and a maximum destination once or twice when a random number is generated for one period, and It is provided with a cycle selection process for selecting a minimum power-of-two cycle that does not exceed, and a random-number function calling process for calling a random-number function of the selected power-of-two cycle.

【0015】この発明に係るシェーピング方法は、代替
位置探索処理におけるパターン照合処理において、あら
かじめ行っておく最適配置位置パターン作成処理と、あ
らかじめ行っておく最適配置位置パターン記憶処理と、
パターン照合時に行う最適配置位置パターン参照処理と
を備え、上記最適配置位置パターン作成処理が、同程度
に適した空位置があるときは全てを配置候補とする処理
と、新規配置により、配置済の連続が発生しない空位置
がある場合には、上記空位置を配置候補とする処理と、
配置済の連続が発生しない空位置がない場合には、配置
済の連続数が最小となる位置を配置候補とする処理とを
備え、上記最適配置位置パターン記憶処理において記憶
するパターンが、理想配置位置周辺のスロットの配置状
況を、配置済スロットを1,空スロットを0として1と
0の連続数列で表し、これを二進数列とみなして十進数
に換算した配置状況パターンと、最適配置位置パターン
における配置候補数と、最適配置位置パターンにおける
配置候補位置を、理想配置位置との相対位置で表して羅
列した配置候補位置とを備え、上記最適配置位置パター
ン参照処理が、現在の理想配置位置周辺のスロットの配
置状況を調査して配置状況パターンを作成する処理と、
上記最適配置位置パターン記憶処理において記憶された
パターンを参照する処理と、上記最適配置位置パターン
記憶処理において記憶された配置候補数が複数あるとき
は、乱数により配置候補位置の一つを選択する処理とを
備えたものである。
In the shaping method according to the present invention, in a pattern matching process in an alternative position search process, an optimum layout position pattern creation process performed in advance, an optimum layout position pattern storage process performed in advance,
An optimal arrangement position pattern reference process to be performed at the time of pattern matching is provided. When the optimal arrangement position pattern creation process includes empty positions suitable for the same degree, all of the arrangement candidates are arranged. When there is a vacant position where continuation does not occur, a process of setting the vacant position as a placement candidate;
When there is no empty position where the arranged continuations do not occur, a process of setting the position having the smallest number of arranged continuations as an arrangement candidate, wherein the pattern stored in the optimal arrangement position pattern storage process is an ideal arrangement The arrangement situation of the slots around the position is represented by a continuous sequence of 1s and 0s, where the arranged slots are 1 and the empty slots are 0, and this is regarded as a binary sequence and converted to a decimal number, and an optimal arrangement position. The number of arrangement candidates in the pattern and the arrangement candidate positions in the optimal arrangement position pattern are represented by relative arrangement positions with respect to the ideal arrangement position, and the arrangement candidate positions are listed. A process of investigating the arrangement status of peripheral slots and creating an arrangement status pattern;
A process of referring to the pattern stored in the optimal arrangement position pattern storage process, and a process of selecting one of the arrangement candidate positions by using a random number when the number of arrangement candidates stored in the optimal arrangement position pattern storage process is plural. It is provided with.

【0016】この発明に係るシェーピング方法は、代替
位置探索処理におけるパターン照合処理および近傍ラン
ダム探索処理において、理想位置に配置できない場合に
実際に配置された代替位置が、理想位置より母体テーブ
ルにおいて右側(スロットアドレスの大きい側)に配置
された場合のスロット数のずれ(代替位置と理想位置の
アドレスの差)を表す変数である借りを、算出した理想
配置位置アドレスに加算し、代替位置アドレスを減算し
て指標を求める指標計算処理と、上記指標が正またはゼ
ロの場合には、代替位置が、理想位置より母体テーブル
において左側(スロットアドレスの小さい側)に配置さ
れた場合のスロット数のずれ(代替位置と理想位置のア
ドレスの差)を表す狭まりを指標とし、かつ新規借りを
ゼロとし、上記指標が負の場合には上記狭まりをゼロと
し、上記新規借りを上記指標の絶対値とする狭まり・借
り更新処理と、上記新規借りをこれまでの借りの積算値
に加算する借り積算処理とを備えたものである。
[0016] In the shaping method according to the present invention, in the pattern matching process and the near random search process in the alternative position search process, the alternative position actually located when the ideal position cannot be located is shifted to the right side ( The borrowing, which is a variable representing the difference in the number of slots (the difference between the address of the alternative position and the address of the ideal position) when the slot is arranged at the larger slot address, is added to the calculated ideal location position address, and the alternative position address is subtracted. The index calculation processing for obtaining the index by performing the calculation, and when the index is positive or zero, the difference in the number of slots when the alternative position is arranged on the left side (smaller slot address) in the matrix table from the ideal position ( The index indicating the narrowing indicating the difference between the address of the alternative position and the address of the ideal position), and zeroing the new borrowing, In the case where is negative, the narrowing is set to zero, the new borrowing is performed as an absolute value of the index, and the borrowing and updating process is performed, and the new borrowing is added to the integrated value of the previous borrowing. It is a thing.

【0017】この発明に係るシェーピング方法は、一個
または複数個のコネクションの、コネクション毎に定め
られた出力帯域に基づいて伝送される固定長セルの送出
間隔を調整するものにおいて、コネクション、または幾
つかのコネクションの集合として構成されるコネクショ
ングループ(以下、まとめてグループと称す)に対して
要求される帯域値の大きな順にグループを並び替える処
理と、帯域値順に、処理対象のグループに対して固定長
セルを送出する際の理想送出間隔を算出する処理と、そ
れぞれがアドレスを有する複数のスロットから構成され
て固定長セルの出力順を規定する母体テーブル上に、処
理対象のグループについて配置開始位置を含めた全ての
配置位置について理想配置位置を順次決定する処理と、
上記理想配置位置に処理対象のグループを配置できるか
否かを判定する処理と、配置可能である場合には、上記
理想配置位置に処理対象のグループを配置する処理と、
配置不可である場合には、配置済みの帯域合計値が判定
値よりも小さい時には上記理想配置位置を中心とした許
容CDV値内の範囲の奇数アドレス(または偶数アドレ
ス)に優先的に処理対象のグループを配置し、配置済み
の帯域合計値が判定値よりも大きい時には許容CDV値
内の範囲の任意のアドレスに処理対象のグループを配置
する処理とを備えたものである。
[0017] A shaping method according to the present invention is a method for adjusting a transmission interval of fixed-length cells transmitted based on an output band determined for each connection of one or a plurality of connections. A process of rearranging groups in descending order of bandwidth values required for a connection group (hereinafter collectively referred to as a group) configured as a set of connections, and a fixed length for a group to be processed in bandwidth value order A process of calculating an ideal transmission interval at the time of transmitting a cell, and, on a matrix table which is composed of a plurality of slots each having an address and defines an output order of fixed-length cells, an arrangement start position of a processing target group is determined. A process of sequentially determining an ideal arrangement position for all the arrangement positions including,
A process of determining whether a group to be processed can be arranged at the ideal arrangement position, and a process of arranging a group to be processed at the ideal arrangement position if the arrangement is possible,
When the arrangement is impossible, when the total band value already arranged is smaller than the judgment value, the processing target is preferentially given to the odd addresses (or even addresses) within the allowable CDV value centered on the ideal arrangement position. And arranging a group, and arranging the processing target group at an arbitrary address within a range of the allowable CDV value when the allocated band total value is larger than the determination value.

【0018】この発明に係るシェーピング方法は、一個
または複数個のコネクションの、コネクション毎に定め
られた出力帯域に基づいて伝送される固定長セルの送出
間隔を調整するものにおいて、コネクション、または幾
つかのコネクションの集合として構成されるコネクショ
ングループ(以下、まとめてグループと称す)に対して
要求される帯域値の大きな順にグループを並び替える処
理と、帯域値順に、処理対象のグループに対して固定長
セルを送出する際の理想送出間隔を算出する処理と、そ
れぞれがアドレスを有する複数のスロットから構成され
て固定長セルの出力順を規定する出力テーブル上に、処
理対象のグループについて配置開始位置を含めた全ての
配置位置について理想配置位置を順次決定する処理と、
配置済みの帯域合計値が判定値よりも小さい場合には、
理想配置位置を中心とした許容CDV値内の範囲の奇数
アドレス(または偶数アドレス)に優先的に処理対象の
グループを配置し、配置済みの帯域合計値が判定値より
も大きい場合には、理想配置位置を中心とした許容CD
V値内の範囲の任意のアドレスに処理対象のグループを
配置する処理とを備えたものである。
A shaping method according to the present invention is a method for adjusting a transmission interval of fixed-length cells transmitted based on an output band defined for each connection of one or a plurality of connections. A process of rearranging groups in descending order of bandwidth values required for a connection group (hereinafter collectively referred to as a group) configured as a set of connections, and a fixed length for a group to be processed in bandwidth value order A process of calculating an ideal transmission interval at the time of transmitting a cell, and, on an output table which is composed of a plurality of slots each having an address and defines the output order of fixed-length cells, sets an arrangement start position for a processing target group. A process of sequentially determining an ideal arrangement position for all the arrangement positions including,
If the total value of the allocated bandwidth is smaller than the judgment value,
If the group to be processed is preferentially arranged at odd addresses (or even addresses) within the allowable CDV value centered on the ideal arrangement position, and if the total allocated band value is larger than the determination value, the ideal Allowable CD centering on the placement position
And arranging a group to be processed at an arbitrary address within the range of the V value.

【0019】この発明に係るシェーピング方法は、帯域
合計値に対して比較される判定値が、母体テーブルの全
出力帯域の半分の値として与えられるものである。
In the shaping method according to the present invention, the judgment value to be compared with the total band value is given as a half of the total output band of the matrix table.

【0020】この発明に係るシェーピング方法は、処理
対象のグループを許容CDV値内の範囲の奇数アドレス
(または偶数アドレス)に優先的に配置する際に、所定
数で除した剰余が特定の数値となるアドレスに処理対象
のグループを配置するものである。
In the shaping method according to the present invention, when the group to be processed is preferentially arranged at odd addresses (or even addresses) within the allowable CDV value, the remainder obtained by dividing by a predetermined number becomes a specific numerical value. A group to be processed is arranged at a different address.

【0021】[0021]

【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.この発明の実施の形態によるシェーピン
グ方法を用いたグループ識別子配置例についてまず説明
する。図1はグループ識別子配置テーブルの一例を示す
ものである。図において、GIDはグループ識別子、S
LOTはGIDを収容するメモリ空間であるスロット、
ADRはスロットSLOTのアドレス、GIDTBLは
GIDアドレスADRが0から11979の11980
個のスロットSLOTから構成されるグループ識別子
(GID)配置テーブルである。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below. Embodiment 1 FIG. First, an example of group identifier arrangement using a shaping method according to an embodiment of the present invention will be described. FIG. 1 shows an example of a group identifier arrangement table. In the figure, GID is a group identifier, S
LOT is a slot which is a memory space for containing a GID,
ADR is the address of the slot SLOT, GIDTBL is the GID address 11980 of ADR from 0 to 11979
It is a group identifier (GID) arrangement table composed of a number of slots SLOT.

【0022】図1に示す帯状のGID配置テーブル(G
IDテーブルバンド)は、論理的には両端がつながって
おり、図2に示す輪状のGID配置テーブル(GIDテ
ーブルリング)と等価である。図1および図2に示す用
語を整理したものを図3に示す。
The band-like GID arrangement table (G
The ID table band) is logically connected at both ends, and is equivalent to the annular GID arrangement table (GID table ring) shown in FIG. FIG. 3 summarizes the terms shown in FIGS. 1 and 2.

【0023】次に、この実施の形態を具体的に説明する
に先立ち、この実施の形態におけるGID配置テーブル
を使用して、GID配置を行う必要がある背景とその位
置付けについて述べる。
Next, prior to a specific description of the present embodiment, the background and the positioning of the need to perform GID arrangement using the GID arrangement table in this embodiment will be described.

【0024】インターネット等の急速な発展にともな
い、ATM(Asynchronous Transf
er Mode;非同期転送モード)を用いて安価なデ
ータ通信を実現する方法が求められている。このなか
で、ATMのサービスクラスであるGFR(Guara
nteed Frame Rate)が注目され、AT
MフォーラムやITU−T(国際電気通信連合)等で標
準化が進んでおり、ATMForum Technic
al Committee Traffic Mana
gement Working Group:“Tra
ffic Management Working G
roup Living List(ATM Foru
m/LTD−TM−01.04 to 01.0
6),”Julyto Dec.1997、およびIT
U−T勧告I.371 LivingList,Gen
eva,Jun.1998等の文書が公表されている。
With the rapid development of the Internet and the like, ATM (Asynchronous Transf)
er Mode (asynchronous transfer mode), there is a demand for a method of realizing inexpensive data communication. Among them, ATM service class GFR (Guara)
attention is being paid to AT
M Forum and ITU-T (International Telecommunication Union) are standardizing on ATMForum Technology
al Committee Traffic Mana
Geometry Working Group: “Tra
fic Management Working G
group Living List (ATM Foru
m / LTD-TM-01.04 to 01.0
6), “Jullyto Dec. 1997, and IT
U.T. Recommendation I. 371 LivingList, Gen
eva, Jun. Documents such as 1998 have been published.

【0025】GFRでは、フレーム単位で各コネクショ
ンの最低帯域(mCR;minimum Cell R
ate)を保証し、余裕がある場合には、最大速度(P
CR;Peak Cell Rate)を超えない範囲
で、mCRを超えた余剰帯域を各コネクションに割り当
てる。各コネクションへの帯域割当時には、多重化によ
るCDV(Cell Delay Variatio
n;セル遅延変動)の発生や公平性等を考慮する必要が
あり、GFRの帯域割当は重要な技術課題となってい
る。
In GFR, the minimum bandwidth of each connection (mCR; minimum Cell R)
ate), and if there is room, the maximum speed (P
A surplus bandwidth exceeding mCR is allocated to each connection within a range not exceeding CR (Peak Cell Rate). When allocating a bandwidth to each connection, a multiplexed CDV (Cell Delay Variation) is used.
n; cell delay variation), fairness, and the like need to be considered, and GFR bandwidth allocation is an important technical issue.

【0026】図4にGFRにおける帯域割当の概念図を
示す。図において、HYWAYは通信路のハイウェイ、
CONNCTNはATMのコネクションを示す。ここで
は、1.2Gb/s(正確には1.198Gb/s)の
ハイウェイHYWAYに、最大2048個のコネクショ
ンCONNCTNを収容する。コネクションCONNC
TNをハイウェイHYWAYに収容する際に、複数のコ
ネクション間で余剰帯域を共用する。コネクション間で
帯域共用を行う帯域割当を行うのが、帯域共用部BAN
DMである。この際、帯域共用は全コネクション一括で
は行わず、コネクションを最大512個のグループGR
OUPに分割して、各々のグループ内で行う。即ち、G
FRの帯域割当は、コネクションCONNCTN単位
と、グループGROUP単位の二段階に分割して行われ
る。
FIG. 4 is a conceptual diagram of band allocation in GFR. In the figure, HYWAY is a highway of a communication channel,
CONNCTN indicates an ATM connection. Here, a highway HYWAY of 1.2 Gb / s (precisely 1.198 Gb / s) accommodates a maximum of 2048 connections CONNCTN. Connection CONNC
When accommodating the TN in the highway HYWAY, a surplus bandwidth is shared between a plurality of connections. The bandwidth sharing unit BAN performs the bandwidth allocation for sharing the bandwidth between the connections.
DM. At this time, bandwidth sharing is not performed collectively for all connections, and connections are limited to a maximum of 512 group GRs.
Divided into OUPs and performed within each group. That is, G
FR bandwidth allocation is performed in two stages: a connection CONNECTN unit and a group GROUP unit.

【0027】帯域共用部BANDMにおける、グループ
GROUP内帯域のコネクションCONNCTNへの割
当法としては、WRR(Weighted Round
Robin;荷重付ラウンドロビン)方式や、共通F
IFOバッファ方式が検討されている。
In the band sharing unit BANDM, as a method of allocating the band within the group GROUP to the connection CONNCTN, a WRR (Weighted Round) is used.
Robin; round robin with load) method and common F
An IFO buffer scheme is under study.

【0028】WRR方式は、例えばM.Kateven
is,S.Sidiropoulos,C.Courc
oubetis,“Weighted Round−R
obin cell multiplexing in
a general−purpose ATM sw
itch chip,”Journal on Sel
cted Areas in Comm.,vol.
9,no.8,pp.1265−1279,Oct.1
991で説明される方式で、コネクションCONNCT
N毎にバッファを設けて各コネクションのセルを荷重付
で順番に読み出している。
The WRR method is described in, for example, M. Kateven
is, S. Sidiropoulos, C.I. Courc
obettis, "Weighted Round-R
obin cell multiplexing in
a general-purpose ATM sw
hitch chip, "Journal on Sel
cted Areas in Comm. , Vol.
9, no. 8, pp. 1265-1279, Oct. 1
Connection CONNECT in the manner described in 991
A buffer is provided for each N, and cells of each connection are read out sequentially with a load.

【0029】コネクション毎の荷重は、各コネクション
の識別子(CID:Connection Ident
ifier)を配置したコネクション識別子配置テーブ
ルCIDTBLに保持されており、帯域共用部BAND
Mは、コネクション識別子配置テーブルCIDTBLに
基づいて、WRR荷重の制御を行う。
The load for each connection is calculated by the identifier (CID: Connection Identifier) of each connection.
Identifier) is held in the connection identifier arrangement table CIDTBL in which the band sharing unit BAND is arranged.
M controls the WRR load based on the connection identifier arrangement table CIDTBL.

【0030】共通FIFOバッファ方式は、例えば吉野
學、東間悟、家永憲人“GFRバッファ構成におけるT
CP/IP公平性の検討”、99信学総大B−8−1
5,March 1999で紹介されている方式で、全
コネクションCONNCTN共通のFIFOバッファを
設け、バッファ内の閾値を超えたセルにタギングし、タ
ギングされたセルを優先的に廃棄する。両者とも、タギ
ング・廃棄はフレーム単位に行う(EPD:Early
Packet Discard)。
The common FIFO buffer system is described in, for example, Manabu Yoshino, Satoru Higashima, Norihito Ienaga "T
Examination of CP / IP Fairness ”, 99 IEICE B-8-1
5, in a scheme introduced in March 1999, a FIFO buffer common to all connections CONNCTN is provided, and a cell exceeding a threshold in the buffer is tagged, and the tagged cell is preferentially discarded. In both cases, tagging and discarding are performed on a frame basis (EPD: Early)
Packet Discard).

【0031】この実施の形態では、帯域共用部BAND
MではWRR方式をとることを想定しているが、以下の
技術は他の方式でも同様に適用することができる。ここ
では、帯域共用部BANDMでのコネクション識別子配
置テーブルCIDTBLに基いたCID配置を、CID
配置問題と呼ぶ。
In this embodiment, the band sharing unit BAND
In M, it is assumed that the WRR method is used, but the following technology can be similarly applied to other methods. Here, the CID arrangement based on the connection identifier arrangement table CIDTBL in the band sharing unit BANDM is described as CID.
Call it a placement problem.

【0032】1.2Gb/sハイウェイHYWAYへの
グループGROUPの割当においては、帯域共用は行わ
ない。しかし、各グループGROUPを許容CDVの範
囲でハイウェイHYWAYに割り当てるには、工夫が必
要であるため、これも技術課題となっている。グループ
割当は、多重化部MUXで、各グループGROUPの識
別子(GID)を配置したグループ識別子配置テーブル
GIDTBLを参照する。ここでは、この問題をGID
配置問題と呼ぶ。本実施の形態の発明は、GID配置問
題の効率的な解法を与えるものである。
In the allocation of the group GROUP to the 1.2 Gb / s highway HYWAY, bandwidth sharing is not performed. However, in order to assign each group GROUP to the highway HYWAY within the range of the allowable CDV, a device is required, and this is also a technical problem. For group assignment, the multiplexing unit MUX refers to a group identifier arrangement table GIDTBL in which identifiers (GID) of each group GROUP are arranged. Here, GID
Call it a placement problem. The invention of the present embodiment provides an efficient solution of the GID placement problem.

【0033】なお、図4はコネクションCONNCT
N,グループGROUP,ハイウェイHYWAYの階層
構造を説明するための概念図であり、実際の装置構成と
は異なる部分がある。図4では、帯域共用部BANDM
と多重化部MUXは、全く別個に描かれており、帯域共
用部BANDMで全グループのコネクションを割り当て
た後、各グループを多重化部MUXで多重化するように
見えるが、実際は、帯域共用部BANDMと多重化部M
UXは融合している。そこでは、グループ識別子配置テ
ーブルGIDTBLを参照して、割り当てられたグルー
プのみ、コネクション識別子配置テーブルCIDTBL
の荷重に従ったWRRを行う。
FIG. 4 shows the connection CONNECT.
FIG. 3 is a conceptual diagram for explaining a hierarchical structure of N, group GROUP, and highway HYWAY, and there is a portion different from an actual device configuration. In FIG. 4, the band sharing unit BANDM
And the multiplexing unit MUX are drawn completely separately, and it seems that after allocating connections of all groups by the band sharing unit BANDM, each group is multiplexed by the multiplexing unit MUX. BANDM and multiplexing unit M
UX is fused. In this case, referring to the group identifier arrangement table GIDTBL, only the assigned group is connected to the connection identifier arrangement table CIDTBL.
WRR is performed according to the load.

【0034】以下に、この実施の形態の内容を具体的に
説明していく。その構成は次の通りである。まず、GI
D配置問題について説明した後、GID配置の手順の概
要を示す。次にGID配置の手順の詳細を説明してい
く。大筋としては、まず、GID配置における理想位置
の算出方法を述べ、次に、理想位置に配置できない場合
の処置について説明する。さらに、GID配置において
使用する要素技術として、CDVに関する技術および乱
数に関する技術について述べる。
Hereinafter, the contents of this embodiment will be specifically described. The configuration is as follows. First, GI
After explaining the D arrangement problem, an outline of the procedure of the GID arrangement will be described. Next, details of the GID arrangement procedure will be described. As a general outline, first, a method of calculating an ideal position in the GID arrangement will be described, and then, a treatment in a case where the ideal position cannot be arranged will be described. Furthermore, technologies relating to CDV and technologies relating to random numbers will be described as element technologies used in the GID arrangement.

【0035】以下に、この実施の形態におけるGID配
置問題について、前述の図1から図3および図5に基き
詳細に説明する。図5は、GID配置問題の入力パター
ンの例を示す。図において、TEST1はテストパター
ン1、GPRIOはグループの優先度、GPCRはグル
ープの帯域、GPCRDはグループ帯域(小数表現)で
ある。GPRIOとGPCRは図3にも記されている。
Hereinafter, the GID arrangement problem in this embodiment will be described in detail with reference to FIGS. 1 to 3 and FIG. FIG. 5 shows an example of an input pattern of the GID placement problem. In the figure, TEST1 is a test pattern 1, GPRIO is a group priority, GPCR is a group band, and GPCRD is a group band (decimal expression). GPRIO and GPCR are also shown in FIG.

【0036】GID配置問題では、まず、グループGR
OUP毎の帯域GPCRDと優先度GPRIOが与えら
れる。これらはグループの属性としてグループを特徴付
ける値である。この他に、各グループには、識別子とし
てグループ識別子GIDが振られるが、これは入力デー
タの段階では付与されない。
In the GID arrangement problem, first, the group GR
Band GPCRD and priority GPRIO for each OUP are given. These are the values that characterize the group as attributes of the group. In addition, a group identifier GID is assigned to each group as an identifier, but this is not assigned at the stage of input data.

【0037】グループ帯域は、小数表現GPCRDか整
数表現GPCRで表される。グループ帯域は1.198
Gb/sのハイウェイHYWAY中の当該グループの帯
域を示し、小数表現で0から599.0Mb/sの値を
とる。ここで、帯域配置際の単位帯域が0.1Mb/s
である。即ち、図1および図2に示す一つのスロットS
LOTは0.1Mb/sであるため、グループ帯域は、 GPCR=GPCRD(Mb/s)/0.1(Mb/
s) =GPCRD×10 の整数値で表すことができる。このグループ帯域GPC
Rは、当該グループの要素数を示す。
The group band is represented by a decimal expression GPCRD or an integer expression GPCR. Group bandwidth is 1.198
Indicates the band of the group in the Gb / s highway HYWAY, and takes a value from 0 to 599.0 Mb / s in decimal representation. Here, the unit band at the time of band arrangement is 0.1 Mb / s
It is. That is, one slot S shown in FIGS.
Since LOT is 0.1 Mb / s, the group bandwidth is GPCR = GPPCRD (Mb / s) /0.1 (Mb / s
s) = GPCRD × 10. This group band GPC
R indicates the number of elements in the group.

【0038】グループの優先度は、グループの要素を配
置する際の理想位置からのずれ(CDV)の許容度を表
す指標で、優先度が高いほど、ずれの許容度が小さい。
配置グループの優先度の例を図6に示す。優先度として
は高優先(High Priority)、低優先(L
ow Priority)、優先無(Non Prio
rity)があり、それぞれHP、LP、NPと略記さ
れる。
The priority of a group is an index indicating the tolerance of deviation (CDV) from the ideal position when arranging the elements of the group. The higher the priority, the smaller the tolerance of deviation.
FIG. 6 shows an example of the priority of the arrangement group. The priority is high priority (High Priority), low priority (L
ow Priority, no priority (Non Prio)
and HP, LP, and NP, respectively.

【0039】GID配置の仕様は、優先度毎に指定する
ことができる。例えば、高優先グループはCDV≦7以
内で全て配置し、CDV≦31で高優先を含む全グルー
プの80%を配置する、というものである。
The specification of the GID arrangement can be specified for each priority. For example, all high priority groups are arranged within CDV ≦ 7, and 80% of all groups including high priority are arranged with CDV ≦ 31.

【0040】グループ配置の際の基本方針は、高優先→
低優先→優先無の順にそれぞれ帯域の大きいグループか
ら配置していく。しかし高優先の小帯域のグループを全
て配置してから低優先の大帯域のグループを配置しよう
とすると、配置できないことがあるので、その場合は、
高優先の小帯域のグループの前に低優先の大帯域のグル
ープを配置するように配置順を変更する。
The basic policy at the time of group arrangement is high priority.
Groups are arranged in the order of low priority to no priority, starting with the group with the largest bandwidth. However, if you try to place a low-priority large band group after placing all high-priority small band groups, you may not be able to place it.
The arrangement order is changed so that the low-priority large band group is arranged before the high-priority small band group.

【0041】図5のパターン例TEST1では、優先度
GPRIOが高優先(HP)で、帯域GPCRDが1
6.7のグループが8個、優先度GPRIOが低優先
(LP)で、帯域GPCRDが8.7のグループが3個
ある。GID配置問題では、各グループのグループ要素
を、1.2GハイウェイHYWAYに均等に配置するこ
とが課題である。
In the pattern example TEST1 shown in FIG. 5, the priority GPRIO is high priority (HP), and the band GPPCRD is 1
There are eight groups of 6.7, three groups of priority GPRIO with low priority (LP), and a band GPCRD of 8.7. The problem of the GID arrangement problem is to arrange the group elements of each group evenly on the 1.2G highway HYWAY.

【0042】即ち、図1または図2に示すGID配置テ
ーブルGIDTBLに、当該グループのGIDを書き込
むことにより、グループ要素を均等に配置することであ
る。図1のGID配置テーブルでは、アドレスADRが
0のスロットSLOTから10個毎に、GIDが1と記
されている。これは、識別子が1のグループの要素の配
置位置が、アドレスADRが0,10,20,…のスロ
ットSLOTに配置されているという意味である。同様
に、識別子が2のグループの要素は、アドレスADRが
5の位置から13スロット毎に配置されている。
That is, the group elements are evenly arranged by writing the GID of the group in the GID arrangement table GIDTBL shown in FIG. 1 or FIG. In the GID arrangement table of FIG. 1, the GID is described as 1 for every 10 slots from the slot SLOT having the address ADR of 0. This means that the arrangement position of the element of the group whose identifier is 1 is arranged in the slot SLOT having the address ADR of 0, 10, 20,. Similarly, the elements of the group whose identifier is 2 are arranged every 13 slots from the position where the address ADR is 5.

【0043】以下に、この実施の形態におけるGID配
置の基本方針を述べる。 ・同一帯域のグループはまとめて配置する。これを群化
と呼ぶ。 ・帯域の大きいグループの群から配置していく。 ・群化した同一帯域群は、全スロット(11980個)
の中からランダムに選択されたベースオフセットを基準
に配置する。 ・群中のスタートオフセットは全スロット(11980
個)に均等に分散させるが、理想位置が既配置の場合
は、全GIDの中からランダム選択する。 ・一つのグループ内のGIDは、全スロット(1198
0個)に均等に分散させる。理想位置と許容CDV値を
考慮し、最適な位置を選択する。 ・許容CDV値の範囲でグループ内GIDを配置できな
いときは、当該グループにおける既設定GIDを削除
し、スタートオフセットを全スロット(11980個)
の中からランダムに選択し、再設定する。 ・許容回数スタートオフセットを変更してもグループ内
GIDを設定できないときは、GID間隔計算時の整数
化の方法を変更し、再試行する。 ・許容回数GID間隔の整数化方法を変更してもグルー
プ内GIDを設定できないときは、許容CDV値を変更
する。
Hereinafter, a basic policy of the GID arrangement in this embodiment will be described.・ Groups with the same band are arranged together. This is called grouping. -Arrange from the group of the group with the large band. -The same band group grouped is all slots (11980)
Are arranged on the basis of a base offset randomly selected from. The start offset in the group is all slots (11980)
), But when the ideal position is already arranged, a random selection is made from all the GIDs. GIDs in one group are all slots (1198
0). The optimum position is selected in consideration of the ideal position and the allowable CDV value. When the GID within the group cannot be arranged within the range of the allowable CDV value, the already set GID in the group is deleted, and the start offset is set to all slots (11980).
Randomly select from and reset. If the GID within the group cannot be set even if the start offset for the allowable number of times is changed, change the method of converting the GID interval into an integer and try again. If the GID within the group cannot be set even if the method of converting the allowable number of GID intervals into integers is changed, the allowable CDV value is changed.

【0044】本実施の形態におけるGID配置アルゴリ
ズムの大きな特徴は次の点である。 ・乱数による配置位置のランダム選択 ・同一帯域グループ内の理想配置位置は可能な限り均等
分配 ・許容CDV値が7のときは、理想位置付近のパターン
照合により最適配置位置を選択 ・同一グループGID隣接配置禁止機能 これらの特徴を中心に、本実施の形態におけるGID配
置アルゴリズムの詳細を以下に説明する。
The major feature of the GID arrangement algorithm in the present embodiment is as follows. -Random selection of arrangement positions by random numbers-Ideal arrangement positions within the same band group are equally distributed as much as possible-When the allowable CDV value is 7, the optimal arrangement position is selected by pattern matching near the ideal position-Adjacent to the same group GID Placement Prohibition Function Details of the GID placement algorithm in the present embodiment will be described below, focusing on these features.

【0045】次にGID配置の手順について説明する。
まず、グループの階層例として、次に示すTEST2の
テストパターンをとる。 ([HP]167,167,167,167,167,
167,167,167,163,163,163,1
63,163,163,163,163,157,15
7,157,157,157,157,157,15
7,151,151,151,151,151,15
1,151,151,149,149,149,14
9,149,149,149,149,139,13
9,139,139,139,139,139,13
9,137,137,137,137,137,13
7,137,137,131,131,131,13
1,131,131,131,131,127,12
7,127,127,127,127,127,12
7,113,113,113,113,113,11
3,113,113,61,61,61,61,61,
61,61,61,2,2,2,2,2,2,2,2)
Next, the procedure of the GID arrangement will be described.
First, the following test pattern of TEST2 is taken as an example of a group hierarchy. ([HP] 167, 167, 167, 167, 167,
167,167,167,163,163,163,1
63,163,163,163,163,157,15
7,157,157,157,157,157,15
7,151,151,151,151,151,15
1,151,151,149,149,149,14
9,149,149,149,149,139,13
9,139,139,139,139,139,13
9,137,137,137,137,137,13
7,137,137,131,131,131,13
1,131,131,131,131,127,12
7,127,127,127,127,127,12
7, 113, 113, 113, 113, 113, 11
3,113,113,61,61,61,61,61,
61, 61, 61, 2, 2, 2, 2, 2, 2, 2, 2, 2)

【0046】これは8個ずつの12種類の96個のグル
ープから構成されるパターンで、図7のように階層化さ
れる。同一帯域のグループをまとめたものを同一帯域グ
ループ群とする。グループ配置の際には、帯域の大きい
グループから群毎に配置処理を行い、各群内ではグルー
プ毎、各グループ内では個別GID毎に配置を行う。グ
ループが階層化されているのにともない、グループの配
置処理も階層化されている。GID配置の基本構成を図
8に、図中のtrunc_s0からtrunc_s3の
処理の手順を図9から図12に示す。
This is a pattern composed of 12 groups of 96 groups of 8 pieces each, and is hierarchized as shown in FIG. A group of the same band group is referred to as a same band group group. At the time of group arrangement, the arrangement processing is performed for each group from the group with the largest band, and the arrangement is performed for each group in each group, and for each individual GID in each group. As the groups are hierarchized, the arrangement processing of the groups is also hierarchized. FIG. 8 shows the basic configuration of the GID arrangement, and FIGS. 9 to 12 show the procedure of processing from trunc_s0 to trunc_s3 in the figure.

【0047】次に、本実施の形態のGID配置におけ
る、GID配置の理想位置の算出について述べる。ま
ず、同一帯域グループ内の理想配置位置の均等分配につ
いて述べる。同一帯域を有する群化されたグループの各
要素の理想配置位置は、全GID中に可能な限り均等に
分配するというのが、本実施の形態におけるGID配置
アルゴリズムの基本方針である。以下に、この均等配分
の方法について説明する。
Next, the calculation of the ideal position of the GID arrangement in the GID arrangement of the present embodiment will be described. First, equal distribution of ideal arrangement positions in the same band group will be described. The basic principle of the GID arrangement algorithm in the present embodiment is to distribute the ideal arrangement positions of the elements of the grouped group having the same band as evenly as possible among all the GIDs. Hereinafter, a method of the equal distribution will be described.

【0048】例えば、図5に示すテストパターンTES
Tの最初の8個のデータの帯域GPCRは167であ
る。この8個をまとめて一群として処理する(群化)。
ここで167個のグループ要素を全スロットである11
980中になるべく均等に割り振るには、11980/
167=71.7365スロット毎にグループを配置す
ればよいが、1スロットは分割できず、GIDアドレス
は整数値となっているので、グループ配置もこの制限下
で行わなければならない。ここで、厳密な理想の計算位
置からどのくらいずれても許容されるかを表すのが許容
CDV値である。許容CDV値とCDV算出方法につい
ては後に詳述する。
For example, the test pattern TES shown in FIG.
The band GPCR of the first eight data of T is 167. These eight are collectively processed as a group (grouping).
Here, 167 group elements are assigned to all slots 11
To allocate as evenly as possible during 980, 11980 /
A group may be arranged every 167 = 71.7365 slots, but one slot cannot be divided and the GID address is an integer value, so the group arrangement must be performed under this restriction. Here, the allowable CDV value indicates how much any of the strict ideal calculation positions is allowed. The allowable CDV value and the CDV calculation method will be described later in detail.

【0049】次にステップの配置について説明する。さ
て、167個のグループを11980個のGID中に整
数的に配置するためには、11980=71×44+7
2×123から、71の間隔を44個と72個の間隔を
123個を混合して配置する必要がある。便宜上、小さ
いほうの間隔(この場合は71)をstep1、大きい
ほうの間隔(この場合は72)をstep2と呼ぶ。s
tep2=step1+1である。
Next, the arrangement of the steps will be described. Now, to arrange 167 groups in 11980 GIDs in an integer manner, 11980 = 71 × 44 + 7
From 2.times.123, it is necessary to arrange the 44 at 71 intervals and the 123 at 72 intervals in a mixed manner. For convenience, the smaller interval (71 in this case) is called step1, and the larger interval (72 in this case) is called step2. s
step2 = step1 + 1.

【0050】本実施の形態においてstep1とste
p2の計算は関数cnt_mix_clc_intで行
っている。図13は、cnt_mix_clc_int
の手順を示すフローチャートである。関数cnt_mi
x_clc_intは、図10の処理trunc_s1
_s1のcnt_set_step_infおよびcn
t_set_size_infで用いられる。
In this embodiment, step 1 and step 1
The calculation of p2 is performed by the function cnt_mix_clc_int. FIG. 13 shows the cnt_mix_clc_int
6 is a flowchart showing the procedure of FIG. Function cnt_mi
x_clc_int is the process trunc_s1 in FIG.
_S1 cnt_set_step_inf and cn
Used in t_set_size_inf.

【0051】図13のcnt_mix_clc_int
は、割算のもとになる全体数whole_intのなか
に、分割数divider_int個の要素をできるだ
け均等配置する処理を、整数の世界のみで行う処理であ
る。配置要素の間隔size1とsize2=size
1+1,size1の数num1,size2の数nu
m2を返す。この例の場合は、whole_int=1
1980,divider_int=167,size
1=step1=71,size2=step2=72
となる。
Cnt_mix_clc_int in FIG.
Is a process of allocating as many divided_int_elements as possible within the whole number whol_int to be divided, as much as possible, only in the world of integers. Intervals between placement elements size1 and size2 = size
1 + 1, number num of size1, num of size2
Returns m2. In this example, whole_int = 1
1980, divider_int = 167, size
1 = step1 = 71, size2 = step2 = 72
Becomes

【0052】図の処理cnt_mix_clc_int
_s1では、size1とsize2を求めて、処理c
nt_mix_clc_int_s2では、whole
_int/divider_intの余りover,こ
の場合は123を求める。処理cnt_mix_clc
_int_s3では、size1の個数num1,この
場合は44個、およびsize2の個数num2,この
場合は123個を求める。
Processing cnt_mix_clc_int in FIG.
In _s1, size1 and size2 are obtained, and processing c
In nt_mix_clc_int_s2, whole
The remainder of _int / divider_int, 123 in this case, is obtained. Processing cnt_mix_clc
In _int_s3, the number num1 of size1 is 44 in this case, and the number num2 of size2 is 123 in this case.

【0053】step1とstep2の2種類の間隔の
混合方法としては、次のような方法が考えられる。 1)まずstep1をまとめて配置し、step1が配
置し終わったらstep2を配置する。 2)step1とstep2の混合比を計算し、これに
従ってstep1とstep2を混合配置する。混合比
が整数なので、最後に余りが出てどちらかが固まって配
置される。 3)step1とstep2については意識せずに、ス
テップの累積値(GIDアドレス)を次の(1)式によ
り実数で計算し、実数値を丸めて整数値とする。 GIDアドレス=11980/帯域×i (1) 但しi=1,2,…帯域 方式1)〜3)の順でアルゴリズムが複雑化するが、理
想GID値からのずれは小さくなる。
As a method of mixing the two types of intervals of step 1 and step 2, the following method can be considered. 1) First, step1 is arranged collectively, and after step1 is arranged, step2 is arranged. 2) The mixing ratio of step 1 and step 2 is calculated, and step 1 and step 2 are mixed and arranged according to the calculated ratio. Since the mixture ratio is an integer, the remainder is left at the end, and either one is solidified and arranged. 3) The step cumulative value (GID address) is calculated as a real number by the following equation (1) without considering step1 and step2, and the real value is rounded to an integer value. GID address = 11980 / band × i (1) where i = 1, 2,... Band The algorithm is complicated in the order of the methods 1) to 3), but the deviation from the ideal GID value is small.

【0054】本実施の形態におけるGID配置アルゴリ
ズムにおいては、1)〜3)の順で全ての方法を使用し
た経緯があるが、整数化によるCDVを1未満に抑える
ために、最終的には3)の方式を使用している。3)の
方式は単純に見えるが、使用変数をできるだけ正整数の
みにするという制約のもとでは、それほど容易ではな
い。
In the GID arrangement algorithm according to this embodiment, all the methods are used in the order of 1) to 3). However, in order to suppress the CDV by integer conversion to less than 1, 3 methods are finally used. ) Method is used. Although the method of 3) seems simple, it is not so easy under the constraint that the variables used are limited to positive integers as much as possible.

【0055】図14に、グループ帯域が380の場合
に、各方式を用いて整数化したGIDアドレスを求めた
場合の、CDVと借りの最大値、最小値、平均を求めた
シミュレーション結果を示してある。帯域=380とい
うことは、GIDの0から11979になるべく均等に
380個のグループ要素を配置するということであり、
表にはこの380個の配置中でのCDVと借りの値の最
大・最小・平均を示してある。
FIG. 14 shows a simulation result in which the maximum value, the minimum value, and the average of the CDV and the borrow are obtained when the GID address converted into an integer using each method is obtained when the group bandwidth is 380. is there. Band = 380 means that 380 group elements are arranged as equally as possible from GID 0 to 11979,
The table shows the maximum / minimum / average of the CDV and the borrow value in the 380 arrangements.

【0056】方式1)では、まずstep1=31を1
80個全て配置してから、次にstep2=32を20
0個配置する(11980=31×180+32×20
0)。間隔の小さいほうのstep1を先に配置してい
るため、借りは発生しないが、CDVは非常に大きくな
り、方式3)の場合の100倍になっている。
In the method 1), first, step1 = 31 is set to 1
After arranging all 80, next step2 = 32 is set to 20
0 (11980 = 31 × 180 + 32 × 20)
0). Since step 1 with the smaller interval is arranged first, no borrowing occurs, but the CDV becomes very large, which is 100 times that in the case of method 3).

【0057】方式2)では、380/180=2.11
11を四捨五入した整数比率2に基き、step1とs
tep2を1個ずつ交互に混合していき、最後に20個
余ったstep2をまとめて配置する。借りの0.47
37は、最初にstep1でなくstep2を配置した
ために発生した借りが、そのまま最後まで残ったもの
で、その後は新たな借りは発生していない。方式2)の
場合もCDVは大きくなり、方式1)の場合の10倍に
なっている。
In the method 2), 380/180 = 2.11
Step 1 and s are based on the integer ratio 2 which rounds 11
Steps 2 are alternately mixed one by one, and finally the remaining 20 steps 2 are arranged together. 0.47 of borrowed
Reference numeral 37 denotes a borrow that occurred because step 2 instead of step 1 was initially allocated, but remained until the end, and no new borrow has occurred thereafter. Also in the case of the method 2), the CDV is large, which is ten times that of the method 1).

【0058】方式3)では、実数値の整数化の方法とし
て、四捨五入、切捨て、切上げ、切捨てと切上げをラン
ダムに選択の4種類を試行した。四捨五入、切捨て、切
上げについては、一貫して同じ方法を用いるならば、C
DVはほぼ同じで1未満となることがわかる。借りは、
常に小さめの整数値を選択する切捨てではゼロ、常に大
きめの整数値を選択する切上げでは1に近い値、四捨五
入では中間となっている。また、切捨てと切上げをラン
ダムに選択する方式ではCDVが他の方式より1大きく
なってしまうので、整数化の丸めには一貫して同じ方式
を用いる必要があることがわかる。
In method 3), four methods of rounding, rounding down, rounding up, and randomly selecting rounding up and down were tried as methods of converting real numbers to integers. If the same method is used consistently for rounding, truncation, and rounding, C
It can be seen that DV is almost the same and less than 1. Borrow,
The value is zero when rounding down to always select a smaller integer value, a value close to 1 when rounding up to always select a larger integer value, and intermediate when rounding. Also, in the method in which the round-off and the round-up are selected at random, the CDV becomes 1 larger than the other methods, so that it is understood that the same method must be used consistently for rounding of the integer.

【0059】本実施の形態では、これらの機能は実数に
よる混合パラメータ計算設定処理関数cnt_mix_
realで実現される。図15は、関数cnt_mix
_realの手順を示すフローチャートである。関数c
nt_mix_realは、図10のtrunc_s1
_s1のcnt_set_size_infおよびtr
unc_s1_s4で用いられる。関数cnt_mix
_realは、割算のもとになる全体数whole_i
ntのスロットに、分割数divider_int個の
要素をできるだけ均等配置する処理を実数の世界で行
い、整数化した値を配置テーブルに書き込んで返却す
る。外部からの入出力は整数で、実数計算は本関数の中
だけで閉じるようになっている。配置間隔の数が整数計
算の場合と一致するかどうかのチェック機能を有する。
In the present embodiment, these functions are a real number mixed parameter calculation setting processing function cnt_mix_
Realized by real. FIG. 15 shows the function cnt_mix
It is a flowchart which shows the procedure of _real. Function c
nt_mix_real is trunc_s1 in FIG.
_S1 cnt_set_size_inf and tr
Used in unc_s1_s4. Function cnt_mix
_Real is the whole number whole_i from which the division is based
In the nt slot, a process of arranging the elements of the division number divider_int as evenly as possible is performed in the real world, and an integer value is written to the arrangement table and returned. Input and output from the outside are integers, and real numbers are closed only in this function. It has a function to check whether the number of arrangement intervals matches the case of integer calculation.

【0060】図15の処理cnt_mix_real_
s1では、整数変数whole_intとdivide
r_intを実数に変換している。処理cnt_mix
_real_s2では、丸めバイアスを計算している。
丸めバイアスについては後述する。処理cnt_mix
_real_s4では、i番目の実数配置位置answ
erを計算し、これに丸めバイアスround_bia
sを加算し、切捨てで整数化してanswer_int
を求め、テーブル*mix_cum_tblに設定して
いる。処理cnt_mix_real_s3からcnt
_mix_real_s7のループで、iを1からdi
vider_intまで変化させている。処理cnt_
mix_real_s5では、ここで求めた間隔および
個数が、図13の整数計算関数cnt_mix_clc
_intで求めた値と一致しているかどうかを検査して
いる。
Processing of FIG. 15 cnt_mix_real_
In s1, the integer variables whole_int and divide
r_int is converted to a real number. Processing cnt_mix
In _real_s2, a rounding bias is calculated.
The rounding bias will be described later. Processing cnt_mix
_Real_s4, i-th real number arrangement position answ
er, and rounding bias round_bia
s is added, rounded down to an integer, and answer_int
Is obtained and set in the table * mix_cum_tbl. Processing cnt_mix_real_s3 to cnt
In the loop of _mix_real_s7, i is changed from 1 to di
It is changed up to vider_int. Processing cnt_
In the mix_real_s5, the interval and the number obtained here are the integer calculation function cnt_mix_clc in FIG.
It is checked whether the value matches the value obtained by _int.

【0061】次に、ステップ混合法の変更について説明
する。まず、丸めバイアスの加算について説明する。上
記方式3)の(1)式に基き、帯域=380の場合のス
テップの加算値を実数で計算して、四捨五入、切捨て、
切上げの三通りで整数化した場合の整数値の違いを図1
6の表に示す。図16からわかるように、整数化法の違
いによって、GIDアドレス即ちstep1とstep
2の混合状態は若干異なる。
Next, the change of the step mixing method will be described. First, the addition of the rounding bias will be described. Based on the formula (1) of the above method 3), the addition value of the step when the band = 380 is calculated as a real number, rounded off, truncated,
Fig. 1 shows the difference in the integer value when the integer is rounded up in three ways.
Table 6 shows. As can be seen from FIG. 16, the GID address, that is, step 1 and step
The mixed state of No. 2 is slightly different.

【0062】本実施の形態のアルゴリズムでは、グルー
プの個々のGID配置時に、種々のスタートオフセット
等を試行しても全GIDが配置できない場合、このステ
ップ混合法の差異を利用して、さらに配置を試行してみ
る機能がある。これは図15の実数による混合パラメー
タ計算設定処理関数cnt_mix_real内の変
数、丸めバイアスround_biasによって実現さ
れている。
In the algorithm of the present embodiment, when all the GIDs cannot be arranged even if various start offsets are tried at the time of arranging the individual GIDs of the group, further arrangement is made by utilizing the difference of the step mixing method. There is a function to try. This is realized by a variable in the mixed parameter calculation setting processing function cnt_mix_real by a real number and a rounding bias round_bias in FIG.

【0063】丸めバイアスround_biasは、処
理cnt_mix_real_s2でround_bi
as_int/bias_pitchによって求められ
る。このbias_pitchは100で、round
_bias_intは0から99の間の整数をとるの
で、丸めバイアスround_biasは0から0.9
9までの0.01刻みの数をとることができる。
The rounding bias round_bias is obtained by round_bi in the processing cnt_mix_real_s2.
Determined by as_int / bias_pitch. This bias_pitch is 100, round
Since _bias_int takes an integer between 0 and 99, the rounding bias round_bias is between 0 and 0.9.
Numbers in increments of 0.01 up to 9 can be taken.

【0064】ここでは、整数化の際に、元来の実数値に
丸めバイアスround_biasを加算してから切捨
てることにより、整数化のバリエーションを出してい
る。丸めバイアスround_bias=0では切捨
て、0.5では四捨五入となる。図17に示すように、
切上げは端点の扱いが異なるので丸めバイアス加算によ
っては表せないが、丸めバイアスround_bias
=0.99とすることにより模擬している。
Here, at the time of integer conversion, a rounding bias round_bias is added to the original real value, and then rounded down, thereby giving a variation of integer conversion. Rounding bias round_bias = 0 rounds off and 0.5 rounds off. As shown in FIG.
Rounding up cannot be represented by rounding bias addition because the handling of end points is different, but rounding bias round_bias
It is simulated by setting to 0.99.

【0065】丸めバイアスは、ロムテーブルo_cnt
_round_seqに記されているround_bi
as_intの値に従って設定される。これは下記のよ
うになっているが、実際には最初の五個程度しか使用し
ない。
The rounding bias is obtained from the ROM table o_cnt
Round_bi described in _round_seq
It is set according to the value of as_int. This is as follows, but only the first five are actually used.

【0066】{0,99,50,25,75,12,3
7,62,87,6,18,31,43,56,68,
81,93,3,9,15,21,28,34,40,
46,53,59,65,71,78,84,90,9
6,2,5,8,11,14,17,20,23,2
7,30,33,36,39,42,45,48,5
2,55,58,61,64,67,70,73,7
7,80,83,86,89,92,95,98,1,
4,7,10,13,16,19,22,26,29,
32,35,38,41,44,47,51,54,5
7,60,63,66,69,72,76,79,8
2,85,88,91,94,97,24,49,7
4}
{0,99,50,25,75,12,3
7, 62, 87, 6, 18, 31, 43, 56, 68,
81,93,3,9,15,21,28,34,40,
46, 53, 59, 65, 71, 78, 84, 90, 9
6,2,5,8,11,14,17,20,23,2
7, 30, 33, 36, 39, 42, 45, 48, 5
2,55,58,61,64,67,70,73,7
7,80,83,86,89,92,95,98,1,
4, 7, 10, 13, 16, 19, 22, 26, 29,
32, 35, 38, 41, 44, 47, 51, 54, 5
7,60,63,66,69,72,76,79,8
2,85,88,91,94,97,24,49,7
4}

【0067】ステップ混合のバリエーションを出すため
にこのようなステップ混合機能がある。ステップ混合機
能は、方式1)の方法でステップを初期配置する場合に
は非常に効果が大きいが、方式3)の方法で実数を用い
て配置する際には、比較的効果が少ない。
There is such a step mixing function in order to obtain a variation of the step mixing. The step mixing function is very effective when the steps are initially arranged by the method 1), but relatively ineffective when the steps are arranged using real numbers by the method 3).

【0068】次に行列座標について説明する。いずれか
の方法で帯域個数分のstep1とstep2を適当に
混合したとすると、この混合結果を記憶しておく必要が
ある。混合結果を記憶するのは面倒なので、ステップ混
合の基本ルールさえ覚えておけば、結果は記憶せずとも
すぐに再現できるように見えるが、それほど簡単にはい
かない。一つの帯域のグループが一つだけならよいが、
複数のグループが存在して群化して配置されるとき、グ
ループ毎に配置開始位置が異なるが、step1とst
ep2の混合方法は同一の枠組みで行わないと、わずか
なずれが積算して一部分にに配置済GID群の固まりが
形成されてしまう現象が発生する。このような問題を解
消するために、この実施の形態では、行列座標の概念を
導入した。
Next, the matrix coordinates will be described. If step 1 and step 2 for the number of bands are appropriately mixed by any method, it is necessary to store the result of this mixing. It is troublesome to memorize the result of mixing, so if you remember only the basic rules of step mixing, it seems that the result can be reproduced immediately without memorizing it, but it is not so easy. You only need one band group,
When a plurality of groups exist and are arranged as a group, the arrangement start positions are different for each group.
If the mixing method of ep2 is not performed in the same framework, a phenomenon occurs in which a slight shift is accumulated and a cluster of the arranged GID groups is formed in a part. In order to solve such a problem, the embodiment introduces the concept of matrix coordinates.

【0069】行列座標とは、帯域毎に定義されるもの
で、step1とstep2の混合方法を記憶しておく
目的のために用いられる。基準となる行列座標(mtx
i,mtxj)=(0,0)をもとにし、mtxi番目
のステップのmtxj番目のGIDを(mtxi,mt
xj)と表す。
The matrix coordinates are defined for each band, and are used for the purpose of storing a method of mixing step 1 and step 2. Matrix coordinates (mtx
Based on (i, mtxj) = (0, 0), the mtxj-th GID of the mtxi-th step is (mtxi, mt
xj).

【0070】帯域=167の場合の行列座標の概念例を
図18に示す。図において、GIDTBLはグループ識
別子配置テーブルを表し、図1では横一行に描かれてい
るGIDTBLをstep1またはstep2の長さに
分断して、縦列に並べて描いてある。図のORGは、こ
のときの原点を示し、行列座標の行方向の座標をmtx
i,行列座標の列方向の座標をmtxjで表す。ここで
注意する点は、行列座標の原点ORGは、GIDアドレ
スが0のスロットとは限らないということである。
FIG. 18 shows a conceptual example of matrix coordinates when the band = 167. In the figure, GIDTBL represents a group identifier arrangement table. In FIG. 1, GIDTBL drawn in one horizontal row is divided into lengths of step1 or step2, and drawn in a column. The ORG in the figure indicates the origin at this time, and the coordinates in the row direction of the matrix coordinates are mtx.
i, the coordinates in the column direction of the matrix coordinates are represented by mtxj. It should be noted here that the origin ORG of the matrix coordinates is not necessarily a slot having a GID address of 0.

【0071】行列座標(mtxi,mtxj)が0から
11979のGIDのどこに対応しているかの対応関係
を示すのが図19,図20,図21の表である。図19
は、行列座標の原点(mtxi,mtxj)=(0,
0)がGID=0に対応している場合を示す。これが行
列座標の基準となるので、行列座標設定時にはまずこの
場合を計算する。行列座標はGIDアドレスと対応付け
て記憶するのであるが、行列座標(mtxi,mtx
j)からGIDアドレスを求めるときには、(mtx
i,mtxj)の全ての組み合わせについて記憶してお
く必要はなく、mtxj=0のときの各mtxiのGI
Dである(mtxi,0)さえ記憶しておけばよい。図
19においては、網掛の部分の値のみがポインタ*(a
_cnt_step_cum_tbl+mtxi)に記
憶されている。
FIGS. 19, 20, and 21 show correspondences between the matrix coordinates (mtxi, mtxj) and the GIDs from 0 to 11979. FIG.
Is the origin of the matrix coordinates (mtxi, mtxj) = (0,
0) corresponds to GID = 0. Since this serves as a reference for the matrix coordinates, this case is first calculated when setting the matrix coordinates. Although the matrix coordinates are stored in association with the GID address, the matrix coordinates (mtxi, mtx
j), the GID address is obtained from (mtx
i, mtxj) does not need to be stored for all combinations of mtxi when mtxj = 0.
It is only necessary to store (mtxi, 0) which is D. In FIG. 19, only the value of the shaded portion is a pointer * (a
_Cnt_step_cum_tbl + mtxi).

【0072】図19は行列座標設定の基準であるが、実
際には行列座標の原点(mtxi,mtxj)=(0,
0)はGIDアドレス=0に対応するのではなく、その
時々に乱数で0から11979のなかから選ばれるベー
スオフセットアドレスに対応するのである。図19の例
において、行列座標の原点をベースオフセットアドレス
=11727とした場合の例を図20に示す。図20
は、図19の各座標の値にベースオフセット=1172
7を加算して求めたものである。アルゴリズム中では、
図22に示す関数cnt_matrix_coordi
nate_setにより、図19ではなく図20のテー
ブルを用いている。
FIG. 19 is a reference for setting the matrix coordinates. Actually, the origin of the matrix coordinates (mtxi, mtxj) = (0,
0) does not correspond to the GID address = 0, but corresponds to a base offset address selected from 0 to 11979 with a random number each time. FIG. 20 shows an example in which the origin of the matrix coordinates is set to the base offset address = 111727 in the example of FIG. FIG.
Is the base offset = 1172 in each coordinate value in FIG.
It is obtained by adding 7. In the algorithm,
Function cnt_matrix_coordi shown in FIG.
The table of FIG. 20 is used instead of FIG.

【0073】関数cnt_matrix_coordi
nate_setは、図10のtrunc_s1_s4
で用いられる。図19は図20を算出する過程で必要で
あるが、図20を算出してしまえば記憶しておく必要は
ない。図20も図19と同様に、mtxj=0のときの
各mtxiのGIDである(mtxi,0)即ち網掛の
部分の値のみがポインタ*(a_cnt_step_a
dr_tbl+mtxi)に記憶されている。
Function cnt_matrix_coordi
Nate_set is trunc_s1_s4 in FIG.
Used in FIG. 19 is necessary in the process of calculating FIG. 20, but need not be stored once FIG. 20 is calculated. In FIG. 20, similarly to FIG. 19, the GID of each mtxi when mtxj = 0 (mtxi, 0), that is, only the shaded value is a pointer * (a_cnt_step_a).
dr_tbl + mtxi).

【0074】さて、行列座標(mtxi,mtxj)か
ら対応するGIDを求めるときには図20を用いればよ
いことはわかった。反対に任意のGIDから対応する行
列座標(mtxi,mtxj)を求める場合には、図2
0の*(a_cnt_step_adr_tbl+mt
xi)を検索して差を求めれば求められるが、GIDか
ら行列座標を求める対応表があれば便利である。これを
図21に示す。図21において、GID=0は(mtx
i,mtxj)=(3,38)に対応し、(mtxi,
mtxj)=(0,0)はGID=11727に対応し
ている。図21の行列座標(mtxi,mtxj)は、
a_cnt_gid_tbl[i].mtxiとa_c
nt_gid_tbl[i].mtxjに収納されてい
る。
By the way, it is understood that FIG. 20 should be used when obtaining the corresponding GID from the matrix coordinates (mtxi, mtxj). Conversely, when obtaining the corresponding matrix coordinates (mtxi, mtxj) from an arbitrary GID, FIG.
* (A_cnt_step_adr_tbl + mt of 0)
The difference can be obtained by searching xi), but it is convenient if there is a correspondence table for obtaining the matrix coordinates from the GID. This is shown in FIG. In FIG. 21, GID = 0 is (mtx
i, mtxj) = (3, 38), and (mtxi,
(mtxj) = (0,0) corresponds to GID = 111727. The matrix coordinates (mtxi, mtxj) in FIG.
a_cnt_gid_tbl [i]. mtxi and a_c
nt_gid_tbl [i]. mtxj.

【0075】これまでは、ある帯域の一個のグループを
配置する場合のステップの混合方法について述べた。次
に、同一帯域のグループを複数配置する場合の配置方法
について述べる。同一帯域のグループが複数存在する場
合は、これらを別個に配置するのではなく、まとめて順
次配置する。
The method of mixing the steps when one group of a certain band is arranged has been described above. Next, an arrangement method when a plurality of groups of the same band are arranged will be described. If there are a plurality of groups of the same band, they are arranged separately and sequentially instead of being arranged separately.

【0076】図23に帯域167の一個のグループを配
置する場合の理想位置の例を、図24に二個のグループ
を配置する場合の例を示す。図23では、前述のように
step1とstep2を混合して配置する。このと
き、行列座標の原点のGIDアドレスは乱数選択したベ
ースオフセットであるが、図23では簡単のためにベー
スオフセット=0としてある。
FIG. 23 shows an example of an ideal position in the case where one group of the band 167 is arranged, and FIG. 24 shows an example of an arrangement in which two groups are arranged. In FIG. 23, step 1 and step 2 are mixed and arranged as described above. At this time, the GID address of the origin of the matrix coordinates is a base offset selected by a random number, but in FIG. 23, the base offset is set to 0 for simplicity.

【0077】図24では、グループ1とグループ2の2
グループを配置するが、ここでグループ1とグループ2
ができるだけ散らばるためには、図に示すように、グル
ープ1のステップの中間付近にグループ2が配置される
ようにしたほうがよい。さらに、グループ数が増えた場
合には、ステップ内に均等分散されるように配置する
と、衝突の可能性が小さくなる。同一帯域グループ群で
はベースオフセットは共通にし、同一の行列座標に基づ
いて配置する。これは、行列座標を用いると、mtxj
を一定にしてmtxiだけ1ずつ増加させることによっ
て実現できる。この様子を図25に示す。ここで問題と
なることに、次の二点がある。 1)複数グループ対応のmtxjの選択 2)配置を開始するmtxiの選択 これらについて、以下に説明する。
In FIG. 24, group 1 and group 2
Group is arranged, but here Group 1 and Group 2
In order to disperse as much as possible, as shown in the figure, it is better to arrange the group 2 near the middle of the steps of the group 1. Further, when the number of groups increases, if the groups are arranged so as to be evenly distributed in the steps, the possibility of collision decreases. In the same band group group, the base offset is made common and arranged based on the same matrix coordinates. This means that using matrix coordinates, mtxj
Can be realized by increasing the value of mtxi by one while keeping the constant. This is shown in FIG. There are two problems here. 1) Selection of mtxj corresponding to a plurality of groups 2) Selection of mtxi to start arrangement These will be described below.

【0078】次にサイズの概念について説明する。複数
グループ対応のmtxjは、基本的にはstep1を均
等配分して割り当てる。本実施の形態では、11980
個のGIDを帯域個に分割した間隔のことをステップ、
ステップを同一帯域グループ個数で分割した間隔のこと
をサイズと呼ぶ。ステップのとる値はstep1または
step2=step1+1であるのと同様に、サイズ
もsize1またはsize2=size1+1をと
る。
Next, the concept of size will be described. For mtxj corresponding to a plurality of groups, basically, step1 is equally distributed and allocated. In the present embodiment, 11980
Step of dividing the GIDs into bands.
An interval obtained by dividing a step by the number of the same band group is called a size. Just as the value of the step is step1 or step2 = step1 + 1, the size is also size1 or size2 = size1 + 1.

【0079】ステップとサイズは、分割母体を分割して
整数化するという点では類似性があり、次のように比較
できる。この類似性を利用して、本実施の形態では、共
通のアルゴリズムとして、図13の関数cnt_mix
_clc_intおよび図15の関数cnt_mix_
realを用いて、ステップ情報をcnt_set_s
tep_infで、サイズ情報をcnt_set_si
ze_infで計算している。関数cnt_set_s
tep_infの手順を図26に、関数cnt_set
_size_infの手順を図27に示す。これらの関
数は、図10の処理trunc_s1_s1で用いられ
る。
The step and the size are similar in that the divided matrix is divided into integers, and can be compared as follows. By utilizing this similarity, in the present embodiment, the function cnt_mix of FIG.
_Clc_int and the function cnt_mix_ in FIG.
Using real, the step information is cnt_set_s
In step_inf, the size information is stored in cnt_set_si
It is calculated with ze_inf. Function cnt_set_s
FIG. 26 shows the procedure of step_inf, and the function cnt_set
FIG. 27 shows the procedure of _size_inf. These functions are used in the process trunc_s1_s1 of FIG.

【0080】ステップ情報を*(a_cnt_step
_cum_tbl+i)に設定したのと同様に、サイズ
情報は*(a_cnt_size_cum_tbl+
i)に保持される。図7のTEST2のように、帯域=
167のグループが8個ある場合の、サイズ情報保持テ
ーブルの例を図29に、同例の配置の様子を図30に示
す。
The step information is represented by * (a_cnt_step)
_Cum_tbl + i), the size information is * (a_cnt_size_cum_tbl +
i). As shown in TEST2 of FIG.
FIG. 29 shows an example of the size information holding table when there are eight groups of 167, and FIG. 30 shows the arrangement of the example.

【0081】サイズ情報は、一ステップ内の配置を示す
もので、全ステップ共通の行列座標mtxjを表す。こ
こで、サイズ情報は小さいほうのステップstep1
(図30の例では71)に基づいているので、ステップ
がstep2の場合の最後のGID(図30の例ではi
=1,2,166の場合のステップの右端のmtxj=
71)には、理想位置としてのグループ配置はなされな
いことになる。
The size information indicates the arrangement within one step, and indicates the matrix coordinates mtxj common to all steps. Here, the size information is smaller step 1
(71 in the example of FIG. 30), the last GID in the case where the step is step 2 (i.e., i in the example of FIG. 30).
Mtxj at the right end of the step in the case of = 1,2,166 =
In 71), the group arrangement as an ideal position is not performed.

【0082】次に同一帯域グループ開始ステップの均等
分散について説明する。図30では、各グループに割り
当てられたmtxjに対してi=0,1,2,…,16
6の167個のグループ要素が配置されている。しか
し、図30で黒く示されている配置位置CALPは、そ
こに配置できたら望ましいという理想の位置にすぎな
い。理想位置CALPが既に配置済みの場合は、前後の
空位置を探索して許容CDVの範囲内の空位置に配置し
なくてはならない。
Next, the uniform distribution of the same band group start step will be described. In FIG. 30, i = 0, 1, 2,..., 16 for mtxj assigned to each group.
6, 167 group elements are arranged. However, the arrangement position CALP shown in black in FIG. 30 is only an ideal position that it is desirable to be able to arrange there. If the ideal position CALP has already been arranged, it is necessary to search for empty positions before and after and locate the empty position within an allowable CDV range.

【0083】多数のグループのGIDを割り当てる際
の、第一番目の割り当てならば、理想位置が既に配置済
みであることはないが、二番目以降の場合は、理想位置
が既に配置済みである可能性が出てくる。この可能性を
鑑みると、グループ配置を開始するステップ、即ち図3
0のGIDTBLのなかで、どのmtxiの列から開始
するかも意味を持つことがわかる。図30でいえば、全
てのグループに関してmtxi=0のステップからGI
D配置を開始するのが一番単純である。配置し始めは既
配置スロットが少なく理想位置への配置が可能である
が、配置が進みmtxiが増加するにつれ、既配置スロ
ットが増えて理想位置への配置が困難となってくる。
When assigning GIDs of a large number of groups, if the first assignment, the ideal position is not already arranged, but if it is the second or later, the ideal position may already be arranged. Sex comes out. In view of this possibility, the step of starting group arrangement, that is, FIG.
It can be understood that which mtxi column to start with in GIDTBL of 0 also has significance. Referring to FIG. 30, GI starts from the step of mtxi = 0 for all groups.
Starting the D placement is the simplest. At the beginning of the arrangement, the number of existing slots is small and the arrangement at the ideal position is possible. However, as the arrangement progresses and mtxi increases, the number of the already arranged slots increases and the arrangement at the ideal position becomes difficult.

【0084】全てのグループで同様のことが発生するの
で、mtxi=166のステップに近付くと空スロット
が少なくなって、場合によっては許容CDV内では配置
不可となる可能性も出てくる。ここでは、このような事
態を避けるために、グループ毎に配置開始位置をずらし
て全GID中になるべく分散するようにしている。この
ずれを表すのがバイアス個数bias_numであり、
次式で求められる。但し、端数は切捨てて整数値をと
る。 バイアス個数bias_num=帯域/同一帯域グルー
プ個数 図30の例では、バイアス個数=167/8=20であ
る。故に、各グループの配置開始ステップはi=0,2
0,40,60,80,100,120,140とな
る。この様子を図31に示す。
Since the same occurs in all the groups, the number of empty slots decreases as the step of mtxi = 166 is approached, and in some cases, it may be impossible to arrange within the allowable CDV. Here, in order to avoid such a situation, the arrangement start positions are shifted for each group so as to be distributed as much as possible in all the GIDs. The bias number bias_num represents this deviation.
It is obtained by the following equation. However, the fraction is rounded down to an integer value. Bias number bias_num = band / number of same band groups In the example of FIG. 30, the number of biases = 167/8 = 20. Therefore, the arrangement start step of each group is i = 0,2
0, 40, 60, 80, 100, 120, 140. This state is shown in FIG.

【0085】グループ配置の際の基準となる点をオフセ
ットと呼ぶ。図31に基づいて各オフセットについて説
明する。まず、行列座標の原点ORGを設定するのがベ
ースオフセットbase_offsetであり、全GI
Dアドレス(0から11979)の中から乱数で選ばれ
る。
A reference point at the time of group arrangement is called an offset. Each offset will be described with reference to FIG. First, the base offset base_offset sets the origin ORG of the matrix coordinates.
A random number is selected from the D addresses (0 to 11979).

【0086】また、各グループの配置開始位置がスター
トオフセットstart_offsetである。スター
トオフセット設定のためには、まずベースオフセットを
基準にして、mtxi=0の第一ステップを同一帯域グ
ループ個数で均等分配したサイズ毎に、スタートオフセ
ット原点start_offset_orgを設定す
る。各グループ毎のスタートオフセット原点に、バイア
ス個数bias_numだけステップiを順次ずらし
て、スタートオフセットstart_offsetを設
定する。
The arrangement start position of each group is a start offset start_offset. To set the start offset, first, a start offset origin start_offset_org is set for each size in which the first step of mtxi = 0 is equally distributed with the same band group number based on the base offset. Step i is sequentially shifted from the start offset origin of each group by the number of biases bias_num to set a start offset start_offset.

【0087】次に、スタートオフセット設定関数cnt
_set_start_offsetについて述べる。
前に述べたように、配置理想位置を均等分散し行列座標
の変換テーブルを図19,図20,図21に記憶してい
る。GID配置の際にはこれらを読み出して使用する。
Next, the start offset setting function cnt
_Set_start_offset will be described.
As described above, the ideal arrangement positions are equally distributed, and matrix coordinate conversion tables are stored in FIGS. 19, 20, and 21. At the time of GID arrangement, these are read and used.

【0088】スタートオフセット配置の際に用いるのは
スタートオフセット設定関数cnt_set_star
t_offsetである。図32に、関数cnt_se
t_start_offsetのフローチャートを示
す。この関数は、図11の処理trunc_s2_s1
のスタートオフセット設定で用いられる。ここでは、変
数loop2が、当該群において何番めのグループを配
置しているかを示すことがポイントである。
The start offset setting function used in the start offset arrangement is cnt_set_star.
t_offset. FIG. 32 shows a function cnt_se
4 shows a flowchart of t_start_offset. This function corresponds to the process trunc_s2_s1 in FIG.
Is used for setting the start offset. Here, the point is that the variable loop2 indicates the number of the group in the group.

【0089】図31のスタートオフセットorgのk
は、ベースオフセットに図29のサイズ情報保持テーブ
ルのk番めの値*(a_cnt_size_cum_t
bl+k)を加算したものとなる。これに、図19の*
(a_cnt_step_cum_tbl)を用いて、
バイアス個数bias_num×loop2を加算した
のがスタートオフセットkとなる。これは、図20の*
(a_cnt_step_adr_tbl)のbias
_num×loop2番めの値と、図29のサイズ情報
保持テーブル*(a_cnt_size_cum_tb
l)のloop2番めの値を用いることによっても求め
られる。
The k of the start offset org shown in FIG.
Is the k-th value * (a_cnt_size_cum_t) of the size information holding table of FIG.
bl + k). In addition, * in FIG.
Using (a_cnt_step_cum_tbl),
The start offset k is obtained by adding the number of biases bias_num × loop2. This is indicated by * in FIG.
Bias of (a_cnt_step_adr_tbl)
_Num × loop second value and the size information holding table in FIG. 29 * (a_cnt_size_cum_tb)
It can also be obtained by using the second value of loop in 1).

【0090】次に、配置GID取得処理cnt_set
_clc_gidについて述べる。Loop3内の個別
GID配置の際に均等分配情報を読み出すのが配置GI
D取得処理関数cnt_set_clc_gidであ
る。スタートオフセットとloop3(何番めの個別G
IDを設定しているか)から、図33に示すように理想
配置位置を求める。この関数は、図12の処理trun
c_s3_s1の理想位置取得で用いられる。
Next, arrangement GID acquisition processing cnt_set
_Clc_gid will be described. It is the arrangement GI that reads out the equal distribution information when the individual GIDs are arranged in Loop3.
D acquisition processing function cnt_set_clc_gid. Start offset and loop3 (number of individual G
ID is set), an ideal arrangement position is obtained as shown in FIG. This function corresponds to the process “run” in FIG.
Used for obtaining the ideal position of c_s3_s1.

【0091】まず、図の処理cnt_set_clc_
gid_s1で、図21のGIDから行列座標を求める
テーブルa_cnt_gid_tblにより、スタート
オフセットのmtxi座標とmtxj座標を求める。次
に処理cnt_set_clc_gid_s2で、この
mtxi座標にloop3を加算して、現在配置しよう
としているGIDのmtxi座標を求める。
First, the processing cnt_set_clc_ shown in FIG.
The mtxi and mtxj coordinates of the start offset are obtained from the table a_cnt_gid_tbl for obtaining the matrix coordinates from the GID in FIG. 21 using gid_s1. Next, in processing cnt_set_clc_gid_s2, loop3 is added to the mtxi coordinates to obtain the mtxi coordinates of the GID to be currently arranged.

【0092】次に、処理cnt_set_clc_gi
d_s3で、現在配置しようとしているGIDのmtx
j座標を、スタートオフセットのmtxj座標と等しく
設定する。更に処理cnt_set_clc_gid_
s4で、現在配置しようとしているGIDのmtxi座
標とmtxj座標が求められたので、図20のステップ
情報テーブルa_cnt_step_adr_tblを
用いて、当該スロットのGIDアドレスを求める。
Next, processing cnt_set_clc_gi
In d_s3, the mtx of the GID currently being arranged
The j coordinate is set equal to the mtxj coordinate of the start offset. Further processing cnt_set_clc_gid_
At s4, the mtxi coordinate and the mtxj coordinate of the GID to be currently arranged are obtained, so the GID address of the slot is obtained using the step information table a_cnt_step_adr_tbl in FIG.

【0093】次に同一グループGID隣接配置禁止機能
について述べる。本実施の形態におけるアルゴリズムで
は、同一グループのGIDを隣接して配置してはいけな
いという制約を設けている。帯域の大きなグループで
は、許容CDVの範囲内でGIDを配置した場合でも、
互いに隣接して配置されるという現象が発生する。隣接
配置はないほうが、グループ内GIDが分散しているこ
とになるので望ましい。
Next, the same group GID adjacent arrangement prohibition function will be described. The algorithm according to the present embodiment has a restriction that GIDs in the same group must not be arranged adjacently. In a group with a large band, even if a GID is arranged within the allowable CDV range,
A phenomenon occurs that they are arranged adjacent to each other. It is preferable that there is no adjacent arrangement because GIDs within a group are dispersed.

【0094】隣接配置禁止の判断は、GID配置可不可
判断(隣接GID禁止)関数cnt_chk_gid_
availableで行われている。図34に、cnt
_chk_gid_availableのフローチャー
トを示す。これは、図12の処理trunc_s3_s
2あるいはtrunc_s3_s4等の、loop3の
中での個別GID配置可不可判断に用いられる。
The determination of the prohibition of the adjacent arrangement is performed by determining whether the GID can be arranged (prohibition of the adjacent GID) function cnt_chk_gid_
It is made available. In FIG. 34, cnt
13 shows a flowchart of _chk_gid_available. This corresponds to the process trunc_s3_s in FIG.
2 or trunc_s3_s4 or the like is used to determine whether individual GIDs can be placed in loop3.

【0095】以下に、理想位置のスロットにグループ要
素が配置できない場合の処置について述べる。前節にお
いて、理想位置の均等配分のメカニズムについて述べ
た。しかし理想位置CALPはあくまでも「そこに配置
できることが望ましい」という位置であり、既にそのス
ロットが配置済みであった場合には、別のスロットを探
さなくてはならない。図36は、理想位置とその周辺を
表す図である。図36のGID配置テーブルGIDTB
Lは、図1のGIDTBLの一部分を示すものである。
図において、理想位置CALPのスロットが既配置で新
たにGIDを配置できないとすると、その近傍の適当な
スロットに配置する必要がある。
Hereinafter, a description will be given of a process when a group element cannot be arranged in a slot at an ideal position. In the previous section, the mechanism of equal distribution of ideal positions was described. However, the ideal position CALP is a position that is "desirable to be able to be arranged there" to the last, and if that slot has already been arranged, another slot must be searched for. FIG. 36 is a diagram illustrating an ideal position and its periphery. GID arrangement table GIDTB of FIG. 36
L indicates a part of GIDTBL in FIG.
In the figure, if it is assumed that a new GID cannot be arranged because the slot at the ideal position CALP has already been arranged, it is necessary to arrange the GID in an appropriate slot in the vicinity.

【0096】別の配置スロットの探索方法は、配置しよ
うとするものの種類により異なる。また、仮に目的の理
想位置がちょうど空いていたとしても、周辺のGIDの
配置状況を考慮して、その理想位置に配置せずに周囲に
配置したほうがよい場合もある。これらの区別を以下に
述べる。
The method of searching for another arrangement slot differs depending on the type of object to be arranged. Even if the target ideal position is vacant, it may be better to arrange the GID around the target GID instead of at the ideal position in consideration of the surrounding GID arrangement situation. These distinctions are described below.

【0097】図35は、理想位置のスロットに配置でき
ない場合の処置について、まとめたものである。
FIG. 35 shows a summary of measures to be taken when a slot cannot be placed in an ideal position slot.

【0098】次に、CDV=7のときのパターン照合に
ついて説明する。本実施の形態のアルゴリズムでは、許
容CDV値が7のときは、理想位置付近のパターン照合
により最適配置位置を選択している。すなわち、図12
の処理trunc_s3_s2からtrunc_s3_
s5の代わりに、許容CDV値が7の場合には以下の手
順でパターン照合を行う。
Next, pattern matching when CDV = 7 will be described. In the algorithm of the present embodiment, when the allowable CDV value is 7, the optimal arrangement position is selected by pattern matching near the ideal position. That is, FIG.
From trunc_s3_s2 to trunc_s3_
If the allowable CDV value is 7 instead of s5, pattern matching is performed in the following procedure.

【0099】許容CDV値が7ということは、理想位置
のスロットを含めて周辺8個のスロットに配置できれ
ば、許容されるという意味である。各GIDアドレスが
空の場合を0,配置済の場合を1と表すと、許容CDV
値が7の範囲は、8ビットのビットパターンで表すこと
ができる。
The allowable CDV value of 7 means that if it can be arranged in eight peripheral slots including the ideally located slot, it is acceptable. If each GID address is empty and 0 if it is arranged, the allowable CDV
The range with a value of 7 can be represented by an 8-bit bit pattern.

【0100】さらに、この範囲の前後の状況も考慮した
ほうが望ましいが、あまり広い範囲を考慮すると複雑に
なるので、本アルゴリズムでは、前後に一アドレスずつ
加えて、10ビットパターンの範囲を考慮している。理
想位置周辺の10個のGIDアドレスの空具合を10ビ
ットのビットパターンで表すことにより、空具合に応じ
た最適配置位置を、10ビットのビットパターン対応で
選択しようというのが、このパターン照合の概要であ
る。10ビットの空具合は、全パターンを網羅しても1
024パターンなので、手作業で最適配置位置を選択す
ることができる。
Further, it is desirable to consider the situation before and after this range, but it becomes complicated if an extremely wide range is considered. Therefore, in this algorithm, one address is added before and after each range, and the range of the 10-bit pattern is considered. I have. By expressing the degree of vacancy of the ten GID addresses around the ideal position with a 10-bit bit pattern, the optimal arrangement position according to the degree of vacancy is selected in correspondence with the 10-bit bit pattern. An overview. The 10 bit empty condition is 1 even if all patterns are covered.
Because of the 024 pattern, the optimum arrangement position can be manually selected.

【0101】初期のアルゴリズムでは、理想位置が空な
ら無条件配置しており、また許容CDV値が7の範囲の
前後各1ビットも考慮してなかったので、パターンは7
ビット128通りであった。しかし、理想位置に配置す
ることにより配置済GIDが連続してしまう現象や、考
慮している範囲の外側の配置済GID群を増大させてし
まう不都合が発生したため、10ビットパターン照合す
ることになった。
In the initial algorithm, if the ideal position is empty, the pattern is arranged unconditionally, and the allowable CDV value does not consider each bit before and after the range of 7.
There were 128 bits. However, a phenomenon in which the arranged GIDs are continuous due to the arrangement at the ideal position, and a disadvantage of increasing the number of arranged GIDs outside the range under consideration occur, so that the 10-bit pattern matching is performed. Was.

【0102】既配置パターンから最適配置位置を選択す
る方針は次の通りである。 1)同程度に適した空位置(ビット0)が複数あるとき
は、全てを配置候補とし、パターン照合時に乱数により
候補位置の一つを選択する。 2)新規配置により1(配置済)連続が発生しない空位
置(0)があれば、そこに配置する。即ち、3ビット以
上の0(空)連続があるときは、両端の0を除いた0の
位置に配置する。 3)新規配置により1(配置済)連続が発生しない空位
置(0)がない場合は、1(配置済)の連続数が最小と
なる位置を選択する。 4)10ビット範囲の外側の配置状況については悲観的
な想定をして、配置位置を選択する。即ち、外側の配置
状況によっては、10ビット内部での1連続数より少な
い1連続数が実現できるとしても、外側が別の状況な
ら、さらに長い1連続が発生してしまう可能性のあるよ
うな位置は選択しない。
The policy for selecting the optimum arrangement position from the already arranged patterns is as follows. 1) When there are a plurality of vacant positions (bit 0) that are equally suitable, all of them are set as arrangement candidates, and one of the candidate positions is selected by random numbers during pattern matching. 2) If there is a vacant position (0) where 1 (placed) continuation does not occur due to the new placement, place it there. In other words, when there are 0 (empty) continuations of 3 bits or more, they are arranged at 0 positions excluding the 0s at both ends. 3) If there is no empty position (0) where 1 (placed) continuation does not occur due to the new placement, select a position where the number of 1 (placed) continuations is the minimum. 4) An arrangement position is selected by making pessimistic assumptions about the arrangement state outside the 10-bit range. In other words, depending on the arrangement status on the outside, even if one continuous number smaller than one continuous number within 10 bits can be realized, if the outside is another situation, a longer continuous one may occur. Do not select a position.

【0103】ロムテーブルo_cnt_cdv7_pa
tとビットパターンの一部を図37に示す。表の左半分
がロムテーブルで、右半分が10ビットの配置パターン
である。ロムテーブルでは、横一行のデータが一組とな
って、右側の配置パターンの最適配置位置を表してい
る。ロムテーブルの最左列のパターンコードは、配置ビ
ットパターンを二進数列とみなして、これを十進数に換
算した場合の数を示す。
The ROM table o_cnt_cdv7_pa
FIG. 37 shows t and a part of the bit pattern. The left half of the table is a ROM table, and the right half is a 10-bit arrangement pattern. In the ROM table, one row of data is a set, and represents the optimal arrangement position of the arrangement pattern on the right side. The pattern code in the leftmost column of the ROM table indicates a number when the arrangement bit pattern is regarded as a binary sequence and converted to a decimal number.

【0104】図37の第1行目では、ビットパターンは
(0,0,0,0,0,0,0,0,0,0)なので、
パターンコードは0となっている。パターンコード25
6のパターンは(0,1,0,0,0,0,0,0,
0,0)であり、パターンコード1023のパターンは
(1,1,1,1,1,1,1,1,1,1)である。
In the first row of FIG. 37, since the bit pattern is (0,0,0,0,0,0,0,0,0,0),
The pattern code is 0. Pattern code 25
6 is (0,1,0,0,0,0,0,0,
0,0), and the pattern of the pattern code 1023 is (1,1,1,1,1,1,1,1,1,1).

【0105】パターンコード作成の際の各ビットの重み
が、図37の右半分の配置パターン表の上部に示されて
いる。この配置パターン表の上部には、各ビットのラベ
ルが記されている。ビットパターンのビットは、右側か
ら0,1,2,…と名付けられているわけではなく、真
中の理想位置から左右交互に番号付けされている。これ
は、理想位置から出発して、理想に近い位置を順次探索
していく場合の順番を示す。
The weight of each bit at the time of creating the pattern code is shown at the top of the arrangement pattern table in the right half of FIG. The label of each bit is described at the top of the arrangement pattern table. The bits of the bit pattern are not named 0, 1, 2,... From the right side, but are numbered alternately left and right from the ideal position in the middle. This indicates the order when starting from the ideal position and sequentially searching for a position close to the ideal.

【0106】ロムテーブルには、現状のビットパターン
に新規に1を配置する場合の最適位置を示すが、同様に
適した位置が複数存在する場合には、全ての候補のラベ
ルが列挙してある。候補の個数がロムテーブルの2列目
に記されている。第1行目のパターンコード0では、候
補ラベル0,1,2,3,4,5,6,7の8個の候補
が同様に適していることが示されている。ロムテーブル
で配置候補に挙げたラベルの位置は、配置パターンでは
斜線表示してある。複数の配置位置候補がある場合は、
実際の配置時に乱数によって一つが選択される。
In the ROM table, the optimum position when a new 1 is arranged in the current bit pattern is shown. When there are a plurality of suitable positions, labels of all candidates are listed. . The number of candidates is described in the second column of the ROM table. The pattern code 0 in the first row indicates that eight candidates of candidate labels 0, 1, 2, 3, 4, 5, 6, and 7 are similarly suitable. The positions of the labels listed as the arrangement candidates in the ROM table are indicated by oblique lines in the arrangement pattern. If you have multiple placement options,
One is selected by a random number at the time of actual arrangement.

【0107】パターンコードが0で空ビットが多いとき
は、配置候補位置(斜線部分)が多数存在するが、パタ
ーンコード1,2,3,…と増加するにつれて、配置候
補位置は少なくなってくる。パターンコード255のよ
うに、1の多いパターンでは、配置候補はラベル6の1
ビットのみとなるが、パターンコード256のように、
0の多いパターンでは、配置候補位置は6ビットもあ
る。パターンコード1022や1023では全ビットが
1なので、配置候補はゼロで配置不可となる。
When the pattern code is 0 and there are many empty bits, there are many arrangement candidate positions (shaded portions), but as the pattern codes 1, 2, 3,... Increase, the arrangement candidate positions decrease. . In a pattern having many 1s as in the pattern code 255, the arrangement candidate is 1 in the label 6.
Only bits, but like pattern code 256,
In a pattern with many 0s, the arrangement candidate position has 6 bits. Since all bits are 1 in the pattern codes 1022 and 1023, the arrangement candidate is zero and cannot be arranged.

【0108】これらの機能に加えて、配置の初期には奇
数アドレスにのみ配置する等の制御を付加したものが、
CDV許容範囲内パターン照合関数cnt_chk_c
dv_pat_valueで実現されている。配置アド
レスについてさらに細かい制御を付加して、バリエーシ
ョンをつけたものが、cnt_chk_cdv_pat
_R1,cnt_chk_cdv_pat_R13,c
nt_chk_cdv_pat_R135,cnt_c
hk_cdv_pat_R1357である。
In addition to these functions, the one in which control such as arranging only at odd addresses in the initial stage of arrangement is added.
CDV allowable range pattern matching function cnt_chk_c
This is realized by dv_pat_value. The one in which a variation is added with more detailed control added to the arrangement address is cnt_chk_cdv_pat.
_R1, cnt_chk_cdv_pat_R13, c
nt_chk_cdv_pat_R135, cnt_c
hk_cdv_pat_R1357.

【0109】関数cnt_chk_cdv_pat_v
alueの手順を示すフローチャートを図38に、関数
cnt_chk_cdv_pat_R1357の手順を
示すフローチャートを図39に示す。関数cnt_ch
k_cdv_pat_R1からcnt_chk_cdv
_pat_R135は、関数cnt_chk_cdv_
pat_R1357の部分集合になっているので、手順
は図39に含まれる。
Function cnt_chk_cdv_pat_v
FIG. 38 is a flowchart showing the procedure of “alue”, and FIG. 39 is a flowchart showing the procedure of the function cnt_chk_cdv_pat_R1357. Function cnt_ch
k_cdv_pat_R1 to cnt_chk_cdv
_Pat_R135 is a function cnt_chk_cdv_
Since it is a subset of pat_R1357, the procedure is included in FIG.

【0110】図38のcnt_chk_cdv_pat
_valueでは、CDV≦7のときに、付与のGID
の周辺10スロットの配置状況を読み込み、10ビット
のパターンind_cdv7に表現する。このパターン
を、あらかじめ最適位置を探索しておいたパターン表
(ロムテーブルに保管)と照合して、最適位置に配置す
る。
FIG. 38, cnt_chk_cdv_pat
_Value is the GID of the grant when CDV ≦ 7
Is read, and the arrangement status of the surrounding 10 slots is read and expressed in a 10-bit pattern ind_cdv7. This pattern is collated with a pattern table (stored in a ROM table) in which the optimum position has been searched in advance, and is arranged at the optimum position.

【0111】図38の処理cnt_chk_cdv_p
at_value_s6とcnt_chk_cdv_p
at_value_s7とcnt_chk_cdv_p
at_value_s8において、配置アドレスの奇偶
に依存して、ロムテーブルo_cnt_cdv7_pa
tと、o_cnt_cdv7_pat_oと、o_cn
t_cdv7_pat_eを使い分けているが、いずれ
も、図37に示すような内容テーブルである。
Processing cnt_chk_cdv_p of FIG. 38
at_value_s6 and cnt_chk_cdv_p
at_value_s7 and cnt_chk_cdv_p
In at_value_s8, the rom table o_cnt_cdv7_pa
t, o_cnt_cdv7_pat_o, and o_cn
Although t_cdv7_pat_e is selectively used, each is a content table as shown in FIG.

【0112】図39の関数cnt_chk_cdv_p
at_R1からcnt_chk_cdv_pat_R1
357では、設定帯域合計が小さいときには、奇数アド
レスのGIDにグループ要素を配置する。
Function cnt_chk_cdv_p in FIG. 39
from at_R1 to cnt_chk_cdv_pat_R1
In 357, when the total set bandwidth is small, the group element is arranged at the GID of the odd address.

【0113】関数cnt_chk_cdv_pat_R
1では、GIDアドレスを8で割ったときの余り1の位
置に配置する(図の処理cnt_chk_cdv_pa
t_R1357_s11からcnt_chk_cdv_
pat_R1357_e1)。許容回数試行しても配置
不可の時は、次の余り1あるいは3の位置に配置する関
数に移る。
Function cnt_chk_cdv_pat_R
1, the GID address is arranged at the position of the remainder 1 when divided by 8 (processing cnt_chk_cdv_pa in the figure)
From t_R1357_s11 to cnt_chk_cdv_
pat_R1357_e1). If placement is not possible even after trying the allowable number of times, the process proceeds to a function to be placed at the next remainder 1 or 3.

【0114】関数cnt_chk_cdv_pat_R
13では、GIDアドレスを8で割ったときの余りが1
あるいは3の位置に配置する(図の処理cnt_chk
_cdv_pat_R1357_s31からcnt_c
hk_cdv_pat_R1357_e3)。許容回数
試行しても配置不可の時は、次の余り1または3または
5の位置に配置する関数に移る。
Function cnt_chk_cdv_pat_R
In 13, the remainder when the GID address is divided by 8 is 1
Alternatively, it is arranged at the position 3 (processing cnt_chk in the figure)
_Cdv_pat_R1357_s31 to cnt_c
hk_cdv_pat_R1357_e3). If placement is not possible even after trying the allowable number of times, the process proceeds to a function to be placed at the next remainder 1 or 3 or 5.

【0115】関数cnt_chk_cdv_pat_R
135では、GIDアドレスを8で割ったときの余りが
1または3または5の位置に配置する(図の処理cnt
_chk_cdv_pat_R1357_s51からc
nt_chk_cdv_pat_R1357_e5)。
許容回数試行しても配置不可の時は、次の余り1または
3または5または7の位置に配置する関数に移る。
Function cnt_chk_cdv_pat_R
At 135, the remainder when the GID address is divided by 8 is placed at the position of 1, 3, or 5 (processing cnt in the figure).
_Chk_cdv_pat_R1357_s51 to c
nt_chk_cdv_pat_R1357_e5).
If placement is not possible even after trying the allowable number of times, the process proceeds to a function to be placed at the next remainder 1 or 3 or 5 or 7.

【0116】関数cnt_chk_cdv_pat_R
1357では、GIDアドレスを8で割ったときの余り
が1または3または5または7の位置に配置する(図の
処理cnt_chk_cdv_pat_R1357_s
71からcnt_chk_cdv_pat_R1357
_e7)。許容回数試行しても配置不可の時は、奇数ア
ドレス配置はあきらめる。
Function cnt_chk_cdv_pat_R
In 1357, the remainder when the GID address is divided by 8 is placed at the position of 1 or 3 or 5 or 7 (processing cnt_chk_cdv_pat_R1357_s in the figure)
71 to cnt_chk_cdv_pat_R1357
_E7). If placement is not possible even after the allowable number of attempts, give up the odd address placement.

【0117】理想スロットに配置できない場合の他の試
行手順には、以下のものがある。なお、乱数に関して
は、後で詳述する。図11のtrunc_s2_s1の
スタートオフセットの設定で理想スロットに配置できな
い場合は、図40に示すGID乱数検索処理(全GID
対象)関数cnt_chk_start_rand_a
llを用いる。この関数では、後述する(3)式に示す
ように、周期16384の乱数を0から11979の間
の乱数に変換し、空GIDが見付かるまで最大1638
4回試行する。空GIDスロットが一個でも存在すれ
ば、必ず発見される。
[0117] Other trial procedures when it is not possible to arrange in the ideal slot include the following. The random numbers will be described later in detail. If the start slot of trunc_s2_s1 in FIG. 11 cannot be located in the ideal slot, the GID random number search process (all GIDs) shown in FIG.
Target) function cnt_chk_start_rand_a
11 is used. This function converts a random number with a period of 16384 into a random number between 0 and 11979 as shown in the expression (3) described below, and a maximum of 1638 until an empty GID is found.
Try 4 times. If there is even one empty GID slot, it is always found.

【0118】図10のstunc_s1_s2のベース
オフセットの設定で理想スロットに配置できない場合
は、関数GID乱数検索処理(全GID対象)±del
ta,cnt_chk_start_rand_all
_deltaを用いる。この関数は、図40に示すcn
t_chk_start_rand_all関数と同様
に乱数で空GIDを探索するが、処理cnt_chk_
star_rand_all_s4の判断で、当該GI
Dのみならず±deltaの範囲で空のGIDを探索す
る。
If the base slot cannot be placed in the ideal slot due to the setting of the base offset of stunc_s1_s2 in FIG. 10, the function GID random number search processing (for all GIDs) ± del
ta, cnt_chk_start_rand_all
_Delta is used. This function corresponds to cn shown in FIG.
Similar to the t_chk_start_rand_all function, an empty GID is searched using a random number, but processing cnt_chk_
According to the determination of star_rand_all_s4, the GI
An empty GID is searched not only for D but also within a range of ± delta.

【0119】図12の処理trunc_s3_s3にお
いて、許容CDV値が7を超えた場合で、理想GIDス
ロットに配置できない場合には、図41に示すCDV許
容範囲内乱数GID検索処理cnt_chk_cdv_
randを用いる。この関数では、CDV許容範囲内の
GIDを乱数で検索する。
In the process trunc_s3_s3 of FIG. 12, if the allowable CDV value exceeds 7, and if it cannot be arranged in the ideal GID slot, the random number GID search process cnt_chk_cdv_ in the CDV allowable range shown in FIG.
rand is used. In this function, a GID within the allowable range of the CDV is searched by a random number.

【0120】図12の処理trunc_s3_s3から
trunc_s3_s5を繰り返しても、許容CDV値
内でグループ要素が配置できないときは、処理trun
c_s3_s6からtrunc_s3_s61に進ん
で、配置済の当該グループのグループ要素をリセット
し、処理trunc_s3_e6から図11のtrun
c_s2_st2に戻ってスタートオフセットを変更し
て、グループ要素の再設定を行う。
If the group elements cannot be arranged within the allowable CDV value even after repeating the processes trunc_s3_s3 to trunc_s3_s5 in FIG.
The process proceeds from c_s3_s6 to trunc_s3_s61 to reset the group element of the group that has been arranged, and from the process trunc_s3_e6 to trunc in FIG.
Returning to c_s2_st2, the start offset is changed and the group element is reset.

【0121】ループ3からループ2に差戻してスタート
オフセットを変更する試行を許容回数行っても、当該グ
ルーブの全要素が設定できないときは、図12の処理t
runc_s3_s7からtrunc_s3_s71に
進んで、処理trunc_s3_e7から図10のtr
unc_s1_st2に戻り、丸めバイアスを変更して
グループ要素の再設定を行う。丸めバイアスの変更につ
いては前述した。
If all the elements of the groove cannot be set even after performing the allowable number of attempts to change the start offset by returning from the loop 3 to the loop 2, the processing t of FIG.
The process proceeds from trunc_s3_s7 to trunc_s3_s71, and from the process trunc_s3_e7 to tr in FIG.
Returning to unc_s1_st2, the rounding bias is changed and the group element is reset. The change of the rounding bias has been described above.

【0122】ループ3からループ1に差戻して丸めバイ
アスを変更する試行を許容回数行っても、当該グルーブ
の全要素が設定できないときは、図12の処理trun
c_s3_s8からtrunc_s3_s81に進ん
で、許容CDV値を変更して、処理trunc_s3_
e8から図11のtrunc_s2_st2に戻り、グ
ループ要素の再設定を行う。可能な限り許容CDV値を
増加させずにグループ要素を配置するために、trun
c_s3_s6からtrunc_s3_s7の試行を行
うが、それでも配置できない場合は、trunc_s3
_s81で許容CDV値を増加するのである。許容CD
V値増加の方法については後述する。許容CDV値の最
大値は全スロット11979であるが、これでも配置で
きない場合は、trunc_s3_edで配置不可とし
て終了する。
If all the elements of the groove cannot be set even after performing the allowable number of attempts to change the rounding bias by returning from loop 3 to loop 1, the processing of FIG.
The process proceeds from c_s3_s8 to trunc_s3_s81, changes the allowable CDV value, and performs processing trunc_s3_
Returning from e8 to trunc_s2_st2 in FIG. 11, the group element is reset. To arrange group elements without increasing the allowable CDV value as much as possible,
Trials from c_s3_s6 to trunc_s3_s7 are performed, but if still not possible, trunc_s3
The allowable CDV value is increased at _s81. Acceptable CD
The method of increasing the V value will be described later. Although the maximum value of the allowable CDV value is all slots 11979, if the slot cannot be arranged even here, trunc_s3_ed terminates as unplaceable.

【0123】次に、本実施の形態におけるCDVについ
て説明する。本実施の形態のCID配置アルゴリズムの
目的は、グループの各要素を、全GIDスロット中に可
能な限り均等に分配することである。しかし、通常は、
全GIDスロットの個数はグループ要素の個数では割り
きれない。一方、GIDアドレスは整数値となってい
る。故に、理想配置スロットのGIDアドレスは、厳密
な理想の計算位置(実数)を整数化して求める必要があ
り、ここで若干のずれが生じる。このずれは、GID配
置問題の構造上、必ず発生するものであるが、発生の仕
組みと範囲を把握して、所望の範囲内に収める必要があ
る。このずれを構造的CDVと呼ぶ。構造的CDVにつ
いては後述する。
Next, the CDV in the present embodiment will be described. The purpose of the CID placement algorithm of this embodiment is to distribute each element of the group as evenly as possible among all GID slots. But usually,
The number of all GID slots cannot be divided by the number of group elements. On the other hand, the GID address is an integer value. Therefore, the GID address of the ideal arrangement slot needs to be obtained by converting a strict ideal calculation position (real number) into an integer, and a slight shift occurs here. Although this shift always occurs due to the structure of the GID arrangement problem, it is necessary to grasp the mechanism and range of occurrence and keep it within a desired range. This shift is called structural CDV. The structural CDV will be described later.

【0124】また、グループ要素配置時に、理想配置位
置のGIDスロットが必ず空いているとは限らず、この
場合には理想配置位置の周辺に配置することになる。こ
の際に理想配置位置の周辺として許容される範囲が許容
CDV値である。許容CDV値についても後述する。
Also, at the time of group element arrangement, the GID slot at the ideal arrangement position is not necessarily empty, and in this case, the GID slot is arranged around the ideal arrangement position. At this time, the range allowed as the periphery of the ideal arrangement position is the allowable CDV value. The allowable CDV value will also be described later.

【0125】次にCDVの仕組みと構造的CDVについ
て説明する。まず、構造的CDVについて説明する。こ
こでは、CDV算出のために、借り(debt)という
概念を導入する。また、通常のCDV計算方法と区別す
るために、ここではCDVのことを狭まりと呼ぶ。狭ま
りとは、実際の配置位置が理想位置より先行した場合
の、理想位置と実配置位置の差を指す。実配置位置が理
想位置より遅延した場合は狭まりはゼロとなり、ペナル
ティがないように見えるが、新たな借りを発生してしま
う。ここで、実配置位置とは、理想位置に配置できない
場合に実際に配置された代替位置である。また、先行す
るとは、GIDテーブルにおいて左側(スロットアドレ
スの小さい側)に配置されることであり、遅延すると
は、GIDテーブルにおいて右側(スロットアドレスの
大きい側)に配置されることである。
Next, the mechanism of CDV and the structural CDV will be described. First, the structural CDV will be described. Here, the concept of borrowing (debt) is introduced for CDV calculation. Also, in order to distinguish it from the normal CDV calculation method, the CDV is referred to as a narrowing here. Narrowing refers to the difference between the ideal position and the actual position when the actual position precedes the ideal position. When the actual arrangement position is delayed from the ideal position, the narrowing becomes zero and it seems that there is no penalty, but a new borrow occurs. Here, the actual arrangement position is an alternative position that is actually arranged when it cannot be arranged at the ideal position. In addition, “preceding” means being arranged on the left side (small slot address) in the GID table, and “delaying” means being arranged on the right side (larger slot address) in the GID table.

【0126】即ち、その次以降の配置の理想位置は借り
の分だけ後方に移動し、計算上の理想位置に実配置され
たのでは狭まりが発生することになってしまう。故に、
実際の理想位置は、計算理想位置にこれまでの借りの総
和を加算(遅延)した位置となる。ここでは、この理想
位置と実位置の関係を指標(index)と呼ぶことす
る。指標の正負により、狭まりまたは新規借りが発生す
ることになる。
That is, the ideal position of the next and subsequent arrangements is moved backward by the amount of the borrow, and if they are actually arranged at the calculated ideal positions, the narrowing will occur. Therefore,
The actual ideal position is a position obtained by adding (delaying) the sum of the borrowed data to the calculated ideal position. Here, the relationship between the ideal position and the actual position is referred to as an index. Depending on the sign of the indicator, narrowing or new borrowing will occur.

【0127】図42は、本実施の形態におけるCDV算
出アルゴリズムcnt_clc_cdv_showのフ
ローチャートを示す。この関数は、GID配置を行った
ときに、CDVを算出するために、図12の処理tru
nc_s3_s21およびtrunc_s3_s41,
図38の処理cnt_chk_cdv_pat_val
ue_s11,図39の処理cnt_chk_cdv_
pat_R1347_s12,cnt_chk_cdv
_pat_R1347_s32,cnt_chk_cd
v_pat_R1347_s52,cnt_chk_c
dv_pat_R1347_s72で用いられる。
FIG. 42 is a flowchart of the CDV calculation algorithm cnt_clc_cdv_show according to the present embodiment. This function is used to calculate the CDV when the GID arrangement is performed.
nc_s3_s21 and trunc_s3_s41,
Processing cnt_chk_cdv_pat_val of FIG. 38
ue_s11, processing cnt_chk_cdv_ in FIG. 39
pat_R1347_s12, cnt_chk_cdv
_Pat_R1347_s32, cnt_chk_cd
v_pat_R1347_s52, cnt_chk_c
Used in dv_pat_R1347_s72.

【0128】図42において、処理cnt_clc_c
dv_show_s1では、指標=(計算理想+借り)
−実位置=借り+(計算理想−実位置)により指標を計
算する。その結果を処理cnt_clc_cdv_sh
ow_s2で判定し、指標がゼロまたは正の場合は、実
位置より理想位置が遅いので、処理cnt_clc_c
dv_show_s3に進み、狭まり=指標とする。こ
のときは、新規借りは発生せず、処理cnt_clc_
cdv_show_s5で計算し、借り積算値、即ちΣ
借りは不変となる。指標が負の場合は、実位置より理想
位置が早いので、処理cnt_clc_cdv_sho
w_s4に進み、狭まり=0とする。このときは指標の
絶対値が新規借りとなり、この値を処理cnt_clc
_cdv_show_s5でΣ借りに加算する。
In FIG. 42, processing cnt_clc_c
In dv_show_s1, index = (calculation ideal + borrow)
The index is calculated by:-actual position = borrow + (calculation ideal-actual position). Process the result cnt_clc_cdv_sh
ow_s2, and when the index is zero or positive, the ideal position is later than the actual position, so the process cnt_clc_c
The process proceeds to dv_show_s3, and narrowing is set as an index. At this time, no new borrowing occurs, and the process cnt_clc_
It is calculated by cdv_show_s5, and the borrowing integrated value, that is, Σ
Borrowing is immutable. If the index is negative, the ideal position is earlier than the actual position, so the process cnt_clc_cdv_sho
The process proceeds to w_s4, and narrowing is set to zero. At this time, the absolute value of the index is newly borrowed, and this value is processed by cnt_clc.
_Cdv_show_s5 is added to $ borrow.

【0129】次に、CDV計算の例を示す図43によ
り、CDV計算の仕組みを説明する。図において、BA
NDAXは帯域軸を示す。これは図1のグループ識別子
配置テーブルGIDTBLに対応する。図1のグループ
識別子配置テーブルGIDTBLは、スロットSLOT
を単位とするディジタル的なものであるのに対し、図4
3の帯域軸BANDAXはアナログ的なものである。帯
域軸の左側から、順次GID配置を行う。その他、CA
LPは計算理想位置、REALPは実位置、SFTDP
はシフトされた理想位置、NEWDBTは新たに発生し
た新規借り、SUMDBTはΣ借り、即ちこれまでの借
りの積算値、CDVは狭まりである。各々の記号に付加
している数字は、時間を追って0,1,2,3,…の順
に設定される各値の順番を示している。
Next, the mechanism of CDV calculation will be described with reference to FIG. 43 showing an example of CDV calculation. In the figure, BA
NDAX indicates the band axis. This corresponds to the group identifier arrangement table GIDTBL in FIG. The group identifier arrangement table GIDTBL in FIG.
In contrast to the digital one in units of
The band axis BANDAX of No. 3 is analog. GID arrangement is performed sequentially from the left side of the band axis. Other, CA
LP is the calculated ideal position, REALP is the actual position, SFTDP
Is the shifted ideal position, NEWDBT is a newly generated new borrow, SUMDBT is $ borrow, that is, the integrated value of the previous borrow, and CDV is narrow. The number added to each symbol indicates the order of each value set in the order of 0, 1, 2, 3,... Over time.

【0130】図43において、計算理想位置CALP
0,CALP1,CALP2,CALP3は等間隔に配
置されている。実位置REALP1は、CALP1より
早いため、ここでは狭まりが発生する。即ち、 指標1=計算理想CALP1−実位置REALP1≧0 となるので、CDV1=指標1となる。この時点では、
まだ借りは発生していない。
In FIG. 43, calculated ideal position CALP
0, CALP1, CALP2, and CALP3 are arranged at equal intervals. Since the real position REALP1 is earlier than the CALP1, the narrowing occurs here. That is, since index 1 = calculated ideal CALP1-real position REALP1 ≧ 0, CDV1 = index 1. At this point,
No borrowing has yet occurred.

【0131】実位置REALP2は、計算理想位置CA
LP2より遅いため、ここでは新規借りが発生する。即
ち、 指標2=計算理想CALP2−実位置REALP2<0 となるので、新規借りNEWDBT2=−1×指標(正
値)となる。ここで借りができてしまったので、理想位
置3は、計算理想位置CALP3にΣ借り(この時点で
はまだ新規借りNEWDBT2のみ)を加算したシフト
された理想位置SFTDP3となる。
The actual position REALP2 is the calculated ideal position CA
Since it is slower than LP2, a new borrow occurs here. That is, since index 2 = calculated ideal CALP2−real position REALP2 <0, new borrowing NEWDBT2 = −1 × index (positive value). Since the borrow has been made, the ideal position 3 becomes the shifted ideal position SFTDP3 obtained by adding Σborrow (only the new borrowing NEWDBT2 at this time) to the calculated ideal position CALP3.

【0132】実位置REALP3aの場合は、指標3a
=シフトされた理想位置SFTDP3−実位置REAL
P3a≧0となり、CDV3a=指標3aとなる。実位
置3bの場合は、指標3b=シフトされた理想位置SF
TDP3−実位置REALP3b<0となり、新規借り
NEWDBT3b=−1×指標3bとなる。これらの機
能は、CDV計算処理関数cnt_clc_cdv_s
howで実現されている。
In the case of the real position REALP3a, the index 3a
= Shifted ideal position SFTDP3-real position REAL
P3a ≧ 0, and CDV3a = index 3a. In the case of the actual position 3b, the index 3b = the shifted ideal position SF
TDP3−actual position REALP3b <0, and new borrowing NEWDBT3b = −1 × index 3b. These functions are performed by the CDV calculation processing function cnt_clc_cdv_s
how.

【0133】次に許容CDV値について説明する。許容
CDV値は初期値が7で、その後はE_CNT_CDV
_CHKiの区切り目毎に、E_CNT_CDV_AD
Diの値が、図44に示す表のように加算される。これ
は許容CDV値設定関数cnt_set_allow_
cdvによって行われる。図45は、許容CDV値設定
関数cnt_set_allow_cdvの手順を示す
フローチャートである。この関数は、図12の処理tr
unc_s3_s81で用いられる。
Next, the allowable CDV value will be described. The initial value of the allowable CDV value is 7, and after that, E_CNT_CDV
E_CNT_CDV_AD for each break of _CHKi
The value of Di is added as shown in the table of FIG. This is an allowable CDV value setting function cnt_set_allow_
This is done by cdv. FIG. 45 is a flowchart showing the procedure of the allowable CDV value setting function cnt_set_allow_cdv. This function corresponds to the processing tr in FIG.
Used in unc_s3_s81.

【0134】但し、上記の許容CDV値は、整数化され
た理想GIDが既に配置済みの場合に、前後にどこまで
ずらしても許容されるか、という許容値として用いられ
るのであり、整数化されたGIDが実数計算のGIDか
らずれる範囲の許容値として使用するためにあるのでは
ない。整数化されたGIDが実数計算のGIDからずれ
る範囲は、1未満となるように制御する必要がある。測
定機器を接続して観測する際には、実数計算の等間隔に
基く位置を基準とするため、CDVが基準値を超えるエ
ラーとして検出されてしまう可能性があるからである。
However, the above-mentioned allowable CDV value is used as an allowable value of how far it can be shifted forward and backward when the idealized GID converted into an integer has already been arranged. The GID is not for use as an allowable value in a range deviating from the GID of the real number calculation. It is necessary to control the range in which the integerized GID deviates from the GID of the real number calculation to be less than one. This is because, when a measurement device is connected for observation, a position based on equal intervals in the calculation of the real number is used as a reference, so that there is a possibility that the CDV is detected as an error exceeding the reference value.

【0135】以下に、本実施の形態における、乱数によ
る配置位置のランダム選択について説明する。まず、本
実施の形態における乱数列の生成方法について述べる。
本実施の形態における乱数発生アルゴリズムでは、乱数
発生の周期毎に、15種類の乱数系列が準備されてい
る。これを図46に示す。乱数系列により発生させる乱
数の周期は、2のべき乗の数2p とし、0から(2p
1)の範囲の乱数Raを発生させる。一般に0から(G
max−1)までの乱数Rgを求める場合は、次式によ
り変換する。 Rg=Ra×Gmax/2p
In the following, a description will be given of a random selection of an arrangement position using a random number in the present embodiment. First, a method of generating a random number sequence according to the present embodiment will be described.
In the random number generation algorithm according to the present embodiment, 15 types of random number sequences are prepared for each random number generation cycle. This is shown in FIG. The period of the random number generated by the random number sequence is a power of 2 number 2 p, and from 0 to (2 p
A random number Ra in the range of 1) is generated. Generally from 0 to (G
When a random number Rg up to max-1) is obtained, conversion is performed by the following equation. Rg = Ra × Gmax / 2 p

【0136】本実施の形態における乱数発生アルゴリズ
ムでは、発生を要する乱数の最大周期が、GID配置テ
ーブルの全スロット数11980であり、 8192=213<11980<214=16384 となるので、指定できる周期は214までとしてある。し
かし、同様のアルゴリズムで、これを超える周期の乱数
を発生することができる。
In the random number generation algorithm according to the present embodiment, the maximum period of the random numbers that need to be generated is the total number of slots 11980 in the GID arrangement table, and 8192 = 2 13 <11980 <2 14 = 16384. The cycle is up to 2 14 . However, a similar algorithm can generate a random number with a period exceeding this.

【0137】また、図46の周期1の関数は、常に0を
発生するだけで、乱数としての使途はないが、エラー時
等に全体としての整合性をとるために設けてある。本実
施の形態における乱数発生アルゴリズムでは、引数とし
てp即ち周期cycleの基底2の対数cycle_l
og2を与え、呼び出すたびに乱数列を乱数テーブルの
所定変数を計算して書換える関数cnt_randが設
けられている。図47は、cnt_randを示すフロ
ーチャートである。
The function of cycle 1 shown in FIG. 46 always generates 0 and is not used as a random number, but is provided for consistency as a whole at the time of an error or the like. In the random number generation algorithm according to the present embodiment, the argument is p, that is, the logarithm cycle_l of the base 2 of the cycle cycle.
og2 is provided, and a function cnt_rand is provided which rewrites a random number sequence by calculating a predetermined variable of a random number table every time it is called. FIG. 47 is a flowchart showing cnt_rand.

【0138】この関数は、図10の処理trunc_s
1_s2のベースオフセット設定、図11の処理tru
nc_s2_s1のスタートオフセット設定、図12の
処理trunc_s3_s3のランダムスロット検索、
図38の処理cnt_chk_cdv_pat_val
ue_s10の配置候補位置選択等、乱数を使用する箇
所で多数用いられる。
This function corresponds to the process trunc_s in FIG.
1_s2 base offset setting, processing tru in FIG.
nc_s2_s1 start offset setting, processing trunc_s3_s3 random slot search in FIG. 12,
Processing cnt_chk_cdv_pat_val of FIG. 38
It is used in many places where random numbers are used, such as selection of a candidate position for ue_s10.

【0139】また、乱数テーブルの初期化のために、引
数としてp即ちcycle_log2および初期値se
edを与え、所定変数をseedに初期化できるように
してある関数cnt_srancが設けられている。図
48は、cnt_srandを示すフローチャートであ
る。この関数は、図9の処理trunc_s0_s2で
用いられる。
For initialization of the random number table, p as an argument, ie, cycle_log2, and an initial value se
There is provided a function cnt_slanc that gives ed and allows a predetermined variable to be initialized to seed. FIG. 48 is a flowchart showing cnt_sland. This function is used in the process trunc_s0_s2 of FIG.

【0140】図47の関数cnt_randは、呼ばれ
るたびに、周期cycleの乱数値を更新し、新しい値
を返す。処理cnt_rand_s1の更新式および処
理cnt_srand_s1の初期化式は次の(2)式
に基く。 xn+1 =1103515245xn +12345(modulo2(cycle_lo g2) ) x0=seed (2) この式の意味は、初期値x0 =seedから開始して、
順次1103515245xn +12345を2
(cycle_log2))で割った余りをxn+1 とするというこ
とである。
Each time the function cnt_rand of FIG. 47 is called, it updates the random number value of the cycle cycle and returns a new value. The update formula of the process cnt_land_s1 and the initialization formula of the process cnt_land_s1 are based on the following formula (2). Meaning of x n + 1 = 1103515245x n +12345 (modulo2 (cycle_lo g2)) x0 = seed (2) This equation, starting from the initial value x 0 = seed,
Sequentially 1103515245x n +12345 2
(Cycle_log2) ), and the remainder is xn + 1 .

【0141】次に、上記(2)式の根拠についてに説明
する。例えば、脇本和昌、“乱数の知識”、森北出版
初等情報処理講座5,1981,pp.32に記されて
いるように、計算機による一般的な一様擬似乱数の生成
法として、混合型合同法(mixed congrue
nce method)がある。これは次式に従って乱
数列を生成する方法である。 xn+1 =axn +c(modulo2p ) x0 =seed この式の意味は、初期値x0 =seedから開始して、
順次axn +cを2pで割った余りをxn+1 とするとい
うことである。
Next, the basis of the above equation (2) will be described. For example, Kazumasa Wakimoto, "Knowledge of random numbers", Morikita Publishing
Elementary Information Processing Course 5,1981, pp. As described in No. 32, as a general method of generating a uniform uniform pseudorandom number by a computer, a mixed congruence method (mixed congrue method) is used.
nce method). This is a method of generating a random number sequence according to the following equation. x n + 1 = ax n + c (modulo2 p ) x 0 = seed The meaning of this expression is to start from an initial value x 0 = seed,
That is, a remainder obtained by sequentially dividing ax n + c by 2 p is defined as x n + 1 .

【0142】ここで、上式によって生成される乱数列x
0 ,x1 ,x2 ,…の最大周期は、 a=1(modulo4) …4で割ったとき1余る数という意味 c=1(modulo2) …2で割ったとき1余る数という意味 のとき、2p となる。本実施の形態における乱数発生ア
ルゴリズムでは、この定数の値に、B.W.Kerni
ghan and D.M.Ritchie,“The
C programming language S
econd edition”,Prentice H
all,1988,pp.46の乱数と同じ下記の値を
用いているが、上式を満たす他の値でもよい。 a=1103515245 c=12345
Here, the random number sequence x generated by the above equation
The maximum period of 0 , x 1 , x 2 ,... Is a = 1 (modulo 4)... When it is divided by 4, the remainder is c1 (modulo 2). , 2p . In the random number generation algorithm according to the present embodiment, B.V. W. Kerni
ghan and D.S. M. Ritchie, "The
C programming language S
second edition ", Prentice H
All, 1988, pp. Although the following values that are the same as the random numbers of 46 are used, other values that satisfy the above equation may be used. a = 1103515245 c = 12345

【0143】この実施の形態における乱数発生アルゴリ
ズム自体は、前述の文献等で従来から知られている混合
型合同法に基くものであるが、CID配置問題を解くに
あたり、乱数発生周期の非常に長いプログラム言語の組
込み関数ではなく、混合型合同法を用いて、乱数発生周
期を目的に応じて制御できるようにした乱数関数を作成
した点に特徴がある。本実施の形態の乱数アルゴリズム
と、プログラム言語の組込み関数の乱数関数との比較
を、以下に述べる。
The random number generation algorithm itself in this embodiment is based on the mixed congruential method conventionally known in the above-mentioned literature and the like. However, in solving the CID placement problem, the random number generation period is very long. It is characterized by the fact that a random number function that can control the random number generation period according to the purpose is created by using a mixed congruence method instead of a built-in function of a programming language. A comparison between the random number algorithm of the present embodiment and a random number function of a built-in function of a programming language will be described below.

【0144】本実施の形態の乱数アルゴリズムによれ
ば、周期2p の乱数を2p 回発生させれば、0から(2
p −1)の数がちょうど一回ずつ発生することが確認済
みである。周期内での数列発生の順番はseedによっ
て決まるので、2周期分の乱数を発生させれば、1周期
目と2周期目との数列の順番は等しくなる。プログラム
言語Cの標準ライブラリにも乱数を求める関数rand
は存在するが、Cのrand関数は、乱数発生の周期が
長くなるように作成されており、乱数発生の細かさも指
定できないので、0から(2p −1)の間の数の乱数を
p 回発生させても、一回も発生しない数や複数回発生
する数が多数存在する。これは本実施の形態の目的にそ
ぐわないので、乱数関数を手作りしてある。
According to the random number algorithm of the present embodiment, if a random number having a period of 2 p is generated 2 p times, the random number is changed from 0 to (2
It has been confirmed that the number of p- 1) occurs exactly once each. Since the order of generation of a sequence within a cycle is determined by seed, if random numbers for two cycles are generated, the order of the series in the first cycle and the second cycle becomes equal. Function rand for finding random numbers in the standard library of the programming language C
Exists, but the C rand function is created so that the cycle of random number generation is long, and the fineness of random number generation cannot be specified. Therefore, a random number of a number between 0 and (2 p -1) is set to 2 Even if it occurs p times, there are many such numbers that never occur or that occur multiple times. Since this does not meet the purpose of the present embodiment, a random number function is handmade.

【0145】図49に本実施の形態の乱数と、シミュレ
ーションを行ったC言語ソフトウェアであるマイクロソ
フト社のVisual C++の組込み乱数の比較を示
す。図49の実線は次のようにして求めた。まず、本実
施の形態の乱数でseed=1、周期214として0から
16383の間の乱数Raを発生させ、これを次の
(3)式により0から11979の間の乱数R1に変換
する。 R1=Ra×11980/16364 (3)
FIG. 49 shows a comparison between the random numbers according to the present embodiment and the built-in random numbers of Visual C ++ by Microsoft Corporation, which is a C language software that has been simulated. The solid line in FIG. 49 was obtained as follows. First, a random number Ra between 0 and 16383 is generated as seed = 1 and a period 2 14 as a random number according to the present embodiment, and this is converted into a random number R1 between 0 and 11979 by the following equation (3). R1 = Ra × 11980/16364 (3)

【0146】この試行を11980回繰り返した場合、
0から11979の間の数は一回発生する、二回発生す
る、一回も発生しない、のいずれかとなる。各々の回数
が図49の実線で示されている。ちょうど一回発生する
数が7188個、ちょうど二回あるいはゼロ回発生する
数の個数は等しく、2396個となっている。図には示
されていないが、同様の試行を16384繰り返すと、
Raは0から16383の間の数がちょうど一回ずつ発
生されるので、R1の0から11979の間の数は一回
発生が7580個、二回発生が4400個となり、一回
も発生しない数はゼロとなる。
When this trial is repeated 11980 times,
Numbers between 0 and 11979 may occur once, occur twice, or never occur. Each number is indicated by a solid line in FIG. The number of occurrences exactly once is 7,188, and the number of occurrences exactly twice or zero is equal to 2,396. Although not shown in the figure, the same trial is repeated 16384 times.
Since Ra is generated exactly once every number between 0 and 16383, the number between 0 and 11979 of R1 is 7580 once, 4400 twice, and R1 Becomes zero.

【0147】図49の破線はマイクロソフト社のVis
ual C++の組込み乱数randを用いて、0から
11979の間の乱数を求める試行を11980回繰り
返した場合の、0から11979の間の数の発生頻度で
ある。変換式は次の通り。 R3=Rc×11980/(RAND_MAX+1) 但し、シミュレーションを行ったC言語ソフトウェアで
あるマイクロソフト社のVisual C++では、R
AND_MAX=32767=215−1である。一回も
発生しない数が4449個、ちょうど一回発生する数が
4361個、二回発生する数が2168個、三回発生す
る数が773個、四回発生する数が182個、五回発生
する数が46個、六回発生する数が1個となっている。
Cの組込み乱数は、本実施の形態の乱数に比べると、乱
数発生の頻度が一様でなく、一定間隔内の数を発生させ
る目的には適さないことがわかる。
The broken line in FIG. 49 is Microsoft Vis.
This is the frequency of occurrence of a number between 0 and 11979 when the trial for obtaining a random number between 0 and 11979 is repeated 11980 times using the built-in random number rand of ual C ++. The conversion formula is as follows. R3 = Rc × 11980 / (RAND_MAX + 1) However, in Microsoft Visual C ++, which is C language software that has been simulated, R
AND_MAX = 32767 = 2 15 −1. There are 4449 occurrences that never occur, 4361 occurrences that occur exactly once, 2168 occurrences that occur twice, 773 occurrences that occur three times, 182 occurrences that occur four times, and five occurrences The number of occurrences is 46, and the number of occurrences 6 is 1.
It can be seen that the built-in random number C has a non-uniform frequency of random number generation as compared with the random number according to the present embodiment, and is not suitable for generating a number within a certain interval.

【0148】図49の実線データで一回発生の数が71
88個となっている。乱数のシードを変えた場合に、こ
の値がどのように変化するかを示すのが図50である。
本アルゴリズムにおいて、シードを0から11979間
で変化させ、それぞれの場合に周期16384の乱数を
11980回発生させ、上記(3)式で0から1197
9の間の乱数に変換した場合に、ちょうど一回発生する
数の個数を横軸にし、発生頻度を縦軸にとったものであ
る。シードをいくつにとっても、一回発生の数の個数は
7120から7320の間におさまることがわかる。
In the solid line data of FIG. 49, the number of occurrences is 71.
There are 88. FIG. 50 shows how this value changes when the seed of the random number is changed.
In the present algorithm, the seed is changed between 0 and 11979, and in each case, a random number with a period of 16384 is generated 11980 times, and in the above equation (3), 0 to 1197
When converted into a random number between 9, the number of numbers that occur exactly once is plotted on the horizontal axis, and the frequency of occurrence is plotted on the vertical axis. Regardless of the number of seeds, it can be seen that the number of occurrences falls between 7120 and 7320.

【0149】乱数に関係した関数には、以下のものがあ
る。図51は、基底2の対数を計算する関数cnt_l
og2を示すフローチャートである。この関数は、図4
1の処理cnt_chk_cdv_rand_s1で用
いられる。基底2の対数を計算する手順について、図5
1に基き説明する。関数cnt_log2が引数として
変数yとともに呼ばれると、cnt_log2_s1に
おいて、引数yに対して2x ≦y<2(x+1) なるxを求
め、cnt_log2_edで、求めたxを返す。付与
のyの範囲内の値を乱数で求める場合には、その周期の
2の対数(log2)を端数切り捨てで計算する。CD
V許容範囲内乱数GID検索処理関数cnt_chk_
cdv_rand内で用いる。
Functions related to random numbers include the following. FIG. 51 shows a function cnt_l for calculating the logarithm of the base 2
6 is a flowchart showing og2. This function is shown in FIG.
1 process cnt_chk_cdv_rand_s1. FIG. 5 shows a procedure for calculating the logarithm of base 2.
1 will be described. When the function cnt_log2 is called together with a variable y as an argument, x that satisfies 2 x ≦ y <2 (x + 1) is obtained for the argument y in cnt_log2_s1, and the obtained x is returned with cnt_log2_ed. When a value within the range of the added y is calculated by using a random number, the logarithm of 2 (log2) of the cycle is calculated by rounding down. CD
V allowable random number GID search processing function cnt_chk_
Used in cdv_rand.

【0150】その他、図41のCDV許容範囲内乱数G
ID検索処理cnt_chk_cdv_rand,図4
0のGID乱数検索処理(全GID対象)関数cnt_
chk_start_rand_all,ならびにcn
t_chk_start_rand_all_delt
aが乱数を用いている。これらについては前述した。
In addition, the random number G within the CDV allowable range shown in FIG.
ID search processing cnt_chk_cdv_rand, FIG.
GID random number search processing of 0 (for all GIDs) function cnt_
chk_start_rand_all, and cn
t_chk_start_rand_all_delt
a uses a random number. These have been described above.

【0151】ところで、上記説明では、この発明を、A
TMのGFRにおけるGID配置問題解決に利用する場
合について述べた。しかし、図1あるいは図2に示すG
IDテーブルGIDTBLと同様に、アドレスADRを
有するスロットSLOTに、図3に示す属性をもつグル
ープ、すなわち、要素数がGPCRで、グループ識別子
がGIDで、理想位置からのずれの許容度が単数または
複数種類のグループ要素を、均等に分散させるという目
的の他の問題にも利用できることはいうまでもない。
By the way, in the above description, the present invention relates to A
The case of using for the GID placement problem in the GFR of the TM has been described. However, G shown in FIG. 1 or FIG.
Similarly to the ID table GIDTBL, the slot SLOT having the address ADR has a group having the attribute shown in FIG. 3, that is, a group having the number of elements of GPCR, a group identifier of GID, and a tolerance of a deviation from an ideal position of one or more. It goes without saying that the kind of group element can be used for other problems with the purpose of evenly distributing.

【0152】以上のように、この実施の形態1によれ
ば、配置処理時間が短く、理想配置位置に配置できない
場合には適切な代替位置を選択し、全体的に均等に分散
配置を行うことができるという効果が得られる。
As described above, according to the first embodiment, when the arrangement processing time is short and the arrangement cannot be performed at the ideal arrangement position, an appropriate alternative position is selected, and the distributed arrangement is uniformly performed as a whole. Is obtained.

【0153】実施の形態2.実施の形態2から4は、実
施の形態1の図15に示す関数cnt_mix_rea
lの改良に関するものである。実施の形態1の関数cn
t_mix_realは、割算のもとになる全体数wh
ole_intのスロットに、分割数divider_
int個の要素をできるだけ均等配置する処理を実数の
世界で行い、整数化した値を配置テーブルに書き込んで
返却する関数であり、外部から入出力は整数で、実数計
算はこの関数のなかだけで閉じるようになっているもの
であった。
Embodiment 2 In the second to fourth embodiments, the function cnt_mix_rea shown in FIG.
1). Function cn of Embodiment 1
t_mix_real is the total number wh to be divided
In the slot of ole_int, the division number divider_
It is a function that performs the process of arranging the int elements as evenly as possible in the real world, writes the integer value to the arrangement table, and returns it. The input and output from the outside is an integer, and the real number calculation is performed only in this function. It was meant to be closed.

【0154】実施の形態1の図15に示す関数cnt_
mix_realでは、処理cnt_mix_real
_s1で整数変数whole_intとdivider
_intを単精度の浮動小数点変数wholeとdiv
iderに変換し、処理cnt_mix_real_s
4で、上記(1)式の値を計算していた。この実施の形
態では、(1)式に対応する配分位置計算式として、次
の(4)式を用いる。 answer=whple*i/divider (4) 但し、各パラメータの値は図52の通りとする。
Function cnt_ shown in FIG. 15 of the first embodiment
In mix_real, processing cnt_mix_real
_S1 and integer variables whole_int and divider
_Int is a single precision floating point variable whole and div
Convert to ider and process cnt_mix_real_s
In step 4, the value of the above equation (1) was calculated. In this embodiment, the following equation (4) is used as the distribution position calculation equation corresponding to equation (1). answer = whple * i / divider (4) However, the value of each parameter is as shown in FIG.

【0155】図53と図54にこの実施の形態における
answerの計算法を示す。これらの図の処理cnt
_mix_real_s1からcnt_mix_rea
l_s4は、図15の同処理に対応する。図53と図5
4では、図15内の他の処理は省略されている。図53
と図54示すanswer計算手順では、処理cnt_
mix_real_s1で、整数変数whole_in
tとdivider_intを倍精度浮動小数点変数w
holeとdividerに変換している。
FIGS. 53 and 54 show the method of calculating the answer in this embodiment. Processing cnt of these figures
_Mix_real_s1 to cnt_mix_rea
l_s4 corresponds to the same process in FIG. FIG. 53 and FIG.
4, other processes in FIG. 15 are omitted. FIG.
In the answer calculation procedure shown in FIG.
mix_real_s1 is an integer variable whole_in
t and divider_int are converted to double-precision floating-point variables w
It is converted into hole and divider.

【0156】(4)式を用いてi=1,2,…,div
iderにつき順次answerを計算する方法の一つ
は、各iにつき下式によって、まずwholeとiの掛
算をしてからdividerによる割算をする方法であ
る。 answer=(whole*i)/divider (5)
Using the equation (4), i = 1, 2,..., Div
One of the methods of sequentially calculating the answer for each ider is a method of first multiplying whol and i by the following formula for each i, and then dividing by the divider. answer = (whole * i) / divider (5)

【0157】これは図53の処理cnt_mix_re
al_s4に示されている。ここで、wholeとiが
図52に示す値をとると、その積は最大となる。ところ
で、IEEE標準に準拠した通常の浮動小数点表示で
は、十進表示の有効桁数はfloatで6桁、doub
leで15桁となっている。故に(5)式の計算は、f
loatでは有効桁数を超えて桁落ちが発生してしま
い、有効な値を得ることができない。一方、図53に示
すようにdoubleを用いると、桁落ちが発生せず有
効な値を得ることができる。
This corresponds to the processing cnt_mix_re shown in FIG.
al_s4. Here, if whole and i take the values shown in FIG. 52, the product becomes the maximum. By the way, in a normal floating point display conforming to the IEEE standard, the number of significant digits of the decimal display is 6 digits in float, and
le has 15 digits. Therefore, the calculation of equation (5) is f
In the case of "loat", the number of significant digits exceeds the number of significant digits, and a digit loss occurs, so that a valid value cannot be obtained. On the other hand, when double is used as shown in FIG. 53, an effective value can be obtained without occurrence of digit loss.

【0158】(4)式の計算のもう一つの方法は、先に
wholeのdividerによる割算をしてから、順
次各iにつき掛算をする方法である。 answer=(whole/divider)*i (6) この方法ならば、図54のcnt_mix_real_
s4_1で先に一回割算をしておけば、iを変化させた
各ループではcnt_mix_real_s4_2のよ
うに掛算だけをすれば良く、計算速度が速くなる。ま
た、先に割算をして小さな数にしておくので、桁あふれ
も発生しない。しかしfloatでは、この場合も有効
桁数不足で有効な値を得ることができない。
Another method of calculating the expression (4) is a method of first dividing the whole by a divider and then sequentially multiplying each i. answer = (whole / divider) * i (6) With this method, cnt_mix_real_ in FIG.
If the division is performed once in s4_1 first, in each loop in which i is changed, only the multiplication as in cnt_mix_real_s4_2 may be performed, and the calculation speed is increased. In addition, since division is performed first to make a small number, overflow does not occur. However, in the case of the float, a valid value cannot be obtained because of the insufficient number of significant digits in this case as well.

【0159】例として、divider=380,i=
19の場合をとると、 whole/divider=11980/380=3
1.5263 answer=(whole/divider)*i =31.5263*19=598.9997≒599.
000 となるのであるが、ここでfloat変数としてのan
swerの中身は十進表現で、+5.98999998
092651367e+0002となっている。これを
整数化すると598となり、目的の599は得られない
のである。この場合も、図54に示すようにdoubl
eを用いると、有効な値を得ることができる。
As an example, divider = 380, i =
Taking the case of 19, whol / divider = 111980/380 = 3
1.5263 answer = (whole / divider) * i = 31.5263 * 19 = 598.9997 ≒ 599.
000, where an an as a float variable
The content of the switch is in decimal notation, +5.989999998
092651367e + 0002. This is converted to an integer of 598, and the desired 599 cannot be obtained. Also in this case, as shown in FIG.
If e is used, a valid value can be obtained.

【0160】以上のように、この実施の形態2によれ
ば、実数間隔算出処理において、倍精度変数doubl
eを用いることにより、桁落ちが発生せず有効な値を得
ることができるという効果が得られる。
As described above, according to the second embodiment, the double-precision variable doubl
By using e, it is possible to obtain an effect that an effective value can be obtained without occurrence of a digit loss.

【0161】実施の形態3.実施の形態3は、実施の形
態1の図15に示す関数cnt_mix_realの改
良に関するものである。実施の形態1の図15に示す関
数cnt_mix_realでは、処理cnt_mix
_real_s1で整数変数whole_intとdi
vider_intを浮動小数点変数wholeとdi
viderに変換し、処理cnt_mix_real_
s4で、(1)式の値を計算していた。この実施の形態
では、実施の形態1の(1)に対応する配分位置計算式
として、実施の形態2の(4)を用い、各パラメータの
値は図52の通りとする。この実施の形態では、(4)
式の計算に固定小数点変数を用いる。
Embodiment 3 Embodiment 3 relates to improvement of the function cnt_mix_real shown in FIG. 15 of Embodiment 1. In the function cnt_mix_real shown in FIG. 15 of the first embodiment, the processing cnt_mix
_Real_s1 and integer variables whole_int and di
vider_int is converted to floating point variables whole and di
is converted into a “vider” and the process is cnt_mix_real_
At s4, the value of equation (1) was calculated. In this embodiment, (4) of the second embodiment is used as the distribution position calculation formula corresponding to (1) of the first embodiment, and the values of the parameters are as shown in FIG. In this embodiment, (4)
Use fixed-point variables in formula calculations.

【0162】この実施の形態による配置位置計算手順を
示すに先立ち、一般的な固定小数点表示で計算をする手
順を、図55を用いて説明する。ここでは、通常表示の
元の数を整数とするので小数点が最下位ビットの右側に
おいてあるが、元の数が小数ならば、対応する位置に配
置すれば良いだけである。手順は、まず通常表示の整数
を所望のビット数シフトして固定小数点表示に変換し、
その上で必要な計算をして、その結果を逆にシフトして
通常表示の数に戻す。シフトするビット数SHIFT
は、必要な精度によって決まる。固定小数点表示の変数
は、シフトしてもあふれないだけのビット長でなくては
ならない。
Prior to showing the procedure for calculating the arrangement position according to the present embodiment, a procedure for performing calculation using a general fixed-point display will be described with reference to FIG. Here, since the original number of the normal display is an integer, the decimal point is on the right side of the least significant bit. However, if the original number is a decimal, it is only necessary to place the decimal point at the corresponding position. The procedure is to first convert the integer in the normal display to the fixed-point representation by shifting the desired number of bits,
The necessary calculations are then performed, and the result is shifted back to the normal display number. Number of bits to shift SHIFT
Depends on the required accuracy. Variables in fixed-point notation must have a bit length that does not overflow when shifted.

【0163】図56にこの実施の形態における第一のa
nswerの計算法を示す。これらの図の処理cnt_
mix_real_s1からcnt_mix_real
_s4は、図15の同処理に対応する。図56では、図
15内の他の処理は省略されている。
FIG. 56 shows the first a in this embodiment.
The calculation method of nswer is shown. Processing cnt_ in these figures
mix_real_s1 to cnt_mix_real
_S4 corresponds to the same process in FIG. In FIG. 56, other processes in FIG. 15 are omitted.

【0164】(4)式の計算を、まずwholeとiの
掛算をしてからdividerによる割算をする方式
は、次の(7)式および図56で示される。 whole=whole<<SHIFT divider=divider<<SHIFT answer=(whole*i)/divider (7) 但し、whole<<SHIFTは、整数wholeを
SHIFTビット左シフトすることを示す。
A method of multiplying the expression (4) by first multiplying the whole by i and then dividing by a divider is shown in the following expression (7) and FIG. whole = whole << SHIFT divider = divider << SHIFT answer = (whole * i) / divider (7) where whole << SHIFT indicates that the integer whole is shifted SHIFT bits to the left.

【0165】これは図56の処理cnt_mix_re
al_s1で示されている。最初に処理cnt_mix
_real_s1の左シフトによってwholeとin
tと固定小数点表示を求めておき、i=1,2,…,d
ividerにつき順次answerを計算する。この
方式では、(7)式の分子と分母で左シフトが相殺され
るので、右シフトによる戻しシフトは必要無い。
This corresponds to the processing cnt_mix_re in FIG.
It is indicated by al_s1. First processing cnt_mix
_Real_s1 left shift and in
t and the fixed-point representation are obtained, and i = 1, 2,.
The answer is calculated sequentially for each of the providers. In this method, since the left shift is canceled by the numerator and the denominator of the equation (7), the return shift by the right shift is not necessary.

【0166】この際の必要ビット数を示したのが図57
である。ここでwholeとiは図52の範囲の値をと
るので、必要ビット数は、それぞれ14ビット、13ビ
ットとなる。また、図52の範囲の値をとるdivid
erによる割算を行って有効な結果を得るためには、シ
フトビットは、13ビットは必要となる。これらを合計
すると40ビットとなる。
FIG. 57 shows the required number of bits at this time.
It is. Since whole and i take values in the range of FIG. 52, the required number of bits is 14 bits and 13 bits, respectively. In addition, “divid” takes a value in the range of FIG.
In order to obtain a valid result by performing division by er, 13 shift bits are required. These add up to 40 bits.

【0167】シミュレーションに用いたMicroso
ft Visual C++では、最大ビット数の整数
は32ビットの符号なし整数(unsigned lo
ng,最大値4294967295=232−1)なの
で、図57に示す40ビット表示によるシミュレーショ
ンを全面的に行うことはできない。 11980×213×44=4318167040>4294967295 =232−1 11980×213×43=4220026880>4294967295 =232−1 (8)
Microsoft used in the simulation
In ft Visual C ++, the maximum number of bits is an unsigned 32-bit integer.
ng, and the maximum value is 4294967295 = 2 32 −1), so that the simulation using the 40-bit display shown in FIG. 57 cannot be performed entirely. 11980 × 2 13 × 44 = 4318167040> 4294967295 = 2 32 −1 11980 × 2 13 × 43 = 4220026880> 4294967295 = 2 32 −1 (8)

【0168】しかし、上式に示すように、iが43を超
えない時には、固定小数点表示変数が32ビットで足り
る。そこでdivierが2≦divider≦43の
範囲で実験した結果、誤差の無い有効な結果を得ること
ができた。故に、固定小数点表示変数として40ビット
以上の整数を準備できれば、この方式で有効な結果を得
ることができる。
However, as shown in the above equation, when i does not exceed 43, 32 bits are sufficient for the fixed-point display variable. Then, as a result of an experiment in which the divider was in the range of 2 ≦ divider ≦ 43, a valid result without errors could be obtained. Therefore, if an integer of 40 bits or more can be prepared as a fixed-point display variable, an effective result can be obtained by this method.

【0169】図58にこの実施の形態における第二のa
nswerの計算法を示す。これは上記の第一の方式と
対比するために、説明するもので、第一の計算法より性
能が劣っている。
FIG. 58 shows the second a in this embodiment.
The calculation method of nswer is shown. This is described for comparison with the first method described above, and is inferior in performance to the first calculation method.

【0170】(4)式の計算を、まずwholeのdi
viderによる割算をしてから、順次各iにつき掛算
をする方式は、次の(9)式および図58で示される。 whole=whole<<SHIFT whole_divide=whole/divider answer=whole_divide*i answer=answer>>SHIFT (9)
First, the calculation of equation (4) is performed by
A method of performing division by a vider and then sequentially multiplying each i is shown in the following equation (9) and FIG. whole = whole << SHIFT whole_divide = whole / divider answer = whole_divide * i answer = answer >> SHIFT (9)

【0171】最初の整数wholeの左シフトを図58
の処理cnt_mix_real_s1で計算し、wh
ole/dividerによる割算をcnt_mix_
real_s4_1で、あらかじめ計算して整数who
le_divideに収納しておき、i=1,2,…,
dividerにつきcnt_mix_real_s4
_2で順次answerを計算し、最後にcnt_mi
x_real_s4_3で右シフトにより普通表示の数
に戻す。
The left shift of the first integer whole is shown in FIG.
Calculation by cnt_mix_real_s1
The division by ole / divider is cnt_mix_
In real_s4_1, it is calculated in advance and the integer who
stored in le_divide, i = 1, 2,.
cnt_mix_real_s4 per divider
_2 to sequentially calculate the answer, and finally cnt_mi
In x_real_s4_3, the number is returned to the normal display number by a right shift.

【0172】この方式では、先に一回割算をしておけば
iを変化させた各ループでは掛算だけをすればよい。し
かし、この方式では、cnt_mix_real_s4
_1の整数whole_divide計算時に切捨て誤
差が発生し、その後のiによる乗算では、この切捨て分
を復活することができないので、有効な結果を得ること
ができない。場合によっては、実数計算と同じ正確な値
を得られることもあるが、wholeとdivider
とiの関係がちょうど割り切れる関係のときには、有効
な値を得ることができない。
In this method, if division is performed once before, in each loop where i is changed, only multiplication may be performed. However, in this method, cnt_mix_real_s4
A truncation error occurs when calculating the integer whole_divide of _1, and the subsequent multiplication by i cannot recover the truncated portion, so that a valid result cannot be obtained. In some cases, you can get the same exact value as the real number calculation, but the whole and the divider
When the relationship between i and i is exactly divisible, a valid value cannot be obtained.

【0173】例としてdivider=380,i=1
9の場合を考える。(4)式に代入すると、 anser=whole×i/divider =11980×19/380=599 (10) となり、ちょうど割り切れる。
As an example, divider = 380, i = 1
Consider the case of 9. Substituting into the equation (4), anser = whole × i / divider = 111980 × 19/380 = 599 (10), which is exactly divisible.

【0174】一方、SHIFT=13として(9)式に
代入すると次のようになる。 whole=whole<<SHIFT=11980<<13 whole_divide=whole/divider =whole/380 answer=whole_divide*i =whole_divide*19 answer=answer>>13 これを計算すると、次のようになる。
On the other hand, substituting SHIFT = 13 into equation (9) gives the following. whole = whole << SHIFT = 11980 << 13 whole_divide = whole / divider = whole / 380 answer = whole_divide * i = whole_divide * 19 answer = 13

【0175】[0175]

【数1】 (Equation 1)

【0176】(11)式の結果は(10)式と異なって
しまう。シフトビットSHIFTを更に大きくしても、
同様の結果となる。この方法の根本的な問題点は、整数
の除算では、割り切れない場合の商は必ず切捨てされる
ということに起因する。例えば(10)式のように、除
算と乗算を同時に行えば、ちょうど割り切れる計算にお
いて、除算を先に行い、その際に切捨てで商を求める限
り、後の乗算では切捨て分は復活できない。故にいくら
シフトビット数を増しても、この方法では有効な結果は
得られない場合が発生する。ちなみに、浮動小数点表示
の計算では、数を丸める際に最も近傍へ丸めるため、こ
のようなことが発生しない。
The result of equation (11) is different from that of equation (10). Even if the shift bit SHIFT is further increased,
Similar results are obtained. The fundamental problem with this method is that integer division always truncates the quotient if it cannot be divided. For example, if the division and the multiplication are performed at the same time as in the equation (10), the division cannot be recovered by the subsequent multiplication as long as the division is performed first and the quotient is obtained by the truncation in the calculation that is exactly divisible. Therefore, even if the number of shift bits is increased, a valid result may not be obtained by this method. By the way, in the calculation of the floating-point representation, such a problem does not occur because the number is rounded to the nearest when rounded.

【0177】図59にこの実施の形態における第三のa
nswerの計算法を示す。これは第一の計算法と対比
するために説明するもので、性能は第一の計算法に比べ
て劣る。
FIG. 59 shows the third a in this embodiment.
The calculation method of nswer is shown. This is described for comparison with the first calculation method, and the performance is inferior to the first calculation method.

【0178】第二の計算法の問題点は、最初のwhol
eのdividerによる割算で、商を整数化するため
に切り捨てることにあった。それならば、最初の商だけ
は実数で計算し、その結果を用いて後の乗算を行えば、
うまく行くのではと考えられる。実施の形態2で示した
ように、実数はfloatでは足りないことが解ったの
で、doubleを用いる。手順は次の(12)式及び
図59に示す。変数の属性を明らかにするために、do
ubleにはdb、整数にはintが付けてある。
The problem with the second calculation method is that the first whol
In the division of e by the divider, the quotient was rounded down to an integer. Then, if only the first quotient is calculated as a real number and the result is used for subsequent multiplication,
I think it will work. As described in the second embodiment, since it was found that a float is not enough for a real number, double is used. The procedure is shown in the following equation (12) and FIG. Do to clarify the attributes of the variable
"uble" has db and "integer" has integers.

【0179】 whole_divide_db =whole_db/divider_db; &#9;/* この除算で切り捨てないというのがポイント */ whole_divide_db_shift =whole_divide_db; for(p=1;p<=SHIFT;p++) {whole_divide_db_shift&#9; = whole_divide_db_shift*2;} /*実数のSHIFTビットシフト*/ whole_divide_db_shift_int =(unsigned long)whole_divide_db_sh ift; /*ここまでが、(9)式の最初の2行のwhole_divideの計算 に対応*/ /*これ以降は整数で(9)式と同様の処理*/ answer_int=whole_divide_db_shift_in t*i; answer_int=answer_int>>SHIFT; (12)[0179] whole_divide_db = whole_db / divider_db; &#9; / * The point is that not truncated in this division * / whole_divide_db_shift = whole_divide_db; for (p = 1; p <= SHIFT; p ++) {whole_divide_db_shift &#9; = whole_divide_db_shift * 2;} / * Real SHIFT bit shift * / whol_divide_db_shift_int = (unsigned long) whole_divide_db_shift if; Processing similar to equation (9) using integers * / answer_int whole_divide_db_shift_in t * i; answer_int = answer_int >> SHIFT; (12)

【0180】この方法では、上記に示すように整数とし
て32ビットのunsignedlongを用いている
が、残念ながら32ビット整数では、有効性は検証でき
ない。この方法を使用するには、整数として少なくとも
64ビットオーダーの長さが必要である。
In this method, as described above, a 32-bit unsignedlong is used as an integer, but unfortunately, the validity cannot be verified with a 32-bit integer. Using this method requires an integer length of at least 64 bits.

【0181】以上から、この実施の形態で有効なのは第
一の計算法であり、固定小数点表示により配置位置an
swerを求めるためには、図56で示したように、乗
算後に除算をして、整数は40ビット以上とする必要が
ある。
As described above, the first calculation method is effective in this embodiment, and the arrangement position an by the fixed-point notation is displayed.
In order to obtain the switch, as shown in FIG. 56, it is necessary to perform division after multiplication to make the integer 40 bits or more.

【0182】以上のように、この実施の形態3によれ
ば、実数間隔算出処理において、固定小数点変数を用い
ることにより、整数だけで処理することができ、配置処
理時間を短くすることができるという効果が得られる。
As described above, according to the third embodiment, by using fixed-point variables in the real number interval calculation processing, it is possible to perform processing using only integers and to shorten the arrangement processing time. The effect is obtained.

【0183】実施の形態4.実施の形態4は、請求項2
の実数間隔算出処理の方法、すなわち、実施の形態1の
図15に示す関数cnt_mix_realの改良に関
するものである。実施の形態1の図15に示す関数cn
t_mix_realでは、処理cnt_mix_re
al_s1で、整数変数whole_intとdivi
der_intを、浮動小数点変数wholeとdiv
iderに変換し、処理cnt_mix_real_s
4で、(1)式の値を計算していた。実施の形態3で
は、固定小数点表示変数を用いて実施の形態2の(4)
式の値を計算し、各パラメータの値は図52に従ってい
た。
Embodiment 4 Fourth Embodiment
This is related to the method of the real number interval calculation processing of, that is, the improvement of the function cnt_mix_real shown in FIG. 15 of the first embodiment. Function cn shown in FIG. 15 of the first embodiment
In t_mix_real, processing cnt_mix_re
In al_s1, integer variables whole_int and div
der_int is replaced with floating point variables whole and div
Convert to ider and process cnt_mix_real_s
In step 4, the value of equation (1) was calculated. In the third embodiment, (4) of the second embodiment is performed using fixed-point display variables.
The value of the equation was calculated, and the value of each parameter was in accordance with FIG.

【0184】実施の形態3では、固定小数点表示変数に
よる計算方式を示した。固定小数点表示変数による計算
では、実施の形態3の第一の方式に示したように、乗算
後に除算を行い、整数は40ビット以上必要であること
を示した。しかし、32ビット以上の整数は標準化され
ておらず、コンパイラに依存しているため、誤動作防止
のためにできれば使用を避けたい状況である。そこで、
この実施の形態では、固定小数点計算を32ビット以下
の整数で行う方法を示す。
In the third embodiment, the calculation method using the fixed-point display variables has been described. In the calculation using the fixed-point display variable, as described in the first method of the third embodiment, division is performed after multiplication, and it is shown that an integer requires 40 bits or more. However, since integers of 32 bits or more are not standardized and depend on the compiler, it is desirable to avoid using them if possible to prevent malfunction. Therefore,
In this embodiment, a method of performing fixed-point calculations with integers of 32 bits or less will be described.

【0185】この実施の形態では、実施の形態1の式1
に対応する配分位置計算式として、実施の形態2の
(4)式を用い、各パラメータの値は図52の通りとす
るが、シフトするビット数はSで表す。この実施の形態
では、(4)式の計算に32ビット以下の整数を用い
て、固定小数点計算を行う。
In this embodiment, the formula 1 of the first embodiment is used.
Is used as the distribution position calculation formula corresponding to (2), the values of the parameters are as shown in FIG. 52, but the number of bits to be shifted is represented by S. In this embodiment, a fixed-point calculation is performed by using an integer of 32 bits or less in the calculation of Expression (4).

【0186】この実施の形態による配置位置計算手順を
示すに先立ち、この実施の形態における計算方式の導出
を示す。この実施の形態で示す計算方式をres_re
s法と呼ぶ。このres_resとは、residue
of residue、すなわち余りの余りを意味す
る。
Prior to showing the arrangement position calculation procedure according to this embodiment, the derivation of the calculation method in this embodiment will be described. The calculation method shown in this embodiment is represented by res_re
Called the s method. This res_res is a “residue”
of residue, that is, the remainder.

【0187】この実施の形態の第一の方式として、ま
ず、実施の形態1で示した丸めバイアスをゼロとした場
合を考える。計算の方針は以下の通りとする。 ・ビットシフトするのは、wholeをdivider
で割算したときの余り(residue)であるwho
le_resのみで、商(quotient)であるw
hole_quoはシフトしない。 ・なるべく等価変換により式の変形を進める。(分母と
分子に同じ数があるときは消すなど) ・掛算を先に行う。 ・切捨てをともなう割算・ビットシフトは最後まで行わ
ない。
As a first method of this embodiment, first, consider the case where the rounding bias shown in the first embodiment is set to zero. The calculation policy is as follows.・ To shift the bit, the whole is divided
Who is the residue when divided by
w that is a quotient with only le_res
hole_quo does not shift.・ Transform the expression by equivalent conversion as much as possible. (If there is the same number in the denominator and the numerator, delete them, etc.) ・ Perform multiplication first. • Division with truncation • Bit shift is not performed to the end.

【0188】付与の定数wholeと変数divide
rからanswerを求める式の変形を以下に示す。
The constant “whole” and the variable “divide”
The following is a modification of the equation for obtaining an answer from r.

【0189】[0189]

【数2】 (Equation 2)

【0190】上式の右辺の第一項(whole/div
iderの商の分)については、ビットシフトは行わず
乗算で計算し、第二項(余りの分)についてのみ、ビッ
トシフトを行って計算する。
The first term on the right side of the above equation (whole / div
The quotient of the ider is calculated by multiplication without performing the bit shift, and the second term (the remainder) is calculated by performing the bit shift.

【0191】以下に、whole=11980,div
ider=380,i=19,S=13の場合の数値例
を示す。 11980=31×380+200 11980×213=31×213×380+200×213 ここで、 200×213=200×8192 =4311×380+220 故に、 11980×213=(31×213×38)+(4311×380+220) =(31×213+4311)×380+220 answer×213=(11980×213×19)/380 ={(31×213+4311)×380+220}×19/380 =31×213×19+4311×19+(220×19)/380 =31×19×213+4311×19+11 =31×19×213+81909+11 =31×19×213+81920 =31×19×213+10×213 =589×213+10×213 =599×213 answer=599
In the following, whole = 11980, div
Numerical example when ider = 380, i = 19, S = 13
Is shown. 11980 = 31 × 380 + 200 11980 × 213= 31 × 213× 380 + 200 × 213  Where 200 × 213= 200 × 8192 = 4311 × 380 + 220 Therefore, 11980 × 213= (31 × 213× 38) + (4311 × 380 + 220) = (31 × 213+4311) × 380 + 220 answer × 213= (11980 × 213× 19) / 380 = {(31 × 213+4311) × 380 + 220} × 19/380 = 31 × 213× 19 + 4311 × 19 + (220 × 19) / 380 = 31 × 19 × 213+ 4311 × 19 + 11 = 31 × 19 × 213+ 81909 + 11 = 31 × 19 × 213+ 81920 = 31 × 19 × 213+ 10 × 213  = 589 × 213+ 10 × 213  = 599 × 213  answer = 599

【0192】上記の計算のプログラム例を以下に示し、
フローチャートを図60に示す。 whole_quo=whole/divider; whole_res=whole%divider; res_s=whole_res<<S; res_quo_s=res_s/divider; res_res_s=res_s%divider; res_quo_ans_s=res_quo_s*
i; res_res_ans_s=res_res_s*i
/divider; res_ans_s=res_quo_ans_s+r
es_res_ans_s; res_ans=res_ans_s>>S; quo_ans=whole_quo*i; answer=quo_ans+res_ans;
A program example of the above calculation is shown below.
A flowchart is shown in FIG. whol_quo = whole / divider; whol_res = whole% divider; res_s = whole_res <<S; res_quo_s = res_s / divider;
i; res_res_ans_s = res_res_s * i
/ Divider; res_ans_s = res_quo_ans_s + r
es_res_ans_s; res_ans = res_ans_s >>S; quo_ans = whole_quo * i; answer = quo_ans + res_ans;

【0193】以下に、この実施の形態の第一の方式にお
ける必要ビット数の検討を行う。各変数の説明を図61
に示す。各変数の値の範囲は図61に示してあるが、こ
れらの値はdividerの値に依存して変化する。故
に、図61の値の範囲による必要ビット数を単純に加算
したのでは、本当に必要なビット数を上回る値が出てし
まう。必要ビット数を正しく評価するためには、各変数
の最大値と与えるdividerの値との関係を調査す
る必要がある。
Hereinafter, the required number of bits in the first method of this embodiment will be examined. Fig. 61 explains each variable.
Shown in The range of values for each variable is shown in FIG. 61, but these values vary depending on the value of the divider. Therefore, simply adding the required number of bits in the value range of FIG. 61 results in a value exceeding the really required number of bits. In order to correctly evaluate the required number of bits, it is necessary to investigate the relationship between the maximum value of each variable and the value of the given divider.

【0194】与えるdividerの値と各変数の値の
最大または上限値との関係を示したのが図62である。
図62では、シフト数Sは13としている。横軸のdi
viderの値の最大値は、実際には5990である
が、各変数の挙動が良くわかるように、11980まで
示してある。縦軸は各変数のlog2をとって切上げた
もので、各変数を表現する必要ビット数を示している。
図62から、divider≦5990でS=13の場
合は、必要ビット数は26ビットであることがわかる。
これを一般化して、必要ビット数はS+13として良い
と思われる。故に、S≦19ならば32ビット整数が使
用できることになる。
FIG. 62 shows the relationship between the given divider value and the maximum or upper limit value of each variable.
In FIG. 62, the shift number S is 13. Di on the horizontal axis
The maximum value of the value of the “vider” is actually 5990, but is shown up to 11980 so that the behavior of each variable can be clearly understood. The vertical axis is the log2 of each variable rounded up and indicates the number of bits required to represent each variable.
From FIG. 62, it can be seen that when divider ≦ 5990 and S = 13, the required number of bits is 26 bits.
By generalizing this, it seems that the number of required bits may be set to S + 13. Therefore, if S ≦ 19, a 32-bit integer can be used.

【0195】次に、この実施の形態の第一の方式を拡張
して、この実施の形態の第二の方式として、丸めバイア
スを加算する場合について述べる。丸めバイアス(ro
und bias)は、0から99の値をとるroun
d_bias_intとround_bias_pit
ch=100で、 round_bias=(round_bias_in
t)/(round_bias_pitch) で表し、0から0.99の値をとるものとする。
Next, a case where a rounding bias is added will be described as a second system of the present embodiment by extending the first system of the present embodiment. Rounding bias (ro
under bias) is a run that takes a value from 0 to 99
d_bias_int and round_bias_pit
ch = 100, round_bias = (round_bias_in
t) / (round_bias_pitch), and takes a value from 0 to 0.99.

【0196】この実施の形態の第一の方式の式のans
werは、以下のようになる。
In the first embodiment of the present embodiment, the expression ans
wer is as follows.

【0197】[0197]

【数3】 (Equation 3)

【0198】プログラム例は以下のようになり、そのフ
ローチャートを図63に示す。 whole_quo=whole/divider; whole_res=whole%divider; res_s=whole_res<<S; res_quo_s=res_s/divider; res_res_s=res_s%divider; round_bias_s=(round_bias_
int<<S)/round_bias_pitch; /*上式の括弧無しでは除算が先に行われてしまう&#9;
*/ &#9;&#9;/*ここまではiに依存しない計算&#9;*/ res_quo_ans_s=res_quo_s*
i; res_res_ans_s=res_res_s*i
/divider; res_ans_s=res_quo_ans_s+r
es_res_ans_s+round_bias_
s; res_ans=res_ans_s>>S; quo_ans=whole_quo*i; answer=quo_ans+res_ans;
An example of the program is as follows, and its flowchart is shown in FIG. whol_quo = whole / divider; whol_res = whole% divider; res_s = whole_res <<S; res_quo_s = res_s / divider; res_res_divers_res = diversizer
int << S) / round_bias_pitch; / * Without parentheses in the above expression, division is performed first.
* / &#9;&#9; / * Calculation not dependent on i so far.//res_quo_ans_s=res_quo_s*
i; res_res_ans_s = res_res_s * i
/ Divider; res_ans_s = res_quo_ans_s + r
es_res_ans_s + round_bias_
s; res_ans = res_ans_s >>S; quo_ans = whole_quo * i; answer = quo_ans + res_ans;

【0199】以下に、丸めバイアスを加算する場合の必
要ビット数について示す。この実施の形態の第一の方式
で、丸めバイアスを加算しない場合の必要ビット数はS
+13とした。シフトビットS=13の場合のroun
d_bias_sのround_bias_intに対
する値の変化を示したのが図64である。図64から、
round_bias_sは13ビット必要なことがわ
かる。これはSによる。丸めバイアスを加算する場合
は、上記で説明したように、res_ans_sがro
und_bias_sだけ増加することになる。
The number of bits required for adding a rounding bias will be described below. In the first method of this embodiment, if the rounding bias is not added, the required number of bits is S
+13. Run when shift bit S = 13
FIG. 64 shows a change in the value of d_bias_s with respect to round_bias_int. From FIG. 64,
It can be seen that round_bias_s requires 13 bits. This depends on S. When the rounding bias is added, as described above, res_ans_s becomes ro
und_bias_s.

【0200】図62の(e)に図64の(b)の丸めバ
イアスを加算したものが、図65である。これは図62
の(e)と同じであるので、図62と同様に、divi
der≦5990でS=13の場合は、必要ビット数は
S+13として良いと思われる。故に、S≦19ならば
32ビット整数が使用できることになる。
FIG. 65 is obtained by adding the rounding bias of FIG. 64B to FIG. 62E. This is shown in FIG.
(E), and as in FIG.
When der ≦ 5990 and S = 13, it is considered that the required number of bits may be S + 13. Therefore, if S ≦ 19, a 32-bit integer can be used.

【0201】この実施の形態の第一の方式の評価を以下
に示す。評価は、シフトビットS=0,9,13の場合
について、round_biasを0から0.99まで
0.01刻みで変化させて、各々の値における評価指標
の場合の数を調べた。round_biasの各値につ
き、帯域(divider)は1から5990まで変化
させ、各帯域につき、1≦i≦dividerの範囲で
iを変化させた。
The evaluation of the first method of this embodiment will be described below. The evaluation was performed by changing round_bias from 0 to 0.99 in increments of 0.01 in the case of shift bits S = 0, 9, and 13, and examining the number of evaluation indexes for each value. For each value of round_bias, the band (divider) was changed from 1 to 5990, and for each band, i was changed within the range of 1 ≦ i ≦ divider.

【0202】評価指標と結果を図66に示す。step
1とstep2の間隔については、3ケースとも、整数
計算により求めた規定値と異なる場合はないので、シフ
トビットをいくつにとっても、帯域が変わってしまう等
の面倒な問題を引き起こすことはないと思われる。しか
し、理想値を与えるdoubleによるanswerと
の比較では、シフトビットが小さいほど、answer
が異なる場合の数が多くなる。doubleによるan
swerと異なる値をとると、CDVが最大1まで増加
してしまうので、直後にCDVチェックを行った場合
は、エラーが発生する可能性がある。
FIG. 66 shows the evaluation indices and the results. step
Since the interval between 1 and step 2 does not differ from the specified value obtained by the integer calculation in any of the three cases, it does not seem that a troublesome problem such as a change in the band will be caused no matter how many shift bits are used. It is. However, in comparison with the answer by double which gives an ideal value, the smaller the shift bit, the smaller the answer
When the numbers are different, the number increases. an by double
If a value different from "swer" is taken, the CDV increases to a maximum of 1, so if the CDV check is performed immediately after that, an error may occur.

【0203】ところで、図67の(b)と(c)から、
S=9と13の場合は0,0.25,0.5,0.75
の4値では、doubleとの差異がゼロになってい
る。故にround_biasとして、この4値を用い
れば、doubleとの差異がなくなると言える。図6
7の(a)から、S=0の場合も差異が小さくなる点が
あるが、そのときでも、round_bias=0の点
を除いて、約1000個の差異がある。round_b
ias=0の場合には、S=0,12,20,21のと
きに図66の評価指標全てがゼロになった。
By the way, from (b) and (c) of FIG. 67,
0, 0.25, 0.5, 0.75 when S = 9 and 13
In the four values, the difference from double is zero. Therefore, if these four values are used as round_bias, it can be said that there is no difference from double. FIG.
7 (a), there is a point where the difference is small even when S = 0, but even then, there are about 1000 differences except for the point where round_bias = 0. round_b
When ias = 0, all the evaluation indices in FIG. 66 became zero when S = 0, 12, 20, 21.

【0204】この実施の形態では、GID配置問題の理
想配置位置の固定小数点による計算を、32ビット以下
の整数で実現する方法を検討し、res_res法を導
出した。丸めバイアスを加算する場合も、しない場合
も、シフトビットSのとき、必要ビット数はS+13と
してよい。故に、S≦19ならば32ビット整数が使用
できることになる。
In this embodiment, a method of realizing the calculation of the ideal arrangement position of the GID arrangement problem by using a fixed point with an integer of 32 bits or less was examined, and the res_res method was derived. Regardless of whether the rounding bias is added or not, when the shift bit is S, the required number of bits may be S + 13. Therefore, if S ≦ 19, a 32-bit integer can be used.

【0205】シミュレーションによる評価では、シフト
ビットS=0,9,13の場合について、round_
biasを0から0.99まで0.01刻みで変化させ
たところ、step1とstep2の各個数、合計個
数、step1,step2以外の間隔の個数はゼロで
あった。理想値であるdoubleによる計算との比較
では、シフトビットが小さいほど、answerが異な
る場合の数が多くなる。これにより、CDVが最大1ま
で増加してしまうので、直後にCDVチェックを行った
場合には、エラーが発生する可能性がある。しかし、整
数計算により求めた規定値(stepの数等)は守られ
ているので、帯域が変わってしまう等の面倒な問題を引
き起こすことはないと思われる。
In the evaluation by the simulation, in the case where the shift bits S = 0, 9, and 13, round_round
When bias was changed from 0 to 0.99 in increments of 0.01, the numbers of step1 and step2, the total number, and the number of intervals other than step1 and step2 were zero. In comparison with the calculation using double, which is an ideal value, the smaller the shift bit, the larger the number of cases where the answer is different. As a result, the CDV increases to a maximum of 1, and an error may occur if the CDV check is performed immediately thereafter. However, since the specified value (the number of steps, etc.) obtained by the integer calculation is maintained, it is unlikely that a troublesome problem such as a change in the band will be caused.

【0206】以上のように、この実施の形態4によれ
ば、実数間隔算出処理において、固定小数点変数を用い
た計算を、32ビット以下の整数で行うことができ、配
置処理時間を短くすることができるという効果が得られ
る。
As described above, according to the fourth embodiment, in the real number interval calculation processing, the calculation using the fixed-point variable can be performed with an integer of 32 bits or less, and the arrangement processing time can be shortened. Is obtained.

【0207】実施の形態5.図68は、この発明の実施
の形態5によるシェーピング機能を実現する装置の構成
を示す概略図である。図68において、1はシェーピン
グ回路等の制御を行うCPU、2はATMセル(固定長
セル)のセルストリームの入力を受けて各セル間の間隔
を調整して出力することで出力トラフィックを制御する
シェーピング回路、3は転送されるATMセルのヘッダ
情報(VPI、VCI等のあて先情報)を読み取ってA
TMセルが転送されるべき出力線の出力インタフェース
部にATMセルを送出するルーティングスイッチとして
与えられるスイッチ部、4は入力線とスイッチ部3との
間におけるインタフェース機能を実現する入力インタフ
ェース部、5は出力線とスイッチ部3との間におけるイ
ンタフェース機能を実現する出力インタフェース部であ
る。
Embodiment 5 FIG. 68 is a schematic diagram showing a configuration of an apparatus for realizing a shaping function according to the fifth embodiment of the present invention. In FIG. 68, reference numeral 1 denotes a CPU for controlling a shaping circuit or the like, and 2 controls output traffic by receiving an input of a cell stream of ATM cells (fixed length cells), adjusting the interval between cells, and outputting the adjusted data. The shaping circuit 3 reads the header information (address information such as VPI and VCI) of the transferred ATM cell, and
A switch unit, which is provided as a routing switch for sending an ATM cell to an output interface unit of an output line to which a TM cell is to be transferred, 4 is an input interface unit for realizing an interface function between the input line and the switch unit 3, and 5 is An output interface unit that realizes an interface function between the output line and the switch unit 3.

【0208】また、スイッチ部3は、複数の入力インタ
フェース部4から延びる伝送線を集線して各入力インタ
フェース部から転送されるATMセルを集めてATMセ
ルストリームを構成するATMセル集約部と、ATMセ
ル集約部で構成されたATMセルストリームから順次A
TMセルを取り出してヘッダ情報を基に各ATMセルを
所望の出力インタフェース部に分配するATMセル分配
部とを有して構成されている。
The switch unit 3 includes an ATM cell aggregating unit for concentrating transmission lines extending from the plurality of input interface units 4, collecting ATM cells transferred from each input interface unit to form an ATM cell stream, and an ATM cell aggregation unit. A sequentially from the ATM cell stream configured by the cell aggregation unit
An ATM cell distributing unit is provided for extracting a TM cell and distributing each ATM cell to a desired output interface unit based on header information.

【0209】シェーピング回路2は、スイッチ部3のA
TMセル集約部とATMセル分配部との間に配置され
る。これにより、入力線または出力線におけるATMセ
ルの転送速度が150Mbps程度とすると、スイッチ
部における集線度に応じてシェーピング回路にはその何
倍もの帯域幅を有する出力テーブルが付設される。
[0209] The shaping circuit 2 is provided with the A
It is arranged between the TM cell aggregator and the ATM cell distributor. Thus, assuming that the transfer rate of the ATM cell on the input line or the output line is about 150 Mbps, the shaping circuit is provided with an output table having a bandwidth many times that of the shaping circuit in accordance with the degree of concentration in the switch section.

【0210】また、各コネクションにおけるATMセル
の転送速度に拘る最大出力セル帯域(Peak Cel
l Rate、以下PCRと称する)を設定する際に
は、1つのコネクション(VCコネクション、VPコネ
クション等)を対象としてPCRを算出する場合もあれ
ば、幾つかのコネクションの集合として構成されるコネ
クショングループを単位としてPCRを算出することも
考えられる。以下の説明では、このようなコネクション
グループ単位でPCRを設定することを前提に本願発明
を説明する。
The maximum output cell band (Peak Cell) related to the transfer rate of the ATM cell in each connection.
When setting l Rate (hereinafter referred to as PCR), a PCR may be calculated for one connection (VC connection, VP connection, etc.), or a connection group configured as a set of several connections. It is also conceivable to calculate PCR in units of. In the following description, the present invention will be described on the assumption that the PCR is set for each connection group.

【0211】コネクションのグループ化に関しては、A
TMを用いた通信を設定する際の網のコネクション受付
制御部へのユーザからの通信申告等を基にして、同一の
帯域幅を有する複数のコネクションをまとめてグループ
化すること、帯域幅が所定の関係にあり1つのグループ
として適宜まとめることが可能な複数のコネクションを
まとめてグループ化すること、その他CPUによる所定
の処理に基づいてグループ化が可能である複数のコネク
ションをまとめてグループ化すること等が考察される。
Regarding connection grouping, A
A plurality of connections having the same bandwidth are grouped together based on a communication report from a user to a connection admission control unit of a network when setting up communication using TM, and a predetermined bandwidth is used. And collectively grouping a plurality of connections that can be appropriately grouped as one group, and a plurality of connections that can be grouped based on predetermined processing by the CPU. Etc. are considered.

【0212】図69は、シェーピング回路に設定される
出力テーブル(グループ識別子配置テーブルまたはGI
Dテーブル)の例を示す図である。10は帯域幅1.2
Gbpsを有する出力テーブル、11は出力テーブル1
0を約0.1Mbps単位に区切って得られた単位テー
ブル(スロット)、12は出力テーブル10上での番
号、すなわちコネクショングループを配置する上での番
地(アドレス)である。なお、この例では、1.2Gb
psの出力テーブル10を、約0.1Mbpsの単位テ
ーブル11に区切って11980個の単位テーブル11
が生成される。そして、1.2Gbpsとは、ルーティ
ングスイッチによるATMセルの読み取り速度を示すも
のとして与えられるものである。
FIG. 69 shows an output table (group identifier arrangement table or GI) set in the shaping circuit.
FIG. 14 is a diagram illustrating an example of a (D table). 10 is the bandwidth 1.2
Gbps, output table 11, output table 1
A unit table (slot) 12 obtained by dividing 0 into units of about 0.1 Mbps is a number on the output table 10, that is, an address (address) in arranging a connection group. In this example, 1.2 Gb
The ps output table 10 is divided into about 0.1 Mbps unit tables 11, and 11980 unit tables 11
Is generated. And 1.2 Gbps is given as an indication of the reading speed of the ATM cell by the routing switch.

【0213】出力テーブル10内で番号が付されていな
い単位テーブル11は、単位テーブル11が空であるこ
とを示し、単位テーブル11に番号が付されている場合
は、その番号のコネクショングループがその単位テーブ
ル11に配置されていることを示す。単位テーブル11
に100と付されている場合には、その単位テーブル1
1に、コネクショングループの100番が配置されてい
ることを示し、またnはコネクショングループ100の
理想送出間隔を示すものである。
[0213] The unnumbered unit table 11 in the output table 10 indicates that the unit table 11 is empty, and if the unit table 11 is numbered, the connection group of that number indicates that the connection group has that number. This indicates that it is arranged in the unit table 11. Unit table 11
If 100 is added to the unit table, the unit table 1
1 indicates that the connection group 100 is allocated, and n indicates the ideal transmission interval of the connection group 100.

【0214】上記の個々の単位テーブル11には、グル
ープ化されたコネクションにて転送される多数のATM
セルについての識別情報が適正に収容される。ATMセ
ルの送出は、単位テーブル11毎に逐次的に実施され、
1つの単位テーブル11の読み出しからは、1つのAT
Mセルが送出される。そして、出力テーブル10の最終
番地まで到達すると、初期番地(すなわち、出力テーブ
ル番号“0”)に復帰して、同様に単位テーブル11毎
に次に配置されていたATMセルが送出される。
The individual unit table 11 contains a large number of ATMs transferred through the grouped connections.
Identification information about the cell is properly accommodated. The transmission of the ATM cell is sequentially performed for each unit table 11, and
From the reading of one unit table 11, one AT
M cells are transmitted. When the last address of the output table 10 is reached, the address returns to the initial address (that is, the output table number “0”), and similarly, the next ATM cell arranged for each unit table 11 is transmitted.

【0215】次にシェーピングを行う動作について説明
する。図70は、この発明の実施の形態5によるシェー
ピング方法を示すフローチャートである。各コネクショ
ングループのPCRの値は、例えばシェーピング回路2
を制御するCPU1により決定される場合もあれば、ま
たは予め設定されてCPU1に付随するメモリに記憶さ
れている場合もある。
Next, the operation for performing shaping will be described. FIG. 70 is a flowchart showing a shaping method according to the fifth embodiment of the present invention. The value of the PCR of each connection group is determined by, for example, the shaping circuit 2
May be determined by the CPU 1 controlling the CPU 1 or may be set in advance and stored in a memory associated with the CPU 1.

【0216】まず、処理ST20で、PCR(帯域値)
の大きな順(降順)に、各コネクショングループのソー
トを行う。ソートによる並べ替えが行われると、処理S
T21でPCR毎に同一のPCRを有するコネクション
グループ数をカウントする。次に、処理ST22で処理
対象グループの理想セル送出間隔nを計算する。処理S
T23では、処理対象グループと同一のPCRを有する
コネクショングループが、処理対象グループを含めて複
数存在するか否かを判定し、同一のPCRを有するグル
ープが他に存在しない場合には、処理は分岐して処理S
T24に移る。
First, in process ST20, PCR (band value)
Sort the connection groups in descending order of the connection groups. When sorting by sorting is performed, the process S
At T21, the number of connection groups having the same PCR is counted for each PCR. Next, in step ST22, an ideal cell transmission interval n of the processing target group is calculated. Processing S
In T23, it is determined whether or not a plurality of connection groups including the same PCR as the processing target group exist, including the processing target group. If there is no other group having the same PCR, the processing branches. And process S
Move to T24.

【0217】処理ST24では、出力テーブル上で処理
対象グループを配置する最初の先頭番地を乱数等の計算
方法を用いて算出する。このように算出された先頭配置
番地(配置開始位置)について、処理ST25で処理対
象グループを配置可能か否かを判定する。他のコネクシ
ョングループが既配置の場合には、処理ST24に戻っ
て再度計算を行う。逆に配置可能であれば、処理ST2
6で出力テーブル上の該当先頭配置番地に配置する。次
に、処理ST27では、先頭配置番地を基準として、処
理対象グループを許容CDV値以内の範囲で逐次的に配
置していく。具体的には、(先頭配置番地)+N*nな
る演算を実施して理想配置番地(理想配置位置)を決定
し、その理想配置番地に配置可能か否かを判定するとと
もに、配置不可の場合には、許容CDV値以内の範囲で
近傍を検索する。なお、上記の式において、Nは1から
処理対象グループについての総配置個数までの自然数を
示す。
In the process ST24, the first start address at which the processing target group is arranged on the output table is calculated by using a calculation method such as a random number. With respect to the head arrangement address (arrangement start position) calculated in this way, it is determined whether or not the processing target group can be arranged in processing ST25. If another connection group has already been allocated, the process returns to step ST24 and the calculation is performed again. Conversely, if the arrangement is possible, the process ST2
In step 6, the address is arranged at the corresponding start location on the output table. Next, in the process ST27, the processing target groups are sequentially arranged within the allowable CDV value based on the head arrangement address. More specifically, an operation of (head arrangement address) + N * n is performed to determine an ideal arrangement address (ideal arrangement position), and whether or not it is possible to arrange at the ideal arrangement address is determined. , A neighborhood is searched within a range within the allowable CDV value. In the above equation, N indicates a natural number from 1 to the total number of arrangements for the processing target group.

【0218】上記の近傍検索に関しては、 1)許容CDV値以内の範囲における検索であること、 2)理想配置番地からのずれをなるべく小さくするこ
と、 3)既に他のコネクショングループが配置済みの単位テ
ーブルにはなるべく隣接しないようにすること、 と表現される3つの条件に基づいて決定するアルゴリズ
ムを採用することができる。例えば、3つの条件をパラ
メータ表現するとともに各パラメータを重み付けして、
パラメータ値の総和を最小化する番地を配置番地とする
ようなアルゴリズムが考察される。
Regarding the above neighborhood search, 1) search within the range of allowable CDV value; 2) minimization of deviation from ideal arrangement address; 3) unit in which another connection group has already been arranged It is possible to adopt an algorithm that determines based on three conditions expressed as follows: For example, three conditions are expressed as parameters, and each parameter is weighted.
An algorithm that considers an address that minimizes the sum of the parameter values as an arrangement address is considered.

【0219】さらに、配置番地の検索に関しては、従来
技術のようにATMセルを後方にずらすのみではなく、
前方および後方の両方向で空番地の検索が実施される。
ここで、単位テーブルの配置において、隣接するのを避
けるのが求められるのは、隣接していると、次のコネク
ショングループの配置(ATMセルの配置)の際に衝突
が起こりやすくなるとともに、出力インタフェース部に
おいて輻輳が発生しやすくなるからである。そして、処
理ST28で全コネクショングループの配置がすべて終
了したか否かを判定し、残りがあれば処理ST22に戻
って処理を継続し、残りがなければ処理を終了して出力
テーブルの設定を完了する。
[0219] Further, regarding the search of the arrangement address, not only the ATM cell is shifted backward as in the prior art, but also
An empty address search is performed both in the forward and backward directions.
Here, in the arrangement of the unit tables, it is required to avoid being adjacent to each other because, when adjacent, the collision is likely to occur at the time of arranging the next connection group (arrangement of ATM cells), and the output is also reduced. This is because congestion easily occurs in the interface unit. Then, in the process ST28, it is determined whether or not the arrangement of all the connection groups has been completed. If there is any remaining, the process returns to the process ST22 to continue the process. If there is no remaining, the process is completed and the setting of the output table is completed. I do.

【0220】処理ST23で同一のPCRを有するコネ
クショングループのグループ数が2以上である場合に
は、処理は処理ST29に分岐して、処理ST24と同
様に、出力テーブル上で処理対象グループを配置する先
頭配置番地を乱数等の計算方法を用いて算出する。この
ように算出された先頭配置番地については、処理ST3
0で配置可能か否かを判定し、既配置の場合には、処理
ST29に戻って再度計算を行い、逆に配置可能の場合
には、処理ST31で当該先頭配置番地に処理対象グル
ープを配置する。
If the number of connection groups having the same PCR in the process ST23 is two or more, the process branches to the process ST29, and the process target group is arranged on the output table as in the process ST24. The head address is calculated using a calculation method such as a random number. With respect to the head arrangement address calculated in this way, the process ST3
It is determined whether or not it can be arranged with 0, and if it is already arranged, the process returns to the process ST29 to perform the calculation again. If it can be arranged, the process target group is arranged at the head arrangement address in the process ST31. I do.

【0221】次に、処理ST32では、同一のPCRを
有するコネクショングループのグループ数がm個あると
すると、処理ST31において決定した先頭配置番地か
ら理想送出間隔nの間に、各グループの先頭配置番地を
均等に設定する。処理ST33では、それぞれのコネク
ショングループが先頭配置番地に配置可能か否かを判定
する。
Next, in processing ST32, assuming that the number of connection groups having the same PCR is m, between the head arrangement address determined in processing ST31 and the ideal transmission interval n, the head arrangement address of each group is determined. Set evenly. In the process ST33, it is determined whether or not each connection group can be arranged at the head arrangement address.

【0222】既配置(配置不可)の先頭配置番地がある
場合には、それらのコネクショングループの先頭配置番
地に関しては、処理ST34において近傍検索による先
頭配置番地決定処理を実施する。この近傍検索では、処
理ST27のように、許容CDV値以内の範囲における
検索であるという条件を課されることはないが、例え
ば、 1)均等配置番地からのずれをなるべく小さくするこ
と、 2)既に他のコネクショングループが配置済みの単位テ
ーブルにはなるべく隣接しないようにすること、 と表現される2つの条件に基づき決定するようなアルゴ
リズムを採用することができる。
If there is a head arrangement address that has already been arranged (cannot be arranged), for the head arrangement addresses of those connection groups, a head arrangement address determination process by neighborhood search is performed in process ST34. In this neighborhood search, the condition that the search is performed within the range of the allowable CDV value is not imposed as in the process ST27, but, for example, 1) the deviation from the uniformly arranged address is minimized, 2) It is possible to adopt an algorithm that is determined based on two conditions expressed as follows, in which another connection group is not adjacent to the unit table in which the connection table is already arranged as much as possible.

【0223】次に、処理ST35では、各コネクション
グループ毎に、理想送出間隔nに1から総配置個数まで
の自然数(N)を順次乗じた数に処理対象グループの先
頭配置番地を加算して得た理想配置番地を算出し、その
理想配置番地に配置可能であれば配置し、配置不可であ
れば、処理ST27で実施したのと同様の近傍検索を行
い配置番地を決定する。
Next, in process ST35, for each connection group, the number of successively multiplying the ideal transmission interval n by a natural number (N) from 1 to the total number of arrangements is obtained by adding the top arrangement address of the processing target group. The ideal arrangement address is calculated, and if the arrangement is possible at the ideal arrangement address, the arrangement is performed. If the arrangement is impossible, the neighborhood search similar to that performed in the process ST27 is performed to determine the arrangement address.

【0224】1つの処理対象グループに対して処理が終
了すると、処理ST36で同一のPCRを有するすべて
のコネクショングループについての配置が完了したか否
かが判定され、完了していない場合には、処理ST35
に戻って同一のPCRを有する次のコネクショングルー
プに対して処理を行い、完了している場合には、処理S
T28に進行する。処理ST28では、全コネクション
グループに対して処理が終了したか否かを判定し、残り
があれば処理ST22に戻って処理を継続し、残りがな
ければ処理を終了して出力テーブル上への配置処理を完
了する。
When the processing is completed for one processing target group, it is determined in processing ST36 whether or not the arrangement has been completed for all the connection groups having the same PCR. ST35
The processing is returned to the next connection group having the same PCR, and if completed, the processing S
Proceed to T28. In the process ST28, it is determined whether or not the process has been completed for all the connection groups. If there is any remaining, the process returns to the process ST22 to continue the process. Complete the process.

【0225】以上のように、この実施の形態5によれ
ば、同一のPCRを有する複数のコネクショングループ
について、それぞれのコネクショングループの先頭配置
番地が均等に設定されるとともに、同一のPCRを有す
る複数のコネクショングループが先頭配置番地から最終
配置番地まで互いに均等に配置されるように構成されて
いるので、出力テーブル上でコネクショングループのよ
り均等な配置が実現されて、ATMセルの衝突や輻輳が
防止されるから、許容CDV値に対してより多くのコネ
クション数を確保することができるという効果が得られ
る。
As described above, according to the fifth embodiment, for a plurality of connection groups having the same PCR, the head arrangement addresses of the respective connection groups are equally set, and the plurality of connection groups having the same PCR are set. Are arranged so as to be evenly distributed from the top address to the last address, so that the connection groups can be more evenly arranged on the output table, preventing collision and congestion of ATM cells. Therefore, an effect is obtained that a larger number of connections can be secured for the allowable CDV value.

【0226】また、処理対象のコネクションを理想配置
番地に配置できない場合には、理想配置番地を中心とし
た許容CDV値以内の範囲で、前方および後方の空番地
を検出して配置番地を決定するように構成したので、許
容CDV値内の範囲の空番地を効率的に利用できるか
ら、許容CDV値に対してより多くのコネクション数を
確保することができるとともに、ATMセルの衝突が頻
繁に生じる場合でも、後方のみの検索のように出力帯域
が小さくなることがないという効果が得られる。
If the connection to be processed cannot be located at the ideal location address, an empty address ahead and behind is detected within the allowable CDV value centered on the ideal location address to determine the location address. With this configuration, empty addresses in the range of the allowable CDV value can be used efficiently, so that a larger number of connections can be secured for the allowable CDV value and collision of ATM cells frequently occurs. Even in such a case, an effect is obtained that the output band is not reduced unlike the search for only the backward.

【0227】さらに、許容CDV値内の範囲に、処理対
象のコネクションを配置可能な番地が複数ある場合に
は、隣接する前方および後方の番地が、ともに他のコネ
クションにより配置済みとなっていない番地を優先的に
選択して、当該処理対象のコネクションを配置できるの
で、隣接する番地へのコネクションの配置ができる限り
防止されて、ATMセルの衝突を低減することができる
から、許容CDV値に対してより多くのコネクション数
を確保することができるという効果が得られる。
Further, when there are a plurality of addresses in which the connection to be processed can be arranged within the range of the allowable CDV value, the adjacent front and rear addresses are not already arranged by other connections. Can be preferentially selected and the connection to be processed can be arranged, so that the arrangement of connections at adjacent addresses can be prevented as much as possible, and the collision of ATM cells can be reduced. Thus, an effect that a larger number of connections can be secured can be obtained.

【0228】さらに、すべての出力インタフェース部に
送出されるATMセルの出力順を規定できるだけの容量
を有する広帯域の出力テーブルを備える構成としたの
で、出力テーブル上へのコネクショングループの配置に
おいて、微修正等を容易に実施できるから、出力テーブ
ル作成の容易化および効率化を図れるという効果が得ら
れる。さらに、このような広帯域の出力テーブルを用意
することで、それぞれのコネクショングループが配置さ
れる番地の隣接をできる限り防止するので、許容CDV
値に対して、より多くのコネクション数を確保すること
ができるという効果が得られる。
Further, since a wide-band output table having a capacity sufficient to define the output order of ATM cells transmitted to all output interface units is provided, the arrangement of connection groups on the output table is slightly modified. And the like can be easily implemented, so that the effect of facilitating the creation of the output table and improving the efficiency can be obtained. Further, by preparing such a wide-band output table, the adjacency of the address where each connection group is arranged is prevented as much as possible.
The effect is obtained that a larger number of connections can be secured for the value.

【0229】なお、この実施の形態5では、広帯域な出
力テーブルをスイッチ部に付設する構成としたが、この
ような広帯域な出力テーブルを、それぞれの出力インタ
フェース部ごとに設ける構成とすることも可能である。
In the fifth embodiment, a wide-band output table is provided for the switch unit. However, such a wide-band output table may be provided for each output interface unit. It is.

【0230】実施の形態6.実施の形態6によるシェー
ピング方法を実現するための、シェーピング回路および
ルーティングスイッチ等からなる装置構成、並びにシェ
ーピングに使用される広帯域の出力テーブルは、図68
および図69に示されたものと同じであるので、同一符
号を用いて、その詳細な説明をここでは省略する。
Embodiment 6 FIG. An apparatus configuration including a shaping circuit, a routing switch, and the like for realizing the shaping method according to the sixth embodiment, and a wideband output table used for shaping are shown in FIG.
69 are the same as those shown in FIG. 69, and therefore, the same symbols are used and their detailed description is omitted here.

【0231】次に動作について説明する。図71は、こ
の発明の実施の形態6によるシェーピング方法を示すフ
ローチャートである。まず、処理ST40で、PCRの
大きな順(降順)に、各コネクショングループのソート
を行い、各コネクショングループをPCRの大きな順に
並べ替える。次に、処理ST41で、配置済みコネクシ
ョングループのPCRの帯域合計値PCR_SUM(配
置済みの帯域合計値)の初期値としてゼロを設定する。
Next, the operation will be described. FIG. 71 is a flowchart showing a shaping method according to the sixth embodiment of the present invention. First, in process ST40, the connection groups are sorted in the descending order of the PCRs (descending order), and the connection groups are rearranged in the descending order of the PCRs. Next, in process ST41, zero is set as an initial value of the total bandwidth value PCR_SUM (the total allocated bandwidth value) of the PCRs of the allocated connection group.

【0232】そして、帯域値の大きな順に処理対象グル
ープを決定して、特定された処理対象グループについ
て、第1に処理ST42において、当該処理対象グルー
プの理想セル送出間隔nを算出するとともに失敗回数の
初期値としてゼロを設定する。処理ST43では、出力
テーブル上で処理対象グループを配置するうえでの先頭
配置番地を乱数等の計算方法を用いて算出する。なお、
この先頭配置番地は、理想配置番地において配置可能か
否かを判定する処理ST44において、理想配置番地の
初期値として与えられるものである。
Then, the processing target groups are determined in the descending order of the bandwidth value, and for the specified processing target group, first, in processing ST42, the ideal cell transmission interval n of the processing target group is calculated and the number of failures is calculated. Set zero as the initial value. In the process ST43, the starting arrangement address for arranging the processing target group on the output table is calculated by using a calculation method such as a random number. In addition,
The head arrangement address is given as an initial value of the ideal arrangement address in the process ST44 for determining whether or not the arrangement is possible at the ideal arrangement address.

【0233】処理ST44では算出された理想配置番地
に配置可能か否かが判定され、配置可能であれば処理S
T45において出力テーブル上の該当番地に配置する。
配置不可であれば、処理ST46に進んで配置番地検索
処理1を実行する。
In the process ST44, it is determined whether or not it is possible to arrange at the calculated ideal arrangement address.
At T45, it is arranged at the corresponding address on the output table.
If the arrangement is impossible, the process proceeds to step ST46 to execute arrangement address search processing 1.

【0234】図72は、配置番地検索処理1の処理内容
を示すフローチャートである。配置番地検索処理1にお
いては、まず処理ST101でPCR_SUMが全出力
帯域値(この実施の形態6では1.2Gbps)の半分
の値(判定値)以下であるか否かを判定する。半分以下
である場合には、処理ST102に進行して許容CDV
値内の奇数番地のなかで空番地を検索する。また、処理
ST101でPCR_SUMが全出力帯域値の半分より
大きい場合には、処理ST103に進行して許容CDV
値内の偶数番地のなかで空番地を検索する。
FIG. 72 is a flow chart showing the contents of the arrangement address search processing 1. In the arrangement address search process 1, first, in process ST101, it is determined whether or not PCR_SUM is equal to or smaller than a half value (judgment value) of the entire output band value (1.2 Gbps in the sixth embodiment). If it is less than half, the process proceeds to process ST102 to allow the allowable CDV.
Searches for an empty address among the odd addresses in the value. If the PCR_SUM is larger than half of the total output band value in the process ST101, the process proceeds to the process ST103 to allow the allowable CDV.
Searches for an empty address among even addresses in the value.

【0235】なお、偶数番地および奇数番地に拘りなく
このような空番地が複数ある場合には、実施の形態5で
の近傍検索と同様に、例えば、 1)許容CDV値以内の範囲における検索であること、 2)理想配置番地からのずれをなるべく小さくするこ
と、 3)既に他のコネクショングループが配置済みの単位テ
ーブルにはなるべく隣接しないようにすること、 と表現される3つの条件に基づき、最適な配置番地を決
定することが考えられる。
When there are a plurality of such vacant addresses irrespective of an even address and an odd address, as in the case of the neighborhood search in the fifth embodiment, for example, 1) a search in a range within the allowable CDV value is performed. Based on the following three conditions: 2) minimizing the deviation from the ideal allocation address; and 3) minimizing the proximity of the unit table in which other connection groups have already been allocated. It is conceivable to determine an optimal arrangement address.

【0236】処理ST102および処理ST103は処
理後ともに処理ST104に進行して、処理ST104
では出力テーブル上に配置可能か否かを判定する。出力
テーブル上に配置可能である場合には、処理ST107
に進行して“配置可能”として本処理を終了する。ま
た、出力テーブル上に配置不可である場合には、処理S
T105に進行して許容CDV値内の範囲のすべての空
番地を検索する。すなわち、処理ST102で許容CD
V値内の奇数番地で空番地を検索して配置不可であれ
ば、許容CDV値内の偶数番地で空番地を検索し、処理
ST103で、許容CDV値内の偶数番地で空番地を検
索して配置不可であれば、許容CDV値内の奇数番地で
空番地を検索する。
After processing ST102 and processing ST103, the processing proceeds to processing ST104, and processing ST104 is performed.
Then, it is determined whether or not it can be arranged on the output table. If it can be arranged on the output table, the process ST107
Then, the process is terminated as “placeable”. If it cannot be arranged on the output table, the process S
Proceeding to T105, all empty addresses in the range within the allowable CDV value are searched. That is, in the process ST102, the allowable CD
If an odd address in the V value is searched for an empty address and placement is not possible, an empty address is searched for in an even address within the allowable CDV value, and in step ST103, an empty address is searched for in an even address within the allowable CDV value. If it is not possible to arrange, an empty address is searched for at an odd address within the allowable CDV value.

【0237】そして、処理ST105の検索結果に基づ
き、処理ST106で、出力テーブル上に配置可能か否
かを判定する。出力テーブル上に配置可能である場合に
は、処理ST107に進行して“配置可能”として本処
理を終了する。また、出力テーブル上に配置不可である
場合には、処理ST108に進行して“配置不可”とし
て本処理を終了する。
Then, based on the search result of process ST105, it is determined in process ST106 whether or not the output table can be arranged. If it can be arranged on the output table, the process proceeds to step ST107, where "arrangement is possible", and this processing ends. If it is not possible to arrange on the output table, the process proceeds to step ST108, and the process is terminated as "arrangement impossible".

【0238】図71に戻って処理ST46が終了する
と、処理ST47に進行して配置番地検索処理1の結果
が配置可能であるか否かを判定する。配置不可であれ
ば、処理ST48に進行して、当該配置番地が先頭配置
番地であるか否かを判定する。そして、処理ST48に
おける判定で、先頭配置番地である場合には、処理ST
49に進行して失敗回数を1増分し、その後処理ST4
3に復帰して先頭配置番地の計算を再び行う。
Returning to FIG. 71, when the process ST46 is completed, the process proceeds to a process ST47, where it is determined whether or not the result of the layout address search processing 1 can be arranged. If the arrangement is impossible, the process proceeds to processing ST48, and it is determined whether or not the arrangement address is the head arrangement address. If it is determined in the processing ST48 that the address is the head arrangement address, the processing ST48 is executed.
49, the number of failures is incremented by 1, and then the process ST4
Then, the process returns to 3 and the calculation of the head address is performed again.

【0239】処理ST48における判定で先頭配置番地
でない場合には、処理ST50に進行して、失敗回数が
許容検索失敗回数未満であるか否かを判定する。許容失
敗回数以上である場合には、異常終了(処理ST51)
として出力テーブル上への配置処理を終了する。許容失
敗回数未満である場合には、処理ST52に進行し、失
敗回数を1増分するとともに当該処理対象グループにつ
いての既配置番地をクリアして空番地に戻し、その後処
理ST43に復帰して先頭配置番地の計算から処理を再
び行う。
If it is determined in the process ST48 that the address is not the head arrangement address, the process proceeds to a process ST50 to determine whether or not the number of failures is less than the allowable search failure frequency. If the number is equal to or more than the allowable number of failures, abnormal termination (process ST51)
And the arrangement processing on the output table ends. If the number of failures is less than the allowable number of failures, the process proceeds to step ST52, where the number of failures is incremented by one, and the already allocated address of the processing target group is cleared and returned to an empty address. The process is performed again from the calculation of the address.

【0240】処理ST47で配置可能の場合には、処理
ST45に進行して出力テーブル上の該当番地に処理対
象グループを配置する。処理ST45の処理が終了する
と、処理ST53で処理対象グループの配置がすべて終
了したか否かを判定する。未終了である場合には、処理
ST54で式{(先頭配置番地)+n*N(N:1から
総配置個数までの自然数)}から次の理想配置番地を算
出して処理ST44に復帰し、以後同様の処理を繰り返
す。
If it can be arranged in the process ST47, the process proceeds to the process ST45 to arrange the processing target group at the corresponding address on the output table. When the processing in step ST45 is completed, it is determined in step ST53 whether the placement of the processing target groups has all been completed. If not completed, the next ideal layout address is calculated from the formula {(starting location address) + n * N (N: a natural number from 1 to the total number of locations)} in processing ST54, and the process returns to processing ST44. Thereafter, the same processing is repeated.

【0241】処理ST53で当該処理対象グループのす
べての配置が完了したと判定された場合には、処理ST
55で出力テーブル上に配置された処理対象グループの
PCRをPCR_SUMに加算する。そして、処理ST
56に進行して同一のPCRを有する未配置のコネクシ
ョングループが他にも存在するか否かが判定される。こ
のようなコネクショングループが他にも存在する場合に
は、処理ST43に復帰して以後処理対象のグループに
対して同様の処理を行う。また、このようなコネクショ
ングループが存在しない場合には、処理ST57に進ん
で全コネクショングループの処理が終了したか否かを判
定する。処理が終了していないコネクショングループが
存在する場合には、処理ST42に復帰して処理を継続
する。
If it is determined in the processing ST53 that all the arrangements of the processing target group have been completed, the processing ST53 is executed.
At 55, the PCR of the processing target group arranged on the output table is added to PCR_SUM. And the process ST
Proceeding to 56, it is determined whether there is another unplaced connection group having the same PCR. If there is another such connection group, the process returns to step ST43 and the same process is performed on the group to be processed thereafter. If no such connection group exists, the process proceeds to step ST57 to determine whether or not the processing for all connection groups has been completed. If there is a connection group for which processing has not been completed, the process returns to step ST42 to continue the processing.

【0242】以上のように、この実施の形態6によれ
ば、PCR_SUMが出力テーブルの全出力帯域値の半
分以下である間において、処理対象のコネクションを理
想配置番地に配置できない場合には、理想配置番地を中
心としたCDV値以内の範囲で奇数番地(または偶数番
地)に優先的に配置するように構成したので、出力テー
ブル上でコネクショングループのより均等な配置が実現
されて、ATMセルの衝突や輻輳が防止されるから、許
容CDV値に対してより多くのコネクション数を確保す
ることができるという効果が得られる。
As described above, according to the sixth embodiment, when the connection to be processed cannot be located at the ideal location address while the PCR_SUM is equal to or less than half of the total output bandwidth value of the output table, the ideal Since the arrangement is made such that the arrangement is preferentially arranged at odd addresses (or even addresses) within the range of the CDV value centered at the arrangement address, a more uniform arrangement of the connection groups on the output table is realized, and Since collision and congestion are prevented, an effect is obtained that a larger number of connections can be secured for the allowable CDV value.

【0243】また、奇数番地(または偶数番地)を優先
的に検索する場合に、理想配置番地を中心とした許容C
DV値以内の前方および後方の奇数番地(または偶数番
地)を検索するように構成したので、許容CDV値内の
範囲の空番地を効率的に利用できるから、許容CDV値
に対してより多くのコネクション数を確保することがで
きるとともに、ATMセルの衝突が頻繁に生じる場合で
も後方のみの検索のように出力帯域が小さくなることが
ないという効果が得られる。
In the case where an odd address (or an even address) is searched for preferentially, the allowable C value centered on the ideal arrangement address is used.
Since the search is made to search for odd addresses (or even addresses) in the front and rear within the DV value, empty addresses in the range of the allowable CDV value can be efficiently used. The number of connections can be ensured, and even if the collision of ATM cells frequently occurs, the effect that the output band is not reduced unlike the search only for the rear is obtained.

【0244】さらに、PCR_SUMが出力テーブルの
全出力帯域値の半分となる時点を基準として、奇数番地
における検索から偶数番地における検索へと切り替える
こととしたので、空番地の検索を容易に行うことがで
き、出力テーブルの作成を効率化することができるとい
う効果を奏する。さらに、広帯域な出力テーブルを備え
る構成としたことについては、実施の形態5と同様の効
果が得られる。
Further, the search is switched from the search at the odd address to the search at the even address on the basis of the point in time when the PCR_SUM becomes half of the total output band value of the output table, so that the search of the empty address can be easily performed. As a result, the output table can be created more efficiently. Further, the same effect as in the fifth embodiment can be obtained in the configuration including the wide band output table.

【0245】なお、図72の処理ST101において
は、PCR_SUMが全出力帯域値の半分以下であれ
ば、処理ST102で奇数番地を検索することとした
が、偶数番地を検索することとしてもよく、同様の効果
が得られる。
In the process ST101 of FIG. 72, if PCR_SUM is equal to or less than half of the total output band value, an odd address is searched in the process ST102. However, an even address may be searched. The effect of is obtained.

【0246】実施の形態7.実施の形態7によるシェー
ピング方法を実現するための、シェーピング回路および
ルーティングスイッチ等からなる装置構成、並びにシェ
ーピングに使用される広帯域の出力テーブルは、図68
および図69に示されたものと同じであるので、同一符
号を用いて、その詳細な説明をここでは省略する。
Embodiment 7 FIG. An apparatus configuration including a shaping circuit and a routing switch for realizing the shaping method according to the seventh embodiment, and a wideband output table used for shaping are shown in FIG.
69 are the same as those shown in FIG. 69, and therefore, the same symbols are used and their detailed description is omitted here.

【0247】次に動作について説明する。図73は、こ
の発明の実施の形態7によるシェーピング方法を示すフ
ローチャートである。図73において図71と同一符号
はシェーピング方法において同一の処理を示すのでその
説明を省略する。実施の形態7は、実施の形態6と比較
すると、処理ST44が省略されている点が相違する。
Next, the operation will be described. FIG. 73 is a flowchart showing a shaping method according to Embodiment 7 of the present invention. 73, the same reference numerals as those in FIG. 71 indicate the same processing in the shaping method, and thus the description thereof will be omitted. The seventh embodiment differs from the sixth embodiment in that step ST44 is omitted.

【0248】すなわち、理想配置番地が算出されても、
当該理想配置番地への配置が可能であるか否かの判定を
行うことなしに、配置番地検索処理1を実施する。した
がって、1つのコネクショングループについて、付与さ
れた複数の配置番地には、すべて優先的に奇数番地また
は偶数番地が与えられることになる。なお、他の動作に
ついては実施の形態6と同様であるので、その説明を省
略する。
That is, even if the ideal arrangement address is calculated,
The arrangement address search processing 1 is performed without determining whether or not the arrangement to the ideal arrangement address is possible. Therefore, for one connection group, odd addresses or even addresses are allotted with priority to a plurality of assigned addresses. Note that other operations are the same as those in the sixth embodiment, and a description thereof will be omitted.

【0249】以上のように、実施の形態7によれば、実
施の形態6による効果とおおよそ同じ効果を得ることが
できる。相違点としては、PCR_SUMが出力テーブ
ルの全出力帯域値の半分以下である間において、理想配
置番地が空番地であるか否かに拘らず、処理対象のコネ
クショングループが広帯域な出力テーブル上で奇数番地
(または偶数番地)にすべて優先的に配置されるので、
出力テーブル上で非常に均等な配置が実現されるから、
許容CDV値に対してさらに多くのコネクション数を確
保することができるという効果が得られる。
As described above, according to the seventh embodiment, substantially the same effects as those of the sixth embodiment can be obtained. The difference is that while the PCR_SUM is equal to or less than half of the total output bandwidth value of the output table, the connection group to be processed is an odd number on the wide output table regardless of whether the ideal arrangement address is an empty address. Addresses (or even addresses) are all given priority,
A very even distribution on the output table is achieved,
The effect is obtained that a larger number of connections can be secured for the allowable CDV value.

【0250】実施の形態8.実施の形態8によるシェー
ピング方法を実現するための、シェーピング回路および
ルーティングスイッチ等からなる装置構成、並びにシェ
ーピングに使用される広帯域の出力テーブルは、図68
および図69に示されたものと同じであるので、同一符
号を用いて、その詳細な説明をここでは省略する。
[Embodiment 8] An apparatus configuration including a shaping circuit and a routing switch and a wideband output table used for shaping for realizing the shaping method according to the eighth embodiment are shown in FIG.
69 are the same as those shown in FIG. 69, and therefore, the same symbols are used and their detailed description is omitted here.

【0251】次に動作について説明する。図74は、こ
の発明の実施の形態8によるシェーピング方法を示すフ
ローチャートである。図74において、図71と同一符
号はシェーピング方法において同一の処理を示すので、
その説明を省略する。実施の形態8は、実施の形態6と
比較すると、処理ST46の配置番地検索処理1を配置
番地検索処理2に置き換えた点で相違する。
Next, the operation will be described. FIG. 74 is a flowchart showing a shaping method according to the eighth embodiment of the present invention. In FIG. 74, the same reference numerals as those in FIG. 71 indicate the same processing in the shaping method.
The description is omitted. The eighth embodiment is different from the sixth embodiment in that the arrangement address search processing 1 in the process ST46 is replaced with the arrangement address search processing 2.

【0252】図75は、配置番地検索処理2の処理内容
を示すフローチャートである。なお、この実施の形態で
は説明を簡単にするために、許容CDV値を7として説
明する。配置番地検索処理2においては、まず処理ST
151で、PCR_SUMが出力テーブルの全出力帯域
値(この実施の形態8では1.2Gbps)の半分以下
であるか否かを判定する。半分以下であれば、処理ST
152でループカウンタ用変数iの初期値として1をセ
ットする。そして、処理ST153でPCR_SUMが
{(出力帯域)/(許容CDV値+1)}*i以下であ
るか否かを判定する。この実施の形態においては、出力
帯域は1.2Gbpsであり、許容CDV値が7である
ので、上記の式は150Mbps*iとして与えられ
る。
FIG. 75 is a flow chart showing the contents of the layout address search processing 2. In this embodiment, for simplicity of explanation, the explanation will be made assuming that the allowable CDV value is 7. In the arrangement address search processing 2, first, the processing ST
At 151, it is determined whether or not PCR_SUM is equal to or less than half of the total output bandwidth value (1.2 Gbps in the eighth embodiment) of the output table. If less than half, processing ST
At 152, 1 is set as the initial value of the loop counter variable i. Then, in a process ST153, it is determined whether or not PCR_SUM is not more than {(output band) / (allowable CDV value + 1)} * i. In this embodiment, since the output band is 1.2 Gbps and the allowable CDV value is 7, the above equation is given as 150 Mbps * i.

【0253】処理ST153において、PCR_SUM
が150Mbps*i以上である場合には、処理ST1
54でiを1増分し、その後処理ST155でiが許容
値以下であるか否かを判定する。この許容値としては、
PCM_SUMの値が全出力帯域値の半分である状況に
対応する例えば(許容CDV値+1)/2として算出さ
れる値が用いられ、本実施の形態ではこの許容値として
4が用いられる。処理ST155でiが許容値以下であ
る場合には、処理ST153に復帰して処理を継続す
る。処理ST155でiが許容値以上である場合には、
処理ST151に復帰して処理を継続する。
In the process ST153, the PCR_SUM
Is 150 Mbps * i or more, the process ST1
In step 54, i is incremented by one, and then in process ST155, it is determined whether or not i is equal to or smaller than an allowable value. This tolerance is
For example, a value calculated as (allowable CDV value + 1) / 2 corresponding to a situation where the value of PCM_SUM is half of the total output band value is used. In the present embodiment, 4 is used as the allowable value. If i is equal to or smaller than the allowable value in the process ST155, the process returns to the process ST153 to continue the process. If i is equal to or more than the allowable value in process ST155,
The process returns to step ST151 to continue the process.

【0254】また、処理ST153でPCR_SUMが
150Mbps*i以下である場合には、処理ST15
6へ進行する。処理ST156では、iの値に基づき理
想配置番地近傍において出力テーブル上の番地を8(許
容CDV値+1)(所定数)で割った場合に、特定の剰
余を有する奇数番地の検索を行う。
If PCR_SUM is equal to or less than 150 Mbps * i in process ST153, the process ST15 is executed.
Proceed to 6. In the process ST156, when the address on the output table is divided by 8 (allowable CDV value + 1) (predetermined number) near the ideal arrangement address based on the value of i, an odd address having a specific remainder is searched.

【0255】例えば、iの値に基づいて次のような検索
手順を設けるのが可能である。 1)i=1の場合:番地を8で割った際の余りが5とな
る番地を検索 2)i=2の場合:番地を8で割った際の余りが1,5
となる番地を検索 3)i=3の場合:番地を8で割った際の余りが1,
5,7となる番地を検索 4)i=4の場合:番地を8で割った際の余りが1,
3,5,7となる番地を検索 以上のように、iの値に応じて、理想配置番地の近傍で
制限的に空番地の検索を行う。
For example, it is possible to provide the following search procedure based on the value of i. 1) When i = 1: Search for an address where the remainder when the address is divided by 8 is 5 2) When i = 2: The remainder when the address is divided by 8 is 1,5
3) When i = 3: the remainder when the address is divided by 8 is 1,
4) When i = 4: the remainder when the address is divided by 8 is 1,
Searching for Addresses 3, 5, 7 As described above, empty addresses are limitedly searched in the vicinity of the ideal arrangement address according to the value of i.

【0256】上記のiの値に基づく検索が終了すると、
処理ST157で配置可能か否かの判定を行う。配置可
能な場合には、処理ST158で“配置可能”として配
置番地検索処理2を終了する。配置不可の場合には、処
理ST154へ進行して処理を継続する。
When the search based on the value of i is completed,
In process ST157, it is determined whether or not arrangement is possible. If it can be arranged, the arrangement address search processing 2 is terminated in step ST158 as "arrangeable". If arrangement is not possible, the process proceeds to step ST154 to continue the process.

【0257】処理ST151でPCR_SUMの値が出
力テーブルの全出力帯域値の半分より大きい場合には、
処理ST159へ進行して、理想配置番地近傍の許容C
DV値内の範囲で偶数番地の空番地を検索する。そし
て、処理ST160で配置可能か否かを判定して、配置
可能であれば処理ST158へ進行して“配置可能”と
して配置番地検索処理2を終了する。
If the value of PCR_SUM is larger than half of the total output band value in the output table in process ST151,
Proceeding to process ST159, the allowable C near the ideal arrangement address
An empty address of an even address is searched in the range within the DV value. Then, it is determined in step ST160 whether or not the arrangement is possible. If the arrangement is possible, the process proceeds to step ST158, and the arrangement address search processing 2 is terminated as "arrangeable".

【0258】また、配置不可であれば、処理ST161
へ進行して、理想配置番地近傍の許容CDV値内の範囲
で偶数番地または奇数番地に拘らず空番地を検索する。
そして、処理ST162で配置可能か否かを判定して、
配置可能であれば、処理ST158へ進行して“配置可
能”として配置番地検索処理2を終了し、配置不可であ
れば、処理ST163へ進行して“配置不可”として配
置番地検索処理2を終了する。
If arrangement is not possible, processing ST161
Then, an empty address is searched for regardless of the even address or the odd address within the range of the allowable CDV value near the ideal arrangement address.
Then, it is determined whether or not arrangement is possible in process ST162,
If the arrangement is possible, the process proceeds to step ST158 to set the address as "possible", and the arrangement address search process 2 is ended. I do.

【0259】以上のように、この実施の形態8によれ
ば、実施の形態6による効果とおおよそ同じ効果を得る
ことができる。相違点としては、PCR_SUM値から
導かれる出力テーブルの占有率に基づいて、所定数で除
した際の剰余が特定の値を有する特定の番地に対してコ
ネクショングループが配置されるように構成したので、
出力テーブル上でのコネクショングループの配置が出力
テーブルの占有率に応じて適宜制御されて均等に配置さ
れるから、ATMセルの衝突や輻輳が防止され許容CD
V値に対してより多くのコネクション数を確保すること
ができるという効果が得られる。
As described above, according to the eighth embodiment, substantially the same effects as those of the sixth embodiment can be obtained. The difference is that, based on the occupancy of the output table derived from the PCR_SUM value, the connection group is arranged at a specific address where the remainder when divided by a predetermined number has a specific value. ,
Since the arrangement of the connection groups on the output table is appropriately controlled according to the occupancy of the output table and arranged evenly, collision and congestion of ATM cells are prevented and the allowable CD is prevented.
The effect is obtained that a larger number of connections can be secured for the V value.

【0260】なお、図75の処理ST151において
は、PCR_SUMが全出力帯域値の半分以下であれ
ば、処理ST156で奇数番地を検索することとした
が、偶数番地を検索することとしてもよく、同様の効果
が得られる。
In the process ST151 of FIG. 75, if PCR_SUM is equal to or less than half of the total output band value, an odd address is searched in the process ST156. However, an even address may be searched. The effect of is obtained.

【0261】実施の形態9.実施の形態9によるシェー
ピング方法を実現するための、シェーピング回路および
ルーティングスイッチ等からなる装置構成、並びにシェ
ーピングに使用される広帯域の出力テーブルは、図68
および図69に示されたものと同じであるので、同一符
号を用いて、その詳細な説明をここでは省略する。
[Embodiment 9] An apparatus configuration including a shaping circuit, a routing switch, and the like for realizing the shaping method according to the ninth embodiment, and a wideband output table used for shaping are shown in FIG.
69 are the same as those shown in FIG. 69, and therefore, the same symbols are used and their detailed description is omitted here.

【0262】次に動作について説明する。図76は、こ
の発明の実施の形態9によるシェーピング方法を示すフ
ローチャートである。図76において、図74と同一符
号はシェーピング方法において同一の処理を示すので、
その説明を省略する。実施の形態9は、実施の形態8と
比較すると、処理ST44が省略されている点が相違す
る。
Next, the operation will be described. FIG. 76 is a flowchart showing a shaping method according to Embodiment 9 of the present invention. In FIG. 76, since the same reference numerals as those in FIG. 74 indicate the same processing in the shaping method,
The description is omitted. The ninth embodiment differs from the eighth embodiment in that step ST44 is omitted.

【0263】すなわち、理想配置番地が算出されると、
当該理想配置番地への配置が可能であるか否かの判定を
行うことなしに、配置番地検索処理2を実施する。した
がって、1つのコネクショングループについて、付与さ
れた複数の配置番地には、すべて優先的に奇数番地また
は偶数番地が与えられることになる。なお、他の動作に
ついては実施の形態8と同様であるので、その説明を省
略する。
That is, when the ideal arrangement address is calculated,
The arrangement address search processing 2 is performed without determining whether or not the arrangement to the ideal arrangement address is possible. Therefore, for one connection group, odd addresses or even addresses are allotted with priority to a plurality of assigned addresses. Note that other operations are the same as those in the eighth embodiment, and a description thereof will not be repeated.

【0264】以上のように、この実施の形態9によれ
ば、実施の形態8による効果とおおよそ同じ効果を得る
ことができる。相違点としては、理想配置番地が空番地
であるか否かに拘らず、広帯域な出力テーブル上で処理
対象のグループが奇数番地(または偶数番地)に優先的
に配置され、かつPCR_SUM値から導かれる出力テ
ーブルの占有率に基づいて、剰余が特定の値を有する特
定の番地に配置されるので、出力テーブル上で非常に均
等な配置が実現されるから、許容CDV値に対してさら
に多くのコネクション数を確保することができるという
効果が得られる。
As described above, according to the ninth embodiment, substantially the same effects as those of the eighth embodiment can be obtained. The difference is that, regardless of whether or not the ideal arrangement address is an empty address, the group to be processed is preferentially arranged at an odd address (or an even address) on the broadband output table and is derived from the PCR_SUM value. Based on the occupancy of the output table, the remainder is arranged at a specific address having a specific value, so that a very uniform arrangement is realized on the output table, so that more residual CDV values are required. The effect that the number of connections can be secured is obtained.

【0265】なお、処理ST156における空番地検索
においては、奇数番地のなかでの優先順位を剰余が5,
1,7,3となる番地の順としたが、これは奇数番地へ
の配置でも配置済みとなる番地の間隔をできる限り広げ
ようとの意図を持って選定されたものであるが、このよ
うな順序に限定されるものではなく、他の有効な順序の
選定によっても同様の効果を得ることができる。
[0265] In the empty address search in the process ST156, the priority in odd addresses is represented by a remainder of 5,
Although the addresses are arranged in the order of 1, 7, and 3, this is selected with the intention of widening the interval between the already allocated addresses even at the odd addresses. The order is not limited to this, and the same effect can be obtained by selecting another effective order.

【0266】[0266]

【発明の効果】以上のように、この発明によれば、理想
位置算出処理が、整数間隔算出処理と、実数間隔算出処
理と、バイアス付加処理と、間隔混合法変化処理と、群
内理想位置均等分散処理と、群内開始位置均等分散処理
と、行列座標記憶処理と、開始位置ランダム分散処理
と、共通化均等配分処理と、隣接配置禁止処理とを備
え、代替位置探索処理が、パターン照合処理と、配置割
合依存パターン照合処理と、近傍ランダム探索処理と、
全体ランダム探索処理と、全体連続ランダム探索処理と
を備えることにより、配置処理時間が短く、理想配置位
置に配置できない場合には適切な代替位置を選択し、全
体的に均等に分散配置を行うことができるという効果が
ある。
As described above, according to the present invention, the ideal position calculating process includes the integer interval calculating process, the real number interval calculating process, the bias adding process, the interval mixing method changing process, and the group ideal position calculating process. It includes an even distribution process, an intra-group start position uniform distribution process, a matrix coordinate storage process, a start position random distribution process, a common equalization distribution process, and an adjacent placement prohibition process. Processing, arrangement ratio dependent pattern matching processing, neighborhood random search processing,
Providing the whole random search processing and the whole continuous random search processing, if the arrangement processing time is short and it is not possible to arrange at the ideal arrangement position, select an appropriate alternative position and perform an evenly distributed arrangement as a whole. There is an effect that can be.

【0267】この発明によれば、バイアス付加処理にお
ける小数バイアス付加処理と、間隔混合法変化処理にお
けるバイアス変化処理とバイアス値変化パターン記憶処
理を備えることにより、整数化の結果にバリエーション
を持たせることができ、理想配置位置に配置できない場
合に、再配置の可能性を高めることができるという効果
がある。
According to the present invention, by providing the decimal bias adding process in the bias adding process, the bias changing process and the bias value changing pattern storing process in the interval mixing method changing process, the result of the integer conversion can be varied. This is advantageous in that the possibility of rearrangement can be increased when the camera cannot be arranged at the ideal arrangement position.

【0268】この発明によれば、実数間隔算出処理にお
いて、32ビット以下の固定小数点変数を用いて、第1
の剰余回答と第2の剰余回答を求めることにより、少な
いビット数で、整数だけで処理することにより、配置処
理時間を短くすることができるという効果がある。
According to the present invention, in the real number interval calculation processing, the first point is determined by using a fixed-point variable of 32 bits or less.
By obtaining the remainder answer and the second remainder answer, it is possible to shorten the arrangement processing time by processing with only a small number of bits and using only integers.

【0269】この発明によれば、理想位置算出処理にお
ける開始位置ランダム分散処理、ならびに代替位置探索
処理における近傍ランダム探索処理、全体ランダム探索
処理および全体連続ランダム探索処理において、乱数初
期化処理と、周期毎の変数を一次関数で更新する処理
と、乱数発生周期制御処理と、周期選択処理と、乱数関
数呼出し処理とを備えることにより、理想配置位置に配
置できない場合に、再配置の可能性を高めることができ
るという効果がある。
According to the present invention, a random number initialization process, a random number initialization process, a periodic random search process, a whole random search process, and a whole continuous random search process in an alternative position search process in a start position random distribution process in an ideal position calculation process. Includes processing for updating each variable with a linear function, random number generation cycle control processing, cycle selection processing, and random number function calling processing, thereby increasing the possibility of rearrangement when placement at an ideal placement position is not possible There is an effect that can be.

【0270】この発明によれば、代替位置探索処理にお
けるパターン照合処理において、最適配置位置パターン
作成処理と、最適配置位置パターン記憶処理と、最適配
置位置パターン参照処理とを備えることにより、全体的
に均等に配置することができるという効果がある。
According to the present invention, in the pattern matching processing in the alternative position search processing, the optimum arrangement position pattern creation processing, the optimum arrangement position pattern storage processing, and the optimum arrangement position pattern reference processing are provided, so that the whole is provided. There is an effect that they can be arranged evenly.

【0271】この発明によれば、代替位置探索処理にお
けるパターン照合処理および近傍ランダム探索処理にお
いて、指標計算処理と、狭まり・借り更新処理と、借り
積算処理とを備えることにより、全体的に均等に配置す
ることができるという効果がある。
According to the present invention, in the pattern matching processing and the neighborhood random search processing in the alternative position search processing, the index calculation processing, the narrowing / borrow update processing, and the borrow accumulation processing are provided, so that the entirety is evenly distributed. There is an effect that it can be arranged.

【0272】この発明によれば、配置済みの帯域合計値
が判定値よりも小さい間では、処理対象のグループを理
想配置位置に配置できない場合には、理想配置位置を中
心としたCDV値以内の範囲で奇数アドレス(または偶
数アドレス)に優先的に配置するように構成したので、
母体テーブル上でグループの均等な配置が実現されてA
TMセルの衝突や輻輳が防止され、許容CDV値に対し
てより多くのグループ数を確保することができるという
効果がある。
According to the present invention, if the group to be processed cannot be arranged at the ideal arrangement position while the total band value already arranged is smaller than the determination value, the CDV value within the ideal arrangement position is the center. Since it was configured to preferentially place at odd addresses (or even addresses) in the range,
The group is evenly arranged on the parent table
There is an effect that TM cell collision and congestion are prevented, and a larger number of groups can be secured for the allowable CDV value.

【0273】この発明によれば、配置済みの帯域合計値
が判定値よりも小さい間では、理想配置位置が空アドレ
スであるか否かに拘らず、処理対象のグループが広帯域
な母体テーブル上で奇数アドレス(または偶数アドレ
ス)にすべて優先的に配置されるように構成したので、
母体テーブル上で非常に均等な配置が実現されるから、
許容CDV値に対してさらに多くのグループ数を確保す
ることができるという効果がある。
According to the present invention, while the total allocated band value is smaller than the determination value, regardless of whether or not the ideal allocation position is an empty address, the group to be processed is displayed on the broad base table. Since it is configured so that it is allocated preferentially to all odd addresses (or even addresses),
Because a very even arrangement is realized on the maternal table,
There is an effect that a larger number of groups can be secured for the allowable CDV value.

【0274】この発明によれば、帯域合計値に対して比
較される判定値が母体テーブルの全出力帯域の半分の値
として与えられるように構成したので、大部分の奇数ア
ドレスに対する配置が完了した後に、偶数アドレスの検
索へと切り替えられるから、空アドレスの検索を容易に
行うことができ、母体テーブルの作成を効率化すること
ができるという効果がある。
According to the present invention, since the judgment value to be compared with the total band value is provided as a half value of all the output bands of the matrix table, the arrangement for most odd addresses is completed. Since the search can be switched to the even address search later, an empty address can be easily searched, and the creation of the mother table can be made more efficient.

【0275】この発明によれば、処理対象のグループを
許容CDV値内の範囲の奇数アドレスまたは偶数アドレ
スに優先的に配置する際に、所定数で除した剰余が特定
の数値となるアドレスに処理対象のグループを配置する
ように構成したので、母体テーブル上でのグループの配
置がより制御されてグループが均等に配置されるから、
ATMセルの衝突や輻輳が防止されて許容CDV値に対
してより多くのグループ数を確保することができるとい
う効果がある。
According to the present invention, when a group to be processed is preferentially arranged at an odd address or an even address within a range within the allowable CDV value, the remainder divided by a predetermined number is processed to an address having a specific numerical value. Since the target groups are arranged, the arrangement of the groups on the parent table is more controlled and the groups are arranged evenly.
There is an effect that the collision and the congestion of the ATM cells are prevented, and a larger number of groups can be secured for the allowable CDV value.

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

【図1】 この発明の実施の形態1によるGIDテーブ
ルバンドを示す図である。
FIG. 1 is a diagram showing a GID table band according to Embodiment 1 of the present invention.

【図2】 この発明の実施の形態1によるGIDテーブ
ルリングを示す図である。
FIG. 2 is a diagram showing a GID table ring according to the first embodiment of the present invention.

【図3】 この発明の実施の形態1による用語を説明す
る図である。
FIG. 3 is a diagram illustrating terms according to the first embodiment of the present invention.

【図4】 この発明の実施の形態1による帯域割当概念
図である。
FIG. 4 is a conceptual diagram of band allocation according to the first embodiment of the present invention.

【図5】 この発明の実施の形態1による入力パターン
例を示す図である。
FIG. 5 is a diagram showing an example of an input pattern according to the first embodiment of the present invention.

【図6】 この発明の実施の形態1による優先度を説明
する図である。
FIG. 6 is a diagram illustrating priorities according to the first embodiment of the present invention.

【図7】 この発明の実施の形態1によるグループの階
層を示す図である。
FIG. 7 is a diagram showing a group hierarchy according to the first embodiment of the present invention.

【図8】 この発明の実施の形態1によるGID配置処
理を示すフローチャートである。
FIG. 8 is a flowchart showing a GID arrangement process according to the first embodiment of the present invention.

【図9】 この発明の実施の形態1による初期設定を示
すフローチャートである。
FIG. 9 is a flowchart showing an initial setting according to the first embodiment of the present invention.

【図10】 この発明の実施の形態1による同一帯域グ
ループ群配置処理を示すフローチャートである。
FIG. 10 is a flowchart showing the same band group group arrangement processing according to the first embodiment of the present invention.

【図11】 この発明の実施の形態1によるグループ配
置処理を示すフローチャートである。
FIG. 11 is a flowchart showing a group arrangement process according to the first embodiment of the present invention.

【図12】 この発明の実施の形態1による個別グルー
プ要素配置処理を示すフローチャートである。
FIG. 12 is a flowchart showing individual group element arrangement processing according to the first embodiment of the present invention.

【図13】 この発明の実施の形態1による関数cnt
_mix_clc_intを示すフローチャートであ
る。
FIG. 13 shows a function cnt according to the first embodiment of the present invention.
It is a flowchart which shows _mix_clc_int.

【図14】 この発明の実施の形態1による計算方式に
よるCDVと借りの比較を示す図である。
FIG. 14 is a diagram showing a comparison between CDV and borrowing by the calculation method according to the first embodiment of the present invention.

【図15】 この発明の実施の形態1による関数cnt
_mix_realを示すフローチャートである。
FIG. 15 shows a function cnt according to the first embodiment of the present invention.
13 is a flowchart showing _mix_real.

【図16】 この発明の実施の形態1による整数化法の
違いによる差異を示す図である。
FIG. 16 is a diagram illustrating a difference due to a difference in an integer conversion method according to the first embodiment of the present invention.

【図17】 この発明の実施の形態1による整数化と丸
めバイアスを説明する図である。
FIG. 17 is a diagram for explaining integerization and rounding bias according to the first embodiment of the present invention.

【図18】 この発明の実施の形態1による行列座標の
概念を示す図である。
FIG. 18 is a diagram showing a concept of matrix coordinates according to the first embodiment of the present invention.

【図19】 この発明の実施の形態1による行列座標の
例を示す図である。
FIG. 19 is a diagram showing an example of matrix coordinates according to the first embodiment of the present invention.

【図20】 この発明の実施の形態1による行列座標の
例を示す図である。
FIG. 20 is a diagram showing an example of matrix coordinates according to the first embodiment of the present invention.

【図21】 この発明の実施の形態1によるGIDから
行列座標を求める処理を説明する図である。
FIG. 21 is a diagram illustrating a process of obtaining matrix coordinates from a GID according to the first embodiment of the present invention.

【図22】 この発明の実施の形態1による関数cnt
_matrix_coordinate_setを示す
フローチャートである。
FIG. 22 shows a function cnt according to the first embodiment of the present invention.
13 is a flowchart illustrating _matrix_coordinate_set.

【図23】 この発明の実施の形態1による一個のグル
ープの配置を説明する図である。
FIG. 23 is a diagram illustrating an arrangement of one group according to the first embodiment of the present invention.

【図24】 この発明の実施の形態1による同一帯域の
二個のグループの配置を説明する図である。
FIG. 24 is a diagram illustrating an arrangement of two groups in the same band according to the first embodiment of the present invention.

【図25】 この発明の実施の形態1による同一帯域二
グループ配置の行列座標を示す図である。
FIG. 25 is a diagram showing matrix coordinates of the same-band two-group arrangement according to the first embodiment of the present invention.

【図26】 この発明の実施の形態1による関数cnt
_set_step_infを示すフローチャートであ
る。
FIG. 26 shows a function cnt according to the first embodiment of the present invention.
It is a flowchart which shows _set_step_inf.

【図27】 この発明の実施の形態1による関数cnt
_set_size_infを示すフローチャートであ
る。
FIG. 27 is a function cnt according to the first embodiment of the present invention;
13 is a flowchart illustrating _set_size_inf.

【図28】 この発明の実施の形態1によるステップと
サイズを説明する図である。
FIG. 28 is a diagram illustrating steps and sizes according to the first embodiment of the present invention.

【図29】 この発明の実施の形態1によるサイズ情報
保持テーブルの例を示す図である。
FIG. 29 is a diagram showing an example of a size information holding table according to the first embodiment of the present invention.

【図30】 この発明の実施の形態1によるサイズの配
置例を示す図である。
FIG. 30 is a diagram showing an example of a size arrangement according to the first embodiment of the present invention;

【図31】 この発明の実施の形態1による配置開始ス
テップの均等分散を説明する図である。
FIG. 31 is a diagram for explaining equal distribution of arrangement start steps according to the first embodiment of the present invention.

【図32】 この発明の実施の形態1による関数cnt
_set_start_offsetを示すフローチャ
ートである。
FIG. 32 shows a function cnt according to the first embodiment of the present invention.
13 is a flowchart illustrating _set_start_offset.

【図33】 この発明の実施の形態1による関数cnt
_set_clc_gidを示すフローチャートであ
る。
FIG. 33 shows a function cnt according to the first embodiment of the present invention.
It is a flowchart which shows _set_clc_gid.

【図34】 この発明の実施の形態1による関数cnt
_chk_gid_availableを示すフローチ
ャートである。
FIG. 34 shows a function cnt according to the first embodiment of the present invention.
It is a flowchart which shows _chk_gid_available.

【図35】 この発明の実施の形態1による理想位置に
配置できないときの処置を示す図である。
FIG. 35 is a diagram showing a treatment when it cannot be arranged at an ideal position according to the first embodiment of the present invention.

【図36】 この発明の実施の形態1による理想位置と
周辺を説明する図である。
FIG. 36 is a diagram illustrating an ideal position and a periphery according to the first embodiment of the present invention.

【図37】 この発明の実施の形態1によるロムテーブ
ルとパターン照合の仕組みを説明する図である。
FIG. 37 is a diagram illustrating a mechanism of a ROM table and pattern matching according to the first embodiment of the present invention.

【図38】 この発明の実施の形態1による関数cnt
_chk_cdv_pat_valueを示すフローチ
ャートである。
FIG. 38: Function cnt according to Embodiment 1 of the present invention
It is a flowchart which shows _chk_cdv_pat_value.

【図39】 この発明の実施の形態1による関数cnt
_chk_cdv_pat_R1357を示すフローチ
ャートである。
FIG. 39 shows a function cnt according to the first embodiment of the present invention.
It is a flowchart which shows _chk_cdv_pat_R1357.

【図40】 この発明の実施の形態1による関数cnt
_chk_start_rand_allを示すフロー
チャートである。
FIG. 40 is a function cnt according to Embodiment 1 of the present invention;
It is a flowchart which shows _chk_start_rand_all.

【図41】 この発明の実施の形態1による関数cnt
_cnk_cdv_randを示すフローチャートであ
る。
FIG. 41 shows a function cnt according to the first embodiment of the present invention.
It is a flowchart which shows _cnk_cdv_rand.

【図42】 この発明の実施の形態1によるCDV計算
アルゴリズムを示すフローチャートである。
FIG. 42 is a flowchart showing a CDV calculation algorithm according to the first embodiment of the present invention.

【図43】 この発明の実施の形態1によるCDV計算
の仕組みを説明する図である。
FIG. 43 is a diagram illustrating a mechanism of CDV calculation according to the first embodiment of the present invention.

【図44】 この発明の実施の形態1による許容CDV
値の増加を説明する図である。
FIG. 44: Permissible CDV according to Embodiment 1 of the present invention
It is a figure explaining an increase of a value.

【図45】 この発明の実施の形態1によるcnt_s
et_allow_cdvを示すフローチャートであ
る。
FIG. 45 shows cnt_s according to the first embodiment of the present invention.
It is a flowchart which shows et_allow_cdv.

【図46】 この発明の実施の形態1による乱数テーブ
ル保持内容を示す図である。
FIG. 46 is a diagram showing contents held in a random number table according to the first embodiment of the present invention.

【図47】 この発明の実施の形態1による関数cnt
_randを示すフローチャートである。
FIG. 47 is a function cnt according to Embodiment 1 of the present invention;
13 is a flowchart showing _rand.

【図48】 この発明の実施の形態1による関数cnt
_srandを示すフローチャートである。
FIG. 48 shows a function cnt according to the first embodiment of the present invention.
12 is a flowchart illustrating _sland.

【図49】 この発明の実施の形態1による乱数とCの
組込み乱数の比較を示す図である。
FIG. 49 is a diagram showing a comparison between a random number and a built-in random number of C according to the first embodiment of the present invention.

【図50】 この発明の実施の形態1による乱数を11
980回呼び出した際にちょうど一回発生した数を示す
図である。
FIG. 50 shows a case where the random number according to the first embodiment of the present invention is 11
It is a figure which shows the number which generate | occur | produced exactly once at the time of calling 980 times.

【図51】 この発明の実施の形態1による関数cnt
_log2を示すフローチャートである。
FIG. 51: Function cnt according to Embodiment 1 of the present invention
13 is a flowchart showing _log2.

【図52】 この発明の実施の形態2によるパラメータ
規定を示す図である。
FIG. 52 is a diagram showing parameter definition according to the second embodiment of the present invention.

【図53】 この発明の実施の形態2による掛算先行の
場合の倍精度による配置位置計算法を示すフローチャー
トである。
FIG. 53 is a flowchart showing an arrangement position calculation method using double precision in the case of multiplication preceding according to Embodiment 2 of the present invention;

【図54】 この発明の実施の形態2による割算先行の
場合の倍精度による配置位置計算法を示すフローチャー
トである。
FIG. 54 is a flowchart showing an arrangement position calculation method using double precision in the case of division precedence according to Embodiment 2 of the present invention;

【図55】 この発明の実施の形態3による固定小数点
表示による計算を説明する図である。
FIG. 55 is a diagram for explaining calculation by fixed-point notation according to the third embodiment of the present invention.

【図56】 この発明の実施の形態3による掛算先行の
場合の固定小数点表示による配置位置計算法を示すフロ
ーチャートである。
FIG. 56 is a flowchart showing an arrangement position calculation method using fixed-point notation in the case of multiplication preceding according to Embodiment 3 of the present invention.

【図57】 この発明の実施の形態3による掛算先行の
場合の固定小数点計算の必要ビット数を説明する図であ
る。
FIG. 57 is a diagram for explaining the required number of bits for fixed-point calculation in the case of multiplication-precedence according to the third embodiment of the present invention.

【図58】 この発明の実施の形態3による割算先行で
整数使用の場合の固定小数点表示による配置位置計算法
を示すフローチャートである。
FIG. 58 is a flowchart showing an arrangement position calculation method using fixed-point notation in the case where an integer is used before division according to Embodiment 3 of the present invention;

【図59】 この発明の実施の形態3による割算先行で
実数使用の場合の固定小数点表示による配置位置計算法
を示すフローチャートである。
FIG. 59 is a flowchart showing an arrangement position calculation method using fixed-point notation when a real number is used in advance of division according to Embodiment 3 of the present invention;

【図60】 この発明の実施の形態4によるres_r
es法を示すフローチャートである。
FIG. 60 shows res_r according to Embodiment 4 of the present invention.
It is a flowchart which shows an es method.

【図61】 この発明の実施の形態4によるパラメータ
を説明する図である。
FIG. 61 is a diagram illustrating parameters according to the fourth embodiment of the present invention.

【図62】 この発明の実施の形態4による各変数の値
の最大値/上限値と帯域の関係を示す図である。
FIG. 62 is a diagram showing the relationship between the maximum value / upper limit value of each variable and the band according to the fourth embodiment of the present invention.

【図63】 この発明の実施の形態4によるres_r
es法を示すフローチャートである。
FIG. 63 shows res_r according to Embodiment 4 of the present invention;
It is a flowchart which shows an es method.

【図64】 この発明の実施の形態4による丸め誤差の
最大値とround_bias_intの関係を示す図
である。
FIG. 64 is a diagram showing a relationship between a maximum value of a rounding error and round_bias_int according to the fourth embodiment of the present invention.

【図65】 この発明の実施の形態4による丸め誤差を
加算した場合のres_ans_sの最大値を示す図で
ある。
FIG. 65 is a diagram illustrating a maximum value of res_ans_s when a rounding error is added according to the fourth embodiment of the present invention.

【図66】 この発明の実施の形態4による評価指標と
結果を示す図である。
FIG. 66 is a diagram showing evaluation indexes and results according to the fourth embodiment of the present invention.

【図67】 この発明の実施の形態4によるdoubl
eとres_res法のanswerが異なる場合の数
を示す図である。
FIG. 67 shows a double according to Embodiment 4 of the present invention;
It is a figure which shows the number when e and answer of a res_res method differ.

【図68】 この発明の実施の形態5によるシェーピン
グ方法を実現する構成を示す概略図である。
FIG. 68 is a schematic diagram showing a configuration for realizing a shaping method according to Embodiment 5 of the present invention.

【図69】 この発明の実施の形態5による出力テーブ
ルの一例を示す図である。
FIG. 69 is a diagram showing an example of an output table according to the fifth embodiment of the present invention.

【図70】 この発明の実施の形態5によるシェーピン
グ方法を示すフローチャートである。
FIG. 70 is a flowchart showing a shaping method according to Embodiment 5 of the present invention.

【図71】 この発明の実施の形態6によるシェーピン
グ方法を示すフローチャートである。
FIG. 71 is a flowchart showing a shaping method according to Embodiment 6 of the present invention.

【図72】 この発明の実施の形態6による配置番地検
索処理1の処理内容を示すフローチャートである。
FIG. 72 is a flowchart showing the contents of a location address search process 1 according to Embodiment 6 of the present invention;

【図73】 この発明の実施の形態7によるシェーピン
グ方法を示すフローチャートである。
FIG. 73 is a flowchart showing a shaping method according to Embodiment 7 of the present invention.

【図74】 この発明の実施の形態8によるシェーピン
グ方法を示すフローチャートである。
FIG. 74 is a flowchart showing a shaping method according to Embodiment 8 of the present invention.

【図75】 この発明の実施の形態8による配置番地検
索処理2の処理内容を示すフローチャートである。
FIG. 75 is a flowchart showing the contents of a location address search process 2 according to Embodiment 8 of the present invention;

【図76】 この発明の実施の形態9によるシェーピン
グ方法を示すフローチャートである。
FIG. 76 is a flowchart showing a shaping method according to Embodiment 9 of the present invention.

【図77】 従来のシェーピング方法を説明する図であ
る。
FIG. 77 is a diagram illustrating a conventional shaping method.

【図78】 従来のシェーピング方法のGID配置手順
を示すフローチャートである。
FIG. 78 is a flowchart showing a GID arrangement procedure of a conventional shaping method.

【符号の説明】[Explanation of symbols]

1 CPU、2 シェーピング回路、3 スイッチ部、
4 入力インタフェース部、5 出力インタフェース
部、10 出力テーブル(グループ識別子配置テーブ
ル)、11 単位テーブル(スロット)。
1 CPU, 2 shaping circuit, 3 switch section,
4 input interface unit, 5 output interface unit, 10 output table (group identifier arrangement table), 11 unit table (slot).

【手続補正書】[Procedure amendment]

【提出日】平成11年9月3日(1999.9.3)[Submission date] September 3, 1999 (1999.9.3)

【手続補正1】[Procedure amendment 1]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】0179[Correction target item name] 0179

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【0179】 whole_divide_db =whole_db/divider_db; * この除算で切り捨てないというのがポイント */ whole_divide_db_shift =whole_divide_db; for(p=1;p<=SHIFT;p++) {whole_divide_db_shif = whole_divide_db_shift*2;} /*実数のSHIFTビットシフト*/ whole_divide_db_shift_int =(unsigned long)whole_divide_db_sh ift; /*ここまでが、(9)式の最初の2行のwhole_divideの計算 に対応*/ /*これ以降は整数で(9)式と同様の処理*/ answer_int=whole_divide_db_shift_in t*i; answer_int=answer_int>>SHIFT; (12)Whole_divide_db = whole_db / divider_db;/* The point that this division does not truncate is the point. * / Whole_divide_db_shift = whole_divide_db; for (p = 1; p <= SHIFT; p ++) {whole_divide_db_shiftt  = Whole_divide_db_shift * 2;} / * SHIFT bit shift of real number * / whole_divide_db_shift_int = (unsigned long) whole_division of / * correspond to / first_of * line / derivation of the first expression in / * correspond to / first of this expression; Thereafter, the same processing as in equation (9) is performed using an integer. * / Answer_int = whole_divide_db_shift_int * i; answer_int = answer_int >> SHIFT; (12)

【手続補正2】[Procedure amendment 2]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】0198[Correction target item name]

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【0198】プログラム例は以下のようになり、そのフ
ローチャートを図63に示す。 whole_quo=whole/divider; whole_res=whole%divider; res_s=whole_res<<S; res_quo_s=res_s/divider; res_res_s=res_s%divider; round_bias_s=(round_bias_
int<<S)/round_bias_pitch; /*上式の括弧無しでは除算が先に行われてしまう* *ここまではiに依存しない計算*/ res_quo_ans_s=res_quo_s*
i; res_res_ans_s=res_res_s*i
/divider; res_ans_s=res_quo_ans_s+r
es_res_ans_s+round_bias_
s; res_ans=res_ans_s>>S; quo_ans=whole_quo*i; answer=quo_ans+res_ans;
An example of the program is as follows, and its flowchart is shown in FIG. whol_quo = whole / divider; whol_res = whole% divider; res_s = whole_res <<S; res_quo_s = res_s / divider; res_res_divers_res = diversizer
int << S) / round_bias_pitch; / * division without the parentheses of the above equation is performed first want intends * / / * Up to this point, does not depend on i calculated * / res_quo_ans_s = res_quo_s *
i; res_res_ans_s = res_res_s * i
/ Divider; res_ans_s = res_quo_ans_s + r
es_res_ans_s + round_bias_
s; res_ans = res_ans_s >>S; quo_ans = whole_quo * i; answer = quo_ans + res_ans;

───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐々木 康仁 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 寺内 弘典 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 堤 俊介 東京都千代田区大手町二丁目3番1号 日 本電信電話株式会社内 (72)発明者 吉野 學 東京都千代田区大手町二丁目3番1号 日 本電信電話株式会社内 Fターム(参考) 5K030 GA01 HA10 HB29 KA03 LB19 LC02 LE01 MB12  ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Yasuhito Sasaki 2-3-2 Marunouchi, Chiyoda-ku, Tokyo Sanishi Electric Co., Ltd. (72) Hironori Terauchi 2-3-2 Marunouchi, Chiyoda-ku, Tokyo 3 Inside Ryo Denki Co., Ltd. (72) Inventor Shunsuke Tsutsumi 2-3-1 Otemachi, Chiyoda-ku, Tokyo Nippon Telegraph and Telephone Corporation (72) Inventor Manabu Yoshino 2-3-1 Otemachi, Chiyoda-ku, Tokyo F-term (reference) in Nippon Telegraph and Telephone Corporation 5K030 GA01 HA10 HB29 KA03 LB19 LC02 LE01 MB12

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 一個または複数個のグループの、グルー
プ毎に定められた個数の要素を、アドレスを有する複数
個のスロットから構成される母体テーブルに分散配置す
るシェーピング方法において、 帯域が同一の上記グループをまとめて配置する群化処理
と、 優先度の高い上記グループから配置する優先配置処理
と、 帯域が大きい上記グループから配置する降順処理と、 上記グループ毎の理想配置スロット位置(以下、スロッ
ト位置を位置と称す)を算出する理想位置算出処理と、 算出した上記理想配置位置にグループ要素を配置するグ
ループ要素配置処理と、 上記理想配置位置に配置できない場合に代替のスロット
を探索する代替位置探索処理とを備え、 上記理想位置算出処理が、 定められた個数の上記グループを上記母体テーブルへ均
等配置する際の、二種類の整数配置間隔を求める整数間
隔算出処理と、 定められた個数のグループを上記母体テーブルへ均等配
置する際の上記理想配置位置を、実数計算により求めて
整数化する実数間隔算出処理と、 上記実数間隔算出処理において、実数計算により求めた
値を整数化する際に、バイアスを加算してから整数化演
算処理を行うバイアス付加処理と、 上記二種類の整数配置間隔の選択順番を変化させる間隔
混合法変化処理と、 同一帯域グループ内の上記グループ毎の理想配置位置
を、上記整数配置間隔内に均等分散する群内理想位置均
等分散処理と、 上記同一帯域グループの上記グループ毎の配置開始位置
を、上記母体テーブルに均等分散する群内開始位置均等
分散処理と、 上記実数間隔算出処理および上記群内理想位置均等分散
処理により算出した理想配置位置と、上記群内開始位置
均等分散処理により算出した配分開始位置を行列座標に
して記憶する行列座標記憶処理と、 帯域の異なる上記グループの配置開始位置を、上記母体
テーブル内にランダム分散する開始位置ランダム分散処
理と、 同一帯域グループ内のグループ要素の均等配分を、上記
整数間隔算出処理および上記実数間隔算出処理を用いて
行う共通化均等配分処理と、 同一グループの要素の隣接スロットへの配置を禁止する
隣接配置禁止処理とを備え、 上記代替位置探索処理が、 上記理想配置位置の周辺のスロット配置状況を観察し、
あらかじめ記憶させておいた最適配置位置パターンと照
合し、最適配置位置を求めるパターン照合処理と、 上記母体テーブル内の配置済スロットの割合に依存し
て、上記最適配置位置パターンを変化させる配置割合依
存パターン照合処理と、 上記理想配置位置の近傍スロットをランダムに探索する
近傍ランダム探索処理と、 上記グループの配置開始位置を上記母体テーブル内でラ
ンダムに探索する全体ランダム探索処理と、 同一帯域グループ群の配置開始位置基準点を、上記母体
テーブル内で、所定の連続スロットの空をランダムに探
索する全体連続ランダム探索処理とを備えたことを特徴
とするシェーピング方法。
1. A shaping method for dispersing and arranging a number of elements of one or a plurality of groups, which are determined for each group, in a matrix table composed of a plurality of slots having addresses. Grouping processing for arranging groups together; priority allocation processing for arranging the groups with higher priority; descending order processing for arranging the groups with higher bandwidth; ideally arranged slot positions for each group (hereinafter, slot positions) Is called a position), a group element arranging process for arranging a group element at the calculated ideal arrangement position, and an alternative position search for searching for an alternative slot when the element cannot be arranged at the ideal arrangement position The ideal position calculation process, wherein a predetermined number of the groups are transferred to the matrix table. An integer interval calculation process for obtaining two types of integer arrangement intervals at the time of equal arrangement, and an ideal arrangement position for uniformly arranging a predetermined number of groups in the matrix table by real number calculation and converting it into an integer. A real number interval calculating process, and a bias adding process of adding a bias and then performing an integer calculating operation when converting the value obtained by the real number calculation into an integer in the real number interval calculating process; and the two types of integer arrangement intervals. An interval mixing method changing process of changing the selection order of the group; an ideal position equal distribution process in the group for equally distributing the ideal arrangement position of each group within the same band group within the integer arrangement interval; Intra-group start position equal distribution processing for equally distributing the arrangement start position for each group in the matrix table; real number interval calculation processing; and intra-group ideal position An ideal arrangement position calculated by the equal dispersion processing, a matrix coordinate storage processing for storing the distribution start position calculated by the intra-group start position equal distribution processing as matrix coordinates, and an arrangement start position of the group having a different band, A start position random distribution process in which random distribution is performed in the matrix table; Adjacent placement prohibition processing for prohibiting the placement of elements in adjacent slots, wherein the alternative position search processing observes a slot arrangement situation around the ideal arrangement position,
A pattern matching process for obtaining an optimal arrangement position by comparing with an optimal arrangement position pattern stored in advance, and an arrangement ratio dependent on changing the optimal arrangement position pattern depending on the ratio of arranged slots in the mother table. A pattern matching process, a near random search process for randomly searching for a nearby slot at the ideal placement position, a whole random search process for randomly searching for a placement start position of the group in the matrix table, A continuous random search process for randomly searching for an arrangement start position reference point in the matrix table in a predetermined continuous slot.
【請求項2】 理想位置算出処理におけるバイアス付加
処理において、付加するバイアス値をゼロ以上1未満と
する小数バイアス付加処理と、 上記理想位置算出処理における間隔混合法変化処理にお
いて、上記小数バイアス付加処理でバイアス値を変化さ
せ、グループ要素の再設定を行うバイアス変化処理と、 上記バイアス変化処理において、変化させるバイアス値
の順番をあらかじめ定めて、ゼロ以上1未満の値をとる
バイアス値に、バイアス値の種類の総数を乗じることに
よって整数値として、この整数値の数列とバイアス値の
種類総数を記憶させておくバイアス値変化パターン記憶
処理とを備えたことを特徴とする請求項1記載のシェー
ピング方法。
2. A bias adding process in an ideal position calculating process in which a bias value to be added is set to a value equal to or greater than zero and less than 1; and a decimal bias adding process in an interval mixing method changing process in the ideal position calculating process. In the bias change process of changing the bias value and resetting the group element, and in the bias change process, the order of the bias value to be changed is determined in advance, and the bias value that takes a value of zero or more and less than 1 is set to the bias value. 2. A shaping method according to claim 1, further comprising a sequence of integer values and a bias value change pattern storing process for storing the total number of types of bias values as integer values by multiplying the total number of types. .
【請求項3】 理想位置算出処理における実数間隔算出
処理において、32ビット以下の整数による固定小数点
変数を用いて、 母数を除数で除算し、第1の商と第1の剰余を求める第
1の処理と、 上記第1の剰余を所定のビット数だけ左シフトする(所
定のビット数回だけ2を乗ずる)第2の処理と、 上記左シフトされた第1の剰余を上記除数で除算し、第
2の商と第2の剰余を求める第3の処理と、 上記第2の商に、1以上で上記除数以下の第1の整数を
乗算し、第1の変数を求める第4の処理と、 上記第2の剰余に上記第1の整数を乗算し、上記除数で
除算し、第2の変数を求める第5の処理と、 上記第1の変数と上記第2の変数を加算し、第1の剰余
分回答を求める第6の処理と、 上記第1の剰余分回答を、上記所定のビット数だけ右シ
フトし(所定のビット数回だけ2で除算し)、第2の剰
余分回答を求める第7の処理と、 上記第1の商に上記第1の整数を乗算し、商分回答を求
める第8の処理と、 上記第2の剰余分回答と上記商分回答を加算することに
より、回答を求める第9の処理と、上記第1の整数を、
1以上から上記除数以下の範囲で変化させ、上記第4の
処 理から上記第9の処理を繰り返すループ処理とを備えた
ことを特徴とする請求項1記載のシェーピング方法。
3. In a real number interval calculation process in an ideal position calculation process, a parameter is divided by a divisor using a fixed-point variable of an integer of 32 bits or less to obtain a first quotient and a first remainder. A second processing of shifting the first remainder leftward by a predetermined number of bits (multiplying 2 by a predetermined number of times), and dividing the left-shifted first remainder by the divisor A third process for calculating a second quotient and a second remainder, and a fourth process for multiplying the second quotient by a first integer equal to or larger than 1 and equal to or smaller than the divisor to obtain a first variable. A fifth process of multiplying the second remainder by the first integer and dividing by the divisor to obtain a second variable; and adding the first variable and the second variable; A sixth processing for obtaining a first surplus answer; and a method for converting the first surplus answer to the predetermined number of bits. 7. Shift right (divide by 2 for a predetermined number of bits) and obtain a second surplus answer. Multiply the first quotient by the first integer to obtain a quotient answer. An eighth process, a ninth process for obtaining an answer by adding the second surplus answer and the quotient answer, and a first integer
2. The shaping method according to claim 1, further comprising: a loop process of changing the number from 1 or more to the divisor or less and repeating the fourth process to the ninth process.
【請求項4】 理想位置算出処理における開始位置ラン
ダム分散処理、ならびに代替位置探索処理における近傍
ランダム探索処理、全体ランダム探索処理および全体連
続ランダム探索処理において、 2のべき乗値で表される乱数の周期を引数とし、周期毎
に異なる変数を設け、周期毎の変数を初期化する乱数初
期化処理と、 周期毎の変数を一次関数で更新する処理と、 一周期間の乱数発生時にゼロと最大目的地の間の各整数
を1回または2回ランダムに発生させる乱数発生周期制
御処理と、 上記最大目的地を越えない最小の2のべき乗の周期を選
択する周期選択処理と、 上記選択した2のべき乗の周期の乱数関数を呼出す乱数
関数呼出し処理とを備えたことを特徴とする請求項1記
載のシェーピング方法。
4. A cycle of a random number represented by a power of 2 in a random distribution process of a start position in an ideal position calculation process, a neighborhood random search process, a whole random search process, and a whole continuous random search process in an alternative position search process. , A variable that is different for each cycle, and a variable that initializes the variable for each cycle, a process that updates the variable for each cycle with a linear function, and zero and maximum destination when a random number is generated for one cycle A random number generation cycle control process for randomly generating each integer between once or twice, a cycle selection process for selecting a minimum power-of-two cycle that does not exceed the maximum destination, and a power-of-two selected above 2. The shaping method according to claim 1, further comprising a random number function calling process for calling a random number function having a period of:
【請求項5】 代替位置探索処理におけるパターン照合
処理において、 あらかじめ行っておく最適配置位置パターン作成処理
と、 あらかじめ行っておく最適配置位置パターン記憶処理
と、 パターン照合時に行う最適配置位置パターン参照処理と
を備え、 上記最適配置位置パターン作成処理が、 同程度に適した空位置があるときは全てを配置候補とす
る処理と、 新規配置により、配置済の連続が発生しない空位置があ
る場合には、上記空位置を配置候補とする処理と、 配置済の連続が発生しない空位置がない場合には、配置
済の連続数が最小となる位置を配置候補とする処理とを
備え、 上記最適配置位置パターン記憶処理において記憶するパ
ターンが、 理想配置位置周辺のスロットの配置状況を、配置済スロ
ットを1、空スロットを0として1と0の連続数列で表
し、これを二進数列とみなして十進数に換算した配置状
況パターンと、 最適配置位置パターンにおける配置候補数と、 最適配置位置パターンにおける配置候補位置を、理想配
置位置との相対位置で表して羅列した配置候補位置とを
備え、 上記最適配置位置パターン参照処理が、 現在の理想配置位置周辺のスロットの配置状況を調査し
て配置状況パターンを作成する処理と、 上記最適配置位置パターン記憶処理において記憶された
パターンを参照する処理と、 上記最適配置位置パターン記憶処理において記憶された
配置候補数が複数あるときは、乱数により配置候補位置
の一つを選択する処理とを備えたことを特徴とする請求
項1記載のシェーピング方法。
5. In the pattern matching processing in the alternative position search processing, an optimum arrangement position pattern creation processing performed in advance, an optimal arrangement position pattern storage processing performed in advance, and an optimal arrangement position pattern reference processing performed in pattern matching are performed. If the above-mentioned optimal arrangement position pattern creation processing includes empty positions that are equally suitable, there is a process in which all of them are arrangement candidates. A process of setting the vacant position as an arrangement candidate, and a process of setting a position with the smallest number of arranged continuations as an arrangement candidate when there is no vacant position where the arranged continuation does not occur; The patterns to be stored in the position pattern storage processing are as follows: the arrangement state of the slots around the ideal arrangement position is set as 1 for the arranged slots and 0 for the empty slots. An arrangement pattern that is expressed as a continuous number sequence of 1s and 0s and is converted into a decimal number by regarding this as a binary number sequence, the number of arrangement candidates in the optimal arrangement position pattern, and the arrangement candidate position in the optimal arrangement position pattern is represented by an ideal arrangement. A layout candidate position represented by a relative position with respect to the position, wherein the optimal layout position pattern reference process investigates the layout status of slots around the current ideal layout position and creates a layout status pattern; A process of referring to the pattern stored in the optimal arrangement position pattern storage process; and a process of selecting one of the arrangement candidate positions by using a random number when there are a plurality of arrangement candidates stored in the optimal arrangement position pattern storage process. The shaping method according to claim 1, further comprising:
【請求項6】 代替位置探索処理におけるパターン照合
処理および近傍ランダム探索処理において、 理想位置に配置できない場合に実際に配置された代替位
置が、理想位置より母体テーブルにおいて右側(スロッ
トアドレスの大きい側)に配置された場合のスロット数
のずれ(代替位置と理想位置のアドレスの差)を表す変
数である借りを、算出した理想配置位置アドレスに加算
し、代替位置アドレスを減算して指標を求める指標計算
処理と、 上記指標が正またはゼロの場合には、代替位置が、理想
位置より母体テーブルにおいて左側(スロットアドレス
の小さい側)に配置された場合のスロット数のずれ(代
替位置と理想位置のアドレスの差)を表す狭まりを指標
とし、かつ新規借りをゼロとし、上記指標が負の場合に
は上記狭まりをゼロとし、上記新規借りを上記指標の絶
対値とする狭まり・借り更新処理と、 上記新規借りをこれまでの借りの積算値に加算する借り
積算処理とを備えたことを特徴とする請求項1記載のシ
ェーピング方法。
6. In a pattern matching process and a neighborhood random search process in an alternative position search process, an alternative position actually arranged when an ideal position cannot be arranged is shifted to the right of the mother table from the ideal position (a side with a larger slot address). Is added to the calculated ideal arrangement position address, and the index is obtained by subtracting the substitute position address to obtain an index. Calculation processing, and when the index is positive or zero, the difference in the number of slots when the alternate position is located on the left side (smaller slot address) in the mother table from the ideal position (the difference between the alternate position and the ideal position). Address difference) as an index, and new borrowing as zero; if the index is negative, the narrowing as zero 2. The borrowing and borrowing updating process of setting the new borrowing as an absolute value of the index and a borrowing accumulating process of adding the new borrowing to the accumulated value of the borrowing so far. Shaping method.
【請求項7】 一個または複数個のコネクションの、コ
ネクション毎に定められた出力帯域に基づいて伝送され
る固定長セルの送出間隔を調整するシェーピング方法に
おいて、 コネクション、または幾つかのコネクションの集合とし
て構成されるコネクショングループ(以下、まとめてグ
ループと称す)に対して要求される帯域値の大きな順に
グループを並び替える処理と、 帯域値順に、処理対象のグループに対して固定長セルを
送出する際の理想送出間隔を算出する処理と、 それぞれがアドレスを有する複数のスロットから構成さ
れて固定長セルの出力順を規定する母体テーブル上に、
処理対象のグループについて配置開始位置を含めた全て
の配置位置について理想配置位置を順次決定する処理
と、 上記理想配置位置に処理対象のグループを配置できるか
否かを判定する処理と、 配置可能である場合には、上記理想配置位置に処理対象
のグループを配置する処理と、 配置不可である場合には、配置済みの帯域合計値が判定
値よりも小さい時には上記理想配置位置を中心とした許
容CDV値内の範囲の奇数アドレス(または偶数アドレ
ス)に優先的に処理対象のグループを配置し、配置済み
の帯域合計値が判定値よりも大きい時には許容CDV値
内の範囲の任意のアドレスに処理対象のグループを配置
する処理とを備えたことを特徴とするシェーピング方
法。
7. A shaping method for adjusting a transmission interval of fixed-length cells transmitted based on an output band determined for each connection of one or a plurality of connections, comprising: a connection or a set of several connections; A process of rearranging groups in the order of larger bandwidth values required for a configured connection group (hereinafter collectively referred to as a group), and transmitting fixed-length cells to a group to be processed in the order of bandwidth values. Processing for calculating an ideal transmission interval of a plurality of slots each having an address, and a matrix table for defining the output order of fixed-length cells,
A process of sequentially determining ideal placement positions for all placement positions including a placement start position for a processing target group; a process of determining whether a processing target group can be placed at the ideal placement position; In some cases, the processing of arranging the group to be processed at the ideal arrangement position, and when the arrangement is not possible, when the total value of the arranged bands is smaller than the determination value, the tolerance centered on the ideal arrangement position is allowed. A group to be processed is preferentially arranged at odd addresses (or even addresses) within the range of the CDV value, and when the arranged band total value is larger than the determination value, processing is performed at an arbitrary address within the range of the allowable CDV value. And a process of arranging a target group.
【請求項8】 一個または複数個のコネクションの、コ
ネクション毎に定められた出力帯域に基づいて伝送され
る固定長セルの送出間隔を調整するシェーピング方法に
おいて、 コネクション、または幾つかのコネクションの集合とし
て構成されるコネクショングループ(以下、まとめてグ
ループと称す)に対して要求される帯域値の大きな順に
グループを並び替える処理と、 帯域値順に、処理対象のグループに対して固定長セルを
送出する際の理想送出間隔を算出する処理と、 それぞれがアドレスを有する複数のスロットから構成さ
れて固定長セルの出力順を規定する出力テーブル上に、
処理対象のグループについて配置開始位置を含めた全て
の配置位置について理想配置位置を順次決定する処理
と、 配置済みの帯域合計値が判定値よりも小さい場合には、
理想配置位置を中心とした許容CDV値内の範囲の奇数
アドレス(または偶数アドレス)に優先的に処理対象の
グループを配置し、配置済みの帯域合計値が判定値より
も大きい場合には、理想配置位置を中心とした許容CD
V値内の範囲の任意のアドレスに処理対象のグループを
配置する処理とを備えたことを特徴とするシェーピング
方法。
8. A shaping method for adjusting a transmission interval of fixed-length cells transmitted based on an output band defined for each connection of one or a plurality of connections, comprising: a connection or a set of several connections; A process of rearranging groups in the order of larger bandwidth values required for a configured connection group (hereinafter collectively referred to as a group), and transmitting fixed-length cells to a group to be processed in the order of bandwidth values. A process of calculating an ideal transmission interval of a plurality of slots, each of which has an address, on an output table that defines the output order of fixed-length cells,
The process of sequentially determining the ideal arrangement position for all the arrangement positions including the arrangement start position for the processing target group, and when the total band value already arranged is smaller than the determination value,
If the group to be processed is preferentially arranged at odd addresses (or even addresses) within the allowable CDV value centered on the ideal arrangement position, and if the total allocated band value is larger than the determination value, the ideal Allowable CD centering on the placement position
Arranging a group to be processed at an arbitrary address within a range of the V value.
【請求項9】 帯域合計値に対して比較される判定値
が、母体テーブルの全出力帯域の半分の値として与えら
れることを特徴とする請求項7または請求項8記載のシ
ェーピング方法。
9. The shaping method according to claim 7, wherein the judgment value to be compared with the total band value is given as a half value of all the output bands of the matrix table.
【請求項10】 処理対象のグループを許容CDV値内
の範囲の奇数アドレス(または偶数アドレス)に優先的
に配置する際に、所定数で除した剰余が特定の数値とな
るアドレスに処理対象のグループを配置することを特徴
とする請求項7または請求項8記載のシェーピング方
法。
10. When a group to be processed is preferentially arranged at an odd address (or an even address) within a range of allowable CDV values, a target to be processed is assigned to an address whose remainder obtained by dividing by a predetermined number becomes a specific numerical value. 9. The shaping method according to claim 7, wherein groups are arranged.
JP22875699A 1999-08-12 1999-08-12 Shaping method Expired - Fee Related JP3691297B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22875699A JP3691297B2 (en) 1999-08-12 1999-08-12 Shaping method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22875699A JP3691297B2 (en) 1999-08-12 1999-08-12 Shaping method

Publications (2)

Publication Number Publication Date
JP2001053747A true JP2001053747A (en) 2001-02-23
JP3691297B2 JP3691297B2 (en) 2005-09-07

Family

ID=16881345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22875699A Expired - Fee Related JP3691297B2 (en) 1999-08-12 1999-08-12 Shaping method

Country Status (1)

Country Link
JP (1) JP3691297B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008503127A (en) * 2004-06-15 2008-01-31 ノキア コーポレイション Network device and traffic shaping method
JP2011019114A (en) * 2009-07-09 2011-01-27 Denso Corp Communication node and network system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008503127A (en) * 2004-06-15 2008-01-31 ノキア コーポレイション Network device and traffic shaping method
JP2011019114A (en) * 2009-07-09 2011-01-27 Denso Corp Communication node and network system

Also Published As

Publication number Publication date
JP3691297B2 (en) 2005-09-07

Similar Documents

Publication Publication Date Title
Thorup Integer priority queues with decrease key in constant time and the single source shortest paths problem
JP2957703B2 (en) Method and memory structure for storing and retrieving data
US5745490A (en) Variable bit rate scheduler
CA1190978A (en) Discrete random variates generator
US6484170B2 (en) Generating searchable data entries and applications therefore
Brodal et al. Cache-oblivious data structures and algorithms for undirected breadth-first search and shortest paths
Böckenhauer et al. Online algorithms with advice: The tape model
US6976021B2 (en) Method, system, and computer program product for managing a re-usable resource with linked list groups
WO1997042736A1 (en) Asynchronous transfer mode cell processing system with load multiple instruction and memory write-back
CN109977373B (en) Identification number distribution method, identification number recovery method and device
JP2001053747A (en) Shaping method
CA2237276C (en) Binary-tree data element sorting device and atm spacer comprising such a device
US5870584A (en) Method and apparatus for sorting elements
CN108776698B (en) Spark-based anti-deflection data fragmentation method
Pan et al. An efficient sort-based DDM matching algorithm for HLA applications with a large spatial environment
CN110365346B (en) Arithmetic entropy coding method and system
US5794025A (en) Method and device for performing modulo-based arithmetic operations in an asynchronous transfer mode cell processing system
JP3801740B2 (en) Cell flow rate control method and cell exchange system using the same
JP3863421B2 (en) Data transfer combination determination method and combination determination circuit
CN1142703C (en) Interfacing device to replace M sets of bits out of N sets of bits, control unit and logical cell
EP1327194A2 (en) A data structure, memory allocator and memory management system
CN1123165C (en) Method and network element for relaying event reports
CN116880775B (en) Hardware management module, chip, electronic equipment and method for storage space
KR100298127B1 (en) Digital filter
CN110868203B (en) Signal processing method, device and selection circuit

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050106

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050517

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050615

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080624

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090624

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100624

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100624

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110624

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees