JP2006172219A - 半導体集積回路の自動設計装置、半導体集積回路の自動設計方法、及び半導体集積回路の自動設計プログラム - Google Patents

半導体集積回路の自動設計装置、半導体集積回路の自動設計方法、及び半導体集積回路の自動設計プログラム Download PDF

Info

Publication number
JP2006172219A
JP2006172219A JP2004364960A JP2004364960A JP2006172219A JP 2006172219 A JP2006172219 A JP 2006172219A JP 2004364960 A JP2004364960 A JP 2004364960A JP 2004364960 A JP2004364960 A JP 2004364960A JP 2006172219 A JP2006172219 A JP 2006172219A
Authority
JP
Japan
Prior art keywords
setting
data
data processing
storage device
description
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.)
Abandoned
Application number
JP2004364960A
Other languages
English (en)
Inventor
Hiroyuki Takano
裕之 高野
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 JP2004364960A priority Critical patent/JP2006172219A/ja
Priority to US11/298,600 priority patent/US20060184912A1/en
Publication of JP2006172219A publication Critical patent/JP2006172219A/ja
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

【課題】 プログラマブル回路内の複数の接続切り替え回路の回路規模を削減する。
【解決手段】 それぞれデータ処理を行う複数のデータ処理回路の構成を記述した第1機能記述、及び複数のデータ処理回路間の接続関係を切り替える複数の接続切り替え回路の構成を記述した第2機能記述をデータ記憶装置2から取得する第1取得部11、複数の接続切り替え回路のそれぞれが複数のデータ処理回路間を接続可能な範囲を設定する接続範囲設定記述を含む設定データをデータ記憶装置2から取得する第2取得部12、及び設定データを第1及び第2機能記述に設定し、設定後の第1及び第2機能記述をデータ記憶装置2に格納する設定部13を備える。
【選択図】 図1

Description

本発明は、半導体集積回路の設計技術に関し、特に、リコンフィギュラブルプロセッサ等のプログラマブル回路を自動的に設計する半導体集積回路の自動設計装置、半導体集積回路の自動設計方法、及び半導体集積回路の自動設計プログラムに関する。
回路構成を再構成可能なプログラマブル回路として、フィールド・プログラマブル・ゲート・アレイ(FPGA)が知られている。FPGAの回路構成は、コンフィギュレーションメモリに記憶されたコンフィギュレーション情報により再構成可能である。一方、複数のデータ処理回路のそれぞれの回路規模をFPGAよりも増大させて、高度なデータ処理を可能としたリコンフィギュラブルプロセッサが実用化されている。リコンフィギュラブルプロセッサは、複数系統のコンフィギュレーション情報に応じて、動的に回路構成を再構成し、画像処理回路又は通信処理回路等として動作する。複数のデータ処理回路のそれぞれは、他のすべてのデータ処理回路と接続可能なように構成されている。即ち、リコンフィギュラブルプロセッサ等のプログラマブル回路内には、複数のデータ処理回路に加えて、複数のデータ処理回路間の接続関係を再構成する複数の接続切り替え回路が備えられる。各接続切り替え回路は多数のセレクタにより構成される。一方、リコンフィギュラブルプロセッサの利用者が、用途や要求する性能に合わせて、データ処理回路の処理ビット幅及び回路構成等を選択可能とする手法が提案されている(例えば、特許文献1参照。)。
しかしながら、リコンフィギュラブルプロセッサ等のプログラマブル回路に関しては、汎用性は非常に高いものの、実動作時に冗長な回路構成が多く含まれることとなる。よって、特定用途向け集積回路(ASIC)を使用した方が回路規模を削減可能である場合が多い。また、回路規模と比例して遅延時間及び消費電力も増大するために、利用者の要求する仕様を満たせない恐れがある。したがって、プログラマブル回路全体に対する、複数の接続切り替え回路の回路規模の削減が望まれている。
国際公開第01/016711号パンフレット
本発明は、プログラマブル回路内の複数の接続切り替え回路の回路規模を削減可能な半導体集積回路の自動設計装置、半導体集積回路の自動設計方法、及び半導体集積回路の自動設計プログラムを提供する。
上記目的を達成する為に、本発明の一態様は、(イ)それぞれデータ処理を行う複数のデータ処理回路の構成を記述した第1機能記述、及び複数のデータ処理回路間の接続関係を切り替える複数の接続切り替え回路の構成を記述した第2機能記述を含むライブラリと、複数の接続切り替え回路のそれぞれが複数のデータ処理回路間を接続可能な範囲を設定する接続範囲設定記述を含む設定データとを格納したデータ記憶装置;(ロ)データ記憶装置からライブラリを取得する第1取得部;(ハ)データ記憶装置から設定データを取得する第2取得部;(ニ)設定データを第1及び第2機能記述に設定し、設定後の第1及び第2機能記述をデータ記憶装置に格納する設定部を備える半導体集積回路の自動設計装置であることを要旨とする。
本発明の一態様は、(イ)第1取得部が、それぞれデータ処理を行う複数のデータ処理回路の構成を記述した第1機能記述、及び複数のデータ処理回路間の接続関係を切り替える複数の接続切り替え回路の構成を記述した第2機能記述を含むライブラリをデータ記憶装置から取得するステップ;(ロ)第2取得部が、複数の接続切り替え回路のそれぞれが複数のデータ処理回路間を接続可能な範囲を設定する接続範囲設定記述を含む設定データをデータ記憶装置から取得するステップ;(ハ)設定部が、設定データを第1及び第2機能記述に設定し、設定後の第1及び第2機能記述をデータ記憶装置に格納するステップを含む半導体集積回路の自動設計方法であることを要旨とする。
本発明の一態様は、コンピュータに、(イ)それぞれデータ処理を行う複数のデータ処理回路の構成を記述した第1機能記述、及び複数のデータ処理回路間の接続関係を切り替える複数の接続切り替え回路の構成を記述した第2機能記述を含むライブラリをデータ記憶装置から取得する手順;(ロ)複数の接続切り替え回路のそれぞれが複数のデータ処理回路間を接続可能な範囲を設定する接続範囲設定記述を含む設定データをデータ記憶装置から取得する手順;(ハ)設定データを第1及び第2機能記述に設定し、設定後の第1及び第2機能記述をデータ記憶装置に格納する手順を実行させるための半導体集積回路の自動設計プログラムであることを要旨とする。
本発明によれば、プログラマブル回路内の複数の接続切り替え回路の回路規模を削減可能な半導体集積回路の自動設計装置、半導体集積回路の自動設計方法、及び半導体集積回路の自動設計プログラムを提供できる。
次に、図面を参照して、本発明の実施の形態を説明する。この実施の形態における図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
本発明の実施の形態に係る半導体集積回路の自動設計装置は、図1に示すように、中央演算処理装置(CPU)1、データ記憶装置2、入力装置3、出力装置4、主記憶装置5、及び補助記憶装置6を備える。データ記憶装置2、入力装置3、出力装置4、主記憶装置5、及び補助記憶装置6はCPU1にそれぞれに接続される。CPU1は、第1取得部11、第2取得部12、設定部13、論理合成部14、レイアウト作成部15、及び解析部17を備える。第1取得部11は、データ処理を行う複数のデータ処理回路の構成を記述した第1機能記述、及び複数のデータ処理回路間の接続関係を切り替える複数の接続切り替え回路の構成を記述した第2機能記述をデータ記憶装置2から取得する。ここで、「機能記述」とは、例えばレジスタトランスファレベル(RTL)設計段階においてハードウェア記述言語(HDL)等を用いて記述された論理式等を意味する。或いは、HDLに代えてC言語等の高級言語を使用しても良い。この場合、C言語をHDL記述に変換する高位合成部がCPU1に備えられる。更に、HDLに代えてPerl言語等を利用しても良い。
更に、第2取得部12は、複数の接続切り替え回路のそれぞれが複数のデータ処理回路間を接続可能な範囲(以下において単に「接続可能範囲」という。)を設定する接続範囲設定記述を含む設定データをデータ記憶装置2から取得する。設定部13は、設定データを第1及び第2機能記述に設定し、設定後の第1及び第2機能記述をデータ記憶装置2に格納する。
また、図1に示す自動設計装置は、図2に示すように、例えば行列状に配置された複数のデータ処理回路D11〜D44及び複数の接続切り替え回路S11〜S44を具備するリコンフィギュラブルプロセッサのレイアウトを自動設計する。図2に示すリコンフィギュラブルプロセッサは、複数のデータ処理回路D11〜D44及び複数の接続切り替え回路S11〜S44に加えて、複数の入出力(I/O)回路51a〜51lを備える。I/O回路51a〜51lは、複数のデータ処理回路D11〜D44及び複数の接続切り替え回路S11〜S44を取り囲むようにして配置される。複数のデータ処理回路D11〜D44、複数の接続切り替え回路S11〜S44、及び複数のI/O回路51a〜51lのそれぞれにはコンフィギュレーションメモリが備えられ、コンフィギュレーションメモリに格納されるコンフィギュレーション情報に応じて回路構成を動的に再構成する。尚、I/O回路51a〜51lは、外部装置と複数の接続切り替え回路S11〜S44との接続関係を切り替える。
更に、接続切り替え回路S11は、図3に示すように、例えば行列状に配置された複数のセレクタM11〜M84、及び複数のセレクタM11〜M84に接続されたコンフィギュレーションメモリ91を備える。複数のセレクタM11〜M84は、コンフィギュレーションメモリ91に格納されたコンフィギュレーション情報に基づき、入力データの選択及び出力データの出力先の選択を行う。図2及び図3に示す接続切り替え回路S11を設計する際に使用される第2機能記述を、HDLを用いて作成した場合の一例を以下に示す:
module ConnectionNode (AorB,
Z00,Z01,Z02,Z03,Z10,Z11,Z12,Z13,Z20,Z21,Z22,Z23,Z30,Z31,Z32,Z33,
configurationC) ;
parameter P_DATASIZE = 15 ;
parameter P_CONNECTION_CFGSIZE = 4 ;
output [P_DATASIZE:0] AorB ;
input [P_DATASIZE:0] Z00,Z01,Z02,Z03,Z10,Z11,Z12,Z13,Z20,Z21,Z22,Z23,Z30,Z31,Z32,Z33 ;
input [P_CONNECTION_CFGSIZE:0] configurationC ;
assign AorB = fselinput(Z00,Z01,Z02,Z03,Z10,Z11,Z12,Z13,Z20,Z21,Z22,Z23,Z30,Z31,Z32,Z33, configurationC) ;
function [P_DATASIZE:0] fselinput ;
input [P_DATASIZE:0] Z00,Z01,Z02,Z03,Z10,Z11,Z12,Z13,Z20,Z21,Z22,Z23,Z30,Z31,Z32,Z33 ;
input [P_CONNECTION_CFGSIZE:0] configurationC ;
case (configurationC)
`ifdef D_CONNECTION_DISTANCE0
'h0: fselinput = Z00 ; ・・・・・(1)
`endif
`ifdef D_CONNECTION_DISTANCE1
'h1: fselinput = Z01 ; ・・・・・(2)
'h2: fselinput = Z11 ; ・・・・・(3)
'h3: fselinput = Z10 ; ・・・・・(4)
`endif
`ifdef D_CONNECTION_DISTANCE2
'h4: fselinput = Z02 ; ・・・・・(5)
'h5: fselinput = Z12 ; ・・・・・(6)
'h6: fselinput = Z22 ; ・・・・・(7)
'h7: fselinput = Z21 ; ・・・・・(8)
'h8: fselinput = Z20 ; ・・・・・(9)
`endif
`ifdef D_CONNECTION_DISTANCE3
'h9: fselinput = Z03 ; ・・・・・(10)
'ha: fselinput = Z13 ; ・・・・・(11)
'hb: fselinput = Z23 ; ・・・・・(12)
'hc: fselinput = Z33 ; ・・・・・(13)
'hd: fselinput = Z32 ; ・・・・・(14)
'he: fselinput = Z31 ; ・・・・・(15)
'hf: fselinput = Z30 ; ・・・・・(16)
`endif
default: fselinput = 16'hzzzz ;
endcase
endfunction
endmodule
ここで、第2機能記述においては、接続可能範囲が、第1〜第4階層の4つに階層分けして記述されている。即ち、接続範囲設定記述により、第1〜第4階層の組み合わせが設定される。
更に、第1階層としての“`ifdef D_CONNECTION_DISTANCE0”は、式(1)より、図2に示す各データ処理回路のそれぞれの入力A及びBを、自己の出力Zと接続可能とすることを規定している。
また、第2階層としての“`ifdef D_CONNECTION_DISTANCE1”は、各データ処理回路のそれぞれの入力A及びBを、各データ処理回路を取り囲むデータ処理回路の出力Zと接続可能とすることを規定している。一例として、図2に示すデータ処理回路D11においては、式(2)〜(4)により、データ処理回路D12、D21、及びD22が指定される。
第3階層としての“`ifdef D_CONNECTION_DISTANCE2”は、各データ処理回路のそれぞれの入力A及びBを、第2階層により指定されるデータ処理回路を更に取り囲むデータ処理回路の出力Zと接続可能とする階層を意味している。図2に示すデータ処理回路D11においては、式(5)〜(9)により、データ処理回路D13、D23、D33、D32、及びD31が指定される。
第4階層としての“`ifdef D_CONNECTION_DISTANCE3”は、各データ処理回路のそれぞれの入力A及びBを、第3階層により指定されるデータ処理回路を更に取り囲むデータ処理回路の出力Zと接続可能とする階層を意味している。図2に示すデータ処理回路D11においては、式(10)〜(16)により、データ処理回路D14、D24、D34、D44、D43、D42、及びD41が指定される。
例えば、第1階層、第2階層、及び第4階層が接続可能範囲として設定された場合、図4に示すように、複数の接続切り替え回路S11〜S44のそれぞれのセレクタの個数が大幅に削減される。図5に示す接続切り替え回路S11においては、図3と比して、セレクタの個数が32個から21個に削減されている。
更に、図1に示す第2取得部12がデータ記憶装置2から取得する設定データとしては、上述した接続範囲設定記述に加えて、例えば内部回路設定記述及びビット幅設定記述が含まれる。「内部回路設定記述」は、図2に示す複数のデータ処理回路D11〜D44のそれぞれの内部回路の回路構成を設定する。「ビット幅設定記述」は、複数のデータ処理回路D11〜D44、複数の接続切り替え回路S11〜S44、及び複数のI/O回路51a〜51lのそれぞれが処理するデータのビット幅を設定する。
また、データ処理回路D11は、図6に示すように、例えばスイッチ回路61、論理積(AND)回路62a、論理和(OR)回路62b、排他的論理和(EOR)62c、インバータ62d、演算選択回路63、フリップ−フロップ(F/F)64、出力選択回路65、及びコンフィギュレーションメモリ66を備える。AND回路62a、OR回路62b、EOR回路62c、及びインバータ62dは、スイッチ回路61と演算選択回路63との間に接続される。F/F64は、演算選択回路63と出力選択回路65との間に接続される。
スイッチ回路61は、コンフィギュレーション情報に応じて、AND回路62a、OR回路62b、EOR62c、及びインバータ62dのいずれかに入力データを伝達する。演算選択回路63は、コンフィギュレーション情報に応じて、AND回路62a、OR回路62b、EOR62c、及びインバータ62dの演算出力を選択する。F/F64は、クロックCLKと同期して演算選択回路63の出力データを保持する。出力選択回路65は、コンフィギュレーション情報に応じて、F/F64及び演算選択回路63のいずれかの出力データを選択する。
ここで、図6に示すデータ処理回路D11を設計する際に使用される第1機能記述をHDLを用いて作成した場合の一例を以下に示す:
module DataProcessingNode (inputA, inputB, outputZ, configurationD, clock) ;
parameter P_DATASIZE = 15 ;
parameter P_PROCESSING_CFGSIZE = 2 ;
input [P_DATASIZE:0] inputA ;
input [P_DATASIZE:0] inputB ;
output [P_DATASIZE:0] outputZ ;
input [P_PROCESSING_CFGSIZE:0] configurationD ;
input clock ;
wire [P_DATASIZE:0] candidateZw ;
reg [P_DATASIZE:0] candidateZr ;
`ifdef D_PROCESSING_NOT
wire [P_DATASIZE:0] candidateG = ~ inputB ; ・・・・・(17)
`endif
`ifdef D_PROCESSING_AND
wire [P_DATASIZE:0] candidateH = inputA & inputB ; ・・・・・(18)
`endif
`ifdef D_PROCESSING_OR
wire [P_DATASIZE:0] candidateI = inputA | inputB ; ・・・・・(19)
`endif
`ifdef D_PROCESSING_XOR
wire [P_DATASIZE:0] candidateJ = inputA ^ inputB ; ・・・・・(20)
`endif
`ifdef D_PROCESSING_EXT
wire [P_DATASIZE:0] candidateE =`include "DataProcessingNodeExtention.v"
・・・・・(21)
`endif
assign outputZ = configurationD[0] ? candidateZr : candidateZw ;
assign candidateZw = fseloutput(candidateG,candidateH,candidateI,candidateJ,
`ifdef D_PROCESSING_EXT
candidateE,
`endif
configurationD[P_PROCESSING_CFGSIZE:1]) ;
function [P_DATASIZE:0] fseloutput ;
input [P_DATASIZE:0] candidateG ;
input [P_DATASIZE:0] candidateH ;
input [P_DATASIZE:0] candidateI ;
input [P_DATASIZE:0] candidateJ ;
`ifdef D_PROCESSING_EXT
input [P_DATASIZE:0] candidateE ;
`endif
input [P_PROCESSING_CFGSIZE-1:0] configurationD ;
case (configurationD)
'h0 : fseloutput = candidateG ;
'h1 : fseloutput = candidateH ;
'h2 : fseloutput = candidateI ;
'h3 : fseloutput = candidateJ ;
`ifdef D_PROCESSING_EXT
default : fseloutput = candidateE ;
`endif
endcase
endfunction
always @ (posedge clock) begin
candidateZr <= candidateZw ;
end
endmodule
式(17)は図6に示すインバータ62dを表している。式(18)はAND回路62aを表している。式(19)はOR回路62bを表している。式(20)はEOR回路62cを表している。
更に、内部回路設定記述により、図6に示すAND回路62a、OR回路62b、EOR62c、及びインバータ62dから必要な論理回路のみが選択される。また、式(21)に示すように、AND回路62a、OR回路62b、EOR62c、及びインバータ62d以外の論理回路、例えば、否定論理積(NAND)回路及び否定論理和(NOR)回路が、内部回路設定記述により追加される。また、ビット幅設定記述により、図6に示す入力A及びBのそれぞれのビット幅、及びコンフィギュレーションメモリ66からスイッチ回路61、演算選択回路63、及び出力選択回路65に供給されるコンフィギュレーション情報のビット幅が設定される。
更に、図1に示す第1取得部11は、第1機能記述及び第2機能記述に加えて、図2に示す複数のI/O回路51a〜51lの構成を記述した第3機能記述、及び第1〜第3機能記述のそれぞれを統合する第4機能記述をデータ記憶装置2から取得する。
また、論理合成部14は、設定データが設定された第1〜第4機能記述を論理合成してネットリストを作成する。解析部17は、作成されたネットリストを解析する。具体的には、解析部17はネットリストから配置・配線処理後のレイアウトの動作速度、消費電力、及び回路規模等を見積もり、見積もり結果を仕様情報と比較して使用を満たすか否か判定する。また、レイアウト作成部15は、ネットリストに対して配置処理を行う配置部15a、及び配線処理を行う配線部15bを備える。
更に、データ記憶装置2には、ライブラリ格納領域21、設定データ格納領域22、機能記述格納領域23、ネットリスト格納領域24、レイアウトデータ格納領域25、及び仕様情報格納領域26が備えられる。ライブラリ格納領域21には、第1機能記述〜第4機能記述が格納される。設定データ格納領域22には、設定データが格納される。機能記述格納領域23には、設定データが設定された第1〜第4機能記述が格納される。ネットリスト格納領域24には、ネットリストが格納される。レイアウトデータ格納領域25には、レイアウトデータが格納される。仕様情報格納領域26には仕様情報が格納される。
尚、自動設計装置は、図示を省略するデータベース制御装置及び入出力制御装置を備える。データベース制御装置は、データ記憶装置2に対するファイルの格納場所の検索、及びデータの読み出し・書き込みを行う。これに対して入出力制御装置は、入力装置3からのデータを受け取り、CPU1に伝達する。即ち入出力制御装置は、入力装置3、出力装置4、或いはCD−ROM、及びフレキシブルディスク等の補助記憶装置6の読取装置等をCPU1に接続するインターフェイスである。データの流れから見ると、入出力制御装置は、入力装置3、出力装置4、補助記憶装置6、及び外部記憶装置の読取装置と主記憶装置5とのインターフェイスとなる。また入出力制御装置は、CPU1からのデータを受け取り、出力装置4及び補助記憶装置6等へ伝達する。
更に、図1に示す入力装置3としては、例えば、キーボード、マウス、光学式文字読取装置(OCR)等の認識装置、イメージスキャナ等の図形入力装置、及び音声認識装置等の特殊入力装置が使用できる。出力装置4としては、例えば、液晶ディスプレイ、CRTディスプレイ等の表示装置、インクジェットプリンタ、レーザープリンタなどの印刷装置が使用できる。主記憶装置5には、ROM及びRAMが組み込まれている。ROMは、CPU1において実行されるプログラムを格納するプログラム記憶装置等として機能する。これに対してRAMは、CPU1におけるプログラム実行処理中に利用されるデータ等を一時的に格納したり、作業領域として利用される一時的なデータメモリ等として機能する。
次に、図7に示すフローチャートを参照して、本発明の実施の形態に係る半導体集積回路の自動設計方法を説明する。但し、図1に示す自動設計装置が、図4に示すリコンフィギュラブルプロセッサのレイアウトを自動設計する場合を例に説明する。
(イ)ステップS10において、図1に示す第1取得部11は、ライブラリ格納領域21から、ライブラリ、即ち第1〜第4機能記述を取得する。
(ロ)ステップS11において、第2取得部12は、設定データ格納領域22から、設定データ、即ち接続範囲設定記述、内部回路設定記、及びビット幅設定記述を取得する。尚、ステップS11は、ステップ10の前又はステップ10と同時に実行されても良い。
(ハ)ステップS12において、第2取得部12は、ステップ11で取得した設定データをステップS10で取得したライブラリに設定する。設定データが設定された第1〜第4機能記述は、機能記述格納領域23に格納される。
(ニ)ステップS13において、論理合成部14は、設定データが設定された第1〜第4機能記述を論理合成してネットリストを作成する。作成されたネットリストは、ネットリスト格納領域24に格納される。
(ホ)ステップS14において、解析部17は、ステップS13で作成されたネットリストを解析する。更に、解析部17は、仕様情報格納領域26から仕様情報を取得し、解析結果が仕様情報を満たすか否か判定する。仕様を満たすと判定された場合、ステップS16に進む。仕様を満たさないと判定された場合、ステップS11に処理が戻る。ステップS11においては、第2取得部12が、最初に取得した設定データと異なる設定データを設定データ格納領域22から取得する。
(ヘ)ステップS16において、配置部15aは、解析後のネットリストに対して配置処理を行う。詳細には、実チップを模倣した仮想チップ上に、図4に示す複数のデータ処理回路D11〜D44、複数の接続切り替え回路S11〜S44、及び複数のI/O回路51a〜51lが配置される。
(ト)ステップS17において、配線部15bは、仮想チップ上に配置された複数のデータ処理回路D11〜D44、複数の接続切り替え回路S11〜S44、及び複数のI/O回路51a〜51lに配線処理を施す。この結果、レイアウトデータが作成され、レイアウトデータはレイアウトデータ格納領域25に格納される。
このように本発明の実施の形態によれば、設定部13が、接続範囲設定記述を第2機能記述に設定することにより、接続切り替え回路内のセレクタの個数を制御できる。また、複数の接続切り替え回路及び複数のデータ処理回路の構成を、利用者の用途や要求する性能に応じて変更できる。したがって、リコンフィギュラブルプロセッサ全体の回路規模を削減し、動作速度及び消費電力を改善できる。
(変形例)
本発明の実施の形態の変形例に係る自動設計方法として、図8に示すように、図1に示す解析部17が、ステップS16及びステップS17に示す配置・配線処理後のレイアウトデータを解析しても良い。即ち、解析部17は、図1に示すネットリスト格納領域24に格納されたネットリストを解析せずに、レイアウトデータ格納領域25に格納されたレイアウトデータを解析する。解析部17がレイアウトデータを解析することにより、ネットリストを解析する場合と比して解析の精度を向上させることができる。或いは、解析部17が、機能記述格納領域23に格納された機能記述に対して解析処理を行っても良い。この場合、仕様を満たすか否かの判定を早期に行うことが可能となる。
(その他の実施の形態)
上記のように、本発明は実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
上述した実施の形態においては、自動設計装置が、複数のデータ処理回路D11〜D44、複数の接続切り替え回路S11〜S44、及び複数のI/O回路51a〜51lについて自動設計を行う場合を例に説明した。しかしながら、リコンフィギュラブルプロセッサの周辺回路、例えば小型演算装置(MPU)及びキャッシュメモリ等についても自動設計の対象として良い。
また、複数のデータ処理回路が行列状に配置された構成について説明したが、ハイパーキューブ状、直線状、又はツリー状等の構成に対して、実施の形態に係る自動設計装置を適用しても良い。尚、リコンフィギュラブルプロセッサを自動設計する場合に限らず、FPGA等の他のプログラマブル回路を自動設計する場合に応用可能である。
更に、複数の接続切り替え回路のそれぞれが複数のデータ処理回路間を接続可能な範囲を4通りにクラス分けする一例を説明した。しかしながら、各データ処理回路及び各接続切り替え回路をそれぞれ個別に規定すれば、複数の接続切り替え回路のそれぞれが複数のデータ処理回路間を接続可能な範囲のバリエーションを増加させることができる。
尚、既に述べた実施の形態に係る自動設計装置は、第1〜第4機能記述、設定データ、及び仕様情報等のデータをネットワークを介して取得してもよい。この場合、自動設計装置がネットワークとの通信を制御する通信制御装置等を更に備える必要がある。
このように、本発明はここでは記載していない様々な実施の形態等を包含するということを理解すべきである。したがって、本発明はこの開示から妥当な特許請求の範囲の発明特定事項によってのみ限定されるものである。
本発明の実施の形態に係る半導体集積回路の自動設計装置の構成を示すブロック図である。 本発明の実施の形態に係る半導体集積回路の自動設計装置の機能を説明するためのリコンフィギュラブルプロセッサの概略ブロック図である。 本発明の実施の形態に係る半導体集積回路の自動設計装置の機能を説明するための接続切り替え回路の構成例を示すブロック図である。 本発明の実施の形態に係る半導体集積回路の自動設計装置の機能を説明するためのリコンフィギュラブルプロセッサの概略ブロック図である。 本発明の実施の形態に係る半導体集積回路の自動設計装置の機能を説明するための接続切り替え回路の構成例を示すブロック図である。 本発明の実施の形態に係る半導体集積回路の自動設計装置の機能を説明するためのデータ処理回路の構成例を示すブロック図である。 本発明の実施の形態に係る半導体集積回路の自動設計方法を示すフローチャートである。 本発明の実施の形態の変形例に係る半導体集積回路の自動設計方法を示すフローチャートである。
符号の説明
2…データ記憶装置
11…第1取得部
12…第2取得部
13…設定部
14…論理合成部
15…レイアウト作成部
16…解析部

Claims (5)

  1. それぞれデータ処理を行う複数のデータ処理回路の構成を記述した第1機能記述、及び前記複数のデータ処理回路間の接続関係を切り替える複数の接続切り替え回路の構成を記述した第2機能記述を含むライブラリと、前記複数の接続切り替え回路のそれぞれが前記複数のデータ処理回路間を接続可能な範囲を設定する接続範囲設定記述を含む設定データとを格納したデータ記憶装置と、
    前記データ記憶装置から前記ライブラリを取得する第1取得部と、
    前記データ記憶装置から前記設定データを取得する第2取得部と、
    前記設定データを前記第1及び第2機能記述に設定し、設定後の前記前記第1及び第2機能記述を前記データ記憶装置に格納する設定部
    とを備えることを特徴とする半導体集積回路の自動設計装置。
  2. 前記設定データは、前記複数のデータ処理回路のそれぞれの内部回路の回路構成を設定する内部回路設定記述と前記複数のデータ処理回路のそれぞれが処理するデータのビット幅を設定するビット幅設定記述とを更に含み、前記設定部は、前記内部回路設定記述及び前記ビット幅設定記述を前記第1機能記述に設定することを特徴とする請求項1に記載の半導体集積回路の自動設計装置。
  3. 前記設定後の第1及び第2記述格納を論理合成してネットリストを生成し、前記ネットリストを前記データ記憶装置に格納する論理合成部と、
    前記ネットリストから前記複数のデータ処理回路及び前記複数の接続切り替え回路のレイアウトデータを作成し、前記レイアウトデータを前記データ記憶装置に格納するレイアウト作成部と、
    前記設定後の第1及び第2記述格納、前記ネットリスト、及び前記レイアウトデータのいずれかを解析する解析部
    とを更に備え、前記第2取得部は、前記解析部の解析結果に基づいて前記データ記憶装置から前記設定データを取得することを特徴とする請求項1又は2に記載の半導体集積回路の自動設計装置。
  4. 第1取得部が、それぞれデータ処理を行う複数のデータ処理回路の構成を記述した第1機能記述、及び前記複数のデータ処理回路間の接続関係を切り替える複数の接続切り替え回路の構成を記述した第2機能記述を含むライブラリをデータ記憶装置から取得するステップと、
    第2取得部が、前記複数の接続切り替え回路のそれぞれが前記複数のデータ処理回路間を接続可能な範囲を設定する接続範囲設定記述を含む設定データを前記データ記憶装置から取得するステップと、
    設定部が、前記設定データを前記第1及び第2機能記述に設定し、設定後の前記前記第1及び第2機能記述を前記データ記憶装置に格納するステップ
    とを含むことを特徴とする半導体集積回路の自動設計方法。
  5. コンピュータに、
    それぞれデータ処理を行う複数のデータ処理回路の構成を記述した第1機能記述、及び前記複数のデータ処理回路間の接続関係を切り替える複数の接続切り替え回路の構成を記述した第2機能記述を含むライブラリをデータ記憶装置から取得する手順と、
    前記複数の接続切り替え回路のそれぞれが前記複数のデータ処理回路間を接続可能な範囲を設定する接続範囲設定記述を含む設定データを前記データ記憶装置から取得する手順と、
    前記設定データを前記第1及び第2機能記述に設定し、設定後の前記前記第1及び第2機能記述を前記データ記憶装置に格納する手順
    とを実行させることを特徴とする半導体集積回路の自動設計プログラム。
JP2004364960A 2004-12-16 2004-12-16 半導体集積回路の自動設計装置、半導体集積回路の自動設計方法、及び半導体集積回路の自動設計プログラム Abandoned JP2006172219A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004364960A JP2006172219A (ja) 2004-12-16 2004-12-16 半導体集積回路の自動設計装置、半導体集積回路の自動設計方法、及び半導体集積回路の自動設計プログラム
US11/298,600 US20060184912A1 (en) 2004-12-16 2005-12-12 Automatic design apparatus for semiconductor integrated circuits, method for automatically designing semiconductor integrated circuits, and computer program product for executing an application for an automatic design apparatus for semiconductor integrated circuits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004364960A JP2006172219A (ja) 2004-12-16 2004-12-16 半導体集積回路の自動設計装置、半導体集積回路の自動設計方法、及び半導体集積回路の自動設計プログラム

Publications (1)

Publication Number Publication Date
JP2006172219A true JP2006172219A (ja) 2006-06-29

Family

ID=36672892

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004364960A Abandoned JP2006172219A (ja) 2004-12-16 2004-12-16 半導体集積回路の自動設計装置、半導体集積回路の自動設計方法、及び半導体集積回路の自動設計プログラム

Country Status (2)

Country Link
US (1) US20060184912A1 (ja)
JP (1) JP2006172219A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009147789A1 (ja) * 2008-06-06 2009-12-10 日本電気株式会社 回路設計システムおよび回路設計方法
WO2010061911A1 (ja) * 2008-11-28 2010-06-03 日本電気株式会社 再構成可能回路生成装置、方法およびプログラム
JP2010224864A (ja) * 2009-03-24 2010-10-07 Nec Corp 動作合成装置、動作合成方法、及び、プログラム
JP2012093893A (ja) * 2010-10-26 2012-05-17 Fujitsu Semiconductor Ltd リコンフィグ可能なlsi

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4444860B2 (ja) * 2005-03-10 2010-03-31 富士通株式会社 リコンフィギュラブル回路およびそのコンフィギュレーション方法
US7584448B1 (en) * 2006-08-11 2009-09-01 Xilinx, Inc. Constructing a model of a programmable logic device
US7451425B1 (en) 2006-08-11 2008-11-11 Xilinx, Inc. Determining controlling pins for a tile module of a programmable logic device
US7451420B1 (en) 2006-08-11 2008-11-11 Xilinx, Inc. Determining reachable pins of a network of a programmable logic device
US7451424B1 (en) 2006-08-11 2008-11-11 Xilinx, Inc. Determining programmable connections through a switchbox of a programmable logic device
US7451423B1 (en) 2006-08-11 2008-11-11 Xilinx, Inc. Determining indices of configuration memory cell modules of a programmable logic device
US7472370B1 (en) 2006-08-11 2008-12-30 Xilinx, Inc. Comparing graphical and netlist connections of a programmable logic device
US7536668B1 (en) 2006-08-11 2009-05-19 Xilinx, Inc. Determining networks of a tile module of a programmable logic device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9611994D0 (en) * 1996-06-07 1996-08-07 Systolix Ltd A field programmable processor
US6507947B1 (en) * 1999-08-20 2003-01-14 Hewlett-Packard Company Programmatic synthesis of processor element arrays
GB0019341D0 (en) * 2000-08-08 2000-09-27 Easics Nv System-on-chip solutions
US7260794B2 (en) * 2002-12-20 2007-08-21 Quickturn Design Systems, Inc. Logic multiprocessor for FPGA implementation
JP4676981B2 (ja) * 2004-06-30 2011-04-27 コヒーレント ロジックス インコーポレイテッド ハードウェア記述言語(hdl)プログラムの実行

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009147789A1 (ja) * 2008-06-06 2009-12-10 日本電気株式会社 回路設計システムおよび回路設計方法
JP5158195B2 (ja) * 2008-06-06 2013-03-06 日本電気株式会社 回路設計システムおよび回路設計方法
US8640071B2 (en) 2008-06-06 2014-01-28 Nec Corporation Circuit design system and circuit design method
WO2010061911A1 (ja) * 2008-11-28 2010-06-03 日本電気株式会社 再構成可能回路生成装置、方法およびプログラム
US8694948B2 (en) 2008-11-28 2014-04-08 Nec Corporation Reconfigurable circuit generation device, method, and program
JP2010224864A (ja) * 2009-03-24 2010-10-07 Nec Corp 動作合成装置、動作合成方法、及び、プログラム
JP2012093893A (ja) * 2010-10-26 2012-05-17 Fujitsu Semiconductor Ltd リコンフィグ可能なlsi

Also Published As

Publication number Publication date
US20060184912A1 (en) 2006-08-17

Similar Documents

Publication Publication Date Title
US20060184912A1 (en) Automatic design apparatus for semiconductor integrated circuits, method for automatically designing semiconductor integrated circuits, and computer program product for executing an application for an automatic design apparatus for semiconductor integrated circuits
Cong et al. RASP: A general logic synthesis system for SRAM-based FPGAs
US7587699B2 (en) Automated system for designing and developing field programmable gate arrays
US6678646B1 (en) Method for implementing a physical design for a dynamically reconfigurable logic circuit
Bondalapati et al. Reconfigurable computing systems
US5737234A (en) Method of optimizing resource allocation starting from a high level block diagram
US8347243B2 (en) Parameterized configuration for a programmable logic device
US8302056B2 (en) Method and system for placement of electronic circuit components in integrated circuit design
CN108140067B (zh) 用于电路设计优化的方法和系统
JP2010182327A (ja) マスクプログラム可能なロジックデバイスをプログラムする方法およびその方法によってプログラムされたデバイス
Otero et al. Dreams: A tool for the design of dynamically reconfigurable embedded and modular systems
US11062066B2 (en) Information processing apparatus, computer-readable recording medium, and information processing method
JP2008165747A (ja) 回路設計支援装置、回路設計支援方法、回路設計支援プログラムおよびプリント基板の製造方法
Soni VLSI Implementation of a Wormhole Runtime Reconfigurable Processor
US20050066295A1 (en) Adaptable circuit blocks for use in multi-block chip design
Hartenstein et al. On reconfgurable co-processing units
US7000206B2 (en) Timing path detailer
Garrault et al. HDL coding practices to accelerate design performance
US6539537B1 (en) System synthesizer
JP2004303022A (ja) プリプロセッサ、集積回路の設計システム及び集積回路の設計方法
US8595684B1 (en) Assistance tool
JP2005293349A (ja) 回路設計支援システム、設計方法及びプログラム
Hartenstein et al. Designing for xilinx xc6200 fpgas
Ferreira et al. A Runtime FPGA Placement and Routing Using Low-Complexity Graph Traversal
Chowdhary et al. A methodology for synthesis of data path circuits

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070906

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20080609