JP2019192097A - 半導体lsi設計装置および設計方法 - Google Patents

半導体lsi設計装置および設計方法 Download PDF

Info

Publication number
JP2019192097A
JP2019192097A JP2018086617A JP2018086617A JP2019192097A JP 2019192097 A JP2019192097 A JP 2019192097A JP 2018086617 A JP2018086617 A JP 2018086617A JP 2018086617 A JP2018086617 A JP 2018086617A JP 2019192097 A JP2019192097 A JP 2019192097A
Authority
JP
Japan
Prior art keywords
functional block
circuit
combinational circuit
input
semiconductor lsi
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
JP2018086617A
Other languages
English (en)
Other versions
JP7045921B2 (ja
Inventor
巧 上薗
Takumi Uezono
巧 上薗
鳥羽 忠信
Tadanobu Toba
忠信 鳥羽
雅裕 白石
Masahiro Shiraishi
雅裕 白石
原田英雄
Hideo Harada
英雄 原田
悟史 西川
Satoshi Nishikawa
悟史 西川
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2018086617A priority Critical patent/JP7045921B2/ja
Priority to CN201910256473.0A priority patent/CN110414029B/zh
Priority to EP19168894.4A priority patent/EP3564836A1/en
Priority to US16/389,332 priority patent/US10747920B2/en
Publication of JP2019192097A publication Critical patent/JP2019192097A/ja
Application granted granted Critical
Publication of JP7045921B2 publication Critical patent/JP7045921B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Power Engineering (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Microelectronics & Electronic Packaging (AREA)

Abstract

【課題】制御装置の論理実装時の必要リソース削減技術と、検証技術を提供する。【解決手段】半導体LSI設計装置を、アプリケーション仕様から機能ブロックライブラリで定義される機能ブロックを組み合わせて構成した組合せ回路を、機能ブロックの演算順序の接続情報を付与して生成する手段と、前記組合せ回路を、機能ブロックを時分割で複数回使用する順序回路に適用可能な演算順序情報へ変換する手段と、生成された演算順序情報から組合せ回路へ逆変換する手段と、前記組合せ回路と、逆変換した組合わせ回路の論理等価性を検証する手段と、前記演算順序情報と、前記順序回路と、機能ブロックを結合する手段とを備えて構成する。【選択図】 図1

Description

本発明は、高い安全性を求められる制御装置に用いる半導体LSI設計装置および設計方法に関する。
従来、制御装置にはマイクロコンピュータが用いられてきたが、高い安全性を求められる制御装置、例えば、大型プラントや発電施設などの制御装置では、セキュリティの向上や耐タンパ性向上を目的にプロセッサレスなハードワイヤード方式が求められている。他方で、適用機器毎の調整の容易性を確保するため、メンテナンス性も求められている。これらの要求を満たすため、制御装置にFPGAが用いられ始めている。特に、高安全制御装置では、中性子などの放射線が原因のソフトエラーにより制御装置に一時的な故障が発生し停止することを避けるために、ソフトエラー耐性の高いFlash型のFPGAを用いられ始めている。
背景技術として、特開2005−249609号公報(特許文献1)がある。特許文献1には、「ASICおよびFPGAから選択されるハードウェアに実装したディジタルロジックを用いて構築された原子炉の安全保護計装システムにおいて、入力の全てのロジックパターンに対する出力のロジックパターンが実装前段階においてあらかじめ検証された機能ユニットと、前記検証済みの機能ユニットを組み合わせて構成した機能モジュールの少なくとも一方を用いてディジタルロジック部分が構成され、前記機能モジュールは、前記検証済みの機能ユニットと同一のロジック構成を有する機能ユニットのみで構成されたことを特徴とする安全保護計装システム。」と記載されている。
特開2005−249609号公報
特許文献1では、信頼性の高いディジタル信号処理装置で構成される安全保護計装システムおよびその取扱方法について記載されている。しかし、FPGAなどのLSIに実装する際のリソースについては言及されていない。例えば、Flash型のFPGAは一般にSRAM型のFPGAと比較して搭載可能な論理規模が小さい。また、低コスト化を目的に、安価で搭載論理規模の小さいFPGAを使用する場合もある。そのため、制御装置に必要となる制御論理を1つのFPGAに搭載できず、複数のFPGAを使う必要があり、制御装置の複雑化や検証コストの増加などを招く可能性がある。従って、制御論理実装に必要なリソースの削減は、高い安全性を求められる制御装置において、重要な技術の一つである。
また、高い安全性が求められる制御装置では、診断などの安全機能の搭載や多重化などに加え、設計プロセスにも高い安全性が求められている。高安全制御装置の設計プロセスでは、仕様から設計、設計から実装など、設計ステップを踏む毎に、その前後で整合性があるか、誤りがないかを検証する必要がある。例えば、FPGAなどのLSI設計で用いる論理合成ツールは、RTL記述からネットリストを生成する際、リソースの最適化や論理を縮小するためのリソースシェアなど論理等価変換を行う。高安全制御装置の設計では、ツールの論理等価変換作業が正しく行われていることを検証するために、RTL記述とネットリストとの論理等価性検証が必要である。
上記より、高安全制御装置では、限られた実装リソースの中で、制御論理を実装し、それを検証することは、高安全制御装置の実現には重要な技術要素の1つである。
そこで、本発明では、制御装置の論理実装時の必要リソース削減技術と、検証技術を提供することを目的とする。
本発明の半導体LSI設計装置の好ましい例では、アプリケーション仕様から機能ブロックライブラリで定義される機能ブロックを組み合わせて構成した組合せ回路を、機能ブロックの演算順序の接続情報を付与して生成する手段と、前記組合せ回路を、機能ブロックを時分割で複数回使用する順序回路に適用可能な演算順序情報へ変換する手段と、生成された演算順序情報から組合せ回路へ逆変換する手段と、前記組合せ回路と、逆変換した組合わせ回路の論理等価性を検証する手段と、前記演算順序情報と、前記順序回路と、機能ブロックを結合する手段とを備えて構成する。
また、本発明の他の特徴として、前記半導体LSI設計装置において、組合せ回路から順序回路の演算順序情報へ変換する手段で用いる順序回路は、演算順序情報を記憶する演算順序記憶部と、少なくとも前記組合せ回路内に使用されている機能ブロックを種類別に1つずつ並列に接続した機能ブロック群と、入力データ、機能ブロックによる演算結果を逐次記憶するメモリと、前記メモリに記憶されたデータを、前記機能ブロックへの入力として読み出すメモリ制御部と、前記読み出されたデータを前記機能ブロック群への入力として選別する入力セレクタと、前記機能ブロック群の演算結果を選択して前記メモリへ格納する出力セレクタと、及び前記演算順序情報に従い、前記メモリ制御部、前記入力セレクタ、及び前記出力セレクタを制御する演算実行制御部とを有する順序回路であることを特徴とする。
また、本発明の更に他の特徴として、前記半導体LSI設計装置において、機能ブロックライブラリで定義される各機能ブロックには、その機能ブロックが本来実現する機能に対する入出力ピンに加えて、演算内容には無関係の演算開始信号入力ピンと演算終了信号出力ピンとが定義されていることを特徴とする。
本発明によれば、制御装置の論理実装に必要なリソースを、検証された手段で削減できる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
実施例1、2に係る半導体LSI設計装置の構成図の例である。 実施例1の制御回路設計部における処理のフローチャートである。 本発明の機能ブロックライブラリに登録されている各機能ブロックの、(A):入出力ピンの構成例、および(B):HDL形式の定義例を示す図である。 本発明に係る組合せ回路設計部で作成した組合せ回路の例を示す図である。 本発明に係る組合せ回路−演算順序情報変換部が生成する演算順序情報の構成例である。 本発明に係る演算制御部−演算順序情報結合部が出力するアプリケーションHDLの例を示す図である。 実施例2の制御回路設計部における処理のフローチャートである。 実施例3に係る半導体LSI設計装置の構成図の例である。 実施例3の制御回路設計部における処理のフローチャートである。
以下、実施例を図面を用いて説明する。
図1は、本実施例の半導体LSI設計装置100の構成図の例である。
半導体LSI設計装置100は、汎用の計算機上に構成することができて、そのハードウェア構成は、CPU(Central Processing Unit)、RAM(Random Access Memory)などにより構成される演算部110、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリなどを用いたSSD(Solid State Drive)などにより構成される記憶部120、キーボードやマウス等の入力デバイスより構成される入力部130、LCD(Liquid Crystal Display)、有機ELディスプレイなどの表示装置、各種出力装置などにより構成される表示・出力部140、CD−ROM、USBメモリなどの可搬性を有する可搬型記憶媒体の情報を読み出すメディア読取部150、NIC(Network Interface Card)などにより構成される通信部160、などを備える。
通信部160は、ネットワーク170を介して外部の論理回路シミュレータ181、論理合成装置182、および半導体LSI製造装置190などと接続されている。
演算部110は、記憶部120に記憶されている半導体LSI設計プログラム121をRAMへロードしてCPUで実行することにより以下の各機能部を有する制御回路設計部101を実現する。制御回路設計部101は、組合せ回路設計部111と、組合せ回路−演算順序情報変換部112と、演算順序情報−組合せ回路変換部113と、演算制御部−演算順序情報結合部114と、論理等価性検証部115と、実施例2では更に機能ブロック内論理削除部116とから構成される。
記憶部120は、半導体LSI設計プログラム(記憶領域)121と、機能ブロックライブラリ(記憶領域)122と、順序回路HDL(記憶領域)123と、組合せ回路HDL(記憶領域)124と、演算順序情報(記憶領域)125と、逆変換組合せ回路HDL(記憶領域)126と、アプリケーションHDL(記憶領域)127と、検証結果情報(記憶領域)128とを有する。
図2は、実施例1の制御回路設計部101における処理のフローチャートを示す。
組合せ回路設計部111は、表示・出力部140にユーザインタフェースを提示して、制御回路設計者(ユーザ)がこれから設計を行う制御回路を、アプリケーション仕様3に基づいて、ハードウェア記述言語形式で、または機能ブロックを表わす図形を配置する入力形式などにより、入力部130より入力される情報を受け付けて、組合せ回路を生成する。組合せ回路設計部111は、機能ブロックライブラリ122に登録されている機能ブロックのメニューを提示して、制御回路設計者(ユーザ)は、メニュー内の機能ブロックを自由に配置して、配置された各機能ブロック間を配線して、入出力ピンを付加して、アプリケーション仕様3を実現する組合せ回路の設計を行う。組合せ回路設計部111は、HDL形式の組合せ回路HDL16を出力して、組合せ回路HDL(記憶領域)124に記憶する。
本実施例の機能ブロックライブラリ122は、各種アプリケーションの制御回路で共通に使用する各種機能ブロックを登録している。機能ブロックは、論理演算、四則演算、積分演算などであり、回路規模は多様であるが、機能ブロックに対する全入力パターンに対する出力パターンが、設計仕様から期待される予測値のパターンと全て一致していることを確認することが可能なロジック規模である。各機能ブロックは予め、プロパティ検証やダイナミック検証などで検証されて登録された検証済みHDLライブラリである。
更に、各機能ブロックは、図3(A)、(B)に示すように、その機能ブロックが本来実現する機能に対する入出力(入力ピン:a_in, b_in、出力ピン:e_out, f_out)に加え、機能ブロックの演算内容には関係の無い演算開始信号入力ピン(C_St_in)と演算終了信号出力ピン(C_End_out)が設けられている。各機能ブロックは、演算開始信号入力ピンにパルスを入力すると、入力ピンに入力されている値を取込み、機能ブロック内で演算を開始する。機能ブロック内の演算を終了すると、出力信号に演算結果を保持し、演算終了信号出力ピンにパルスを出力する。
本実施例の各機能ブロックは、HDL形式は変えずに、図3(B)に示すように演算開始信号入力ピン(C_St_in)と演算終了信号出力ピン(C_End_out)を定義して登録されている。
組合せ回路設計部111では、制御回路設計者(ユーザ)が、各機能ブロックを配置する際に演算順序を明示するために、最初に実行する機能ブロックから、最後に実行する機能ブロックまでの演算開始信号ピン(入力)と演算終了信号ピン(出力)を数珠繋ぎに接続する。
図4は、組合せ回路設計部111で作成した組合せ回路HDL16のブロック図の例(20)である。図4の例では、4つの機能ブロック(21〜24)を並べて配置し、入力ピン(31〜34)と出力ピン(35〜36)を配置し、機能ブロック21〜24と入出力ピンの間を配線(51〜60)で結線し、4入力2出力の組合せ回路を実現している。図中、機能ブロック22と機能ブロック24は同一の機能を持つ機能ブロックである。演算実行順序を明示するために、ブロック図(20)に演算開始信号ピンCalcSt(40)を設け、演算順序順に演算開始信号ピンと各機能ブロックを接続し(41〜44)、演算終了信号ピンCalcEnd(46)を設け、最後に実行する機能ブロックに接続(45)している。
各機能ブロックは、演算開始信号入力ピンにパルスを入力すると、入力ピンに入力されている値を取込み、機能ブロック内で演算を開始する。機能ブロック内の演算を終了すると、出力信号に演算結果を保持し、演算終了信号出力ピンにパルスを出力する。従って、図4に示したブロック図(20)を演算実行するためには、入力ピン(31〜34)に演算データを与え、そのデータを保持したまま、演算開始信号ピン40にパルスを入力する必要がある。ブロック図(20)の演算完了後、演算終了信号ピン46にパルスが出力されるので、その時の出力ピン(35〜36)の値がブロック図(20)の演算結果となる。一般に用いられる組合せ回路は、入力ピンに演算データを与えると同時に演算が開始するため演算順番は不明確であるが、本実施例では演算開始信号ピン40から入力されたパルスが配置された各機能ブロックを伝播していくため、明示的に演算順序を示すことが出来る。
ただし、演算順序の明示の仕方は、上記に限らず、例えば、各機能ブロックに演算順序ピン(入力)を設け、演算順序ピンに演算順序を表す整数値を入力するなどの方法でも良い。
図2の制御回路設計部101における処理のフローチャートに戻り、組合せ回路−演算順序情報変換部112は、組合せ回路設計部111が出力した組合せ回路HDL16を解析し、演算順序情報17を生成する。図5は演算順序情報17の構成例(125)であり、演算順序(125a)、機能ブロック種類(125b)、接続情報(125c)、および入出力ピン/配線接続情報(125d、125e)で構成される。
組合せ回路−演算順序情報変換部112の動作を説明する。まず、入力された組合せ回路HDL16に対して演算開始信号ピン40から演算終了信号ピン46までを辿り、現れた機能ブロックの順に演算順序を採番する。まず、演算順序が1の機能ブロックを対象に、演算順序を演算順序欄(125a)に格納し、機能ブロックライブラリ122に登録された機能ブロックを識別する種類のデータを機能ブロック種類欄(125b)に格納し、対象機能ブロックの入出力ピンに接続されている配線を識別する符号データを接続情報欄(125c)に格納する。配線を識別する符号データには、配線属性毎に特徴があり、配線が、組合せ回路HDL16の入力ピン(I)、出力ピン(O)、ブロック間配線(S)であることを判別できる。配線属性毎の特徴としては、属性毎に符号データにオフセット(入力ピン:(I)、出力ピン:(O)、ブロック間配線:(S))を設けるなどの方法がある。なお、接続情報欄125cに格納する配線符号データの順番は、機能ブロックライブラリ122に登録されている機能ブロックのピンの順番通りとする。また、組合せ回路HDL16の入力ピン(31〜34)、出力ピン(35〜36)と、配線との接続情報を入出力ピン/配線接続情報欄(125d、125e)に格納する。組合せ回路HDL16内の全ての機能ブロックの情報が演算順序情報(記憶領域)125に格納されたら終了する。
図2の制御回路設計部101における処理のフローチャートに戻り、演算制御部−演算順序情報結合部114は、予め作成されて順序回路HDL(記憶領域)123に登録されている順序回路HDL6と、組合せ回路−演算順序情報変換部112で作成された演算順序情報17と、機能ブロックライブラリ122内の機能ブロックHDLのうち組合せ回路HDL16で使用されている全ての機能ブロック1個ずつ読み出してそれらを結合して、アプリケーションHDL4として出力する。
図6は、演算制御部−演算順序情報結合部114が出力するアプリケーションHDL4の構成例(70)である。アプリケーションHDL4は、予め作成しておいた順序回路HDL6と、演算順序情報17と、機能ブロックライブラリ122に登録されている機能ブロック群71で構成される。
順序回路HDL6は、演算順序記憶部73に演算順序情報17を格納して、演算順序情報17に従い、機能ブロック群71を用いて、演算実行する機能を持つ。順序回路HDL6の構成は、例えば、メモリ74とメモリ制御部75、メモリ入力セレクタ76、メモリ出力セレクタ77、入力セレクタ78、出力セレクタ79、演算実行制御部72、演算順序情報17を格納する演算順序記憶部73から構成される。順序回路HDL6と機能ブロック群71に含まれる機能ブロックは予め検証しておく。本回路の動作は下記の通りである。
動作1:入力データ(In1〜In4)は、メモリ入力セレクタ76により、1データが選択され、メモリ制御部75が制御するメモリ74に格納される。
動作2:演算実行制御部72は、演算順序記憶部73に格納されている機能ブロック種類を取得する。演算順序記憶部73は、演算順序に従い、機能ブロック種類を出力する。
動作3:メモリ制御部75がメモリ74を制御し、メモリ74から入力データをリードする。リードデータは、入力セレクタ78を通り、順番にFFに格納される。入力セレクタ78は、演算実行制御部72が制御する。
動作4:演算順序に従い、演算実行制御部72の制御により機能ブロック群71で該当する機能ブロックの1つが演算実行される。
動作5:各機能ブロックの出力を出力セレクタ79が順番に選択し、メモリ74に順番に格納する。出力セレクタ79は演算実行制御部72に制御される。
動作6:演算順序記憶部73に格納されている全てのデータ(演算順序情報の各演算順序データ)に対して、動作2から動作5までを実行する。
動作7:メモリ74に格納されているデータのうち、演算結果データを順番にリードし、メモリ出力セレクタ77が各出力ポートに出力する。
なお、図6はアプリケーションHDL4で表される回路の一例であり、例えば、入力データを直接FFに書き込み、メモリ74を持たない構成としても良い。
また、機能ブロック群71には、機能ブロックライブラリ122に含まれる全ての機能ブロックを搭載しても良いし、演算順序情報17を参照し、使用する機能ブロックのみを搭載してもよい。
図2の制御回路設計部101における処理のフローチャートに戻り、演算順序情報−組合せ回路変換部113は、演算順序情報17に示すとおりに機能ブロックを実行する逆変換組合せ回路HDL18を生成する。以下に生成方法例を示す。
手順1:演算順序情報17から演算順序がiである機能ブロックの種類と接続情報を取得する。
手順2:機能ブロックライブラリ122に登録されている機能ブロックを参照し、機能ブロックの種類から、機能ブロックの入出力ピン情報を取得する。機能ブロックはHDLで記述されているため、容易に入出力ピン情報を取得可能である。
手順3:機能ブロックのインスタンスを定義するHDLインスタンス定義文を生成し保持する。一般に、HDLインスタンス定義文は、機能ブロックの種類、配線接続情報からなるため、手順2で取得した情報から、一意に生成できる。
手順4:該当機能ブロックに接続されている全ての配線の配線符号データを参照し、入出力配線であればモジュール定義文に配線定義を追加する。入出力配線でなければ、モジュール内配線の定義文を追加する。
手順5:モジュール定義文、配線定義文、機能ブロックのインスタンス定義文、モジュール終了文を作成して、逆変換組合せ回路HDL18として逆変換組合せ回路HDL(記憶領域)126へ出力する。
組合せ回路−演算順序情報変換部112と、演算順序情報−組合せ回路変換部113は、ソフトウェアとして作成することも可能である。この時、それぞれのソフトウェアを、異なる組織や異なる設計者による設計や、異なる言語やコンパイラを用いた開発を行うことで、ダイバーシティを確保し、両ソフトウェアへの共通要因故障を排除することが可能となり、安全性を高めることが出来る。
論理等価性検証部115は、組合せ回路HDL16と、逆変換組合せ回路HDL18との論理等価性を検証し、検証結果情報5を出力する。組合せ回路HDL16を論理等価性変換し形式を変化させた後、さらにその逆変換を行い、組合せ回路構造に戻して逆変換組合せ回路HDL18を生成しているため、検証対象のHDLは、どちらも組合せ回路構造となっており、回路の構成要素が1対1で対応するため、容易に論理等価性を検証可能である。なお、本論理等価性検証は、組合せ回路−演算順序情報変換部112が正しく動作していることを検証することが目的であり、組合せ回路−演算順序情報変換部112と演算順序情報−組合せ回路変換部113により、仕様通りに正しく論理等価変換が成されていれば、検証結果情報5は常に論理等価であることを示す。逆に、論理等価であれば、組合せ回路−演算順序情報変換部112が正しく動作したことを検証したこととなる。
以上から、本発明によれば、同種類の機能ブロックを複数実行する組合せ回路に対して、同種類の機能ブロックの1つを複数回時分割で使用する順序回路に適用可能な演算順序情報へ変換し、その演算順序情報と順序回路HDLと機能ブロックとを結合してアプリケーションHDLへ変換することで回路使用リソースを削減することを可能としている。さらに、演算順序情報への変換の正当性を、演算順序情報の逆変換と論理等価性検証により、短時間で検証することが可能である。
以上により、高安全制御装置の論理の削減と、設計プロセスの高安全化の両立を実現できる。
図7は、第2の実施例の制御回路設計部101における処理のフローチャートである。図2と同じ部分には同じ符号を付してあり、構成、動作が同じであるので、説明を省略する。本実施例は、組合せ回路HDL16と逆変換組合せ回路18との論理等価性を検証する代わりに、両HDLから機能ブロック内の論理を削除したHDLを比較するものである。図7を参照し、実施例1から変更がある構成要素についてのみ、以下に示す。
機能ブロック内論理削除部116は、組合せ回路HDL16と逆変換組合せ回路HDL18から、機能ブロックライブラリ122で定義されている機能ブロックの内部論理のみを削除し、内部論理削除済み組合せ回路HDL81と内部論理削除済み逆変換組合せ回路HDL82を出力する。これら2つのHDLを論理等価性検証部115に入力し、論理等価性を判定するものである。機能ブロックライブラリ122に登録されている機能ブロックは、組合せ回路設計部111及び演算順序情報−組合せ回路変換部113で組み込まれたものであり、組合せ回路HDL16と逆変換組合せ回路HDL18に含まれる機能ブロックの論理は同一であることが保証されている。従って、機能ブロックの内部論理の論理等価性を検証しなくとも、論理等価性検証部115で行われる検証の品質は低下しない。
このように変更することにより、論理等価性検証対象の論理が縮小するため、論理等価性検証部115の処理時間を短縮することが出来る。これにより、設計プロセスの安全性を損なうことなく、検証時間ひいては設計開発時間の短時間化を実現できる。
図8は、実施例3の半導体LSI設計装置200の構成図の例である。図1に示す半導体LSI設計装置100の構成図との相違は、演算部110に論理合成配置配線部117、論理等価性判定部118を新たに加え、記憶部120にアプリケーションネットリスト(記憶領域)129A、論理等価性判定結果情報(記憶領域)129Bを新たに加えていることである。
図9は、第3の実施例の制御回路設計部101における処理のフローチャートを示す。図2と同じ構成要素には同じ符号を付してあり、構成、動作が同じであるので、説明を省略する。
論理合成配置配線部117は、アプリケーションHDL4を読み込み、ASICまたはFPGAへ実装するための論理合成と配置配線を行い、アプリケーションネットリスト7を出力する。論理等価性判定部118は、アプリケーションHDL4とアプリケーションネットリスト7の論理等価性を判定して、論理等価性判定結果情報8を出力する。論理等価性の判定方法は、論理等価性検証部115と同様の方法とする。
このように変更することにより、回路使用リソースの少ない順序回路をASICまたはFPGAへ実装可能となり、かつ、設計プロセスの安全性を高めることが出来る。アプリケーションHDL4の正当性は、演算順序情報−組合せ回路変換部113と論理等価性検証部115により、判定することができる。これにより、高安全制御装置の論理を少ない回路リソースで実現し、ASICまたはFPGAへ実装すると共に、高安全設計プロセスを実現することが可能となる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
3 アプリケーション仕様
4 アプリケーションHDL
5 検証結果情報
6 順序回路HDL
7 アプリケーションネットリスト
8 論理等価性判定結果情報
16 組合せ回路HDL
17 演算順序情報
18 逆変換組合せ回路HDL
20 組合せ回路HDLのブロック図の例
21〜24 機能ブロック
31〜34 入力ピン
35〜36 出力ピン
40 演算開始信号ピン
41〜45 演算開始信号伝播配線
46 演算終了信号ピン
51〜60 配線
70 アプリケーションHDLの構成例
71 機能ブロック群
72 演算実行制御部
73 演算順序記憶部
74 メモリ
75 メモリ制御部
76 メモリ入力セレクタ
77 メモリ出力セレクタ
78 入力セレクタ
79 出力セレクタ
81 内部論理削除済み組合せ回路HDL
82 内部論理削除済み逆変換組合せ回路HDL
100 半導体LSI設計装置
101 制御回路設計部
110 演算部
111 組合せ回路設計部
112 組合せ回路−演算順序情報変換部
113 演算順序情報−組合せ回路変換部
114 演算制御部−演算順序情報結合部
115 論理等価性検証部
116 機能ブロック内論理削除部
117 論理合成配置配線部
118 論理等価性判定部
120 記憶部
121 半導体LSI設計プログラム(記憶領域)
122 機能ブロックライブラリ(記憶領域)
123 順序回路HDL(記憶領域)
124 組合せ回路HDL(記憶領域)
125 演算順序情報(記憶領域)
126 逆変換組合せ回路HDL(記憶領域)
127 アプリケーションHDL(記憶領域)
128 検証結果情報(記憶領域)
129A アプリケーションネットリスト(記憶領域)
129B 論理等価性判定結果情報(記憶領域)
130 入力部
140 表示・出力部
150 メディア読取部
160 通信部
170 ネットワーク
181 論理回路シミュレータ
182 論理合成装置
190 半導体LSI製造装置

Claims (9)

  1. アプリケーション仕様から機能ブロックライブラリで定義される機能ブロックを組み合わせて構成した組合せ回路を、機能ブロックの演算順序の接続情報を付与して生成する手段と、
    前記組合せ回路を、機能ブロックを時分割で複数回使用する順序回路に適用可能な演算順序情報へ変換する手段と、
    生成された演算順序情報から組合せ回路へ逆変換する手段と、
    前記組合せ回路と、逆変換した組合わせ回路の論理等価性を検証する手段と、
    前記演算順序情報と、前記順序回路と、機能ブロックを結合する手段を備えたことを特徴とする半導体LSI設計装置。
  2. アプリケーション仕様から機能ブロックライブラリで定義される機能ブロックを組み合わせて構成した組合せ回路を、機能ブロックの演算順序の接続情報を付与して生成する手段と、
    前記組合せ回路を、機能ブロックを時分割で複数回使用する順序回路に適用可能な演算順序情報へ変換する手段と、
    生成された演算順序情報から組合せ回路へ逆変換する手段と、
    前記組合せ回路と前記逆変換された組合せ回路から機能ブロック内の論理を削除する手段と、
    前記手段で論理を削除された組合せ回路と逆変換組合せ回路の論理等価性を検証する手段と、
    前記演算順序情報と、前記順序回路と、機能ブロックを結合する手段を備えたことを特徴とする半導体LSI設計装置。
  3. 請求項1または請求項2に記載の半導体LSI設計装置において、
    組合せ回路から順序回路の演算順序情報へ変換する手段で用いる順序回路は、演算順序情報を記憶する演算順序記憶部と、少なくとも前記組合せ回路内に使用されている機能ブロックを種類別に1つずつ並列に接続した機能ブロック群と、入力データ、機能ブロックによる演算結果を逐次記憶するメモリと、前記メモリに記憶されたデータを、前記機能ブロックへの入力として読み出すメモリ制御部と、前記読み出されたデータを前記機能ブロック群への入力として選別する入力セレクタと、前記機能ブロック群の演算結果を選択して前記メモリへ格納する出力セレクタと、及び前記演算順序情報に従い、前記メモリ制御部、前記入力セレクタ、及び前記出力セレクタを制御する演算実行制御部とを有する順序回路であることを特徴とする半導体LSI設計装置。
  4. 請求項1に記載の半導体LSI設計装置において、
    前記演算順序情報と、前記順序回路と、機能ブロックを結合する手段が出力するアプリケーションHDLに対してASICまたはFPGAに実装するために論理合成と配置配線を実行する手段と、
    前記アプリケーションHDLと前記論理合成と配置配線を実行して生成されたアプリケーションネットリストとの論理等価性を判定する手段を更に設けたことを特徴とする半導体LSI設計装置。
  5. 請求項1または請求項2に記載の半導体LSI設計装置において、
    機能ブロックライブラリで定義される各機能ブロックには、その機能ブロックが本来実現する機能に対する入出力ピンに加えて、演算内容には無関係の演算開始信号入力ピンと演算終了信号出力ピンとが定義されていることを特徴とする半導体LSI設計装置。
  6. 請求項5に記載の半導体LSI設計装置において、
    前記組合せ回路を機能ブロックを時分割で複数回使用する順序回路に適用可能な演算順序情報へ変換する手段が、前記組合せ回路に対して、演算開始信号ピンから演算終了信号ピンまでを辿り、現れた機能ブロックの順に演算順序情報へ変換することを特徴とする半導体LSI設計装置。
  7. アプリケーション仕様から機能ブロックライブラリで定義される機能ブロックを組み合わせて構成した組合せ回路を、機能ブロックの演算順序の接続情報を付与して生成する工程と、
    前記組合せ回路を、機能ブロックを時分割で複数回使用する順序回路に適用可能な、演算順序情報へ変換する工程と、
    生成された演算順序情報から組合せ回路へ逆変換する工程と、
    前記組合せ回路と、逆変換した組合わせ回路の論理等価性を検証する工程と、
    前記演算順序情報と、前記順序回路と、機能ブロックを結合する工程とを有することを特徴とする半導体LSI設計方法。
  8. 請求項7に記載の半導体LSI設計方法において、
    前記演算順序情報と、前記順序回路と、機能ブロックを結合する工程が出力するアプリケーションHDLに対してASICまたはFPGAに実装するために論理合成と配置配線を実行する工程と、
    前記アプリケーションHDLと前記論理合成と配置配線を実行して生成されたアプリケーションネットリストとの論理等価性を判定する工程を更に設けたことを特徴とする半導体LSI設計方法。
  9. 請求項7に記載の半導体LSI設計方法において、
    機能ブロックライブラリで定義される各機能ブロックには、その機能ブロックが本来実現する機能に対する入出力ピンに加えて、演算内容には無関係の演算開始信号入力ピンと演算終了信号出力ピンとが定義され、
    前記組合せ回路を機能ブロックを時分割で複数回使用する順序回路に適用可能な演算順序情報へ変換する工程が、前記組合せ回路に対して、演算開始信号ピンから演算終了信号ピンまでを辿り、現れた機能ブロックの順に演算順序情報へ変換することを特徴とする半導体LSI設計方法。
JP2018086617A 2018-04-27 2018-04-27 半導体lsi設計装置および設計方法 Active JP7045921B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018086617A JP7045921B2 (ja) 2018-04-27 2018-04-27 半導体lsi設計装置および設計方法
CN201910256473.0A CN110414029B (zh) 2018-04-27 2019-03-29 半导体lsi设计装置以及设计方法
EP19168894.4A EP3564836A1 (en) 2018-04-27 2019-04-12 Semiconductor lsi design device and design method
US16/389,332 US10747920B2 (en) 2018-04-27 2019-04-19 Semiconductor LSI design device and design method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018086617A JP7045921B2 (ja) 2018-04-27 2018-04-27 半導体lsi設計装置および設計方法

Publications (2)

Publication Number Publication Date
JP2019192097A true JP2019192097A (ja) 2019-10-31
JP7045921B2 JP7045921B2 (ja) 2022-04-01

Family

ID=66290191

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018086617A Active JP7045921B2 (ja) 2018-04-27 2018-04-27 半導体lsi設計装置および設計方法

Country Status (4)

Country Link
US (1) US10747920B2 (ja)
EP (1) EP3564836A1 (ja)
JP (1) JP7045921B2 (ja)
CN (1) CN110414029B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7045921B2 (ja) * 2018-04-27 2022-04-01 株式会社日立製作所 半導体lsi設計装置および設計方法
JP7240350B2 (ja) * 2020-03-23 2023-03-15 株式会社東芝 演算装置及び演算方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152801A (ja) * 1993-11-30 1995-06-16 Nippon Telegr & Teleph Corp <Ntt> 回路情報の検証システム
JPH11500842A (ja) * 1995-01-25 1999-01-19 エルエスアイ・ロジック・コーポレーション ネットリスト縮小によるタイミング・シェルの発生
JP2017224128A (ja) * 2016-06-15 2017-12-21 株式会社日立製作所 半導体lsi設計装置および設計方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026220A (en) * 1996-11-19 2000-02-15 Unisys Corporation Method and apparatus for incremntally optimizing a circuit design
JP4371856B2 (ja) * 2004-03-04 2009-11-25 株式会社東芝 安全保護計装システムおよびその取扱方法
JP4403187B2 (ja) * 2007-03-30 2010-01-20 富士通株式会社 設計データ変換プログラム、該プログラムを記録した記録媒体、設計データ変換装置、および設計データ変換方法
US9501408B2 (en) * 2013-02-19 2016-11-22 Globalfoundries Inc. Efficient validation of coherency between processor cores and accelerators in computer systems
JP7045921B2 (ja) * 2018-04-27 2022-04-01 株式会社日立製作所 半導体lsi設計装置および設計方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152801A (ja) * 1993-11-30 1995-06-16 Nippon Telegr & Teleph Corp <Ntt> 回路情報の検証システム
JPH11500842A (ja) * 1995-01-25 1999-01-19 エルエスアイ・ロジック・コーポレーション ネットリスト縮小によるタイミング・シェルの発生
JP2017224128A (ja) * 2016-06-15 2017-12-21 株式会社日立製作所 半導体lsi設計装置および設計方法

Also Published As

Publication number Publication date
US10747920B2 (en) 2020-08-18
JP7045921B2 (ja) 2022-04-01
CN110414029B (zh) 2023-06-27
US20190332727A1 (en) 2019-10-31
EP3564836A1 (en) 2019-11-06
CN110414029A (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
US11914933B2 (en) Generation of dynamic design flows for integrated circuits
US11748536B2 (en) Automated microprocessor design
US9990458B2 (en) Generic design rule checking (DRC) test case extraction
TWI788768B (zh) 針對具有嵌入式邏輯的多位元記憶體的系統與方法
US8181131B2 (en) Enhanced analysis of array-based netlists via reparameterization
US8875064B2 (en) Automated design rule checking (DRC) test case generation
JP6728345B2 (ja) 対話型マルチステップ物理合成
US20120151429A1 (en) Multistage, hybrid synthesis processing facilitating integrated circuit layout
JP2011118841A (ja) シミュレーション方法、システム、及びプログラム
JP7045921B2 (ja) 半導体lsi設計装置および設計方法
US11256839B1 (en) IP block scan chain construction
JP5830955B2 (ja) 検証装置、検証方法及び検証プログラム
JP2017224128A (ja) 半導体lsi設計装置および設計方法
Khan et al. GHAZI: An Open-Source ASIC Implementation of RISC-V based SoC
US20060150136A1 (en) Systems and methods for designing integrated circuits
Laeufer et al. Open-source formal verification for Chisel
JP2016507817A (ja) パターンベースの電源グランド(pg)ルーティングおよびビア生成
CN117907812B (zh) 电路检测方法及装置、电子设备、存储介质、程序产品
US20240111660A1 (en) Managing high performance simulation representation of an emulation system
US20230205969A1 (en) Techniques for modeling and verification of convergence for hierarchical domain crossings
JP2009140028A (ja) ハードウェア検証用プログラミング記述生成装置、ハードウェア検証用プログラミング記述生成方法、制御プログラムおよび可読記録媒体
CN116245073A (zh) 可扩展片上系统(soc)级连接性验证的简化形式模型的创建
JP2000172730A (ja) 論理合成装置
JP2012160145A (ja) 論理シミュレーション方法および論理シミュレーション装置
JP2009245148A (ja) 再構成可能な論理デバイスのデバッグ装置、デバッグ方法及びデバッグプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220222

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: 20220308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220322

R150 Certificate of patent or registration of utility model

Ref document number: 7045921

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150