JPH11259545A - 半導体集積回路の動作合成方法及びその処理システム - Google Patents

半導体集積回路の動作合成方法及びその処理システム

Info

Publication number
JPH11259545A
JPH11259545A JP10059565A JP5956598A JPH11259545A JP H11259545 A JPH11259545 A JP H11259545A JP 10059565 A JP10059565 A JP 10059565A JP 5956598 A JP5956598 A JP 5956598A JP H11259545 A JPH11259545 A JP H11259545A
Authority
JP
Japan
Prior art keywords
design
testability
logic
description
register
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.)
Pending
Application number
JP10059565A
Other languages
English (en)
Inventor
Kenichi Yasukura
顕一 安藏
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP10059565A priority Critical patent/JPH11259545A/ja
Publication of JPH11259545A publication Critical patent/JPH11259545A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【課題】テスト容易性の低い論理ブロックを含む半導体
集積回路について、設計上の制約条件を満たしつつ、テ
ストを容易化する動作合成方法を提供する。 【解決手段】動作記述からレジスタトランスファ記述を
生成する半導体集積回路の動作合成において、スケジュ
ーリング及びスキャン化するレジスタの候補の抽出まで
終わった段階で、テスト容易性を向上させるようにレジ
スタの移動を行い、これに伴うレジスタとリソース割り
付けの再実行を行うことにより、高いテスト容易性を持
つ半導体集積回路を得る。前記動作合成方法を用いて、
面積や性能等の他の設計上の制約条件を満たす範囲内で
最適化処理を行う動作合成システムを提供する。また、
スケジューリング及びレジスタとリソース割り付けまで
終わった段階でレジスタの移動を行うことによりテスト
容易性を向上する処理方法とシステムを提供する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は半導体集積回路の動
作合成方法に係り、特に半導体集積回路の動作レベル記
述からレジスタトランスフアレベル記述を生成する動作
合成において、前記動作合成後の論理回路部分のテスト
容易性を向上させる方法と、これを用いた動作合成シス
テムに関するものである。
【0002】
【従来の技術】従来、半導体集積回路の自動設計には、
抽象度の高い設計記述から段階的に抽象度の低い設計記
述を自動合成処理により生成して行くトップダウン設計
が実現されてきた。一般に半導体集積回路の設計は、抽
象度は高いレベルから段階的にシステム仕様レベル、動
作レベル、レジスタトランスファレベル(以下RTL;R
egister Transfer Level と略称する)、論理レベルか
ら、さらに具体性の高いレベルにまで分類される。
【0003】このうち動作レベルからRTLへのCAD
システム(Computer Aided Design system)による自動変
換を動作合成、RTLから論理レベルへのCADシステ
ムによる自動変換を論理合成と呼ぶ。ここでRTL記述
とは、組み合わせ回路とレジスタ等からなる論理回路に
おいて、データの流れを手続き的に記述した設計記述の
ことである。
【0004】一方、大規模でかつ論理構成が複雑な半導
体集積回路のテストの困難性を解決する方法として、設
計段階からテストの容易化を考慮するテスト容易化設計
が必要とされており、このうち構造的な設計方法として
スキャン設計が一般に用いられている。
【0005】ここでスキャン設計とは、集積回路内の記
憶素子(ラッチ及びフリップ・フロップ)等の一部ある
いは全部を、スキャン動作可能な特殊な機能を有する素
子に置き換え、それらをシリアル等に接続することによ
り、外部から制御・観測することが困難な順序回路を含
む論理回路部分へのデータの設定や、データの観測を外
部から行うことを可能にするものである。
【0006】スキャン設計のうち、回路内の全ての記憶
素子をスキャン可能な素子に置き換えるフルスキャン設
計は、回路変更の自動化が容易であると共に、製品検査
用の高品質なテストパターンを自動的に生成することが
できるので、特に設計期間の短い製品に対して多く取り
入れられている。
【0007】しかし、一般にスキャン可能とされた素子
は、もとの記憶素子に比べて専有面積が大きく伝搬遅延
時間も大きい。このため全ての記憶素子をスキャン可能
な素子に置き換えることにより、チップサイズや性能の
面で設計上の制約条件が満たせなくなることがある。
【0008】このような場合には、記憶素子の一部のみ
をスキャン可能な素子に置き換えるパーシャルスキャン
設計が必要となる。素子の置き換えに際して、回路の専
有面積がチップサイズの制約を超えない範囲で置き換え
比率を決定したり、回路の性能に影響を与える部分は置
き換えないというような選択をする必要がある。
【0009】しかし一方、最終的に高品質なテストパタ
ーンを得るためには、置き換えの場所を効果的に選択し
て、回路のテスト容易性を高めることが必要である。こ
れらの要因を全て考慮して置き換える素子を決めるため
には、試行錯誤的な作業が必要となり、多大な設計労力
を必要とする。また、与えられた設計上の制約の範囲内
では、所望のテスト容易性を達成できないという場合も
起こり得る。
【0010】パーシャルスキャン設計における置き換え
箇所の選択作業は、通常論理レベルにおいて行われる。
回路内で記憶素子の位置を移動させ、論理回路のテスト
容易性を部分的に向上させることにより、回路全体とし
て高いテスト容易性を達成する特願平9−176027
に記載した方法が存在する。しかし論理レベルでは、回
路を変更できる範囲が限られ、テスト容易性の大幅な向
上は見込めない。
【0011】論理合成より上位に位置する動作合成で
は、設計の動作記述からスケジューリングやレジスタ・
リソースの割り付け等を行って、設計のレベルをRTL
にまで変換する。このとき、それぞれの処理は最終的な
テスト容易性に影響を及ぼすことから、テスト容易性を
考慮した動作合成について幾つかの方法が提案されてい
る。以下、RTL記述におけるテスト容易性を考慮した
動作合成方法の例として、レジスタ割り付け時にテスト
容易性を考慮する特願平9−321350に記載した動
作合成方法について説明する。
【0012】設計の動作記述から得られるデータフロー
グラフを図12に示す。入力はa、b、出力はc、dで
ある。データフローグラフの各ノード121〜125は
演算処理を表しており、121は単項演算W、124は
2項演算Y、122、123、125は単項演算Xを表
す。ここで単項演算とは、1つの入力に対して行われる
演算、2項演算とは2つの入力に対して行われる演算を
いう。
【0013】図13はこの設計に対して、スケジューリ
ング及びリソース共有化処理を行った後の状態を示して
いる。ここで図13の131〜135は、それぞれ図1
2の121〜125に対応している。
【0014】図13において、演算131は実行サイク
ルT2 に、演算132と演算134は実行サイクルT3
に、演算133と演算135は実行サイクルT4 にそれ
ぞれ実行される。また破線の枠136で囲まれた演算1
32と演算133はリソースを共有していることを示
し、最終的には演算Xを実行する1つのハードウエアで
実装される。なお横線は、実行サイクルT1 〜T4 にお
いて、実行サイクルの境界を示す線である。(以下図1
4、図17において同じ)。
【0015】図14は、その後レジスタの割り付けと共
有化を行った後の状態の1つを示している。ここで図1
4の141〜145は、それぞれ図13の131〜13
5に対応している。
【0016】図14において、データを保持するためレ
ジスタR1 146〜149、及びレジスタR2 1410
〜1412が割り付けられている。このうち146〜1
49はーつのハードウエアR1 で実装され、1410〜
1412もまた1つのハードウエアR2 によって実装さ
れることを示している。動作合成ではこれらの処理過程
を経てRTL記述が生成される。
【0017】図12に示す動作記述より、以上の処理過
程を経て得られたRTL記述のブロック図を図15に示
す。図15におけるレジスタR1 155、R2 156
は、それぞれ図14におけるレジスタR1 146〜14
9、R2 1410〜1412に対応する。またMUX1
157、MUX2 158は切り替え回路として動作する
マルチプレクサ(multiplexer) である。各演算X、Y、
Wはそれぞれ演算ブロック151〜154として実現さ
れる。
【0018】このうち、例えば演算ブロックX152
は、MUX1 157とレジスタR1 155を経て演算ブ
ロックX152にデータが入力され、その出力が、MU
1 157とレジスタR1 155を介して再び演算ブロ
ックX152に入力されて演算Xが行われるので、図1
4におけるレジスタR1 148、149を共有したもの
となっている。同様にして図14と図15は等価である
ことを確かめることができる。
【0019】このRTL記述が生成された時点で、レジ
スタR1 155、レジスタR2 156と各演算ブロック
X152、154、Y153、W151の入出力の対応
関係が決定される。
【0020】以上説明した動作レベルからRTL記述へ
の動作合成では、テスト容易性について特に考慮されて
いないため、結果としてテスト容易性の非常に低い設計
が得られる可能性がある。
【0021】例えば図14において、異なる実行サイク
ルで異なるレジスタR1 147、R2 1411に割り当
てられる演算W141の出力信号と演算Y144の出力
信号との観測性がそれぞれ非常に低いとする。このと
き、図15に示すRTL記述のブロック図全体として充
分なテスト容易性を得ようと思えば、図16の対応する
レジスタR1 165およびR2 166は、図16に示す
ように双方共スキャン化しなければならない。なお、図
16における161〜168は、それぞれ図15の15
1〜158に対応している。
【0022】すなわち、図16の矢印に示すように、図
16の対応するレジスタR1 165とR2 166とをそ
れぞれスキャン可能なレジスタに置き換えて直列に接続
し、演算ブロックW161の出力と演算ブロックY16
3の出力とがそれぞれ記憶される前記スキャンレジスタ
1 165、R2 166の記憶状態が、スキャン入力信
号siをR1 165に入力することにより、スキャン出
力信号soとして外部に出力されるようにしなければな
らない。
【0023】テスト容易性を考慮した設計では、レジス
タ間の演算処理を行う演算ブロックの入出力部の制御性
及び観測性をあらかじめ計測し、制御性及び観測性の低
い部分に対応するレジスタをスキャン素子への置き換え
候補とする。そしてレジスタ割り付けあるいはリソース
割り付けの際に、スキャン化候補のレジスタ同士が同じ
レジスタに割り付けられ、結果的にスキャン化する必要
のあるレジスタの数が少なくなるようにする。
【0024】図17では観測性の低い演算W171の出
力と演算Y174の出力とに同じレジスタR1 177及
び1711を割り当てている。このように動作合成され
たRTL記述のブロック図を図18に示す。図18の1
81〜188は、それぞれ図15の151〜158に対
応する。また次に示すように、図18における演算ブロ
ックX182は、図17における演算X172及び17
5に対応する。
【0025】すなわち図18において、MUX1 187
とレジスタR1 185を経て演算ブロックX182と演
算ブロックY183に演算ブロックW181の出力であ
るa系列のデータが入力され、また演算ブロックY18
3にはMUX2 188とレジスタR2 186を経てb系
列のデータが同時に入力され、演算ブロックY(18
3)の出力が、MUX1 187とレジスタR1 185を
介して再び演算ブロックX182に入力されるので、図
17におけるレジスタR1 177、1711を共有した
ものとなっている。
【0026】これよりスキャン可能な素子に置き換えら
れる候補は、観測性の低い演算ブロックW181及び演
算ブロックY183の出力がそれぞれ入力する図19の
レジスタR1 195だけでよいことになる。なお図19
において、191〜198は図18の181〜188に
対応する。すなわち図19に示すように、テスト容易性
を考慮せずに動作合成を行った結果生成された図16の
回路に比ベて、スキャンレジスタR1 195のみで同等
のテスト容易性を有する回路を実現することができる。
【0027】しかしこの方法では、スケジューリング後
のデータフローグラフを対象としており、レジスタ間の
テスト容易性、すなわち1つの実行サイクルの中で演算
処理を行う論理ブロックのテスト容易性が、論理合成を
通じて同じであるという問題がある。このため、この方
法にはスキャン化によっても解決できないような低いテ
スト容易性を持つ論理ブロックが1つの実行サイクル中
に含まれる場合に、目標とするテスト容易性が得られな
いという限界がある。
【0028】
【発明が解決しようとする課題】上記したように従来の
半導体集積回路の動作合成方法には、スキャン化によっ
ても解決できないような低いテスト容易性を持つ論理ブ
ロックが含まれる場合に、目標とするテスト容易性が得
られないという問題があった。
【0029】本発明は上記の問題点を解決すべくなされ
たもので、スキャン化によっても解決しない低いテスト
容易性をもつ論理ブロックを含む半導体集積回路におい
て、その動作記述からRTL記述を生成する動作合成を
行うに際して、所望のテスト容易性を得ることができる
処理方法と処理システムを提供することを目的とする。
【0030】
【課題を解決するための手段】本発明の半導体集積回路
の動作合成方法は、動作レベル記述からレジスタトラン
スファレベル記述を生成する半導体集積回路の動作合成
方法において、スケジューリング後のレジスタトランス
ファレベル記述に対するテスト容易性の解析結果を用い
て、データフローグラフ上で演算処理を実行サイクルを
越えて移動させることにより、前記演算処理を実行サイ
クルを越えて移動させない場合に比べて、設計する論理
回路部分の制御性及び観測性を向上させることを特徴と
する。
【0031】本発明の半導体集積回路の動作合成システ
ムは、スケジューリング後のレジスタトランスファレベ
ルの設計記述と、この設計記述から設計データベースを
構築する設計データベース構築部と、設計データを格納
する設計データベースと、この設計データベースに格納
された設計データを参照し、設計制約に違反するか否か
を判定する設計制約判定部と、前記設計データを参照
し、演算処理のテスト容易性を計算するテスト容易性計
算部と、このテスト容易性計算部で計算されたテスト容
易性情報と、このテスト容易性情報と前記設計データベ
ースに格納された設計データとを参照し、実行サイクル
を越えて演算処理を移動することによりテスト容易性が
向上することを判定し、演算処理を移動候補演算処理と
して抽出する移動候補演算処理抽出部と、前記設計制約
判定部が設計制約に違反しないと判定するように、移動
候補演算処理を移動させ、かつ、設計データベースに格
納された設計データを書き換える演算処理移動手段とを
備えることを特徴とする。
【0032】また、本発明の半導体集積回路の動作合成
方法は、動作レベル記述からレジスタトランスファレベ
ル記述を生成する半導体集積回路の動作合成方法におい
て、スケジューリング及びレジスタとリソース割り付け
後のレジスタトランスファレベル記述に対するテスト容
易性の解析結果を用いて、データフローグラフ上で演算
処理を実行サイクルを越えて移動させることにより、演
算処理を実行サイクルを越えて移動させない場合に比べ
て、設計する論理回路部分のテスト容易性を向上させる
ことを特徴とする。
【0033】また、本発明の半導体集積回路の動作合成
システムは、スケジューリング及びレジスタとリソース
割り付け後のレジスタトランスファレベルの設計記述を
前記請求項2記載の動作合成システムの入力として用い
ることを特徴とする。
【0034】本発明の半導体集積回路の論理合成方法
は、動作合成により得られたレジスタトランスファレベ
ルの記述から、さらに論理合成を行うことにより論理レ
ベル記述を生成する半導体集積回路の論理合成方法にお
いて、論理レベル記述に対するテスト容易性の解析結果
を用いて、データフローグラフ上で演算処理を実行サイ
クルを越えて移動させることにより、演算処理を実行サ
イクルを越えて移動させない場合に比べて、設計する論
理回路部分の制御性及び観測性を向上させることを特徴
とする。
【0035】また、本発明の半導体集積回路の論理合成
システムは、レジスタトランスファレベルの設計記述
と、このレジスタトランスファレベルの設計記述から設
計データベースを構築する設計データベース構築部と、
設計データを格納する設計データベースと、前記レジス
タトランスファレベルの設計記述から構築された設計デ
ータベースを用いて論理回路を構成する論理合成部と、
論理回路の構成を記述した回路データを格納する論理合
成後の設計データベースと、この論理合成後の設計デー
タベースに格納された回路データを参照し、設計制約に
違反するか否かを判定する設計制約判定部と、論理合成
後の設計データベースに格納された前記回路データを参
照し、前記論理回路を構成する論理ブロックのテスト容
易性を計算するテスト容易性計算部と、このテスト容易
性計算部で計算されたテスト容易性情報と、論理合成後
の設計データベースに格納された回路データとを参照
し、実行サイクルを越えて論理ブロックを移動すること
によりテスト容易性が向上することを判定し、前記論理
ブロックを移動候補論理ブロックとして抽出する移動候
補論理ブロック抽出部と、設計制約判定部が設計制約に
違反しないと判定するように、移動候補論理ブロック抽
出部により抽出された動作レベルの設計記述段階の論理
ブロックを移動させ、かつ、レジスタトランスファレベ
ルの設計記述から構築された設計データベースの設計デ
ータを書き換える論理ブロック移動手段とを備えること
を特徴とする。
【0036】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を詳細に説明する。図1乃至図5に基づき、本
発明の第1の実施の形態に係る半導体集積回路の動作合
成方法及び動作合成処理システムについて説明する。図
1にスケジューリング及びスキャン置き換え候補信号抽
出後のデータフローグラフの一部を示す。ここではレジ
スタ及びリソースの割り付けはまだ行われていない。1
1〜15は一群の演算処理を行う論理ブロックである。
横線は実行サイクルの境界をなす信号を保持する境界線
を示している。(以下図2、図3、図6〜図8において
同じ)。
【0037】16〜19は、スキャン置き換え候補とな
る論理ブロックの入出力信号である。またリソースの割
り付けとはライブラリ化された回路要素を共有化して設
計対象に配分することをいう。
【0038】ここで論理ブロック14の出力の観測性が
非常に低い場合、テスト容易性に影響を及ぼす信号1
6、17、19のスキャン置き換え優先度は高くなる。
しかし12、13、14を含む論理ブロックの組合せ論
理回路としてのテスト容易性が非常に低い場合、これら
の信号に対応するレジスタを全てスキャン素子に置き換
えても、回路全体として充分なテスト容易性を得ること
は難しい。このような場合に、当該信号の前後の論理ブ
ロックのスケジューリングを局所的に修正することによ
り、テスト容易性が改善されることがある。
【0039】例えば図1における論理ブロック12を一
つ前の実行サイクルに移動すれば、図2の論理ブロック
22に示すようになる。ここで図2の21〜29は、そ
れぞれ図1の11〜19に対応する。このとき、図2の
信号26から信号29までの論理的な深さが、図1の信
号16から信号19までの論理的な深さに比べて小さく
なり、テスト容易性の改善が見込まれる。
【0040】しかし、図2の論理ブロック21、22の
部分の論理的な深さは、図1の論理ブロック11のみの
場合に比べて大きくなるため、テスト容易性を低下させ
る可能性がある。このことから、実際には回路全体とし
てテスト容易性が改善されるように、スケジューリング
修正を行う論理回路部分を選択しなければならない。
【0041】また、図2の状態でもまだ信号26から信
号29までの部分のテスト容易性が低い場合には、さら
に論理ブロック23をーつ前の実行サイクルに移動しな
ければならない。この処理を行った後のデータフローグ
ラフは、図3の論理ブロック33のように変化する。こ
こで図3の31〜35及び39、310はそれぞれ図2
の21〜25及び28、29に対応する。
【0042】図2のデータフローグラフでは、論理ブロ
ック22から23への信号は他の論理ブロック25にも
分岐しているため、修正前に図2の実行サイクルの境界
において26、27の2個であった信号の数は、修正後
は図3の信号36、37、38に示すように、実行サイ
クルの境界における信号の数が図2に比べて1つ増加す
ることになる。
【0043】最終的にはこれらの信号は、それぞれレジ
スタに割り付けられるが、各信号のライフサイクルの状
態によっては最終的にレジスタの数が増加し、回路の専
有面積が増大することになる。逆に図3の状態から、信
号37の入力側の論理ブロック31〜33のテスト容易
性を考慮して図2の状態に修正したとすれば、レジスタ
数が少なくなる可能性がある。
【0044】このように、修正に際しては最終的な回路
の占有面積が設計上の制約を超えないことを考慮しなけ
ればならない。なお信号のライフサイクルの状態とは、
実行サイクルの進行と共に発生し、消滅に至る信号の残
存状態をいう。
【0045】図4は、本発明のテスト容易性を改善する
ための動作合成システムの構成を示す図である。スケジ
ューリング後のレジスタトランスファレベルの設計記述
41を入力し、設計記述41から設計データベース構築
部42を経て設計データベース43を構築する。設計制
約判定部44は、設計データベース43を参照して、設
計が動作速度や回路規模、専有面積等の設計制約に違反
するか否かを判定する。
【0046】テスト容易性計算部45は、設計データベ
ース43を参照して、演算処理を行う論理ブロックのテ
スト容易性を計算する。計算結果はテスト容易性情報4
6に格納される。
【0047】次に演算処理を行う論理ブロックを実行サ
イクルを越えて移動することにより設計する論理回路部
分のテスト容易性の向上を評価する過程に移る。すなわ
ち、テスト容易性計算部45で計算されたテスト容易性
情報46と、設計データベース43を参照して、実行サ
イクルを越えて移動することによりテスト容易性が向上
する演算処理(論理ブロック)を移動候補演算処理抽出
部47で抽出し、演算処理移動手段48を用いて移動候
補演算処理を移動する。
【0048】但し、実際に移動するか否かは、設計制約
判定部44を用いて設計制約違反が起こらないことを判
定した上で決定される。移動候補演算処理抽出部47は
移動候補として抽出した演算処理とその移動箇所に関す
る情報を演算処理移動手段48に伝え、演算処理移動手
段48は与えられた情報に基づいて、データベース43
を書き換える。
【0049】このようにして修正された新たな設計記述
は、設計記述作成部49で作成され、最終的に設計記述
410として出力される。次に、上記動作合成処理シス
テムを用いて、設計のテスト容易化を図る動作合成処理
フローの1例を図5に示す。S51処理開始に引き続
き、S52でまず設計のテスト容易性を図4のテスト容
易性計算部45を用いて計算し、S53でテス卜容易性
の低い信号を図4の移動候補演算処理抽出部47を用い
て抽出する。S54でテスト容易性の低い信号がまだ存
在するか否かを判断し、NO(存在しない)であれば処
理をS513で終了し、S52で計算された設計のテス
ト容易性が確定する。YES(存在する)であれば、S
55でテスト容易性の低い信号をさらに選択する。
【0050】ここで信号とは、演算処理を行う論理ブロ
ックの入出力信号であり、実行サイクルの境界上の信号
はレジスタに記憶される。信号にはレジスタに対応しな
い外部信号も含まれる。S56でテスト容易性に影響す
るレジスタを抽出する。ここでテスト容易性に影響する
レジスタとは、制御性の低い信号の場合には、着目する
演算処理の入力側のレジスタのことであり、観測性の低
い信号の場合には、着目する演算処理の出力側のレジス
タのことである。なお演算処理のテスト容易性を向上さ
せることは、演算処理を行う論理ブロックの入力信号の
制御性と、出力信号の観測性を向上させることである。
【0051】図4の動作合成処理システムの説明では、
演算処理(論理ブロック)を実行サイクルを越えて移動
することにより設計のテスト容易性を向上させることを
のべたが、上記したように、演算処理の移動は実行サイ
クルの境界をなす信号(レジスタ)の移動と等価であ
り、また演算処理のテスト容易性は信号の制御性と観測
性で計測されるため、以下の処理フローでは信号(レジ
スタ)の移動に着目して処理手順の詳細を説明する。
【0052】前述の通り、信号はそれぞれラッチやフリ
ップ・フロップ等からなるレジスタに記憶される。S5
6におけるテスト容易性に影響するレジスタの抽出は移
動候補信号の抽出と等価であるため、図4の移動候補演
算処理抽出部(47)を用いてテスト容易性に影響する
レジスタの抽出を行うことができる。
【0053】S57において移動候補となるレジスタが
存在するか否かを判断する。NOであればS54の入力
に戻ってS54以下の処理を繰り返す。YESであれば
S58で移動候補となるレジスタを選択し、S59にお
いて選択されたレジスタの移動でテスト容易性が向上す
るか否かを判断する。NOであればS57以下の処理を
繰り返す。YESであればS510でレジスタの移動に
よりレジスタ数が増加するか否かを判断する。
【0054】S510の判断がNOであれば図4の演算
処理移動手段48を用いてレジスタを移動し、S52の
入力に戻って再度設計のテスト容易性を計算し、S51
3終了に至るまで以下の処理を繰り返す。
【0055】S510の判断がYESであって移動によ
りレジスタ数が増加する場合には、S511でレジスタ
の移動で設計制約に違反するか否かを図4の設計制約判
定部44を用いて判断する。NO(違反せず)であれ
ば、S512でレジスタを移動し、S52の入力に戻っ
て再度設計のテスト容易性を計算し、S513終了に至
るまで以下の処理を繰り返す。YES(違反する)であ
れば前記レジスタを移動することなくS57の入力にも
どって以下の処理を繰り返す。
【0056】このようにして、テスト容易性に影響する
レジスタを移動することにより回路の設計制約に違反せ
ずにテスト容易性を改善できれば、レジスタを移動して
設計データを修正する。移動後はS52でテスト容易性
を計算し直し、上記の処理を繰り返すことにより設計デ
ータのテスト容易性を改善することができる。
【0057】次に図6乃至図9に基づき本発明の第2の
実施の形態の半導体集積回路の動作合成処理方法及び処
理システムについて説明する。図6には図1のデータフ
ローグラフに対してレジスタおよびリソースの割付を行
った後の状態が示されている。信号66、69にはレジ
スタR1 が、信号67、68にはレジスタR2 が割り付
けられている。またレジスタR1 、R2 はそれぞれスキ
ャン素子への置き換え候補であるとする。
【0058】なお、横線は実行サイクルの境界線を示し
ている(以下図7、図8において同じ)。信号66と6
9及び信号67と68は、それぞれ異なる実行サイクル
上にあるため、レジスタR1 、R2 を時分割的に共通に
使用することができる。以下レジスタに記憶された信号
をレジスタ信号と呼ぶことにする。
【0059】ここで図6の61〜69は、図7の71〜
79に対応する。前記第1の実施の形態と同様に、論理
ブロック62を実行サイクルを越えて前段に移動するこ
とにより、図7の72に示すようなデータフローグラフ
に変化したとする。論理ブロック62の前段への移動
は、論理ブロック62の入力側のレジスタ信号66を、
対応する論理ブロック72の出力側のレジスタ信号76
への位置に移動したことと等価であるから、レジスタ信
号の移動に着目して説明を進める。
【0060】この移動に伴い、図7のレジスタ信号76
からレジスタ信号79までの経路上における信号のテス
ト容易性が変化する。例えばレジスタ信号79のテスト
容易性が改善されれば、スキャン素子への置き換えの優
先度が下がる。このためレジスタ信号78の優先度のほ
うが高くなるが、このときレジスタ信号77の優先度が
もともと高くなければ、レジスタ信号78と79のレジ
スタの割付を交換することにより、レジスタR2 をスキ
ャン素子に割り付けなくてもよくなる可能性も生じる。
【0061】図7からテスト容易性をさらに改善するた
め、論理ブロック73を前段に移動すれば、図8のデー
タフローグラフが得られる。図8の81〜85及び8
9、810はそれぞれ図7の71〜75、78、79に
対応する。図7において論理ブロック72から73に信
号を受け渡すレジスタ信号76には、他の論理ブロック
75にも信号の受け渡す分岐があるため、図8に示すよ
うに、実行サイクルを横切る信号の数が1つ増加する。
すなわち、図7のレジスタ信号76が図8のレジスタ信
号86、87に変化する。
【0062】これら2つの信号はそれぞれレジスタに割
り付けなければならないが、図7においてもともと信号
76に割り付けられていたレジスタはR1 のみであるか
ら、図8においてこのレジスタR1 に割り付けることが
できるのは2つの信号86と87のうちの1つである。
【0063】このサイクルで割り付け可能なレジスタが
まだ残っていれば、これに他方の信号を割り付ければレ
ジスタ数が増えることはない。しかし、割り付け可能な
レジスタが残っていない場合には、新たにレジスタを追
加しなければならない。このようなレジスタの追加によ
り設計制約を超えることになれば、信号の移動を行うこ
とはできない。また、設計制約を超えずにレジスタを追
加できる場合には、レジスタとリソースの割り付けが最
適になるように再割付の処理を行うことが必要となる。
【0064】第2の実施の形態の動作合成処理を行う処
理システムの構成は、図4の処理システムをそのまま用
いることができる。相違点は第2の実施の形態におい
て、設計記述は第1の実施の形態と異なり、スケジュー
リング及びレジスタとリソース割り付け後の設計記述で
あることのみであるから、処理システムの構成要素とし
ては図4と同一のものを用いることができる。
【0065】図9は第2の実施の形態における処理フロ
ーの1例を示す図である。S91開始に引き続きS92
で設計のテスト容易性を計算し、S93でテス卜容易性
の低い信号を移動の候補として抽出する。S94でテス
ト容易性の低い信号がまだ存在するか否かを判断し、N
OであればS916で処理を終了してS92で計算した
設計のテスト容易性が確定する。YESであればS95
でテスト容易性の低い信号をさらに選択する。
【0066】S96において、テスト容易性に影響する
信号がレジスタ中に記憶されたレジスタ信号を抽出し、
S97で移動候補となるレジスタ信号が存在するか否か
を判断する。NOであればS94の入力に戻ってS94
以下の処理を繰り返す。YESであればS98で移動候
補となるレジスタ信号を選択し、S99で選択されたレ
ジスタ信号の移動でテスト容易性が向上するか否かを判
断する。NOであればS97以下の処理を繰り返す。Y
ESであればS910でレジスタ信号の移動でレジスタ
信号数が増加するか否かを判断する。
【0067】S910の判断がNOであれば、S912
でレジスタを移動し、S915でレジスタを再割付し、
S92の入力に戻って再度設計のテスト容易性を計算
し、S916終了に至るまで以下の処理を繰り返す。S
910の判断がYESであって移動によりレジスタ数が
増加する場合には、S911において増加したレジスタ
信号を既存のレジスタに割り付け可能か否かを判断す
る。
【0068】S911の判断がYESであれば、S91
2でレジスタを移動し、S915でレジスタを再割付
し、S92の入力に戻って再度設計のテスト容易性を計
算し、S916終了に至るまで以下の処理を繰り返す。
NOであればS913でレジスタの増加により設計制約
に違反するか否かを判断する。
【0069】この判断がNO(違反しない)であればS
914でレジスタを移動し、さらにS915で再割付を
行って、S92の入力に戻り再度設計のテスト容易性を
計算し、S916終了に至るまで以下の処理を繰り返
す。この判断がYES(違反する)であればレジスタを
移動することなくS97の入力にもどって以下の処理を
繰り返す。
【0070】このように第2の実施の形態の処理フロー
では、信号を記憶するレジスタを移動してテスト容易性
を改善する際、信号数が増えないか、又は信号数が増加
しても割り付けるレジスタ数が増えない場合にはS91
2でレジスタを移動して設計データを修正し、信号の移
動により割り付けるレジスタの数が増える場合にはS9
13、S914でレジスタ数の増加によって設計制約を
超えないことを判定した上で移動を行い、S915にお
いて移動後に設計全体のレジスタおよびリソースの再割
付を実行する。移動後はS92でテスト容易性を計算し
直し、以下の処理を繰り返すことにより設計する論理回
路部分のテスト容易性を改善する。
【0071】次に図10に基づき本発明の第3の実施の
形態について説明する。第1、第2の実施の形態で説明
したRTL記述レベルでのテスト容易性解析において
は、データフローグラフと最終的にこれから得られる論
理記述との間の情報量の差が問題となる。一般に下位レ
ベルに属する論埋記述のほうが、RTL記述等の上位の
記述に対して情報量が多く、テスト容易性の解析も論理
合成を行った後の方がより正確に行うことができる。
【0072】信号の移動による設計のテスト容易性の解
析について、論理合成を行った後のより正確な情報を用
い、設計制約に違反するか否かの判定を含めてレジスタ
信号の抽出・移動によるテスト容易性の解析を進めるこ
とができる。
【0073】図10は、RTLレベルの設計記述から論
理合成を行い、論理レベルの情報を用いてより正確に設
計のテスト容易性の解析を行うための第3の実施の形態
に係る動作合成処理システムを示す図である。図10の
101〜103は、図4の41〜43に対応し、まずR
TL記述の設計データベース103を作成する。論理合
成部104を用いてRTL記述の設計データベース10
3を論理合成後の設計データベース105に変換する。
【0074】図10の105〜109、1010〜10
12は、図4の43〜49、410にそれぞれ対応し、
RTL記述の設計データが論理合成後の設計データに変
換されるほかは、各システム要素の処理機能は同様であ
るため説明を省略する。
【0075】図11は、論理合成後のデータフローグラ
フ上でテスト容易性の向上を図る処理フローを示す図で
ある。動作合成により得られたRTL記述のデータフロ
ーグラフからS112の論理合成により論理レベルの記
述を作成し、S113で論理記述に対して論理回路のテ
スト容易性計算を行う。この情報をもとにS114でレ
ジスタ信号の抽出と移動をS115の設計制約に違反し
ない範囲で行う。なお、S114における抽出と移動は
動作レベルにおいて論理ブロックを移動し、この論理ブ
ロックの移動に伴うレジスタ信号の抽出と移動を意味す
る。
【0076】設計制約に違反すれば、再びS114に戻
ってレジスタ信号の抽出・移動を行う。違反しなければ
S116において、S116で移動により影響を受ける
部分についてのみ移動後の再論理合成を実行する。
【0077】S117で所望のテスト容易性を満足する
か否かの判断を行い、NOであればS113の入力に戻
って以下の手順を繰り返す。YESであればS118で
処理を終了する。このようにして論理合成後の設計のテ
スト容易性を向上することができる。
【0078】なお本発明は上記の実施の形態に限定され
ることはない。上記の実施の形態において、設計上の制
約条件としてチップサイズと性能をとる場合について説
明したが、必ずしもこれに限定されるものではない。例
えば半導体集積回路の消費電力を設計上の制約条件とす
ることもできる。その他本発明の要旨を逸脱しない範囲
で種々変形して実施することができる。
【0079】
【発明の効果】上述したように本発明の半導体集積回路
の動作合成方法及びその処理システムによれば、従来の
動作合成により得られるRTL記述に比べて、論理合成
後に生成される論理回路のテスト容易性がより高く、ま
たより少ないコストで所望のテスト容易性を有するRT
L記述を生成することが可能になる。さらに本発明によ
れば、設計する半導体集積回路のチップサイズや動作速
度に関する制約がテスト容易性を達成するためのレジス
タや信号の移動により、損なわれないことを同時に保証
することができる。
【0080】したがつて、本発明の半導体集積回路の動
作合成方法及びその処理システムを用いれば製造コスト
を大幅に低減し、かつ、高性能な半導体集積回路を得る
ことができる。
【図面の簡単な説明】
【図1】スケジューリング及びスキャン置き換え候補信
号抽出後のデータフローを示す図。
【図2】図1から信号を移動した後のデータフローを示
す図。
【図3】図2からさらに信号を移動した後のデータフロ
ーを示す図。
【図4】テスト容易性を図る動作合成処理システムの構
成図。
【図5】スケジューリング後に信号移動を行う際の処理
フローを示す図。
【図6】レジスタおよびリソースの割り付け後のデータ
フローを示す図。
【図7】図6からレジスタ信号を移動した後のデータフ
ローを示す図。
【図8】図7からさらにレジスタ信号を移動した後のデ
ータフローを示す図。
【図9】レジスタ・リソース割り付け後に信号移動を行
う際の処理フローを示す図。
【図10】論理記述でテスト容易性を評価する動作合成
処理システムの構成図。
【図11】論理合成後にレジスタ移動を行う際の処理フ
ローを示す図。
【図12】動作記述におけるデータフローを示す図。
【図13】従来のスケジューリング及びリソース共有化
後のデータフローを示す図。
【図14】従来のレジスタ割り付け・共有化後のデータ
フローを示す図。
【図15】従来のRTL記述を表現したブロック図。
【図16】従来のスキャン変換後のRTL記述を表現し
たブロック図。
【図17】従来のテスト容易性を考慮したスケジューリ
ング及びレジスタ割り付け後のデータフローを示す図。
【図18】図16より得られるRTL記述を表現したブ
ロック図
【図19】図17のスキャン変換後におけるRTL記述
を表現したブロック図。
【符号の説明】
11〜15…論理ブロック 16〜19…信号 21〜25…論理ブロック 26〜29…信号 31〜35…論理ブロック 36〜39、310…信号 41…設計記述 42…設計データベース構築部 43…設計データベース 44…設計制約判定部 45…テスト容易性計算部 46…テスト容易性情報 47…移動候補演算処理抽出部 48…演算処理移動手段 49…設計記述作成部 410…設計記述 61〜65…論理ブロック 66〜69…レジスタ信号 71〜75…論理ブロック 76〜79…レジスタ信号 81〜85…論理ブロック 86〜89、810…レジスタ信号 101…設計記述 102…設計データベース構築部 103…設計データベース 104…論理合成 105…論理合成後の設計データベース 106…設計制約判定部 107…テスト容易性計算部 108…テスト容易性情報 109…移動候補論理ブロック抽出部 1010…論理ブロック移動手段 1011…論理設計記述作成部 1012…論理設計 121〜125…演算ユニット 131〜135…演算ニット 136…リソース共有を示す枠 141〜145…演算ユニット 146〜149、1410〜1412…レジスタ 151〜154…演算実行ブロック 155、156…レジスタ 157、158…切り替え回路(MUX) 161〜164…演算実行ブロック 165、166…スキャンレジスタ 167、168…切り替え回路(MUX) 171〜175…演算ユニット 176〜179、1710〜1712…レジスタ 181〜184…演算実行ブロック 185、186…レジスタ 187、188…切り替え回路(MUX) 191〜194…演算実行ブロック 195、196…レジスタ 197、198…切り替え回路(MUX) a、b…データ入力 c、d…データ出力 T1 〜T4 …実行サイクルを示す時間 X、Y、W…演算ブロック R1 、R2 …レジスタ si、so…スキャン入出力信号

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 動作レベル記述からレジスタトランスフ
    ァレベル記述を生成する半導体集積回路の動作合成方法
    において、 スケジューリング後のレジスタトランスファレベル記述
    に対するテスト容易性の解析結果を用いて、データフロ
    ーグラフ上で演算処理を実行サイクルを越えて移動させ
    ることにより、前記演算処理を実行サイクルを越えて移
    動させない場合に比べて、設計する論理回路部分の制御
    性及び観測性を向上させることを特徴とする半導体集積
    回路の動作合成方法。
  2. 【請求項2】 スケジューリング後のレジスタトランス
    ファレベルの設計記述と、 この設計記述から設計データベースを構築する設計デー
    タベース構築部と、 前記設計データを格納する設計データベースと、 この設計データベースに格納された設計データを参照
    し、設計制約に違反するか否かを判定する設計制約判定
    部と、 前記設計データを参照し、演算処理のテスト容易性を計
    算するテスト容易性計算部と、 このテスト容易性計算部で計算されたテスト容易性情報
    と、 このテスト容易性情報と前記設計データベースに格納さ
    れた設計データとを参照し、実行サイクルを越えて前記
    演算処理を移動することによりテスト容易性が向上する
    ことを判定し、前記演算処理を移動候補演算処理として
    抽出する移動候補演算処理抽出部と、 前記設計制約判定部が前記設計制約に違反しないと判定
    するように、前記移動候補演算処理を移動させ、かつ、
    前記設計データベースに格納された前記設計データを書
    き換える演算処理移動手段と、 を備えることを特徴とする半導体集積回路の動作合成シ
    ステム。
  3. 【請求項3】 動作レベル記述からレジスタトランスフ
    ァレベル記述を生成する半導体集積回路の動作合成方法
    において、 スケジューリング及びレジスタとリソース割り付け後の
    レジスタトランスファレベル記述に対するテスト容易性
    の解析結果を用いて、データフローグラフ上で演算処理
    を実行サイクルを越えて移動させることにより、前記演
    算処理を実行サイクルを越えて移動させない場合に比べ
    て、設計する論理回路部分のテスト容易性を向上させる
    ことを特徴とする半導体集積回路の動作合成方法。
  4. 【請求項4】 前記設計記述はスケジューリング及びレ
    ジスタとリソース割り付け後のレジスタトランスファレ
    ベルの設計記述であることを特徴とする請求項2記載の
    半導体集積回路の動作合成システム。
  5. 【請求項5】 動作合成により得られたレジスタトラン
    スファレベルの記述から、さらに論理合成を行うことに
    より論理レベル記述を生成する半導体集積回路の論理合
    成方法において、 前記論理レベル記述に対するテスト容易性の解析結果を
    用いて、データフローグラフ上で演算処理を実行サイク
    ルを越えて移動させることにより、前記演算処理を実行
    サイクルを越えて移動させない場合に比べて、設計する
    論理回路部分の制御性及び観測性を向上させることを特
    徴とする半導体集積回路の論理合成方法。
  6. 【請求項6】 レジスタトランスファレベルの設計記述
    と、 このレジスタトランスファレベルの設計記述から設計デ
    ータベースを構築する設計データベース構築部と、 前記設計データを格納する設計データベースと、 前記レジスタトランスファレベルの設計記述から構築さ
    れた設計データベースを用いて論理回路を構成する論理
    合成部と、 前記論理回路の構成を記述した回路データを格納する論
    理合成後の設計データベースと、 この論理合成後の設計データベースに格納された回路デ
    ータを参照し、設計制約に違反するか否かを判定する設
    計制約判定部と、 前記論理合成後の設計データベースに格納された前記回
    路データを参照し、前記論理回路を構成する論理ブロッ
    クのテスト容易性を計算するテスト容易性計算部と、 このテスト容易性計算部で計算されたテスト容易性情報
    と、前記論理合成後の設計データベースに格納された回
    路データとを参照し、実行サイクルを越えて前記論理ブ
    ロックを移動することによりテスト容易性が向上するこ
    とを判定し、前記論理ブロックを移動候補論理ブロック
    として抽出する移動候補論理ブロック抽出部と、 前記設計制約判定部が前記設計制約に違反しないと判定
    するように、動作レベルの設計記述段階で前記移動候補
    論理ブロックを移動させ、かつ、前記レジスタトランス
    ファレベルの設計記述から構築された設計データベース
    の設計データを書き換える論理ブロック移動手段と、 を備えることを特徴とする半導体集積回路の論理合成シ
    ステム。
JP10059565A 1998-03-11 1998-03-11 半導体集積回路の動作合成方法及びその処理システム Pending JPH11259545A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10059565A JPH11259545A (ja) 1998-03-11 1998-03-11 半導体集積回路の動作合成方法及びその処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10059565A JPH11259545A (ja) 1998-03-11 1998-03-11 半導体集積回路の動作合成方法及びその処理システム

Publications (1)

Publication Number Publication Date
JPH11259545A true JPH11259545A (ja) 1999-09-24

Family

ID=13116903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10059565A Pending JPH11259545A (ja) 1998-03-11 1998-03-11 半導体集積回路の動作合成方法及びその処理システム

Country Status (1)

Country Link
JP (1) JPH11259545A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017224128A (ja) * 2016-06-15 2017-12-21 株式会社日立製作所 半導体lsi設計装置および設計方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017224128A (ja) * 2016-06-15 2017-12-21 株式会社日立製作所 半導体lsi設計装置および設計方法

Similar Documents

Publication Publication Date Title
CN110192192B (zh) 用于电路设计的基于神经网络的物理综合
US6134705A (en) Generation of sub-netlists for use in incremental compilation
US9165098B1 (en) Machine readable products for single pass parallel hierarchical timing closure of integrated circuit designs
US20090271750A1 (en) Timing constraint merging in hierarchical soc designs
US6195786B1 (en) Constrained register sharing technique for low power VLSI design
US7254796B2 (en) Method for synthesizing domino logic circuits cross reference to related patent application using partition
US7810062B2 (en) Method for eliminating negative slack in a netlist via transformation and slack categorization
US6604232B2 (en) High-level synthesis method and storage medium storing the same
US8146041B1 (en) Latch based optimization during implementation of circuit designs for programmable logic devices
JP2008123056A (ja) 論理回路のタイミング制約生成システムおよび論理回路のタイミング制約生成方法、制御プログラム、可読記録媒体
US8935651B1 (en) Methods and apparatus for data path cluster optimization
US6625799B2 (en) Technology mapping method and storage medium
US10606972B2 (en) Method, design program, and design apparatus of a high level synthesis process of a circuit
JP4666164B2 (ja) 集積回路の階層設計方法および装置
JPH11259545A (ja) 半導体集積回路の動作合成方法及びその処理システム
US7051312B1 (en) Upper-bound calculation for placed circuit design performance
JP2002108958A (ja) 回路設計システム、回路設計方法および回路設計プログラムを格納したコンピュータ読取り可能な記録媒体
US11308025B1 (en) State machine block for high-level synthesis
JP2001209670A (ja) 高位合成方法、および、高位合成方法の実施に使用される記録媒体
JP2007072995A (ja) レイアウト装置、自動配置配線方法および半導体集積回路製造方法
JP3811133B2 (ja) 半導体集積回路設計方法および設計支援装置
JP4053969B2 (ja) 半導体集積回路の設計装置および半導体集積回路の設計方法
US10430540B1 (en) Processing a block diagram circuit design into an efficient high-level language representation
JP2010060289A (ja) ゲーテッドクロックセル、スキャンテスト制御回路及びスキャンテスト制御回路のrtlレベルの設計方法
JPH11154167A (ja) 回路設計システムおよび回路設計方法