Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPS6221138B2 - - Google Patents
[go: Go Back, main page]

JPS6221138B2 - - Google Patents

Info

Publication number
JPS6221138B2
JPS6221138B2 JP57030326A JP3032682A JPS6221138B2 JP S6221138 B2 JPS6221138 B2 JP S6221138B2 JP 57030326 A JP57030326 A JP 57030326A JP 3032682 A JP3032682 A JP 3032682A JP S6221138 B2 JPS6221138 B2 JP S6221138B2
Authority
JP
Japan
Prior art keywords
function
input
output
register
macro
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
Application number
JP57030326A
Other languages
English (en)
Other versions
JPS58146948A (ja
Inventor
Kenji Oomori
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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP57030326A priority Critical patent/JPS58146948A/ja
Publication of JPS58146948A publication Critical patent/JPS58146948A/ja
Publication of JPS6221138B2 publication Critical patent/JPS6221138B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】 本発明はカスタムLSIの動作模擬を行なうフア
ンクシヨンマクロに関するものである。
カスタムLSI(arge cale ntegrated
Circuits)化時代に対応するためには、カスタム
LSIで構成されたシステム全体の論理動作を模擬
する道具が必要なことはいうまでもないことであ
る。それは、市販のICで回路を実現したときと
異なり、論理設計上の誤りがカスタムLSIの中の
論理として表われるため、その誤りを容易に正す
ことができないことによる。従来からの方法とし
てCAD及びPLAがあるがそれには次のような欠
点がある。論理動作を模擬する道具としては、1
つはCAD(Computer Aided Design)を考える
ことができる。CADの特長はカスタムLSIの回路
構成を入力することによつて、そのカスタムLSI
の論理動作を摸擬できることである。しかし、一
方で多数のカスタムLSIで構成されたシステム全
体の動作を模擬しようとするときは、膨大な計算
機時間が必要となり実用にそぐわなくなることが
欠点である。論理動作を模擬するためのもう1つ
の方法として、同等な機能をハードウエアで、例
えばPLA(Programmadle Logic Array)で実現
することが考えられる。このハードウエアでの実
現は論理動作の模擬時間を大巾に短縮するという
長所を有する反面、回路に変更があつたときには
そのPLAは使用出来なくなり、新たなPLAによ
り変更を含めて構成をやり直す必要があるという
欠点を有している。
このような事情からCADにおける柔軟性とハ
ードウエアでの実現における高速性との両方の特
長を兼ね備えた道具が求められている。本発明の
目的は論理動作を高速に模擬するフアンクシヨン
マクロを提供することにある。
フアンクシヨンマクロは、カスタムLSIの回路
構成との対応をとりやすくすることを狙つたもの
で、カスタムLSIの回路そのものをいくつかのブ
ロツクに分割し、各ブロツクの入出力関係をビツ
トパターンで表示し、それをメモリに書き込んだ
ものである。フアンクシヨンマクロにおいてはカ
スタムLSIの論理をメモリ内に書き込む。そのた
め、カスタムLSIに変更が生じた場合にはメモリ
の内容を書き換えることによつて、その変更に対
応することができ、又、カスタムLSIの論理動作
の模擬を数回のメモリアクセスによつて行なうこ
とができるという利点を有する。
カスタムLSIで構成されたシステム全体の論理
動作の模擬は、各カスタムLSIの入力ピン、出力
ピンでの信号の値を記憶するための状態テーブ
ル、カスタムLSI間の出力ピンと入力ピンとの接
続関係を記憶した接続テーブル、及び、入力ピン
に信号の変化が発生したカスタムLSIを記憶する
ためのイベントリストをもとに行なわれる。
既存のICを対象とした従来の論理動作の模擬
システムの基本原理は次のようになつている。イ
ベントリストに登録されているICを1つ取り出
しそのICの動作についての摸擬を行なう。即
ち、このICの動作を模擬するプログラムを呼び
出し、それを実行することによつてICの出力を
得る。次に、今までの出力と今得た出力との間に
変化があるかどうかを調べ、変化がある場合に
は、出力ピンの信号を今得たもので置き換える。
さらに、接続テーブルより信号の伝播先のICと
入力ピンを求め、このICをイベントリストに登
録するとともにその入力ピンの信号を置き換え
る。これによつて1つのICの動作の模擬を終
り、イベントリストに登録されている次のICの
動作模擬に移る。この操作がイベントリストから
ICがなくなるまで続けられる。そして、この
後、システムに新しい入力を加え、これによつ
て、イベントリストに新しいICを登録し、動作
模擬を再開する。
フアンクシヨンマクロはICの動作を模擬する
従来のプログラムに代わり、これを一種のフアー
ムウエアにより実現しようとするものである。こ
れによつて、模擬時間の大巾な短縮が期待でき
る。
フアンクシヨンマクロとは、ソフトウエアの分
野で広く利用されているマクロ命令と類似の性格
を持つ。カスタムLSIのシミユレーシヨンは、フ
アンクシヨンマクロの呼び出しによつて行なわれ
る。即ち、カスタムLSIの種類毎に1つのフアン
クシヨンマクロが存在し、このフアンクシヨンマ
クロはいくつかの関数からなる。ここでの関数
は、カスタムLSIをいくつかの機能ブロツクに分
割したときの個々の機能ブロツクに対するもので
ある。フアンクシヨンマクロにおいては、このフ
アンクシヨンマクロの中で共通に利用するグロー
バルデータと個々の関数への入力として使用する
ローカルデータとがある。あるカスタムLSIの模
擬を行なうときは、それに対応したフアンクシヨ
ンマクロを呼ぶとともに、このカスタムLSIへの
入力データをグローバルデータ部へ設定する。呼
ばれたフアンクシヨンマクロは個々の関数を順番
にあるいは並列に実行するが、関数の実行に先だ
ち、この関数の実行に必要な入力データをグロー
バルデータの領域より、この関数のために設けら
れたローカルデータ領域へと移す。関数はこの入
力にもとずいて出力を出すが、この出力はグロー
バルデータ領域のあらかじめ定められた場所に蓄
えられる。この出力は以後に実行する関数の入力
として利用する。あるいはフアンクシヨンマクロ
の最終的な出力となる。このようにフアンクシヨ
ンマクロを構成する全ての関数の実行を終了した
とき、このフアンクシヨンマクロの実行は終る。
このフアンクシヨンマクロの実行結果はグローバ
ルデータ領域より得ることができる。
カスタムLSIを機能ブロツクに分ける方法は、
一様でない。機能ブロツクに分ける制約条件とし
ては機能ブロツクに許される入力数、出力数であ
る。今、入力数8、出力数1までを許すものとす
る。
第1図は4ビツト全加算器の一例を示す回路図
である。この4ビツト全加算器について前記制約
条件のもとに考えてみる。機能ブロツクの作り方
として、信号の伝播レベルに合わせて回路を分割
するというのが1つの方法である。例えば、図の
全加算器では次のようになる。入力信号が初めて
変換を受けるNAND、NORゲートをそれぞれ1
つの機能ブロツクとして、ここで9つの関数を作
る。次に、これらの出力が変換を受けるANDゲ
ートをそれぞれ1つの機能ブロツクとして、19ケ
の関数を作る。さらにこれらの出力が変換を受け
るNORゲートさらには、EORゲートを1つの機
能ブロツクとして、8ケの関数を作る。このよう
にして作つた関数の中には、入力信号の名前が異
なるだけで、機能は同じものがあるのでこれらに
ついてまとめる。これが信号の伝播レベルに合わ
せて回路を分割する例である。この方法は回路と
の対応をとりやすいという長所をもつが、機能ブ
ロツクが多くなるという欠点を持つ。
他の1つの方法は制約条件の中で可能な限り大
きな機能ブロツクを作り、機能ブロツクの総数を
少くしようとするものである。例えば、図の全加
算器においては、Σ1,Σ2,Σ3,Σ4,C
4,T1,T2,T3,T4,T5の出力を得ら
れるような機能ブロツクに分割することができ
る。T1及びΣ4の論理式は次の通りである。
T1=・1・1・2・2・3・3+2・2・3・3・1+1 +3・3・2+2+3+3 (1) Σ4=T14・4(4+4) (2) これらの論理式を論理素子としてのメモリ素子
には次のように展開する。
第2図は式(1)をメモリ素子により実現したブロ
ツク図である。第2図のメモリ素子は16Kのアド
レスを持ち、各アドレスでは1ビツトの情報を記
憶できるものとする。
第3図は式(1)の関数を真理表により表わした図
である。入力信号CO,A1,B1,……,A
3,B3をメモリ素子のアドレス線A0〜A6に
対応させることによつて、真理表の左側をアドレ
ス、又、右側をその内容とみなすことができる。
従つて、メモリ素子のそれぞれのアドレスに真理
表で与えられた内容を書込むことによつて、式(1)
の関数を実現することができる。又、ある入力に
対する関数の値は、その入力をアドレス線に与
え、そのアドレスの内容を読み出すことによつて
得ることができる。なおA8〜A15は関数を選
択するために利用する。
フアンクシヨンマクロを実現するためには次の
機能をハードウエアにより実現することが必要で
ある。(1)フアンクシヨンアレイが呼ばれた時、そ
れに含まれる関数を順番に、あるいは並列に呼び
出すための回路、(2)グローバルデータのためのレ
ジスタ、(3)ローカルデータのためのレジスタ、(4)
関数が呼ばれたとき、グローバルデータ領域よ
り、その関数の実行のために必要なデータをロー
カルデータ領域へ移すための回路、(5)関数を実現
した論理素子としてのメモリ素子、(6)関数の実行
の結果、得られた出力をグローバルデータ領域へ
移すための回路。
本発明のフアンクシヨンマクロは指定された
LSIの番号に従つて、実行すべき関数列の番号を
順次発生する関数指定部と、カスタムLSIの入力
ピン、出力ピン、処理途中の状態とを記憶するた
めの状態レジスタと、機能ブロツクの論理を記憶
するための関数部と、関数部への入力データを記
憶するための入力レジスタと、関数の番号に従つ
て状態レジスタ内の状態を入力レジスタへ転送す
る入力選択部と、関数の出力を状態レジスタに記
憶させる出力選択部とで構成される。
本発明について実施例により詳細に説明する。
第4図は本発明のフアンクシヨンマクロの一実施
例を示すブロツク図である。図において、1は関
数指定部、2は状態レジスタ、3は関数部、4は
入力レジスタ、5は入力選択部、6は出力選択部
である。関数指定部1では、カスタムLSI毎に実
行すべき関数列を有し、7よりカスタムLSIの番
号が与えられたとき、関数部3、入力選択部5、
出力選択部6に対して、実行順序に従つて関数の
番号を順番に出力する。状態レジスタ2はグロー
バルデータのためのレジスタで8より与えられた
カスタムLSIの入力ピンと出力ピンの状態を記憶
するとともに関数部の出力、即ち、処理途中の状
態を記憶する。関数部3は、機能ブロツクの論理
を記憶し、関数指定部1より関数の番号が与えら
れたとき、入力レジスタ4に記憶されているデー
タに対する関数の値を出力する。入力レジスタ4
は、ローカルデータのためのレジスタで、これか
ら実行しようとする関数のために必要なデータを
記憶する。入力選択部5は、関数指定部1より実
行すべき関数の番号を得たとき、その関数の実行
に必要な入力データを状態レジスタ2より入力レ
ジスタ4へ移す。出力選択部6は、関数指定部1
より実行すべき関数の番号を得たとき、関数部が
その関数の値を出すのを待ち、それを状態レジス
タ2に転送する。
次にこのフアンクシヨンマクロの動きを追つて
みる。今、4ビツト全加算器のシミユレーシヨン
を行なおうとして、関数指定部1にそのカスタム
LSIの番号が与えられ、又、状態レジスタ2に
は、入力CO,A1,B1,……,A4,B4が
与えられたとする。このとき、カスタムLSIのシ
ミユレーシヨンのためには、Σ1,Σ2,Σ3,
T1,Σ4,T2,T3,T4,T5,C4を求
めるために10ケの関数を順次実行する必要があ
る。そこで、関数指定部1は、まず始めに、Σ1
の値を求めるための関数の番号を関数部3、入力
選択部5、出力選択部6に与える。これを受けて
入力選択部5は、状態レジスタ2より入力レジス
タ4へΣ1を得るのに必要なCO,A1,B1を
入力レジスタへ送る。関数部3は、入力レジスタ
4の中に今記憶されたデータに対するΣ1の値を
求めこれを出力する。出力選択部6は、関数部3
の出力を状態レジスタ2に移す。状態レジスタ2
での記憶場所も出力選択部6が指定する。これが
終了したとき、関数指定部1は、Σ2の値を求め
るための関数の番号を発生し、今述べたと同じ処
理により、この値を最終的に状態レジスタ2に得
る。Σ1からC4までの全ての関数を実行したと
き、状態レジスタ2にはΣ1,Σ2,Σ3,Σ
4,C4の値が記憶されている。これを8の側に
与えることによつて、4ビツト全加算器のシミユ
レーシヨンを終了する。
入力データに対して検査仕様書が与えている出
力データと、今、シミユレーシヨンにより得た結
果が異なつているとき、カスタムLSIの論理に誤
りが存在する。この場合には、カスタムLSIの論
理を正し、その論理を関数部に新たに書き込み、
もう一度シミユレーシヨンを行なう。検査仕様書
と同一の出力データがシミユレーシヨンにより得
られるまでこのデバツグ操作を続け、論理が正し
くなつたとき始めてカスタムLSIの製造を行なう
ことにより、カスタムLSI製作のための工数、価
格を大巾に低減することができる。
なお、このフアンクシヨンマクロは、カスタム
LSIの故障検出、装置に組み込むコントローラ等
としても利用することができる。
【図面の簡単な説明】
第1図は4ビツト全加算器の一例を示すブロツ
ク図、第2図はメモリ素子のブロツク図、第3図
はメモリ素子中での真理表を示す図、第4図は本
発明のフアンクシヨンマクロの一実施例を示すブ
ロツク図である。図において、1は関数指令部、
2は状態レジスタ、3は関数部、4は入力レジス
タ、5は入力選択部、6は出力選択部である。

Claims (1)

    【特許請求の範囲】
  1. 1 与えられた論理機能を実現するシステムにお
    けるフアンクシヨンマクロにおいて、指定された
    LSIの番号に従つて、実行すべき関数列の番号を
    順次発生する関数指定部と、カスタムLSIの入力
    ピン、出力ピン、処理途中の状態とを記憶するた
    めの状態レジスタと、機能ブロツクの論理を記憶
    するための関数部と、関数部への入力データを記
    憶するための入力レジスタと、関数の番号に従つ
    て、状態レジスタ内の状態を入力レジスタへ転送
    する入力選択部と、関数の出力を状態レジスタに
    記憶させる出力選択部とで構成されることを特徴
    とするフアンクシヨンマクロ。
JP57030326A 1982-02-26 1982-02-26 フアンクシヨンマクロ Granted JPS58146948A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57030326A JPS58146948A (ja) 1982-02-26 1982-02-26 フアンクシヨンマクロ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57030326A JPS58146948A (ja) 1982-02-26 1982-02-26 フアンクシヨンマクロ

Publications (2)

Publication Number Publication Date
JPS58146948A JPS58146948A (ja) 1983-09-01
JPS6221138B2 true JPS6221138B2 (ja) 1987-05-11

Family

ID=12300681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57030326A Granted JPS58146948A (ja) 1982-02-26 1982-02-26 フアンクシヨンマクロ

Country Status (1)

Country Link
JP (1) JPS58146948A (ja)

Also Published As

Publication number Publication date
JPS58146948A (ja) 1983-09-01

Similar Documents

Publication Publication Date Title
US5594741A (en) Method for control of random test vector generation
US6016554A (en) Method for event-related functional testing of a microprocessor
US7769577B2 (en) Hardware accelerator with a single partition for latches and combinational logic
US7917348B2 (en) Method of switching external models in an automated system-on-chip integrated circuit design verification system
JPH06194415A (ja) 論理回路の試験方法とその装置
JPH0230056B2 (ja)
US7483824B1 (en) Self-checking test generator for partially-modeled processors by propagating fuzzy states
CN101784905B (zh) 用于对片上系统的制造进行控制的设计信息的验证
US5859962A (en) Automated verification of digital design
US20060130029A1 (en) Programming language model generating apparatus for hardware verification, programming language model generating method for hardware verification, computer system, hardware simulation method, control program and computer-readable storage medium
JPH03209569A (ja) 論理シミュレーション方法
JPS6221138B2 (ja)
US5245549A (en) Gate addressing system for logic simulation machine
US20030046053A1 (en) Logic simulation
US20250363275A1 (en) Computer-Implemented Methods of Verifying a Processor Design Under Test, and Related Systems
US6339751B1 (en) Circuit design support apparatus and a method
Johnson Behavioral-level test development
JP3004670B2 (ja) 論理シミュレータ
JPH0345580B2 (ja)
EP0231948A2 (en) Simulation system
JP2797128B2 (ja) 論理シミュレータ
JPH0429425Y2 (ja)
JP3004669B2 (ja) 論理シミュレータ
US20070083843A1 (en) Method, system and program product for providing a configuration specification language supporting error checking dials
JPH0443310B2 (ja)