WO2010061911A1 - 再構成可能回路生成装置、方法およびプログラム - Google Patents

再構成可能回路生成装置、方法およびプログラム Download PDF

Info

Publication number
WO2010061911A1
WO2010061911A1 PCT/JP2009/070009 JP2009070009W WO2010061911A1 WO 2010061911 A1 WO2010061911 A1 WO 2010061911A1 JP 2009070009 W JP2009070009 W JP 2009070009W WO 2010061911 A1 WO2010061911 A1 WO 2010061911A1
Authority
WO
WIPO (PCT)
Prior art keywords
netlist
shared
reconfigurable circuit
netlists
groups
Prior art date
Application number
PCT/JP2009/070009
Other languages
English (en)
French (fr)
Inventor
正吾 中谷
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US13/130,215 priority Critical patent/US8694948B2/en
Priority to JP2010540520A priority patent/JP5402940B2/ja
Publication of WO2010061911A1 publication Critical patent/WO2010061911A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]

Definitions

  • Reconfigurable circuits such as FPGA (Field Programmable Gate Array) and PLD (Programmable Logic Device) are widely used because they can realize a wide variety of circuits.
  • FPGA Field Programmable Gate Array
  • PLD Programmable Logic Device
  • switches and wirings are used to realize high flexibility, and there is a problem that the reconfigurable circuit has a large area and a high cost.
  • a reconfigurable circuit is limited in its application range, and a reconfigurable circuit having sufficient flexibility to cover the application range (hereinafter, “restricted reconfigurable circuit”). Can be used.
  • the limited use reconfigurable circuit has an advantage that the area can be greatly reduced although the flexibility is lower than that of a general-purpose reconfigurable circuit.
  • Patent Documents 1 and 2 describe a method for generating a limited use reconfigurable circuit.
  • FIG. 12 schematically shows a flowchart of a method for generating a limited use reconfigurable circuit described in Patent Documents 1 and 2.
  • an initial architecture of a reconfigurable circuit is created (step S21).
  • a placement and routing tool corresponding to the initial architecture is generated (step S22).
  • the netlist for the application to be mounted on the reconfigurable circuit is placed and routed on the initial architecture using the placement and routing tool (step S23).
  • the netlist placement and routing result is evaluated (step S24). As a typical evaluation, for example, it is evaluated whether or not a netlist has been placed and routed on the architecture.
  • step S23 When multiple applications are mounted on the reconfigurable circuit, the placement and routing (step S23) and the evaluation (step S24) are repeated for the netlist for each application.
  • step S25 When the evaluation of the netlist for all applications is completed (YES in step S25), it is determined whether or not to continue the architecture search (step S26). For example, the architecture search may be continued when all the applications can be arranged and routed, and the architecture search may be terminated otherwise.
  • the architecture search is continued (YES in step S26)
  • the architecture of the reconfigurable circuit is changed (step S27), and the steps S22 to S25 are performed again.
  • the architecture change for example, the number of programmable wirings of the reconfigurable circuit may be changed, or the number of programmable switches may be changed.
  • An object of the present invention is to provide a reconfigurable circuit generation device, method, and program for solving such problems.
  • a reconfigurable circuit generation device includes a netlist generation unit that generates a netlist that can be shared among a plurality of netlists having a common portion as a shared netlist, and the shared A resource reduction unit that reduces resources of the reconfigurable circuit on which the plurality of netlists are to be mounted within a range in which the netlist can be mounted.
  • a program according to a third aspect of the present invention implements a netlist generation process for generating a netlist that can be shared among a plurality of netlists having a common part as a shared netlist, and the shared netlist
  • the computer is caused to execute resource reduction processing for reducing resources of the reconfigurable circuit on which the plurality of netlists are to be mounted to the extent possible.
  • the reconfigurable circuit generating apparatus, method, and program according to the present invention can generate a limited-use reconfigurable circuit with a small area in a short time.
  • FIG. 1 is a block diagram illustrating a configuration of a reconfigurable circuit generation device according to a first embodiment of the present invention. It is a flowchart of the reconfigurable circuit generation method which concerns on the 2nd Embodiment of this invention. It is a block diagram which shows the structure of the computer which performs the process in the program which concerns on the 3rd Embodiment of this invention. It is a block diagram which shows the structure of a typical reconfigurable circuit. It is a circuit diagram which shows the typical structure of the cell which comprises a reconfigurable circuit. It is a circuit diagram which shows the typical structure of the multiplexer which comprises a cell. It is a circuit diagram which shows the typical structure of the switch which comprises a multiplexer.
  • the reconfigurable circuit generation device 60 includes a netlist generation unit 61 and a resource reduction unit 62.
  • the net list generation unit 61 generates a net list that can be shared among a plurality of net lists having a common part as a shared net list.
  • the resource reduction unit 62 reduces resources of a reconfigurable circuit that should mount a plurality of netlists within a range in which a shared netlist can be mounted.
  • the resources of the reconfigurable circuit may include a function block and a routing resource for connecting the function blocks. At this time, it is preferable that the resource reduction part 62 reduces a routing resource.
  • the netlist generation unit 61 further includes a classification unit that classifies a plurality of netlists into a plurality of groups, and a netlist that can be shared between a plurality of netlists included in each of the plurality of groups.
  • a net list that can be shared between a first generation unit that generates a shared net list for each of a plurality of groups and a first shared net list for each of the plurality of groups is generated as a second shared net list. It is preferable to have the 2nd production
  • the plurality of netlists and the shared netlist may each include a calculation block and a net connecting the calculation blocks.
  • the shared net list is a net shared as much as possible among a plurality of net lists.
  • the resources of the reconfigurable circuit may include functional blocks and routing resources that connect the functional blocks. At this time, it is preferable to reduce routing resources in the resource reduction step (step S32).
  • the net list generation step (step S31) further includes a step of classifying the plurality of net lists into a plurality of groups, and a shared net list that can be shared between the plurality of net lists included in each of the plurality of groups. And generating for each of the plurality of groups.
  • the resource reduction step (step S32) it is preferable to reduce the resources of the reconfigurable circuit within a range in which all the shared netlists for each of the plurality of groups can be mounted.
  • the netlist generation step (step S31) further includes a step of classifying the plurality of netlists into a plurality of groups, and extracting a common part between the plurality of netlists included in each of the plurality of groups. Generating a first shared netlist for each of the plurality of groups, and a second netlist that can be shared between the first shared netlist for each of the plurality of groups. And generating a shared netlist.
  • the resource reduction step (step S32) it is preferable to reduce resources of the reconfigurable circuit within a range in which the second shared netlist can be mounted.
  • FIG. 3 is a block diagram illustrating a configuration of a computer that executes processing in the program according to the present embodiment.
  • the computer 70 includes a CPU 71, a storage unit 72, an input device 73, and an output device 74.
  • a netlist that can be shared among a plurality of netlists is provided so that a plurality of netlists can overlap each other as much as possible. It is preferable to synthesize. In addition, it is preferable that this shared net list is a target of placement and routing.
  • a small area reconfigurable circuit with a limited application range can be generated in a short time. This is because a shared netlist that can be shared among a plurality of netlists is created in advance, and the resources of the reconfigurable circuit are reduced as long as the shared netlist can be placed and routed. Each of the plurality of netlists can be generated by removing a part of the shared netlist. Therefore, when the shared netlist can be arranged and wired for the reconfigurable circuit, any of a plurality of netlists sharing the shared netlist can be arranged and wired.
  • FIG. 4 is a block diagram illustrating a configuration of a typical reconfigurable circuit.
  • the reconfigurable circuit includes cells 1AA to 1CC.
  • FIG. 4 shows a cell array of 3 rows and 3 columns as an example. However, the size of the array is arbitrary. Adjacent cells are connected by a horizontal wiring 30 and a vertical wiring 31.
  • the horizontal wiring 30 in FIG. 4 connects the cells adjacent on the left and right, and the vertical wiring 31 connects the cells adjacent on the top and bottom.
  • FIG. 4 shows a case where the number of wirings connecting adjacent cells is two as an example. However, the number of wirings is arbitrary.
  • FIG. 5 is a circuit diagram showing a typical configuration of cells constituting the reconfigurable circuit.
  • the cell 1 includes wirings 31A and 31B that transmit signals in the vertical direction, wirings 30A and 30B that transmit signals in the horizontal direction, and a functional block 50 that can set various functions according to configuration data.
  • Multiplexers 20E, 20F that select input signals to the functional block 50 from the wiring groups 30A, 30B, 31A, 31B according to the configuration data, and between the wirings of the wiring groups 30A, 30B, 31A, 31B according to the configuration data
  • multiplexers 20A, 20B, 20C, and 20D that connect the outputs of the functional block 50 and the wirings are included.
  • FIG. 6 is a circuit diagram showing a typical configuration of the multiplexer 20 constituting the cell 1 of FIG.
  • the plurality of input signal lines 7 of the multiplexer 20 are connected to one ends of the switches 2A to 2D, respectively.
  • the other ends of the switches 2A to 2D are connected to the input of the buffer 8.
  • the output of the buffer 8 is output to the output signal line 9.
  • FIG. 7 is a circuit diagram showing a typical configuration of the switch 2 constituting the multiplexer 20 of FIG. Whether to connect the terminals 80 and 81 on both sides of the transmission gate 6 is determined by the configuration data recorded in the configuration memory 5.
  • the above configuration of the reconfigurable circuit is only an example.
  • the number of inputs of the multiplexer is arbitrary. Multiplexers with different numbers of inputs may be mounted together. Furthermore, many configurations other than the above are known as the configuration of the multiplexer, and any multiplexer may be used. Further, the number of input functional blocks, the number of wires, and the length of wires are not limited to the above-described example.
  • step S11 common portions of a plurality of netlists are overlapped as much as possible to generate a shared netlist that can be shared among the plurality of netlists.
  • step S12 an architecture of a reconfigurable circuit as a starting point, that is, an initial architecture is generated (step S12).
  • the initial architecture is a reconfigurable circuit with abundant routing resources such as wiring and switches, and can implement an arbitrary netlist.
  • a place and route tool that takes into account the configuration of the initial architecture is generated (step S13).
  • the shared netlist generated in step S11 is placed and routed on the initial architecture (step S14).
  • the placement and routing result of the shared net list is evaluated (step S15). The evaluation may be performed based on, for example, whether or not placement and routing have been completed. In addition, the evaluation is performed with the maximum delay and power consumption of the application circuit when the placement and routing is completed, the number of switches and the circuit area of the reconfigurable circuit when the placement and routing is completed, or a combination thereof (for example, circuit area and delay). May be performed based on the product). Which evaluation method is used is determined according to the purpose of the designer.
  • step S16 it is determined whether or not to continue the architecture search for the reconfigurable circuit based on the evaluation result. Whether or not to continue searching the architecture is determined according to the conditions determined by the designer. For example, the search for architecture may be terminated (NO in step S16) when placement and routing cannot be performed or when improvement in delay is not observed.
  • step S16 the architecture of the reconfigurable circuit is changed (step S17), and then the steps after step S13 are performed using the changed architecture.
  • the architecture change for example, a part of the switches (2A to 2D in FIG. 6) of the multiplexer 20 in FIG. 5 may be deleted, or a part of the wiring connecting the cells in FIG. 4 may be deleted. .
  • FIG. 9 is a diagram for explaining a method of generating a shared netlist by superimposing a plurality of netlists.
  • FIG. 9A shows the first netlist 10.
  • each operation block 10_1i (i is an integer) of the netlist 10 is assigned to a function block 50 (FIG. 5) of one cell 1 of the reconfigurable circuit.
  • symbols A to E attached to the respective operation blocks 10_1i indicate the types of operations.
  • the net 10_2i (i is an integer) corresponds to a wiring connecting operation blocks of the net list 10 or an input / output signal line of the net list 10.
  • FIG. 9B is an example of the second netlist 11.
  • each of the operation blocks 11_1i (i is an integer) of the netlist 11 is assigned to the function block 50 (FIG. 5) of one cell 1 of the reconfigurable circuit.
  • symbols A to E attached to the respective calculation blocks 11_1i indicate the types of calculation.
  • the net 11_2i (i is an integer) corresponds to a wiring connecting the operation blocks of the net list 11 or an input / output signal line of the net list 11.
  • FIG. 9C shows an example of the shared net list 12 in which the first net list 10 and the second net list 11 are overlapped.
  • each of the operation blocks 12_1i (i is an integer) of the shared netlist 12 is assigned to the function block 50 (FIG. 5) of one cell 1 of the reconfigurable circuit.
  • the net 12_2i (i is an integer) corresponds to a wiring connecting the operation blocks of the shared netlist 12 or an input / output signal line of the shared netlist 12.
  • the symbol X attached to the operation block 12_1i means an arbitrary operation that can be realized in the function block 50.
  • the function of the operation block of the netlist may be any function as long as the function block of the reconfigurable circuit can be realized.
  • the function of the calculation block is independent of whether or not it can be placed and routed.
  • the shared netlist 12 includes a first netlist 10 and a second netlist 11.
  • the first net list 10 is equivalent.
  • the calculation block 12_13 and the nets 12_23 and 12_25 are deleted from the shared net list 12, and the function of each calculation block is appropriately set, the result is equivalent to the net list 11.
  • both the first netlist 10 and the second netlist 11 can be arranged and wired to the reconfigurable circuit.
  • the network structure formed by them is the same in both netlists.
  • the shared netlist 12 has a structure in which a common portion having the same network structure in a plurality of netlists is used as it is and a difference between the plurality of netlists and the common portion is added to the common portion. By deleting a portion corresponding to the difference from the shared net list 12, one of the plurality of net lists is obtained.
  • FIG. 10C shows a state where the shared netlist 12 of FIG. 9C is arranged and wired in the reconfigurable circuit of FIG.
  • a thick arrow corresponds to the net 12_2i (i is an integer).
  • the arrows inside the cells 1AB, 1CC, and 1CA indicate that the function of transmitting signals from the cell input (thick line) to the output (thick line) is mapped.
  • a cell to which a symbol is attached is a cell in which the functional block is used (any operation is performed).
  • a cell that is not given a symbol inside the cell is a cell whose functional block is not used.
  • An arrow indicated by a thin line represents an unused wiring.
  • the netlist 10 in FIG. 9A is obtained by appropriately setting the function of the arithmetic block by excluding the arithmetic block 12_15 and the net 12_28 from the shared netlist 12 in FIG. 9C.
  • the result of the placement and routing of the netlist 10 shown in FIG. 10A is that the functional block of the cell 1CA and the net 31CA are unused in FIG. 10C, and other X symbols are written. It is obtained by appropriately setting the function of the functional block of the cell.
  • the present invention by using the shared netlist for the placement and routing, there is no variation in the common part, so that the number of necessary resources can be reduced and a reconfigurable circuit having a smaller area than the conventional one can be generated. it can.
  • a matching method that maximizes the scale may be searched.
  • a plurality of netlists may be classified into a plurality of groups, and a common netlist may be generated for each group. In this case, as many common netlists as the number of groups are generated. In this case, when reducing resources in the reconfigurable circuit, it is necessary to evaluate whether or not all the common netlists can be arranged and routed. However, compared to the case where all netlists are placed and routed individually, the number of times of placement and routing can be reduced, so the time required to generate a reconfigurable circuit with reduced resources can be reduced. .
  • a net list that can be shared between these shared net lists may be further generated.
  • a shared net list is generated at once from a large number of net lists, it may take a long time for matching between net lists.
  • the netlist is divided into a plurality of groups, a shared netlist for the netlist belonging to each group is generated, and then a netlist that can be shared among these shared netlists is generated. It may be.
  • the embodiments and examples can be changed and adjusted based on the basic technical concept. Various combinations and selections of various disclosed elements are possible within the scope of the claims of the present invention. That is, the present invention of course includes various variations and modifications that could be made by those skilled in the art according to the entire disclosure including the claims and the technical idea.

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

 本発明は、短時間で小面積の再構成可能回路を生成する再構成可能回路生成装置を提供することを目的とする。再構成可能回路生成装置は、共通部分を有する複数のネットリストの間で共用することができるネットリストを共用ネットリストとして生成するネットリスト生成部と、前記共用ネットリストを実装することができる範囲で前記複数のネットリストを実装すべき再構成可能回路のリソースを削減するリソース削減部とを有する。

Description

再構成可能回路生成装置、方法およびプログラム
 (関連出願についての記載)
 本発明は、日本国特許出願:特願2008-304164号(2008年11月28日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
 本発明は、再構成可能回路を生成する再構成可能回路生成装置、方法およびプログラムに関し、特に、適用範囲を限定した再構成可能回路を生成する再構成可能回路生成装置、方法およびプログラムに関する。
 FPGA(Field Programmable Gate Array)やPLD(Programmable Logic Device)などの再構成可能回路は、きわめて多様な回路を実現できることから広く用いられている。しかしながら、高い柔軟性を実現するために多くのスイッチや配線が使用されており、再構成可能回路は面積が大きく、コストも高いという問題がある。
 この問題を解決するために、再構成可能回路の適用範囲を限定し、その適用範囲をカバーするのに十分なだけの柔軟性を備えた再構成可能回路(以下、「用途限定再構成可能回路」という。)を用いることができる。用途限定再構成可能回路は、汎用の再構成可能回路と比較して柔軟性は低いものの、大幅に面積を削減することができるという利点がある。例えば、特許文献1および2において、用途限定再構成可能回路の生成方法が記載されている。
米国特許第7,051,313号明細書 米国特許第6,631,510号明細書
 なお、上記特許文献の全開示内容はその引用をもって本書に繰込み記載する。以下の分析は、本発明によって与えられたものである。
 図12は、特許文献1および2に記載された用途限定再構成可能回路の生成方法のフローチャートを概略的に示す。
 図12を参照すると、まず、再構成可能回路の初期アーキテクチャを作成する(ステップS21)。次に、その初期アーキテクチャに対応した配置配線ツールを生成する(ステップS22)。次に、配置配線ツールを使って初期アーキテクチャ上に、再構成可能回路に実装すべきアプリケーションに対するネットリストを配置配線する(ステップS23)。さらに、ネットリストの配置配線結果を評価する(ステップS24)。典型的な評価として、例えば、アーキテクチャ上にネットリストの配置配線ができたか否かの評価を行う。
 複数のアプリケーションを再構成可能回路に実装する場合には、各アプリケーションに対するネットリストについて、配置配線(ステップS23)と評価(ステップS24)を繰り返す。すべてのアプリケーションに対するネットリストの評価が終了した場合には(ステップS25のYES)、アーキテクチャ探索を続行するか否かを判定する(ステップS26)。例えば、すべてのアプリケーションを配置配線することができた場合にはアーキテクチャ探索を続行し、それ以外の場合にはアーキテクチャ探索を終了するようにしてもよい。アーキテクチャ探索を続行する場合(ステップS26のYES)、再構成可能回路のアーキテクチャを変更して(ステップS27)、再び、ステップS22ないしS25の工程を行う。アーキテクチャ変更として、例えば、再構成可能回路のプログラマブル配線の本数を変更したり、プログラマブルスイッチの数を変更したりしてもよい。
 以上の工程により、すべてのアプリケーションに対するネットリストを配置配線することができる範囲で再構成可能回路のリソースを削減した、用途限定再構成可能回路を生成することができる。
 特許文献1、2に記載された、上記の再構成可能回路生成法においては、処理時間が長くなるという問題がある。すべてのアプリケーションに対するネットリストを1つずつ配置配線して評価する場合には、アプリケーションの数に応じて配置配線を繰り返さなければならないからである。
 さらに、特許文献1、2に記載された再構成可能回路生成法によると、実装すべきネットリストの数が増加した場合に、再構成可能回路の面積を縮小することが難しいという問題がある。ネットリストを個別に配置配線し、すべてのネットリストを配置配線することができる範囲で再構成可能回路のリソースの削減を行っているからである。
 そこで、短時間で小面積の再構成可能回路を生成する方法を提供することが課題となる。本発明の目的は、かかる課題を解決する再構成可能回路生成装置、方法およびプログラムを提供することにある。
 本発明の第1の視点に係る再構成可能回路生成装置は、共通部分を有する複数のネットリストの間で共用することができるネットリストを共用ネットリストとして生成するネットリスト生成部と、前記共用ネットリストを実装することができる範囲で前記複数のネットリストを実装すべき再構成可能回路のリソースを削減するリソース削減部とを有する。
 本発明の第2の視点に係る再構成可能回路生成方法は、共通部分を有する複数のネットリストの間で共用することができるネットリストを共用ネットリストとして生成するネットリスト生成工程と、前記共用ネットリストを実装することができる範囲で前記複数のネットリストを実装すべき再構成可能回路のリソースを削減するリソース削減工程とを含む。
 本発明の第3の視点に係るプログラムは、共通部分を有する複数のネットリストの間で共用することができるネットリストを共用ネットリストとして生成するネットリスト生成処理と、前記共用ネットリストを実装することができる範囲で前記複数のネットリストを実装すべき再構成可能回路のリソースを削減するリソース削減処理とをコンピュータに実行させる。
 本発明にかかる再構成可能回路生成装置、方法およびプログラムにより、短時間で小面積の用途限定再構成可能回路を生成することができる。
本発明の第1の実施形態に係る再構成可能回路生成装置の構成を示すブロック図である。 本発明の第2の実施形態に係る再構成可能回路生成方法のフローチャートである。 本発明の第3の実施形態に係るプログラムにおける処理を実行させるコンピュータの構成を示すブロック図である。 典型的な再構成可能回路の構成を示すブロック図である。 再構成可能回路を構成するセルの典型的な構成を示す回路図である。 セルを構成するマルチプレクサの典型的な構成を示す回路図である。 マルチプレクサを構成するスイッチの典型的な構成を示す回路図である。 本発明の実施例に係る再構成可能回路生成方法のフローチャートである。 (A)第1のネットリストの例である。(B)第2のネットリストの例である。(C)共用ネットリストの例である。 (A)第1のネットリストを再構成可能回路に配置配線した結果を示す図である。(B)第2のネットリストを再構成可能回路に配置配線した結果を示す図である。(C)共用ネットリストを再構成可能回路に配置配線した結果を示す図である。 用途限定再構成可能回路のリソース数のアプリケーション数依存性を示すグラフである。 従来の用途限定再構成可能回路生成方法のフローチャートである。
 (第1の実施形態)
 本発明の実施形態に係る再構成可能回路生成装置について、図面を参照して説明する。図1は本実施形態に係る再構成可能回路生成装置の構成を示すブロック図である。
 図1を参照すると、再構成可能回路生成装置60は、ネットリスト生成部61およびリソース削減部62を有する。ネットリスト生成部61は、共通部分を有する複数のネットリストの間で共用することができるネットリストを共用ネットリストとして生成する。リソース削減部62は、共用ネットリストを実装することができる範囲で複数のネットリストを実装すべき再構成可能回路のリソースを削減する。
 また、複数のネットリスト及び共用ネットリストは、それぞれ演算ブロックと該演算ブロック間を接続するネットとを含んでいてもよい。このとき、共用ネットリストは、複数のネットリストの間で可能な限りネットを共用化したものであることが好ましい。
 さらに、再構成可能回路のリソースは、機能ブロックと機能ブロック間を接続するルーティングリソースとを含んでいてもよい。このとき、リソース削減部62は、ルーティングリソースを削減することが好ましい。
 ネットリスト生成部61は、さらに、複数のネットリストを複数のグループに分類する分類部と、複数のグループのそれぞれに含まれる複数のネットリストの間で共用することができるネットリストを共用ネットリストとして複数のグループのそれぞれについて生成する生成部とを有することが好ましい。このとき、リソース削減部62は、複数のグループのそれぞれに対する共用ネットリストをいずれも実装することができる範囲で再構成可能回路のリソースを削減することが好ましい。
 ネットリスト生成部61は、さらに、複数のネットリストを複数のグループに分類する分類部と、複数のグループのそれぞれに含まれる複数のネットリストの間で共用することができるネットリストを第1の共用ネットリストとして複数のグループのそれぞれについて生成する第1の生成部と、複数のグループのそれぞれに対する第1の共用ネットリストの間で共用することができるネットリストを第2の共用ネットリストとして生成する第2の生成部とを有することが好ましい。このとき、リソース削減部62は、第2の共用ネットリストを実装することができる範囲で再構成可能回路のリソースを削減することが好ましい。
 (第2の実施形態)
 本発明の実施形態に係る再構成可能回路生成方法について、図面を参照して説明する。図2は本実施形態に係る再構成可能回路生成方法のフローチャートである。
 図2を参照すると、まず、共通部分を有する複数のネットリストの間で共用することができるネットリストを共用ネットリストとして生成する(ステップS31)。次に、共用ネットリストを実装することができる範囲で複数のネットリストを実装すべき再構成可能回路のリソースを削減する(ステップS32)。
 また、複数のネットリスト及び共用ネットリストは、それぞれ演算ブロックと演算ブロック間を接続するネットとを含んでいてもよい。このとき、共用ネットリストは、複数のネットリストの間で可能な限りネットを共用化したものであることが好ましい。
 さらに、再構成可能回路のリソースは、機能ブロックと該機能ブロック間を接続するルーティングリソースとを含んでいてもよい。このとき、リソース削減工程(ステップS32)において、ルーティングリソースを削減することが好ましい。
 ネットリスト生成工程(ステップS31)は、さらに、複数のネットリストを複数のグループに分類する工程と、複数のグループのそれぞれに含まれる複数のネットリストの間で共用することができる共用ネットリストを複数のグループのそれぞれについて生成する工程とを含むことが好ましい。このとき、リソース削減工程(ステップS32)において、複数のグループのそれぞれに対する共用ネットリストをいずれも実装することができる範囲で再構成可能回路のリソースを削減することが好ましい。
 ネットリスト生成工程(ステップS31)は、さらに、複数のネットリストを複数のグループに分類する工程と、複数のグループのそれぞれに含まれる複数のネットリストの間で共通部分を抽出することにより、複数のネットリストを包含する第1の共用ネットリストを複数のグループのそれぞれについて生成する工程と、複数のグループのそれぞれに対する第1の共用ネットリストの間で共用することができるネットリストを第2の共用ネットリストとして生成する工程とを含むことが好ましい。このとき、リソース削減工程(ステップS32)において、第2の共用ネットリストを実装することができる範囲で再構成可能回路のリソースを削減することが好ましい。
 (第3の実施形態)
 本発明の第3の実施形態に係る再構成可能回路を生成するためのプログラムについて図面を参照して説明する。図3は、本実施形態に係るプログラムにおける処理を実行させるコンピュータの構成を示すブロック図である。図3を参照すると、コンピュータ70は、CPU71、記憶部72、入力装置73および出力装置74を有する。
 再構成可能回路生成プログラムは、共通部分を有する複数のネットリストの間で共用することができるネットリストを共用ネットリストとして生成するネットリスト生成処理と、共用ネットリストを実装することができる範囲で複数のネットリストを実装すべき再構成可能回路のリソースを削減するリソース削減処理とをコンピュータに実行させる。
 第1ないし第3の実施形態においては、複数のネットリストが相互に最大限重ね合わせらえるようにして、複数のネットリストの間で共用することができるネットリスト(すなわち、共用ネットリスト)を合成することが好ましい。また、この共用ネットリストを配置配線の対象とすることが好ましい。
 第1ないし第3の実施形態に係る再構成可能回路生成装置、方法およびプログラムによると、適用範囲を限定した小面積の再構成可能回路を短い時間で生成することができる。その理由は、あらかじめ複数のネットリストの間で共用することができる共用ネットリストを作成し、その共用ネットリストが配置配線できる範囲で再構成可能回路のリソースを削減するからである。なお、複数ネットリストの各々は共用ネットリストの一部をとり除くことによって生成することができる。したがって、再構成可能回路に対して共用ネットリストを配置配線することができる場合には、共用ネットリストを共用する複数のネットリストのいずれも配置配線することができる。
 また、複数のネットリストを再構成可能回路に対して個別に配置配線した場合には、ネットリストの数に応じて配置配線を行う必要がある。しかしながら、単一の共用ネットリストを用いる場合には、1回の配置配線によって、すべてのネットリストを再構成可能回路に配置配線できることが検証できる。これにより、特許文献1および2に記載された方法と比較して、用途限定再構成可能回路を短い時間で生成することができる。
 さらに、共用ネットリストを用いる場合には、複数のネットリストの共通部分は再構成可能回路における同一のリソースに配置配線される。したがって、複数のネットリストの共通部分による使用リソースのばらつきが抑えられ、より多くのリソース削減が可能となる。ゆえに、共用ネットリストを用いることによって、小面積の用途限定再構成可能回路を実現することができる。
 本発明の第1の実施例について図面を参照して説明する。図4は、典型的な再構成可能回路の構成を示すブロック図である。
 図4を参照すると、再構成可能回路はセル1AA~1CCを有する。図4は、一例として、3行3列のセルアレイを示す。ただし、アレイのサイズは任意である。隣同士のセルは横方向配線30及び縦方向配線31で接続される。図4の横方向配線30は、左右に隣接するセルを接続し、縦方向配線31は上下に隣接するセルを接続する。図4は、一例として、隣接するセルを接続する配線の本数が2本である場合を示す。ただし、配線の本数は任意である。
 図5は、再構成可能回路を構成するセルの典型的な構成を示す回路図である。セル1は、縦方向に信号を伝送する配線31A、31B、および横方向に信号を伝送する配線30A、30Bと、コンフィギュレーションデータに応じて多様な機能を設定することができる機能ブロック50と、コンフィギュレーションデータに応じて配線群30A、30B、31A、31Bから機能ブロック50への入力信号を選択するマルチプレクサ20E、20Fと、コンフィギュレーションデータに応じて配線群30A、30B、31A、31Bの配線間、あるいは機能ブロック50の出力と配線間を接続するマルチプレクサ20A、20B、20C、20Dとを有する。
 図6は、図5のセル1を構成するマルチプレクサ20の典型的な構成を示す回路図である。マルチプレクサ20の複数の入力信号線7は、それぞれスイッチ2Aないし2Dの一端に接続される。スイッチ2Aないし2Dの他端はバッファ8の入力に接続される。バッファ8の出力は出力信号線9に出力される。
 図7は、図6のマルチプレクサ20を構成するスイッチ2の典型的な構成を示す回路図である。トランスミッションゲート6の両側の端子80及び81の間を接続状態にするか否かは、コンフィギュレーションメモリ5に記録されたコンフィギュレーションデータによって決定される。
 なお、上記の再構成可能回路の構成は一例に過ぎない。マルチプレクサの入力数は任意である。また、入力数の異なるマルチプレクサが混載されていてもよい。さらに、マルチプレクサの構成としては、上記のもの以外にも多くの構成が知られており、いずれのマルチプレクサを使用してもよい。また、機能ブロックの入力数や、配線の本数、配線の長さも上述した例に限定されない。
 次に、本発明の実施例について説明する。図8は、本発明の実施例に係る再構成可能回路生成方法のフローチャートである。
 図8を参照すると、まず、複数のネットリストの共通箇所をできる限り重ね合わせて、複数のネットリストの間で共用することができる共用ネットリストを生成する(ステップS11)。次に、出発点となる再構成可能回路のアーキテクチャ、すなわち初期アーキテクチャを生成する(ステップS12)。初期アーキテクチャは、配線やスイッチなどのルーティングリソースを豊富に備えた再構成可能回路であって、任意のネットリストを実装することができるものである。
 次に、初期アーキテクチャの構成を考慮した配置配線ツールを生成する(ステップS13)。次に、配置配線ツールを用いて、初期アーキテクチャ上に、ステップS11において生成した共用ネットリストを配置配線する(ステップS14)。次に、共用ネットリストの配置配線結果を評価する(ステップS15)。評価は、例えば、配置配線できたか否かに基づいて行ってもよい。また、評価は、配置配線ができた場合のアプリケーション回路の最大遅延や消費電力、配置配線ができた場合の再構成可能回路のスイッチ数や回路面積、あるいはそれらの組み合わせ(例えば、回路面積と遅延との積)に基づいて行ってもよい。いずれの評価方法を用いるかは、設計者の目的に応じて決められる。
 次に、評価結果に基づいて、再構成可能回路のアーキテクチャ探索を継続する否かを判定する(ステップS16)。アーキテクチャの探索を継続するか否かは、設計者が決めた条件に従って決定される。例えば、配置配線ができなかった場合、または遅延の改善が見られなくなった場合に、アーキテクチャの探索を終了(ステップS16のNO)するようにしてもよい。
 アーキテクチャ探索を継続する場合には(ステップS16のYES)、再構成可能回路のアーキテクチャを変更した(ステップS17)後、変更後のアーキテクチャを用いて、ステップS13以降の工程を行う。アーキテクチャ変更(ステップS17)として、例えば、図5のマルチプレクサ20のスイッチ(図6の2Aないし2D)の一部を削除し、または図4のセル間を繋ぐ配線の一部を削除してもよい。
 以上により、すべてのネットリストを配置配線することができる範囲で、可能な限りルーティングリソースを削減した再構成可能回路を生成することができる。
 図9は、複数のネットリストを重ね合わせて共用ネットリストを生成する方法について説明するための図である。図9(A)は第1のネットリスト10を示す。図9(A)を参照すると、ネットリスト10の演算ブロック10_1i(iは整数)は、それぞれ再構成可能回路の1つのセル1の機能ブロック50(図5)に割り当てられる。図9(A)において、各演算ブロック10_1iに付した符号A~Eは、演算の種類を示す。ネット10_2i(iは整数)は、ネットリスト10の演算ブロック間を繋ぐ配線、またはネットリスト10の入出力信号線に対応する。
 図9(B)は、第2のネットリスト11の例である。図9(B)を参照すると、ネットリスト11の演算ブロック11_1i(iは整数)は、それぞれ再構成可能回路の1つのセル1の機能ブロック50(図5)に割り当てられる。図9(B)において、各演算ブロック11_1iに付した符号A~Eは、演算の種類を示す。ネット11_2i(iは整数)は、ネットリスト11の演算ブロック間を繋ぐ配線、またはネットリスト11の入出力信号線に対応する。
 図9(C)は、第1のネットリスト10と第2のネットリスト11を重ね合わせた共用ネットリスト12の例である。図9(C)を参照すると、共用ネットリスト12の演算ブロック12_1i(iは整数)は、それぞれ再構成可能回路の1つのセル1の機能ブロック50(図5)に割り当てられる。ネット12_2i(iは整数)は、共用ネットリスト12の演算ブロック間を繋ぐ配線、または共用ネットリスト12の入出力信号線に対応する。
 図9(C)で、演算ブロック12_1iに付した符合Xは、機能ブロック50において実現することができる任意の演算を意味する。ネットリストが再構成可能回路に配置配線できるか否かを判断する場合、ネットリストの演算ブロックの機能は、再構成可能回路の機能ブロックが実現できる機能であればいずれであってもよい。演算ブロックの機能は、配置配線することができるか否かとは無関係である。
 共用ネットリスト12は、第1のネットリスト10と第2のネットリスト11を包含している。実際、共用ネットリスト12から演算ブロック12_15とネット12_28を削除し、各演算ブロックの機能を適宜設定すると、第1のネットリスト10と等価となる。また、共用ネットリスト12から演算ブロック12_13とネット12_23、12_25を削除し、各演算ブロックの機能を適宜設定すれば、ネットリスト11と同等になる。
 したがって、共用ネットリスト12を再構成可能回路に配置配線することができる場合には、第1のネットリスト10と第2のネットリスト11は、いずれも再構成可能回路に配置配線することができる。
 ここではネットリストが2つの場合を例として説明したが、ネットリストの個数は任意である。すべてのネットリストを一つの共用ネットリストに重ね合わせ、その共用ネットリストを配置配線対象とすることによって、1回の配置配線で、すべてのネットリストの配置配線可能性を調べることができる。そしてこのような共用ネットリストを用いることによって、再構成可能回路を生成する処理時間が大幅に短縮される。
 さらに、共用ネットリストを利用することにより、再構成可能回路の面積を縮小する効果が生じる。図9の共用ネットリスト12の各演算ブロック12_1i(iは整数)は、ネットリスト10の演算ブロック10_1i、ネットリスト11の演算ブロック11_1iにそれぞれ対応する。さらに、図9の共用ネットリスト12の各ネット12_2iは、ネットリスト10のネット10_2i、ネットリスト11の演算ブロック11_2iにそれぞれ対応する。
 なお、i=0、1、2、4の演算ブロック、およびi=0、1、2、4、6、7のネットは、図9(A)、(B)の両ネットリストに共通に存在し、それらによって形成されるネットワーク構造も両ネットリストにおいて同一である。共用ネットリスト12は、このように複数のネットリストにおいてネットワーク構造が同じである共通部分をそのまま用いるとともに、複数のネットリストと共通部分との差分を共通部分に対して付加した構造を有する。共用ネットリスト12から、差分に相当する箇所を削除することにより、複数のネットリストのうちのいずれかのネットリストが得られる。
 図10(C)は図9(C)の共用ネットリスト12を図4の再構成可能回路に配置配線した様子を示す。太い矢印はネット12_2i(iは整数)に対応する。セル1AB、1CC、1CAの内側の矢印は、セルの入力(太線)から出力(太線)へ信号を伝送する機能がマッピングされていることを示す。セル内部に符号が付されたセルは、その機能ブロックが使用される(いずれかの演算が行われる)セルである。セル内部に符号が付されていないセルは、その機能ブロックが使用されないセルである。また、細線で示した矢印は未使用の配線を表す。
 図10(C)のセル1AC、1BC、1BB、1CB、1BA、1CAは、それぞれ図9(C)の演算ブロック12_13、12_14、12_11、12_12、12_10、12_15に対応する。
 図9(A)のネットリスト10は、図9(C)の共用ネットリスト12から演算ブロック12_15とネット12_28を除き、適宜演算ブロックの機能を設定することによって得られる。これに対応して、図10(A)に示すネットリスト10の配置配線結果は、図10(C)において、セル1CAの機能ブロックとネット31CAを未使用とし、他のX記号が書かれたセルの機能ブロックの機能を適宜設定することによって得られる。
 図9(B)のネットリスト11は、図9(C)の共用ネットリスト12から演算ブロック12_13とネット12_23、12_25を除き、適宜演算ブロックの機能を設定することによって得られる。これに対応して、図10(B)に示すネットリスト11の配置配線結果は、図10(C)において、セル1ACの機能ブロックとそれに関する入出力経路を未使用にし、他のX記号が書かれたセルの機能ブロックの機能を適宜設定することによって得られる。
 共用ネットリストを用いて各ネットリストの配置配線を求める場合には、ネットリスト間の共通部分はいずれも同一のリソース(セルと配線)に配置配線される。一方、ネットリストを個別に配置配線する場合には、ネットリスト間の共通部分は必ずしも同一のリソースに配置配線されるとは限らない。ネットリスト間の共通部分が同一リソースに配置配線されない場合には、未使用のリソースが減るため、再構成可能回路の面積を縮小することが困難となる。
 図11は、ネットリストの数に対する、再構成可能回路のリソース(スイッチや配線)数を示す。ネットリストを個別に配置配線する場合を、従来例として示す。すべてのネットリストの間で共用することができる共用ネットリストを配置配線する場合を、本発明として示す。ネットリストの数が増えるにしたがって、本発明におけるリソース数は、従来例よりも少なくなる。従来例においては、ネットリストの共通部分が同一のリソースに配置配線されず、ばらついて配置配線される影響がネットリストの数が増えるにしたがって大きくなるからである。一方、本発明においては、共用ネットリストを配置配線に使うことにより、共通部分のばらつきがなくなることから、必要なリソース数を削減し、従来よりも小面積の再構成可能回路を生成することができる。
 ネットリスト間の共通部分が多いほど、再構成可能回路において多くのリソースを削減することができる。したがって、すべてのネットリスト間において、さまざまなマッチングの仕方を試行錯誤し、共通部分が最大となるようなマッチングの仕方を見出すことが好ましい。また、マッチングに際して、ネットリスト間の演算ブロックの機能の相違を無視し、ネットを共用化することができる箇所を探索するようにしてもよい。
 ネットリスト間の共通部分の大きさを測る尺度として、例えば、共通部分に含まれる演算ブロックの数、ネットの数、もしくは演算ブロックの入出力の数、またはこれらの組み合わせ(例えば、これらの和や積)を用いることができる。この尺度が最大になるようなマッチングの仕方を探索するようにしてもよい。
 また、複数のネットリストを複数のグループに分類し、各グループに対して共通ネットリストを生成するようにしてもよい。この場合、グループの数と同じだけの共通ネットリストが生成される。この場合において、再構成可能回路におけるリソースを削減するときには、すべての共通ネットリストの配置配線が可能であるか否かを評価する必要がある。しかし、すべてのネットリストを個別に配置配線する場合と比較して、配置配線の回数を削減することができることから、リソースを削減した再構成可能回路を生成するための時間を短縮することができる。
 また、共通ネットリストを配置配線に用いることにより、すべてのネットリストを個別に配置配線する場合と比較して、共通部分のばらつきも抑えることができ、再構成可能回路の面積を削減する効果も生じる。なお、類似の構造又は機能を有するアプリケーションに対するネットリスト同士は同一のグループに属するようにすることで、共用ネットリストの規模を小さくすることができる。
 さらに、上記の実施例2のように複数の共用ネットリストを生成した後、これらの共用ネットリストの間で共用することのできるネットリストをさらに生成するようにしてもよい。多数のネットリストから一度に共用ネットリストを生成する場合には、ネットリスト間のマッチングのために多くの時間を要するおそれがある。このような場合には、ネットリストを複数のグループに分け、各グループに属するネットリストに対する共用ネットリストを生成した後、これらの共用ネットリストの間で共用することのできるネットリストを生成するようにしてもよい。
 本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
1、1AA~1CC セル
2、2A~2D スイッチ
5 コンフィギュレーションメモリ
6 トランスミッションゲート
7 入力信号線
8 バッファ
9 出力信号線
10、11 ネットリスト
12 共用ネットリスト
10_10~10_14、11_10~11_12、11_14、11_15、12_10~12_15 演算ブロック
10_20~10_27、11_20~11_22、11_24、11_26~11_28、12_20~12_28 ネット
20、20A~20F マルチプレクサ
30、30A、30B 横方向配線
31、31A、31B、31CA 縦方向配線
50 機能ブロック
60 再構成可能回路生成装置
61 ネットリスト生成部
62 リソース削減部
70 コンピュータ
71 CPU
72 記憶部
73 入力装置
74 出力装置
80、81 端子

Claims (16)

  1.  共通部分を有する複数のネットリストの間で共用することができるネットリストを共用ネットリストとして生成するネットリスト生成部と、
     前記共用ネットリストを実装することができる範囲で前記複数のネットリストを実装すべき再構成可能回路のリソースを削減するリソース削減部とを備えていることを特徴とする再構成可能回路生成装置。
  2.  前記複数のネットリスト及び前記共用ネットリストは、それぞれ演算ブロックと該演算ブロック間を接続するネットとを含み、
     前記共用ネットリストは、前記複数のネットリストの間で可能な限りネットを共用化したものであることを特徴とする、請求項1に記載の再構成可能回路生成装置。
  3.  前記再構成可能回路のリソースは、機能ブロックと該機能ブロック間を接続するルーティングリソースとを含み、
     前記リソース削減部は、前記ルーティングリソースを削減することを特徴とする、請求項1又は2に記載の再構成可能回路生成装置。
  4.  前記共用ネットリストは、前記複数のネットリストが包含する最小のネットリストであることを特徴とする、請求項1乃至3のいずれか1項に記載の再構成可能回路生成装置。
  5.  前記ネットリスト生成部は、さらに、複数のネットリストを複数のグループに分類する分類部と、
     前記複数のグループのそれぞれに含まれる複数のネットリストの間で共用することができるネットリストを共用ネットリストとして前記複数のグループのそれぞれについて生成する生成部とを備え、
     前記リソース削減部は、前記複数のグループのそれぞれに対する共用ネットリストをいずれも実装することができる範囲で前記再構成可能回路のリソースを削減することを特徴とする、請求項1乃至4のいずれか1項に記載の再構成可能回路生成装置。
  6.  前記ネットリスト生成部は、さらに、複数のネットリストを複数のグループに分類する分類部と、
     前記複数のグループのそれぞれに含まれる複数のネットリストに共用することができるネットリストを第1の共用ネットリストとして前記複数のグループのそれぞれについて生成する第1の生成部と、
     前記複数のグループのそれぞれに対する第1の共用ネットリストの間で共用することができるネットリストを第2の共用ネットリストとして生成する第2の生成部とを備え、
     前記リソース削減部は、前記第2の共用ネットリストを実装することができる範囲で前記再構成可能回路のリソースを削減することを特徴とする、請求項1乃至4のいずれか1項に記載の再構成可能回路生成装置。
  7.  共通部分を有する複数のネットリストの間で共用することができるネットリストを共用ネットリストとして生成するネットリスト生成工程と、
     前記共用ネットリストを実装することができる範囲で前記複数のネットリストを実装すべき再構成可能回路のリソースを削減するリソース削減工程とを含むことを特徴とする再構成可能回路生成方法。
  8.  前記複数のネットリスト及び前記共用ネットリストは、それぞれ演算ブロックと該演算ブロック間を接続するネットとを含み、
     前記共用ネットリストは、前記複数のネットリストの間で可能な限りネットを共用化したものであることを特徴とする、請求項7に記載の再構成可能回路生成方法。
  9.  前記再構成可能回路のリソースは、機能ブロックと該機能ブロック間を接続するルーティングリソースとを含み、
     前記リソース削減工程において、前記ルーティングリソースを削減することを特徴とする、請求項7又は8に記載の再構成可能回路生成方法。
  10.  前記ネットリスト生成工程は、さらに、複数のネットリストを複数のグループに分類する工程と、
     前記複数のグループのそれぞれに含まれる複数のネットリストの間で共用することができる共用ネットリストを前記複数のグループのそれぞれについて生成する工程とを含み、
     前記リソース削減工程において、前記複数のグループのそれぞれに対する共用ネットリストをいずれも実装することができる範囲で前記再構成可能回路のリソースを削減することを特徴とする、請求項7乃至9のいずれか1項に記載の再構成可能回路生成方法。
  11.  前記ネットリスト生成工程は、さらに、複数のネットリストを複数のグループに分類する工程と、
     前記複数のグループのそれぞれに含まれる複数のネットリストの間で共通部分を抽出することにより、該複数のネットリストを包含する第1の共用ネットリストを前記複数のグループのそれぞれについて生成する工程と、
     前記複数のグループのそれぞれに対する第1の共用ネットリストの間で共用することができるネットリストを第2の共用ネットリストとして生成する工程とを含み、
     前記リソース削減工程において、前記第2の共用ネットリストを実装することができる範囲で前記再構成可能回路のリソースを削減することを特徴とする、請求項7乃至9のいずれか1項に記載の再構成可能回路生成方法。
  12.  共通部分を有する複数のネットリストの間で共用することができるネットリストを共用ネットリストとして生成するネットリスト生成処理と、
     前記共用ネットリストを実装することができる範囲で前記複数のネットリストを実装すべき再構成可能回路のリソースを削減するリソース削減処理とをコンピュータに実行させることを特徴とするプログラム。
  13.  前記複数のネットリスト及び前記共用ネットリストは、それぞれ演算ブロックと該演算ブロック間を接続するネットとを含み、
     前記共用ネットリストは、前記複数のネットリストの間で可能な限りネットを共用化したものであることを特徴とする、請求項12に記載のプログラム。
  14.  前記再構成可能回路のリソースは、機能ブロックと該機能ブロック間を接続するルーティングリソースとを含み、
     前記リソース削減処理において、前記ルーティングリソースを削減する処理をコンピュータに実行させることを特徴とする、請求項12又は13に記載のプログラム。
  15.  前記ネットリスト生成処理において、さらに、複数のネットリストを複数のグループに分類する処理と、
     前記複数のグループのそれぞれに含まれる複数のネットリストの間で共用することができる共用ネットリストを前記複数のグループのそれぞれについて生成する処理とをコンピュータに実行させるとともに、
     前記リソース削減処理において、前記複数のグループのそれぞれに対する共用ネットリストをいずれも実装することができる範囲で前記再構成可能回路のリソースを削減する処理をコンピュータに実行させることを特徴とする、請求項12乃至14のいずれか1項に記載のプログラム。
  16.  前記ネットリスト生成処理において、さらに、複数のネットリストを複数のグループに分類する処理と、
     前記複数のグループのそれぞれに含まれる複数のネットリストの間で共用することができるネットリストを第1の共用ネットリストとして前記複数のグループのそれぞれについて生成する処理と、
     前記複数のグループのそれぞれに対する第1の共用ネットリストの間で共用することができるネットリストを第2の共用ネットリストとして生成する処理とをコンピュータに実行させるとともに、
     前記リソース削減処理において、前記第2の共用ネットリストを実装することができる範囲で前記再構成可能回路のリソースを削減する処理をコンピュータに実行させることを特徴とする、請求項12乃至14のいずれか1項に記載のプログラム。
PCT/JP2009/070009 2008-11-28 2009-11-27 再構成可能回路生成装置、方法およびプログラム WO2010061911A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/130,215 US8694948B2 (en) 2008-11-28 2009-11-27 Reconfigurable circuit generation device, method, and program
JP2010540520A JP5402940B2 (ja) 2008-11-28 2009-11-27 再構成可能回路生成装置、方法およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008304164 2008-11-28
JP2008-304164 2008-11-28

Publications (1)

Publication Number Publication Date
WO2010061911A1 true WO2010061911A1 (ja) 2010-06-03

Family

ID=42225781

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/070009 WO2010061911A1 (ja) 2008-11-28 2009-11-27 再構成可能回路生成装置、方法およびプログラム

Country Status (3)

Country Link
US (1) US8694948B2 (ja)
JP (1) JP5402940B2 (ja)
WO (1) WO2010061911A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018526714A (ja) * 2016-01-12 2018-09-13 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 Cnn処理方法およびデバイス

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014238617A (ja) * 2013-06-05 2014-12-18 富士通株式会社 データ処理装置、データ処理方法及び情報処理装置
EP3336727A1 (en) * 2016-12-19 2018-06-20 Menta System and method for defining a programmable logic architecture

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7051313B1 (en) * 1999-10-29 2006-05-23 Altera Toronto Co. Automatic generation of programmable logic device architectures
JP2006172219A (ja) * 2004-12-16 2006-06-29 Toshiba Corp 半導体集積回路の自動設計装置、半導体集積回路の自動設計方法、及び半導体集積回路の自動設計プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1041475A (ja) 1996-07-23 1998-02-13 Mitsubishi Electric Corp 半導体集積回路装置及びその製造方法
US6473726B1 (en) * 1999-09-24 2002-10-29 Frederic Reblewski Method and apparatus for concurrent emulation of multiple circuit designs on an emulation system
JP2002007497A (ja) 2000-06-22 2002-01-11 Fujitsu Ltd 半導体装置設計支援装置
JP4534384B2 (ja) 2001-05-18 2010-09-01 日本電気株式会社 半導体集積回路の自動フロアプランシステムとそのフロアプラン方法及びそのコンピュータプログラム
US6496058B1 (en) * 2001-07-24 2002-12-17 Virtual Ip Group Method for designing an integrated circuit containing multiple integrated circuit designs and an integrated circuit so designed
US6938236B1 (en) * 2002-03-29 2005-08-30 Altera Corporation Method of creating a mask-programmed logic device from a pre-existing circuit design
US7093225B2 (en) * 2002-07-17 2006-08-15 Osann Robert Jr FPGA with hybrid interconnect
US6829756B1 (en) * 2002-09-23 2004-12-07 Xilinx, Inc. Programmable logic device with time-multiplexed interconnect
JP2009020786A (ja) 2007-07-13 2009-01-29 Renesas Technology Corp ネットリストの配線難易度計算方法
JP5396781B2 (ja) 2008-09-05 2014-01-22 富士通セミコンダクター株式会社 半導体集積回路の設計方法及び設計装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7051313B1 (en) * 1999-10-29 2006-05-23 Altera Toronto Co. Automatic generation of programmable logic device architectures
JP2006172219A (ja) * 2004-12-16 2006-06-29 Toshiba Corp 半導体集積回路の自動設計装置、半導体集積回路の自動設計方法、及び半導体集積回路の自動設計プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018526714A (ja) * 2016-01-12 2018-09-13 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 Cnn処理方法およびデバイス

Also Published As

Publication number Publication date
JP5402940B2 (ja) 2014-01-29
US20110225558A1 (en) 2011-09-15
JPWO2010061911A1 (ja) 2012-04-26
US8694948B2 (en) 2014-04-08

Similar Documents

Publication Publication Date Title
US10587269B2 (en) Integrated circuit including an array of logic tiles, each logic tile including a configurable switch interconnect network
JP4275013B2 (ja) データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。
Weaver et al. The SFRA: a corner-turn FPGA architecture
JP6250548B2 (ja) 再構成可能な半導体装置の論理構成方法
US8316337B2 (en) Method and system for optimally placing and assigning interfaces in a cross-fabric design environment
US8181139B1 (en) Multi-priority placement for configuring programmable logic devices
US8527929B2 (en) Method and system for optimally connecting interfaces across multiple fabrics
JP5402940B2 (ja) 再構成可能回路生成装置、方法およびプログラム
Kung et al. Mapping systolic arrays onto 3d circuit structures: Accelerating convolutional neural network inference
US8479134B2 (en) Method and system for specifying system level constraints in a cross-fabric design environment
US8954906B1 (en) Method and apparatus for performing parallel synthesis on a field programmable gate array
JPWO2010106738A1 (ja) 再構成可能な論理回路
Alexander et al. Placement and routing for three-dimensional FPGAs
CN102893282A (zh) 用于在综合期间执行异步和同步复位去除的方法以及设备
US7409650B2 (en) Low power consumption designing method of semiconductor integrated circuit
CN112131813B (zh) 基于端口交换技术的用于提升布线速度的fpga布线方法
JPH09305633A (ja) 論理回路最適化方法
US8074198B2 (en) Apparatus and method for circuit layout using longest path and shortest path search elements
US7185299B1 (en) Methods of estimating routing delays during the placement process in programmable logic devices
US20090210850A1 (en) Method for Simplifying Tie Net Modeling for Router Performance
CN114722770A (zh) 创建fpga电路的时延模型和获取时延的方法及设备
Petelin et al. Wotan: A tool for rapid evaluation of FPGA architecture routability without benchmarks
Taghavi et al. Routing algorithms: architecture driven rerouting enhancement for FPGAs
Mittal et al. Simulation analysis and performance evaluation of four innovative routers for network on chip
Mukherjee et al. Nearly-2-SAT solutions for segmented-channel routing

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09829156

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13130215

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2010540520

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09829156

Country of ref document: EP

Kind code of ref document: A1