JP2993502B2 - パターン発生方法 - Google Patents
パターン発生方法Info
- Publication number
- JP2993502B2 JP2993502B2 JP10-354149A JP35414998A JP2993502B2 JP 2993502 B2 JP2993502 B2 JP 2993502B2 JP 35414998 A JP35414998 A JP 35414998A JP 2993502 B2 JP2993502 B2 JP 2993502B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- pattern
- alpg
- instruction
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000000875 corresponding Effects 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 102100013690 ALPG Human genes 0.000 description 40
- 101710016959 ALPG Proteins 0.000 description 38
- 238000010586 diagram Methods 0.000 description 9
- 238000000034 method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000001186 cumulative Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は半導体メモリ試験用パタ
ーン発生方法に係り、特に、高速メモリを試験するに好
適なパターン発生方法に関する。 【0002】 【従来の技術】従来の高速化対応パターン発生装置は、
特開昭54−12657号に記載のように、N個のパタ
ーン発生器を設けてその出力を順次取出せるよう構成
し、全体として、個々のパターン発生器動作速度のN倍
の速度でパターン発生を行なうIC試験装置となってい
た。このとき、被試験ICがロジックICであれば個々
のパターン発生器は、通常、テストパターンそのものを
格納するメモリと、それを読出す比較的単純な制御論理
回路で構成され、該公知例に示された如く並列読出しに
よる動作の高速化が図れる。 【0003】 【発明が解決しようとする課題】しかしながら、上記従
来技術はメモリICの試験に関しては充分な配慮がなさ
れていない。実際に、被試験ICがメモリの場合にはパ
ターン発生器として、演算機能を持ったマイクロプログ
ラム方式のアルゴリズミックパターン発生器(ALP
G)が使用されるが、これを並列動作させるには、ただ
単に従来のALPGをN個並べただけでは、ユーザ自身
が個個のALPGについて並列動作を考慮したプログラ
ムを作成せねばならず、従来の演算器構成でダミーサイ
クルの許されないメモリICテストパターンを作成する
のは実用上ほとんど困難であった。尚、従来のALPG
構成とALPG演算器構成は特公昭57−52679
「パターン発生装置」と特公昭54−36055「パタ
ーン発生装置」において詳細に述べられている。 【0004】そこで、ユーザには並列動作を意識させる
ことなく従来通りのプログラムを書かせ、これを計算機
処理して、並列動作する個々のALPGに対応したプロ
グラムを生成して並列ALPGの実用化を図ることが考
えられる。これには並列プログラミング技術と従来には
ない専用の演算器構成が必要となるが、このような点に
ついては上記従来技術では配慮されていなかった。 【0005】本発明の目的は上述のような問題点を解消
し、高速なメモリIC試験パターンの発生を可能にする
ことにある。 【0006】 【課題を解決するための手段】上記目的の達成には、ユ
ーザの書いた1台分のプログラムを基に、並列動作する
N台分のALPGプログラムを生成する技術と、該技術
によって生成された新しい演算命令を実行することので
きる演算器構成が必要となる。 【0007】以下、図2を用いて並列ALPG用プログ
ラムの生成原理を説明する。 【0008】図2(a)は従来のALPG1台の動作を
示している。ここで、SはALPGの演算用内部レジス
タ等の状態を表わし、OはALPGの出力を表わしてい
る。gは出力命令であり、ALPGの演算用内部状態S
を変更することなく、Sを基に出力Oを得る命令であ
る。fは内部状態更新命令である。いま、ある時刻(サ
イクル)Tにおける内部状態をSTとすると、同時刻
(サイクル)での出力命令gTによって出力OTが得ら
れ、内部状態更新命令fTによってSTが更新されて、
次の時刻(サイクル)T+1における演算用内部状態S
T+1が得られる。すなわち、 OT=gT(ST) ………(数1) ST+1=fT(ST) ………(数2) の2つの式によってALPGが次々と内部状態を更新し
ながら、それに応じた値を出力していく様子を表わすこ
とができる。 【0009】図2(b)は3台のALPGを用いて順次
出力させることにより図2(a)と同じ出力系列を得る
時の様子を示している。各々のALPGは互いに1サイ
クル分ずれながら、元の1台分のALPGにおける飛び
飛びの内部状態と出力を順次実現している。ここでAL
PG1の動作は、 OT=GT(ST) ………(数3) ST+3=FT(ST) ………(数4) と表わせる。 【0010】(数1)及び(数3)より、 OT=gT(ST)=GT(ST) よってgT=GT ………(数5) (数2)及び(数4)より、 ST+3=fT+2(ST+2)=fT+2・fT+1(ST+1) =fT+2・fT+1・fT(ST)=FT(ST) よって、FT=fT+2・fT+1・fT ………(数6) となる。ここで、fT+2・fT+1・fTは命令効果
の累積を意味しており、例えばfTが演算レジスタへの
+1を指示し、fT+1が同じく+3を指示し、f
T+2が−2を指示しているならば、FTは+1+3−
2の累積効果である+2を意味する。 【0011】一般に、N台のALPGでは、 OT=GT(ST) ………(数7) ST+N=FT(ST) ………(数8) GT=gT ………(数9) FT=fT+N−1・fT+N−2・……・fT+2・fT+1・fT …(数10) となり、これら(数7),(数8),(数9),(数1
0)の4式が並列プログラム生成の原理である。 【0012】以上によって並列プログラムの生成方法が
明らかとなった。ここで出力命令GTは(数9)式から
分る通り従来の出力命令gTと同じであり、その実行に
は従来にない特別なハードウェアを必要としない。しか
しながら、内部状態更新命令FTは(数10)式の通り
従来の内部状態更新命令fのN個累積したものであり、
従来のALPG用演算器構成では実行不可能である。 【0013】図3は従来のALPGにおける演算器構成
を示している。このような構成は特公昭第54−360
55号や特公昭第57−52679号によっても明らか
にされている。図3に示すように従来の演算器は演算レ
ジスタに対する定数レジスタの値のロードや加減算を行
なうようになっていた。 【0014】これに対して累積化された演算命令は従来
の演算器にない機能が必要となってくる。図4は従来の
演算命令体系と累積化された演算命令体系を示してい
る。図4(a)は最も簡素な従来の演算命令セットであ
り、(b)はその累積化命令セットである。同様に
(c)は拡張された従来の命令セットで、(d)はその
累積化命令セットである。ここでnやn1,n2は累積
する命令の種類や並んでいる命令の順番によっても異な
る値をとるため、予め定数レジスタにこれをセットして
使用するのは困難である。 【0015】そこで本発明では、上記目的を達成するた
めに、演算命令を含んだパターン発生プログラムを用い
てN個(Nは2以上の整数)の変換プログラムを生成
し、該N個の変換プログラムを対応するN個のパターン
発生手段を用いて実行してデジタルデータパターンを発
生するパターン発生方法において、入力されたパターン
発生プログラムにおいて連続して実行される演算命令を
N個毎に累積するステップと、該N個の演算命令を累積
して得られた累積値を演算定数とする1つの演算命令を
生成するステップと、該生成された演算命令を該パター
ン発生手段の有するメモリに格納するステップとを各々
のパターン発生手段に対して実行してN個のパターン発
生手段に対応するN個の変換プログラムを生成し、該各
々のパターン発生手段が対応する変換プログラムを実行
し、該N個のパターン発生手段の実行結果を用いてデジ
タルデータパターンを発生するものである。 【0016】例えば、図8に示す演算器構成とし、予め
メモリ1にnやn1,n2の情報を格納しておき、動作
時にこれらの情報を読み出して、定数レジスタ2や演算
レジスタ4の値と共に算術演算する。 【0017】 【作用】以下、具体的なプログラムを例にとり、先述し
た並列プログラミング生成方法と演算器における実行の
様子を記し、各々の作用を説明する。 【0018】図5(a)は従来の1台分のALPGプロ
グラムである。これは7行より成るプログラムで、実行
順序制御命令,演算命令,出力命令から構成される。こ
こで簡単のために、実行順序制御命令そのものは表示せ
ず、順序のみを示している。また、演算命令体系は先き
に図4(a)に示したものとする。LDA Rは定数レ
ジスタRの値を演算レジスタAにロードすることを指示
し、INCR Aは演算レジスタAに+1することを指
示し、DECR Aは演算レジスタAに−1することを
指示し、HOLDは演算レジスタAの値を変更しないこ
とを指示している。 【0019】OUTAは出力命令であり、演算レジスタ
Aの値をそのまま出力することを指示し、OUTABは
演算レジスタAの値の反転した値を出力することを指示
している。 【0020】定数レジスタRの値を100とし、演算レ
ジスタAの初期値を0として図5(a)のプログラムを
実行して得られる出力系列を図7(a)に示す。 【0021】いま、3台のALPGを使用して、これと
同じ出力系列を得る場合を例にとり、並列プログラムの
生成を以下に記す。 【0022】先述したように並列プログラムは元のプロ
グラムを実行順序に従ってN個(この例では3個)ずつ
まとめることによって得られる。図5(b)は、図5
(a)に示したプログラムの実行順序を明確にするため
に繰り返し部分を展開して表わしたものである。 【0023】図6(a),(b),(c)は3台のAL
PGについて、図5(b)の実行順序を1つずつずれた
位置から3つずつの命令をまとめたものである。例えば
図6(a)は図5(b)において先頭から1つ後の位置
より3つずつまとめたものである。ここで同じ命令が得
られるものは繰り返しとして表わしている。図6(a)
の3行目は元のプログラムの,,の3つの命令を
まとめたものであり、出力命令はこれら3つの最も先頭
ののものをそのまま使用し、演算命令は+1,Loa
dA R,−1の3つをまとめ、LoadA(R−1)
となっている。 【0024】図6(b),(c)についても同様の方法
で変換したものである。ここで、元のプログラムでは演
算レジスタAへのロード数は全て定数レジスタRの値で
あったのに対し、変換後はR−2,R−1,R,R+
1,R+2となっており、また演算命令も元のプログラ
ムでは±1であったのに対し、ADDA(加算)3やS
UBA(減算)3……等の演算数が増えている。このよ
うな±1,±2,±3等の演算数は、図8に示した演算
器のメモリ1に予め格納しておくことにより演算可能と
なる。実際、図8に示した本発明に係る演算器構成を採
れば、図6(a),(b),(c)に表われる全ての演
算は明らかに実行可能である。 【0025】図6(a),(b),(c)の実行結果を
図7(b),(c),(d)に示す。3台のALPGか
ら順次、元の出力系列である図7(a)に相当する出力
が得られるのが分る。 【0026】 【実施例】以下、本発明の実施例を図面に基づき説明す
る。 【0027】図1においてALPGの台数を3台とし、
順次パターンを出力させるものとする(N=3とす
る)。 【0028】まず、一台分のALPGはプログラムの実
行順序を制御する命令(繰り返し制御等)を格納するメ
モリ5と、このメモリの読み出しアドレス10を出力す
るプログラムカウンタ6と、メモリ5より読み出された
制御命令11を解釈して、対応する制御信号12をプロ
グラムカウンタ6へ出力し、次に発生すべきアドレスの
指示を行なう制御器7と、プログラムカウンタ6の発生
したアドレス10に対応したアドレス10’でアクセス
され、算術演算回路3での演算に必要な情報52を読み
出すメモリ1と、演算に必要な定数51を予め格納保持
する定数レジスタ2と、メモリ1の出力する演算情報を
用いて算術演算を行なう算術演算回路3と、演算結果5
2を毎時取り込み保持する演算レジスタ4と、演算レジ
スタ4の出力53をそのまま、または算術論理処理を施
して出力(53’−1)する出力回路(図示せず)とを
備えている。図1で、アドレス10とアドレス10’と
の間にはバッファ回路を設けてもよいし、アドレス10
をそのままメモリ1に入力してもよい。 【0029】更に、図1ではメモリ1とメモリ5とは別
の記憶手段のように記載されているが、被演算情報50
と演算種類指定55とが予め格納されていれば同じメモ
リであってもよい。 【0030】ALPG全体の構成は上記ALPGを3台
(100−1,100−2,100−3)備え、各々の
出力(53’−1,53’−2,53’−3)を順次切
り換えて出力60する順次出力回路70と、各々のAL
PG及び順次出力回路70へ動作クロックを出力するク
ロック発生器400と、ユーザの作成したプログラムを
解析し実行順序に従ってN個(本実施例では3個)ずつ
並列化処理を行ない各ALPG(100−1,100−
2,100−3)の各々のプログラムを生成する計算機
200と、生成された各命令や演算数を各々のALPG
のメモリへ転送するデータ転送経路300より構成され
る。 【0031】本実施例においてユーザの指示できる演算
命令体系は図4(a)に示した通りとする。ユーザの作
成したプログラムが図5(a)に示したものとして以
下、動作を説明する。 【0032】計算機200において図5(a)のプログ
ラムの実行順序の解析を行ない、3台分のALPGプロ
グラム(図6(a),(b),(c))を生成する。各
々のALPGにはデータ転送経路300を通してプログ
ラムのロードを行なう。例えばALPG100−1には
図6(a)のプログラム、ALPG100−2には図6
(b)のプログラム、ALPG100−3には図6
(c)のプログラムをロードする。定数レジスタRの値
は“100”に、演算レジスタAの値は“0”にセット
しておくことは3台のALPGに共通である。 【0033】各々のALPGにおけるプログラムの実行
結果は図7(b),(c),(d)に示す如くである。 【0034】順次出力回路70はクロック401が入力
される毎に3台のALPGの出力を順次出力する。実際
のタイムチャートを図9に示す。各々のALPGのクロ
ック周期は順次出力回路のクロック周期のN倍(この場
合は、3倍)の長さである。図9のように順次出力回路
70の出力60では図7(a)に示したパターン系列が
得られる。 【0035】図1に示した演算器部分の具体的構成は図
10に示すようになる。図10において、ALUは入力
に対して、±n(0≦n)の演算を行なうことができ
る。図10(b)は(a)における選択器とALUの位
置付けを入れ替えたものであり、同じ効果が得られる。
さらに演算命令体系が図4(d)の時は、定数レジスタ
の出力に乗算器を設ける構成をとれば良い。また本実施
例では一本の演算レジスタに一本の定数レジスタの構成
で説明したが、各々複数本備えても良い。一本の演算レ
ジスタに対して複数本の定数レジスタから演算を行なう
ようにした場合は、複雑な演算器構成となるが、各々の
定数レジスタの出力に乗算器を設けてそれらの出力間で
加減算した結果をさらに演算レジスタとの加減算後、演
算レジスタへ代入するような構成とすれば良い。 【0036】本実施例では3台のALPGを用いて高速
化したがこれに限らず複数台であれば良い。また図1で
はプログラムの並列化を行なう計算機とALPGがハー
ド的に結合されているように説明したが、これに限ら
ず、磁気テープ,フロッピーディスク等の媒体を介して
も良い。この時は媒体の読み取り装置とALPGとの間
でデータ転送経路を設けるようにする。 【0037】本実施例では、プログラムカウンタ6の出
力アドレス10と、メモリ1のアクセスするアドレス1
0’が同一の如く説明したが、これらの間にテーブルメ
モリや論理回路を設けて、変換を行なったアドレスでメ
モリ1をアクセスしても良い。要はアドレス10’がア
ドレス10に一義的に対応していれば良いのである。 【0038】これまでの説明ではメモリ5やメモリ1を
書き替え可能なものとしていたが、これは本質的なもの
ではなく、発生すべきテストパターンの種類が限定され
ていれば並列化したプログラム内容を予め「読み出し専
用メモリ」に焼き込み、これをメモリ5,メモリ1に使
用しても良い。 【0039】また実施例では、メモリ1から0≦n≦N
程度の数値を読み出して定数レジスタや演算レジスタへ
の加減算を行なうように説明したが、演算レジスタのビ
ット幅以上のビット幅を持つメモリを用意して、予め定
数Rに±nを行なった数値をこのメモリに記憶させてお
き、定数レジスタを使用しないように構成することも可
能である。 【0040】また、定数レジスタを多数本設け、これら
に予めR±nの値をセットしておいても良い。 【0041】更に、順次出力回路は、特開昭54−12
657号に記載されているように、マルチプレクサで構
成してもよいし、特開昭56−101224号に記載さ
れているようにシフトレジスタで構成してもよい。 【0042】 【発明の効果】本発明によれば、ユーザプログラムによ
って指示されたテストパターンの飛び飛びの値を出力さ
せる演算命令の生成と実行が可能となり、従って複数台
のALPGを用いて順次所望のテストパターンを出力さ
せることができるので、個々のALPGの最高動作速度
の数倍の速度でテストパターンを発生することが可能と
なる。
ーン発生方法に係り、特に、高速メモリを試験するに好
適なパターン発生方法に関する。 【0002】 【従来の技術】従来の高速化対応パターン発生装置は、
特開昭54−12657号に記載のように、N個のパタ
ーン発生器を設けてその出力を順次取出せるよう構成
し、全体として、個々のパターン発生器動作速度のN倍
の速度でパターン発生を行なうIC試験装置となってい
た。このとき、被試験ICがロジックICであれば個々
のパターン発生器は、通常、テストパターンそのものを
格納するメモリと、それを読出す比較的単純な制御論理
回路で構成され、該公知例に示された如く並列読出しに
よる動作の高速化が図れる。 【0003】 【発明が解決しようとする課題】しかしながら、上記従
来技術はメモリICの試験に関しては充分な配慮がなさ
れていない。実際に、被試験ICがメモリの場合にはパ
ターン発生器として、演算機能を持ったマイクロプログ
ラム方式のアルゴリズミックパターン発生器(ALP
G)が使用されるが、これを並列動作させるには、ただ
単に従来のALPGをN個並べただけでは、ユーザ自身
が個個のALPGについて並列動作を考慮したプログラ
ムを作成せねばならず、従来の演算器構成でダミーサイ
クルの許されないメモリICテストパターンを作成する
のは実用上ほとんど困難であった。尚、従来のALPG
構成とALPG演算器構成は特公昭57−52679
「パターン発生装置」と特公昭54−36055「パタ
ーン発生装置」において詳細に述べられている。 【0004】そこで、ユーザには並列動作を意識させる
ことなく従来通りのプログラムを書かせ、これを計算機
処理して、並列動作する個々のALPGに対応したプロ
グラムを生成して並列ALPGの実用化を図ることが考
えられる。これには並列プログラミング技術と従来には
ない専用の演算器構成が必要となるが、このような点に
ついては上記従来技術では配慮されていなかった。 【0005】本発明の目的は上述のような問題点を解消
し、高速なメモリIC試験パターンの発生を可能にする
ことにある。 【0006】 【課題を解決するための手段】上記目的の達成には、ユ
ーザの書いた1台分のプログラムを基に、並列動作する
N台分のALPGプログラムを生成する技術と、該技術
によって生成された新しい演算命令を実行することので
きる演算器構成が必要となる。 【0007】以下、図2を用いて並列ALPG用プログ
ラムの生成原理を説明する。 【0008】図2(a)は従来のALPG1台の動作を
示している。ここで、SはALPGの演算用内部レジス
タ等の状態を表わし、OはALPGの出力を表わしてい
る。gは出力命令であり、ALPGの演算用内部状態S
を変更することなく、Sを基に出力Oを得る命令であ
る。fは内部状態更新命令である。いま、ある時刻(サ
イクル)Tにおける内部状態をSTとすると、同時刻
(サイクル)での出力命令gTによって出力OTが得ら
れ、内部状態更新命令fTによってSTが更新されて、
次の時刻(サイクル)T+1における演算用内部状態S
T+1が得られる。すなわち、 OT=gT(ST) ………(数1) ST+1=fT(ST) ………(数2) の2つの式によってALPGが次々と内部状態を更新し
ながら、それに応じた値を出力していく様子を表わすこ
とができる。 【0009】図2(b)は3台のALPGを用いて順次
出力させることにより図2(a)と同じ出力系列を得る
時の様子を示している。各々のALPGは互いに1サイ
クル分ずれながら、元の1台分のALPGにおける飛び
飛びの内部状態と出力を順次実現している。ここでAL
PG1の動作は、 OT=GT(ST) ………(数3) ST+3=FT(ST) ………(数4) と表わせる。 【0010】(数1)及び(数3)より、 OT=gT(ST)=GT(ST) よってgT=GT ………(数5) (数2)及び(数4)より、 ST+3=fT+2(ST+2)=fT+2・fT+1(ST+1) =fT+2・fT+1・fT(ST)=FT(ST) よって、FT=fT+2・fT+1・fT ………(数6) となる。ここで、fT+2・fT+1・fTは命令効果
の累積を意味しており、例えばfTが演算レジスタへの
+1を指示し、fT+1が同じく+3を指示し、f
T+2が−2を指示しているならば、FTは+1+3−
2の累積効果である+2を意味する。 【0011】一般に、N台のALPGでは、 OT=GT(ST) ………(数7) ST+N=FT(ST) ………(数8) GT=gT ………(数9) FT=fT+N−1・fT+N−2・……・fT+2・fT+1・fT …(数10) となり、これら(数7),(数8),(数9),(数1
0)の4式が並列プログラム生成の原理である。 【0012】以上によって並列プログラムの生成方法が
明らかとなった。ここで出力命令GTは(数9)式から
分る通り従来の出力命令gTと同じであり、その実行に
は従来にない特別なハードウェアを必要としない。しか
しながら、内部状態更新命令FTは(数10)式の通り
従来の内部状態更新命令fのN個累積したものであり、
従来のALPG用演算器構成では実行不可能である。 【0013】図3は従来のALPGにおける演算器構成
を示している。このような構成は特公昭第54−360
55号や特公昭第57−52679号によっても明らか
にされている。図3に示すように従来の演算器は演算レ
ジスタに対する定数レジスタの値のロードや加減算を行
なうようになっていた。 【0014】これに対して累積化された演算命令は従来
の演算器にない機能が必要となってくる。図4は従来の
演算命令体系と累積化された演算命令体系を示してい
る。図4(a)は最も簡素な従来の演算命令セットであ
り、(b)はその累積化命令セットである。同様に
(c)は拡張された従来の命令セットで、(d)はその
累積化命令セットである。ここでnやn1,n2は累積
する命令の種類や並んでいる命令の順番によっても異な
る値をとるため、予め定数レジスタにこれをセットして
使用するのは困難である。 【0015】そこで本発明では、上記目的を達成するた
めに、演算命令を含んだパターン発生プログラムを用い
てN個(Nは2以上の整数)の変換プログラムを生成
し、該N個の変換プログラムを対応するN個のパターン
発生手段を用いて実行してデジタルデータパターンを発
生するパターン発生方法において、入力されたパターン
発生プログラムにおいて連続して実行される演算命令を
N個毎に累積するステップと、該N個の演算命令を累積
して得られた累積値を演算定数とする1つの演算命令を
生成するステップと、該生成された演算命令を該パター
ン発生手段の有するメモリに格納するステップとを各々
のパターン発生手段に対して実行してN個のパターン発
生手段に対応するN個の変換プログラムを生成し、該各
々のパターン発生手段が対応する変換プログラムを実行
し、該N個のパターン発生手段の実行結果を用いてデジ
タルデータパターンを発生するものである。 【0016】例えば、図8に示す演算器構成とし、予め
メモリ1にnやn1,n2の情報を格納しておき、動作
時にこれらの情報を読み出して、定数レジスタ2や演算
レジスタ4の値と共に算術演算する。 【0017】 【作用】以下、具体的なプログラムを例にとり、先述し
た並列プログラミング生成方法と演算器における実行の
様子を記し、各々の作用を説明する。 【0018】図5(a)は従来の1台分のALPGプロ
グラムである。これは7行より成るプログラムで、実行
順序制御命令,演算命令,出力命令から構成される。こ
こで簡単のために、実行順序制御命令そのものは表示せ
ず、順序のみを示している。また、演算命令体系は先き
に図4(a)に示したものとする。LDA Rは定数レ
ジスタRの値を演算レジスタAにロードすることを指示
し、INCR Aは演算レジスタAに+1することを指
示し、DECR Aは演算レジスタAに−1することを
指示し、HOLDは演算レジスタAの値を変更しないこ
とを指示している。 【0019】OUTAは出力命令であり、演算レジスタ
Aの値をそのまま出力することを指示し、OUTABは
演算レジスタAの値の反転した値を出力することを指示
している。 【0020】定数レジスタRの値を100とし、演算レ
ジスタAの初期値を0として図5(a)のプログラムを
実行して得られる出力系列を図7(a)に示す。 【0021】いま、3台のALPGを使用して、これと
同じ出力系列を得る場合を例にとり、並列プログラムの
生成を以下に記す。 【0022】先述したように並列プログラムは元のプロ
グラムを実行順序に従ってN個(この例では3個)ずつ
まとめることによって得られる。図5(b)は、図5
(a)に示したプログラムの実行順序を明確にするため
に繰り返し部分を展開して表わしたものである。 【0023】図6(a),(b),(c)は3台のAL
PGについて、図5(b)の実行順序を1つずつずれた
位置から3つずつの命令をまとめたものである。例えば
図6(a)は図5(b)において先頭から1つ後の位置
より3つずつまとめたものである。ここで同じ命令が得
られるものは繰り返しとして表わしている。図6(a)
の3行目は元のプログラムの,,の3つの命令を
まとめたものであり、出力命令はこれら3つの最も先頭
ののものをそのまま使用し、演算命令は+1,Loa
dA R,−1の3つをまとめ、LoadA(R−1)
となっている。 【0024】図6(b),(c)についても同様の方法
で変換したものである。ここで、元のプログラムでは演
算レジスタAへのロード数は全て定数レジスタRの値で
あったのに対し、変換後はR−2,R−1,R,R+
1,R+2となっており、また演算命令も元のプログラ
ムでは±1であったのに対し、ADDA(加算)3やS
UBA(減算)3……等の演算数が増えている。このよ
うな±1,±2,±3等の演算数は、図8に示した演算
器のメモリ1に予め格納しておくことにより演算可能と
なる。実際、図8に示した本発明に係る演算器構成を採
れば、図6(a),(b),(c)に表われる全ての演
算は明らかに実行可能である。 【0025】図6(a),(b),(c)の実行結果を
図7(b),(c),(d)に示す。3台のALPGか
ら順次、元の出力系列である図7(a)に相当する出力
が得られるのが分る。 【0026】 【実施例】以下、本発明の実施例を図面に基づき説明す
る。 【0027】図1においてALPGの台数を3台とし、
順次パターンを出力させるものとする(N=3とす
る)。 【0028】まず、一台分のALPGはプログラムの実
行順序を制御する命令(繰り返し制御等)を格納するメ
モリ5と、このメモリの読み出しアドレス10を出力す
るプログラムカウンタ6と、メモリ5より読み出された
制御命令11を解釈して、対応する制御信号12をプロ
グラムカウンタ6へ出力し、次に発生すべきアドレスの
指示を行なう制御器7と、プログラムカウンタ6の発生
したアドレス10に対応したアドレス10’でアクセス
され、算術演算回路3での演算に必要な情報52を読み
出すメモリ1と、演算に必要な定数51を予め格納保持
する定数レジスタ2と、メモリ1の出力する演算情報を
用いて算術演算を行なう算術演算回路3と、演算結果5
2を毎時取り込み保持する演算レジスタ4と、演算レジ
スタ4の出力53をそのまま、または算術論理処理を施
して出力(53’−1)する出力回路(図示せず)とを
備えている。図1で、アドレス10とアドレス10’と
の間にはバッファ回路を設けてもよいし、アドレス10
をそのままメモリ1に入力してもよい。 【0029】更に、図1ではメモリ1とメモリ5とは別
の記憶手段のように記載されているが、被演算情報50
と演算種類指定55とが予め格納されていれば同じメモ
リであってもよい。 【0030】ALPG全体の構成は上記ALPGを3台
(100−1,100−2,100−3)備え、各々の
出力(53’−1,53’−2,53’−3)を順次切
り換えて出力60する順次出力回路70と、各々のAL
PG及び順次出力回路70へ動作クロックを出力するク
ロック発生器400と、ユーザの作成したプログラムを
解析し実行順序に従ってN個(本実施例では3個)ずつ
並列化処理を行ない各ALPG(100−1,100−
2,100−3)の各々のプログラムを生成する計算機
200と、生成された各命令や演算数を各々のALPG
のメモリへ転送するデータ転送経路300より構成され
る。 【0031】本実施例においてユーザの指示できる演算
命令体系は図4(a)に示した通りとする。ユーザの作
成したプログラムが図5(a)に示したものとして以
下、動作を説明する。 【0032】計算機200において図5(a)のプログ
ラムの実行順序の解析を行ない、3台分のALPGプロ
グラム(図6(a),(b),(c))を生成する。各
々のALPGにはデータ転送経路300を通してプログ
ラムのロードを行なう。例えばALPG100−1には
図6(a)のプログラム、ALPG100−2には図6
(b)のプログラム、ALPG100−3には図6
(c)のプログラムをロードする。定数レジスタRの値
は“100”に、演算レジスタAの値は“0”にセット
しておくことは3台のALPGに共通である。 【0033】各々のALPGにおけるプログラムの実行
結果は図7(b),(c),(d)に示す如くである。 【0034】順次出力回路70はクロック401が入力
される毎に3台のALPGの出力を順次出力する。実際
のタイムチャートを図9に示す。各々のALPGのクロ
ック周期は順次出力回路のクロック周期のN倍(この場
合は、3倍)の長さである。図9のように順次出力回路
70の出力60では図7(a)に示したパターン系列が
得られる。 【0035】図1に示した演算器部分の具体的構成は図
10に示すようになる。図10において、ALUは入力
に対して、±n(0≦n)の演算を行なうことができ
る。図10(b)は(a)における選択器とALUの位
置付けを入れ替えたものであり、同じ効果が得られる。
さらに演算命令体系が図4(d)の時は、定数レジスタ
の出力に乗算器を設ける構成をとれば良い。また本実施
例では一本の演算レジスタに一本の定数レジスタの構成
で説明したが、各々複数本備えても良い。一本の演算レ
ジスタに対して複数本の定数レジスタから演算を行なう
ようにした場合は、複雑な演算器構成となるが、各々の
定数レジスタの出力に乗算器を設けてそれらの出力間で
加減算した結果をさらに演算レジスタとの加減算後、演
算レジスタへ代入するような構成とすれば良い。 【0036】本実施例では3台のALPGを用いて高速
化したがこれに限らず複数台であれば良い。また図1で
はプログラムの並列化を行なう計算機とALPGがハー
ド的に結合されているように説明したが、これに限ら
ず、磁気テープ,フロッピーディスク等の媒体を介して
も良い。この時は媒体の読み取り装置とALPGとの間
でデータ転送経路を設けるようにする。 【0037】本実施例では、プログラムカウンタ6の出
力アドレス10と、メモリ1のアクセスするアドレス1
0’が同一の如く説明したが、これらの間にテーブルメ
モリや論理回路を設けて、変換を行なったアドレスでメ
モリ1をアクセスしても良い。要はアドレス10’がア
ドレス10に一義的に対応していれば良いのである。 【0038】これまでの説明ではメモリ5やメモリ1を
書き替え可能なものとしていたが、これは本質的なもの
ではなく、発生すべきテストパターンの種類が限定され
ていれば並列化したプログラム内容を予め「読み出し専
用メモリ」に焼き込み、これをメモリ5,メモリ1に使
用しても良い。 【0039】また実施例では、メモリ1から0≦n≦N
程度の数値を読み出して定数レジスタや演算レジスタへ
の加減算を行なうように説明したが、演算レジスタのビ
ット幅以上のビット幅を持つメモリを用意して、予め定
数Rに±nを行なった数値をこのメモリに記憶させてお
き、定数レジスタを使用しないように構成することも可
能である。 【0040】また、定数レジスタを多数本設け、これら
に予めR±nの値をセットしておいても良い。 【0041】更に、順次出力回路は、特開昭54−12
657号に記載されているように、マルチプレクサで構
成してもよいし、特開昭56−101224号に記載さ
れているようにシフトレジスタで構成してもよい。 【0042】 【発明の効果】本発明によれば、ユーザプログラムによ
って指示されたテストパターンの飛び飛びの値を出力さ
せる演算命令の生成と実行が可能となり、従って複数台
のALPGを用いて順次所望のテストパターンを出力さ
せることができるので、個々のALPGの最高動作速度
の数倍の速度でテストパターンを発生することが可能と
なる。
【図面の簡単な説明】
【図1】本発明の一実施例を示す構成図。
【図2】並列プログラム生成の原理図。
【図3】従来の演算器構成。
【図4】累積化命令体系の図。
【図5】並列プログラム生成例を示す図。
【図6】並列プログラム生成例を示す図。
【図7】並列プログラム実行結果を示す図。
【図8】本発明に係る演算器構成図。
【図9】並列ALPG動作タイミング図。
【図10】本発明に係るその他の演算器構成図。
【符号の説明】
1…メモリ、
2…定数レジスタ、
3…算術論理演算回路、
4…演算レジスタ、
5…メモリ、
6…プログラムカウンタ、
7…制御器、
70…順次出力回路、
100…ALPG、
200…計算機、
300…データ転送経路、
30…選択器、
31,32…算術論理演算器、
50−1…演算数値及び演算制御信号、
50−2…選択信号。
─────────────────────────────────────────────────────
フロントページの続き
(56)参考文献 特開 昭61−175580(JP,A)
特許2941274(JP,B2)
(58)調査した分野(Int.Cl.6,DB名)
G01R 31/3183
G01R 31/28
Claims (1)
- (57)【特許請求の範囲】 1. 演算命令を含んだパターン発生プログラムを用い
てN個(Nは2以上の整数)の変換プログラムを生成
し、該N個の変換プログラムを対応するN個のパターン
発生手段を用いて実行してデジタルデータパターンを発
生するパターン発生方法において、 入力されたパターン発生プログラムにおいて連続して実
行される演算命令をN個毎に累積するステップと、該N
個の演算命令を累積して得られた累積値を演算定数とす
る1つの演算命令を生成するステップと、該生成された
演算命令を該パターン発生手段の有するメモリに格納す
るステップとを各々のパターン発生手段に対して実行し
てN個のパターン発生手段に対応するN個の変換プログ
ラムを生成し、 該各々のパターン発生手段が対応する変換プログラムを
実行し、 該N個のパターン発生手段の実行結果を用いてデジタル
データパターンを発生することを特徴とするパターン発
生方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10-354149A JP2993502B2 (ja) | 1987-01-30 | パターン発生方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10-354149A JP2993502B2 (ja) | 1987-01-30 | パターン発生方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62018310A Division JP2941274B2 (ja) | 1986-07-30 | 1987-01-30 | 高速パターン発生器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11237452A JPH11237452A (ja) | 1999-08-31 |
JP2993502B2 true JP2993502B2 (ja) | 1999-12-20 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4905183A (en) | Pattern generator having plural pattern generating units executing instructions in parallel | |
JP3896177B2 (ja) | エミュレーションシステム | |
JPS58501560A (ja) | マイクロプロセツサ | |
JPH0480350B2 (ja) | ||
JPH053032B2 (ja) | ||
US4759021A (en) | Test pattern generator | |
JPH04233040A (ja) | コンピュータプログラム実行シミュレーションシステム | |
JP2993502B2 (ja) | パターン発生方法 | |
JP2941274B2 (ja) | 高速パターン発生器 | |
JPH11237452A (ja) | パターン発生方法 | |
JPH0754346B2 (ja) | メモリicの試験パターン発生装置 | |
JP2885197B2 (ja) | 演算処理装置及び演算処理方法 | |
RU2042980C1 (ru) | Векторный ускоритель | |
JP3753572B2 (ja) | シミュレーションシステムおよび命令シミュレーション方法 | |
JP2812610B2 (ja) | パイプライン制御方式 | |
JP3531208B2 (ja) | ディジタル信号処理装置 | |
JP2915912B2 (ja) | 半導体試験装置のパターンシーケンス制御回路 | |
JPS63201725A (ja) | 信号処理回路 | |
JP2541697B2 (ja) | パイプライン演算装置 | |
JPS5932819B2 (ja) | アドレス制御装置 | |
JP2771628B2 (ja) | タイマカウンタ | |
JPH10221416A (ja) | アドレスパターン発生回路 | |
JPH0677232B2 (ja) | マイクロプログラム制御装置 | |
JPS62259145A (ja) | アルゴリズミツク・パタ−ン発生装置 | |
JPH05157815A (ja) | アドレス発生器 |