JP2016218670A - Semiconductor integrated circuit design assist device, semiconductor integrated circuit design assist method, and program - Google Patents

Semiconductor integrated circuit design assist device, semiconductor integrated circuit design assist method, and program Download PDF

Info

Publication number
JP2016218670A
JP2016218670A JP2015101883A JP2015101883A JP2016218670A JP 2016218670 A JP2016218670 A JP 2016218670A JP 2015101883 A JP2015101883 A JP 2015101883A JP 2015101883 A JP2015101883 A JP 2015101883A JP 2016218670 A JP2016218670 A JP 2016218670A
Authority
JP
Japan
Prior art keywords
information
circuit
bit
cell
semiconductor integrated
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
JP2015101883A
Other languages
Japanese (ja)
Inventor
村上 和隆
Kazutaka Murakami
和隆 村上
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2015101883A priority Critical patent/JP2016218670A/en
Publication of JP2016218670A publication Critical patent/JP2016218670A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To efficiently increase the bits of a cell to multi-bits in designing a semiconductor integrated circuit.SOLUTION: A semiconductor integrated circuit design assist device 1 performs circuit design on the basis of a circuit specification and generates circuit information (HDL), performs logic synthesis on the circuit information (HDL) using a cell library that includes the cell information of a semiconductor integrated circuit, and generates circuit information (NETLIST) which is logic circuit information that includes placement-wiring information on the placement of cells and wiring to cells. The semiconductor integrated circuit design assist device 1 executes the placement of cells and wiring to the cells on the basis of the placement-wiring information of the circuit information (NETLIST), refers to the cell library on the basis of the result of execution of the placement-wiring, and increases the bits of cells to turn the small-bit cells of the circuit information (NETLIST) into multi-bit cells.SELECTED DRAWING: Figure 1

Description

本発明は、半導体集積回路設計支援装置、半導体集積回路設計支援方法及びプログラムに関し、詳細には、半導体集積回路の設計を支援する半導体集積回路設計支援装置、半導体集積回路設計支援方法及びプログラムに関する。   The present invention relates to a semiconductor integrated circuit design support apparatus, a semiconductor integrated circuit design support method, and a program, and more particularly to a semiconductor integrated circuit design support apparatus, a semiconductor integrated circuit design support method, and a program that support the design of a semiconductor integrated circuit.

半導体集積回路の設計は、半導体集積回路設計支援装置を用いて行われるようになってきており、半導体集積回路設計支援装置は、一般的に設計ツールであるCAD(Computer Aided Design)ツールを備えたコンピュータが用いられている。半導体集積回路設計支援装置は、CADツールによりハードウェア記述言語(HDL:Hardware Description Language)で記述されたファイルを読み込み、論理合成を行って、設計支援対象となる回路の接続状態を示すデータであるネットリストを生成する。   Semiconductor integrated circuit design has been performed using a semiconductor integrated circuit design support apparatus, and the semiconductor integrated circuit design support apparatus generally includes a CAD (Computer Aided Design) tool which is a design tool. A computer is used. The semiconductor integrated circuit design support device is data indicating a connection state of a circuit to be a design support target by reading a file described in a hardware description language (HDL) by a CAD tool and performing logic synthesis. Generate a netlist.

一方、近年、半導体集積回路の大規模化に伴い、半導体集積回路の消費電力を低減する設計手法が要望されている。半導体集積回路の消費電力を低減する設計手法の一つとしては、消費電力の大きなクロックライン回路が共通化されている「多ビットフリップフロップ」のセルライブラリを用いる設計手法がある。   On the other hand, in recent years, with the increase in scale of semiconductor integrated circuits, a design method for reducing the power consumption of the semiconductor integrated circuits is demanded. One design technique for reducing the power consumption of a semiconductor integrated circuit is a design technique using a “multi-bit flip-flop” cell library in which a clock line circuit with large power consumption is shared.

ところが、従来の多ビットフリップフロップのセルライブラリを用いる設計手法は、配置配線時の混雑度が増加するという弊害あり、論理合成時に最適な多ビットフリップフロップセルの選択や最適なビット数を選択することが困難であった。   However, the conventional design method using a cell library of multi-bit flip-flops has an adverse effect of increasing the degree of congestion at the time of placement and routing, and selecting the optimal multi-bit flip-flop cells and selecting the optimal number of bits at the time of logic synthesis It was difficult.

そして、従来、論理合成部が論理合成時に、所定の論理機能をそれぞれ発揮する複数のユニットセルを仮想配線すると共に、仮想配線された前記複数のユニットセルの一部を組み合わせて多ビット化した複数の多ビットセルを生成し、配置処理部が前記複数のユニットセルと、前記複数の多ビットセルとを配置し、制御部が前記複数のユニットセルと前記複数の多ビットセルとの仮想配線の混雑が解消するように仮想配線の繋ぎ換えを制御し、配線処理部が前記複数のユニットセルと、前記複数の多ビットセルとを本配線する半導体集積回路の設計方法が提案されている(特許文献1参照)。   Conventionally, a plurality of unit cells that each perform a predetermined logic function are virtually wired at the time of logic synthesis by the logic synthesis unit, and a plurality of bit units are obtained by combining a part of the plurality of unit cells that are virtually wired. The multi-bit cell is generated, the arrangement processing unit arranges the plurality of unit cells and the plurality of multi-bit cells, and the control unit eliminates the virtual wiring congestion between the plurality of unit cells and the plurality of multi-bit cells. Thus, there is proposed a method for designing a semiconductor integrated circuit in which reconnection of virtual wiring is controlled, and a wiring processing unit performs main wiring between the plurality of unit cells and the plurality of multi-bit cells (see Patent Document 1). .

すなわち、この従来技術は、配置配線時に多ビットセルの仮想配線の繋ぎ変えを行うことで、多ビットセルを使用する際の配線混雑の防止を図っている。   That is, this prior art attempts to prevent wiring congestion when using multi-bit cells by changing the virtual wiring of multi-bit cells during placement and routing.

しかしながら、上記公報記載の従来技術にあっては、配置配線時に多ビットセルの仮想配線の繋ぎ変えを行っているため、論理合成時に最適な多ビットセルを選択することが困難であるとともに、最適なビット数を決定することができず、改良の必要があった。   However, in the prior art described in the above publication, since the virtual wiring of the multi-bit cell is changed at the time of placement and routing, it is difficult to select the optimal multi-bit cell at the time of logic synthesis and the optimal bit The number could not be determined and needed improvement.

そこで、本発明は、半導体集積回路の設計において最適なビット数の多ビットセルを効率的に選択することを目的としている。   Therefore, an object of the present invention is to efficiently select a multi-bit cell having an optimum number of bits in the design of a semiconductor integrated circuit.

上記目的を達成するために、請求項1記載の半導体集積回路設計支援装置は、回路仕様に基づいて回路設計を行って回路情報を生成する回路設計手段と、半導体集積回路のセル情報を含む回路関連情報を記憶する回路関連情報記憶手段と、前記回路関連情報を使用して前記回路情報に対して論理合成を行って、セルの配置とセルに対する配線の配置配線情報を含む論理回路情報を生成する論理回路情報生成手段と、前記論理回路情報の前記配置配線情報に基づいて、前記セルの配置と該セルに対する配線を実施し、該配置配線の実施結果に基づいて前記回路関連情報を参照して該論理回路情報の少ビットセルを多ビットセルへ多ビット化する多ビット化配置配線手段と、を備えていることを特徴としている。   To achieve the above object, a semiconductor integrated circuit design support apparatus according to claim 1 is a circuit including circuit design means for generating circuit information by performing circuit design based on circuit specifications, and a circuit including cell information of the semiconductor integrated circuit. Circuit-related information storage means for storing related information, and logic synthesis is performed on the circuit information using the circuit-related information to generate logic circuit information including cell placement and wiring placement / wiring information for the cell. A logic circuit information generating unit configured to perform placement and routing of the cell based on the placement and routing information of the logic circuit information, and refer to the circuit related information based on the placement and routing result. And a multi-bit arrangement / wiring unit that multi-bits the low-bit cell of the logic circuit information into a multi-bit cell.

本発明によれば、半導体集積回路の設計において最適なビット数の多ビットセルを効率的に選択することができる。   According to the present invention, it is possible to efficiently select a multi-bit cell having an optimum number of bits in designing a semiconductor integrated circuit.

本発明の一実施例を適用した半導体集積回路設計支援装置のブロック構成図。1 is a block configuration diagram of a semiconductor integrated circuit design support apparatus to which an embodiment of the present invention is applied. セルライブラリの一例を示す図。The figure which shows an example of a cell library. 仮想0ビットフリップフロップとその回路情報の一例を示す図。The figure which shows an example of virtual 0 bit flip-flop and its circuit information. 仮想1ビットフリップフロップとその回路情報の一例を示す図。The figure which shows an example of a virtual 1 bit flip-flop and its circuit information. 仮想2ビットフリップフロップとその回路情報の一例を示す図。The figure which shows an example of virtual 2-bit flip-flop and its circuit information. 仮想4ビットフリップフロップとその回路情報の一例を示す図。The figure which shows an example of a virtual 4-bit flip-flop and its circuit information. セルライブラリの情報の一例を示す図。The figure which shows an example of the information of a cell library. 半導体集積回路設計支援装置の機能ブロック図。The functional block diagram of a semiconductor integrated circuit design support apparatus. 回路設計部の生成する回路情報(HDL)の一例を示す図。The figure which shows an example of the circuit information (HDL) which a circuit design part produces | generates. 図9の回路情報(HDL)から生成される回路情報(NETLIST)の一例を示す図。The figure which shows an example of the circuit information (NETLIST) produced | generated from the circuit information (HDL) of FIG. 図9の回路情報(HDL)から生成される多ビットフリップフロップを用いた回路情報(NETLIST)の一例を示す図。The figure which shows an example of the circuit information (NETLIST) using the multibit flip flop produced | generated from the circuit information (HDL) of FIG. 図10の回路情報(NETLIST)に基づく回路を示す図。The figure which shows the circuit based on the circuit information (NETLIST) of FIG. 図12の回路情報(NETLIST)に基づく多ビットフリップフロップを用いた回路を示す図。FIG. 13 is a diagram showing a circuit using a multi-bit flip-flop based on the circuit information (NETLIST) in FIG. 12. 1ビットフリップフロップにおける配線混雑度の説明図。Explanatory drawing of the wiring congestion degree in 1 bit flip-flop. 多ビットフリップフロップにおける配線混雑度の説明図。Explanatory drawing of the wiring congestion degree in a multi-bit flip-flop. 入出力の位置が相互に比較的離れているときの1ビットフリップフロップの配置の説明図。Explanatory drawing of arrangement | positioning of 1 bit flip-flop when the position of input / output is mutually separated relatively. 入出力の位置が相互に比較的離れているときの4ビットフリップフロップの配置の説明図。Explanatory drawing of arrangement | positioning of 4 bit flip-flop when the position of input / output is comparatively separated mutually. 入出力の位置が相互に比較的近いときの1ビットフリップフロップの配置の説明図。Explanatory drawing of arrangement | positioning of 1 bit flip-flop when the position of input / output is mutually close. 入出力の位置が相互に比較的近いときの4ビットフリップフロップの配置の説明図。Explanatory drawing of arrangement | positioning of a 4-bit flip-flop when the position of input / output is mutually close. 半導体集積回路設計支援処理を示すフローチャート。5 is a flowchart showing semiconductor integrated circuit design support processing. 多ビットフリップフロップの論理的等価と多ビット化変更手法の説明図。Explanatory drawing of the logical equivalence of a multi-bit flip-flop and the multi-bit conversion method. 多ビットフリップフロップの論理的等価と他の多ビット化変更手法の説明図。Explanatory drawing of the logical equivalence of a multi-bit flip-flop and another multi-bit conversion method. 1ビットフリップフロップを用いた回路情報(NETLIST)と仮想1ビットフリップフロップを用いた回路情報(NETLIST)の対応関係を示す図。The figure which shows the correspondence of the circuit information (NETLIST) using 1 bit flip flop, and the circuit information (NETLIST) using virtual 1 bit flip flop. 仮想フリップフロップを配置した回路からの多ビット化手法の説明図。Explanatory drawing of the multi-bit method from the circuit which has arrange | positioned the virtual flip-flop. 仮想フリップフロップを配置した他の回路からの多ビット化手法の説明図。Explanatory drawing of the multi-bit conversion method from the other circuit which has arrange | positioned the virtual flip-flop. 探索範囲決定の説明図。Explanatory drawing of search range determination. 仮想フリップフロップの多ビット化と回路情報変更の説明図。Explanatory drawing of multi-bits of a virtual flip-flop and circuit information change. 多ビット化後のセルの再接続の説明図。Explanatory drawing of the reconnection of the cell after multi-bit-ization. 入出力の位置が相互に近い場合の多ビット化対象の探索の説明図。Explanatory drawing of the search of multi-bit conversion object when the input / output positions are close to each other. 図29の場合の多ビット化の説明図。FIG. 30 is an explanatory diagram of increasing the number of bits in the case of FIG. 29.

以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。   Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In addition, since the Example described below is a suitable Example of this invention, various technically preferable restrictions are attached | subjected, However, The range of this invention is unduly limited by the following description. However, not all the configurations described in the present embodiment are essential constituent elements of the present invention.

図1〜図30は、本発明の半導体集積回路設計支援装置、半導体集積回路設計支援方法及びプログラムの一実施例を示す図であり、図1は、本発明の半導体集積回路設計支援装置、半導体集積回路設計支援方法及びプログラムの一実施例を適用した半導体集積回路設計支援装置1のブロック構成図である。   1 to 30 are diagrams showing an embodiment of a semiconductor integrated circuit design support apparatus, semiconductor integrated circuit design support method and program according to the present invention. FIG. 1 shows a semiconductor integrated circuit design support apparatus and semiconductor according to the present invention. 1 is a block configuration diagram of a semiconductor integrated circuit design support apparatus 1 to which an embodiment of an integrated circuit design support method and program is applied.

図1において、半導体集積回路設計支援装置1は、通常のハードウェア構成及びソフトウェア構成のコンピュータに、本発明の半導体集積回路設計支援方法を実行するプログラムを搭載することで構築されている。なお、本実施例の半導体集積回路設計支援装置1は、1台のコンピュータで構築されているが、複数台のコンピュータや大容量記憶装置等がLAN(Local Area Network)、インターネット等のネットワークで接続されることで構築されていてもよい。   In FIG. 1, a semiconductor integrated circuit design support apparatus 1 is constructed by mounting a program for executing a semiconductor integrated circuit design support method of the present invention on a computer having a normal hardware configuration and software configuration. The semiconductor integrated circuit design support device 1 of this embodiment is constructed by a single computer, but a plurality of computers, a mass storage device, and the like are connected via a network such as a LAN (Local Area Network) or the Internet. It may be constructed by doing.

半導体集積回路設計支援装置1は、CPU(Central Processing Unit)2、ROM(Read Only Memory)3、RAM(Random Access Memory)4、不揮発性メモリ5、入力I/F(Input/Output)6、出力I/F7及び外部I/F8等を備えている。半導体集積回路設計支援装置1は、上記各部が、バス9により接続されている。   A semiconductor integrated circuit design support apparatus 1 includes a CPU (Central Processing Unit) 2, a ROM (Read Only Memory) 3, a RAM (Random Access Memory) 4, a nonvolatile memory 5, an input I / F (Input / Output) 6, and an output. An I / F 7 and an external I / F 8 are provided. In the semiconductor integrated circuit design support device 1, the above-described units are connected by a bus 9.

入力I/F6には、キーボード、マウス、スタイラスペン、タッチパネル等の入力デバイス11が接続され、入力I/F6は、入力デバイス11から入力される各種命令等をCPU2へ出力する。   An input device 11 such as a keyboard, a mouse, a stylus pen, and a touch panel is connected to the input I / F 6, and the input I / F 6 outputs various commands input from the input device 11 to the CPU 2.

出力I/F7には、ディスプレイ、ランプ、スピーカ、プリンタ等の出力デバイス12が接続され、出力I/F7は、CPU2の制御下で、出力デバイス12に表示データ、点滅データ、音声データ、記録データ等の出力データを出力する。   An output device 12 such as a display, a lamp, a speaker, and a printer is connected to the output I / F 7. The output I / F 7 is displayed on the output device 12 under the control of the CPU 2, blinking data, audio data, and recording data. Output data such as

外部I/F8は、ネットワーク、外部記憶装置等が接続される。外部I/F8は、CPU2の制御下で、TCP/IP(Transmission Control Protocol/Internet Protocol)やSMTP(Simple Mail Transfer Protocol )/POP(Point Of Production )等のプロトコルの制御を行って通信を行う。また、外部I/F8は、CPU2の制御下で、外部記憶装置へのデータの書き込み及び外部記憶装置からのデータの読み出しを行う。   The external I / F 8 is connected to a network, an external storage device, and the like. The external I / F 8 performs communication under control of the CPU 2 by controlling protocols such as TCP / IP (Transmission Control Protocol / Internet Protocol) and SMTP (Simple Mail Transfer Protocol) / POP (Point Of Production). The external I / F 8 writes data to the external storage device and reads data from the external storage device under the control of the CPU 2.

ROM3は、コンピュータのOS(Operating System)、半導体集積回路設計支援装置1としての基本プログラム、本発明の半導体集積回路設計支援方法を実行するプログラム及びシステムデータ等を記憶している。ROM3は、半導体集積回路設計支援方法を実行するプログラムを補完するプログラムとして、配置配線ツールプログラム等を記憶している。   The ROM 3 stores a computer OS (Operating System), a basic program as the semiconductor integrated circuit design support apparatus 1, a program for executing the semiconductor integrated circuit design support method of the present invention, system data, and the like. The ROM 3 stores a placement and routing tool program and the like as a program that complements the program for executing the semiconductor integrated circuit design support method.

RAM4は、CPU2のワークメモリとして利用され、半導体集積回路設計支援方法の実行に伴う各種データ等を記憶する。   The RAM 4 is used as a work memory for the CPU 2 and stores various data associated with execution of the semiconductor integrated circuit design support method.

CPU2は、ROM3内のプログラムに基づいて、RAM4をワークメモリとして利用して、半導体集積回路設計支援装置1の各部を制御して、半導体集積回路設計支援装置1としての基本処理を実行する。また、CPU2は、ROM3内の半導体集積回路設計支援方法のプログラムに基づいて、本発明の半導体集積回路設計支援方法を実行する。   The CPU 2 uses the RAM 4 as a work memory based on a program in the ROM 3 to control each unit of the semiconductor integrated circuit design support apparatus 1 and executes basic processing as the semiconductor integrated circuit design support apparatus 1. Further, the CPU 2 executes the semiconductor integrated circuit design support method of the present invention based on the program of the semiconductor integrated circuit design support method in the ROM 3.

不揮発性メモリ5は、NVRAM(Nonvolatile Random Access Memory)、SSD(Solid State Drive)、ハードディスク等が用いられ、半導体集積回路設計支援装置1の電源がOFFのときにも記憶内容を保持するメモリである。   The nonvolatile memory 5 is an NVRAM (Nonvolatile Random Access Memory), an SSD (Solid State Drive), a hard disk, or the like, and is a memory that retains stored contents even when the power of the semiconductor integrated circuit design support device 1 is OFF. .

不揮発性メモリ5は、半導体集積回路設計支援装置1の電源がOFFのときにも記憶内容を保持する必要のあるデータとして、例えば、システム設定値や本発明の半導体集積回路設計支援機器管理方法で使用する各種データがCPU2の制御下で格納される。特に、不揮発性メモリ5は、図2に示すようなセルライブラリ(回路関連情報)CLを格納している。セルライブラリCLは、1ビットフリップフロップDFF、2ビットフリップフロップDFF2、4ビットフリップフロップDFF4等の情報を含んでいる。また、不揮発性メモリ5は、これらの1ビットフリップフロップDFF、2ビットフリップフロップDFF2、4ビットフリップフロップDFF4等から生成される図3示すような仮想0ビットフリップフロップセルVDFF0とその回路情報VkJ0、図4示すような仮想1ビットフリップフロップセルVDFF1とその回路情報VkJ1、図5に示すような仮想2ビットフリップフロップセルVDFF2とその回路情報Vkj2、図6に示すような仮想4ビットフリップフロップVDFF4とその回路情報Vkj4等を格納する。また、不揮発性メモリ5は、セルライブラリCLとして、図7に示すような回路情報を、格納している。すなわち、セルライブラリCLの回路情報は、図7に示すように、セル名(BUF、DFF、DFF4等)、各セルのエリア(領域:1、4、14等)、消費電力値(2、10、30等)の論理合成、配置配線に必要な情報の全てが含まれている。例えば、図7では、「BUF」という名前のライブラリセルの大きさは「1」であり、消費電力値は「2」であることが示されている。   The nonvolatile memory 5 is, for example, a system setting value or a semiconductor integrated circuit design support device management method of the present invention as data that needs to be stored even when the power of the semiconductor integrated circuit design support device 1 is OFF. Various data to be used are stored under the control of the CPU 2. In particular, the nonvolatile memory 5 stores a cell library (circuit related information) CL as shown in FIG. The cell library CL includes information such as a 1-bit flip-flop DFF, a 2-bit flip-flop DFF2, and a 4-bit flip-flop DFF4. Further, the nonvolatile memory 5 includes a virtual 0-bit flip-flop cell VDFF0 generated from these 1-bit flip-flop DFF, 2-bit flip-flop DFF2, 4-bit flip-flop DFF4, etc. and its circuit information VkJ0, FIG. 4 virtual 1-bit flip-flop cell VDFF1 and its circuit information VkJ1, virtual 2-bit flip-flop cell VDFF2 and its circuit information Vkj2 as shown in FIG. 5, virtual 4-bit flip-flop VDFF4 and its circuit information as shown in FIG. Stores Vkj4 etc. Further, the nonvolatile memory 5 stores circuit information as shown in FIG. 7 as the cell library CL. That is, as shown in FIG. 7, the circuit information of the cell library CL includes cell names (BUF, DFF, DFF4, etc.), cell areas (areas: 1, 4, 14, etc.), power consumption values (2, 10). , 30 etc.) all of the information necessary for logic synthesis and placement and routing are included. For example, FIG. 7 shows that the size of the library cell named “BUF” is “1” and the power consumption value is “2”.

そして、半導体集積回路設計支援装置1は、ROM、EEPROM(Electrically Erasable and Programmable Read Only Memory )、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory )、CD−RW(Compact Disc Rewritable )、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード、MO(Magneto-Optical Disc)等のコンピュータが読み取り可能な記録媒体に記録されている本発明の半導体集積回路設計支援方法を実行するプログラムを読み込んでROM3や不揮発性メモリ5に導入することで、後述する半導体集積回路の設計において最適なビット数の多ビットセルを効率的に選択する半導体集積回路設計支援方法を実行する半導体集積回路設計支援装置として構築されている。この半導体集積回路設計支援方法を実行するプログラムは、アセンブラ、C、C++、C#、Java(登録商標)等のレガシープログラミング言語やオブジェクト指向プログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。   The semiconductor integrated circuit design support apparatus 1 includes a ROM, an EEPROM (Electrically Erasable and Programmable Read Only Memory), an EPROM, a flash memory, a flexible disk, a CD-ROM (Compact Disc Read Only Memory), and a CD-RW (Compact Disc Rewritable). ), DVD (Digital Versatile Disk), USB (Universal Serial Bus) memory, SD (Secure Digital) card, MO (Magneto-Optical Disc), etc. A semiconductor integrated circuit design support method for efficiently selecting a multi-bit cell having an optimum number of bits in designing a semiconductor integrated circuit to be described later by reading a program for executing the circuit design support method and introducing the program into the ROM 3 or the nonvolatile memory 5 It is constructed as a semiconductor integrated circuit design support device that executes A program for executing this semiconductor integrated circuit design support method is a computer-executable program written in a legacy programming language such as assembler, C, C ++, C #, Java (registered trademark), an object-oriented programming language, or the like. It can be stored in the recording medium and distributed.

半導体集積回路設計支援装置1は、上記半導体集積回路設計支援方法を実行するプログラムが導入されることで、図8に示す機能ブロックが構築される。すなわち、半導体集積回路設計支援装置1は、該プログラムが導入されると、図8に示すように、回路設計部31、セルライブラリ記憶部32、論理回路情報生成部33及び多ビット化配置配線部34が構築される。   The semiconductor integrated circuit design support apparatus 1 is configured with the functional blocks shown in FIG. 8 by introducing a program for executing the semiconductor integrated circuit design support method. In other words, when the program is introduced, the semiconductor integrated circuit design support apparatus 1, as shown in FIG. 34 is built.

回路設計部31は、CPU2及びRAM4等により構築されている。回路設計部31は、入力デバイス11から入力される回路仕様または外部I/F8を介して入力される外部メモリに記憶されている回路仕様に基づいて回路設計を行って回路情報を生成する。この回路情報は、HDL(Hardware description language)で記述されており、文字で記述するコンピュータ言語で、半導体集積回路の経時的振舞いと空間的構造が記述されている。したがって、回路設計部31は、回路設計手段として機能している。   The circuit design unit 31 is constructed by the CPU 2, the RAM 4, and the like. The circuit design unit 31 performs circuit design based on circuit specifications input from the input device 11 or circuit specifications stored in an external memory input via the external I / F 8 to generate circuit information. This circuit information is described in HDL (Hardware description language), and the time-dependent behavior and spatial structure of the semiconductor integrated circuit are described in a computer language described in characters. Therefore, the circuit design unit 31 functions as circuit design means.

回路設計部31は、例えば、図9に示すようなHDLによる回路情報(HDL)を生成する。なお、図9は、HDLとして、Verilog(ヴェリログ)言語を用いた回路情報であり、1行目で、モジュール名は、「DUT」であることが宣言されている。図9の回路情報(HDL)は、2行目〜5行目のステートメントで、「CLK」と「IN」の2つの入力ポートを持ち、「OUT」の1つの出力ポート、「REG」というレジスタを持つことが記述されている。これらの入出力ポートやデータタイプは、全て4ビットであることが記述されている。また、図9の回路情報は、7行目〜9行目の手続き代入文で、レジスタ型の「REG」に、「CLK」の立ち上がりエッジにおいて、入力信号「IN」がノンブロッキング代入されるフリップフロップであることが記述されている。さらに、図9の回路情報は、11行目の継続代入文により、出力ポート「OUT」に、「REG」が代入されることが記述されている。すなわち、「DUT」モジュールは、入力信号「IN」を「CLK」の立ち上がりでラッチし、「OUT」へ出力するモジュールであることが記述されている。   For example, the circuit design unit 31 generates circuit information (HDL) by HDL as shown in FIG. FIG. 9 shows circuit information using Verilog language as HDL, and the module name is declared “DUT” in the first line. The circuit information (HDL) in FIG. 9 is a statement in the second to fifth lines, has two input ports “CLK” and “IN”, one output port “OUT”, and a register “REG”. It is described to have It is described that these input / output ports and data types are all 4 bits. Further, the circuit information of FIG. 9 is a procedure assignment statement in the seventh to ninth lines, and a flip-flop in which the input signal “IN” is non-blocking assigned to the register type “REG” at the rising edge of “CLK”. It is described that. Furthermore, the circuit information in FIG. 9 describes that “REG” is assigned to the output port “OUT” by the continuation assignment statement on the eleventh line. That is, it is described that the “DUT” module is a module that latches the input signal “IN” at the rising edge of “CLK” and outputs it to “OUT”.

セルライブラリ記憶部32は、不揮発性メモリ5により構築されている。セルライブラリ記憶部32は、半導体集積回路のライブラリ情報(回路関連情報)として、図2に示したようなセルライブラリCLを記憶している。セルライブラリCLは、上述のように、1ビットフリップフロップDFF、2ビットフリップフロップDFF2、4ビットフリップフロップDFF4等の情報を含んでいる。したがって、セルライブラリ記憶部32は、セルライブラリ記憶手段として機能している。   The cell library storage unit 32 is constructed by the nonvolatile memory 5. The cell library storage unit 32 stores a cell library CL as shown in FIG. 2 as library information (circuit related information) of the semiconductor integrated circuit. As described above, the cell library CL includes information such as a 1-bit flip-flop DFF, a 2-bit flip-flop DFF2, and a 4-bit flip-flop DFF4. Therefore, the cell library storage unit 32 functions as cell library storage means.

論理回路情報生成部33は、CPU2及びRAM4等により構築されている。論理回路情報生成部33は、セルライブラリ記憶部32のライブラリ情報(セルライブラリCL)を使用して、回路設計部31の生成した回路情報に対して論理合成を行って、セルの配置とセルに対する配線等の配置配線情報を含む論理回路情報である回路情報(NETLIST)を生成する。なお、以下の説明では、論理回路情報を、適宜、回路情報(NETLIST)という。   The logic circuit information generation unit 33 is constructed by the CPU 2, the RAM 4, and the like. The logic circuit information generation unit 33 uses the library information (cell library CL) in the cell library storage unit 32 to perform logic synthesis on the circuit information generated by the circuit design unit 31 to thereby arrange the cell arrangement and the cell. Circuit information (NETLIST), which is logic circuit information including layout and wiring information such as wiring, is generated. In the following description, the logic circuit information is appropriately referred to as circuit information (NETLIST).

具体的には、論理回路情報生成部33は、例えば、図3(a)に示したような仮想0ビットフリップフロップセルVDFF0を生成し、このときの仮想0ビットフリップフロップセルVDFF0の回路情報(NETLIST)は、図3(b)のようになる。図3(a)に示す仮想0ビットフリップフロップセルVDFF0は、モジュールの内部に、セルライブラリCLのフリップフロップがインスタンス化(実体化)されていない。そして、仮想0ビットフリップフロップセルVDFF0のモジュールは、4ビットの入力と出力を持っている。いま、図3(a)の仮想0ビットフリップフロップセルVDFF0は、0ビットであるので、全ての入力ポートが入力浮きとなっており、全ての出力が「0」(グランド)に固定されている。   Specifically, the logic circuit information generation unit 33 generates, for example, a virtual 0-bit flip-flop cell VDFF0 as shown in FIG. 3A, and circuit information (NETLIST) of the virtual 0-bit flip-flop cell VDFF0 at this time Is as shown in FIG. In the virtual 0-bit flip-flop cell VDFF0 shown in FIG. 3A, the flip-flop of the cell library CL is not instantiated (materialized) inside the module. The virtual 0-bit flip-flop cell VDFF0 module has a 4-bit input and output. Since the virtual 0-bit flip-flop cell VDFF0 in FIG. 3A has 0 bits, all input ports are floating and all outputs are fixed at “0” (ground).

また、論理回路情報生成部33は、図4(a)に示したような仮想1ビットフリップフロップセルVDFF1を生成し、このときの仮想2ビットフリップフロップVDFF1の回路情報(NETLIST)は、図4(b)のようになる。図4(a)に示す仮想1ビットフリップフロップセルVDFF1は、モジュール内部に、セルライブラリCLの1ビットフリップフロップDFFがインスタンス化されているが、仮想1ビットフリップフロップセルVDFF1のモジュールは、4ビットの入力と出力を持っている。いま、図4(a)の仮想1ビットフリップフロップセルVDFF1は、1ビットであるので、使用していない入力ポートが入力浮きとなっており、使用していない出力が「0」(グランド)に固定されている。   Further, the logic circuit information generation unit 33 generates a virtual 1-bit flip-flop cell VDFF1 as shown in FIG. 4A, and the circuit information (NETLIST) of the virtual 2-bit flip-flop VDFF1 at this time is shown in FIG. It becomes like b). In the virtual 1-bit flip-flop cell VDFF1 shown in FIG. 4A, the 1-bit flip-flop DFF of the cell library CL is instantiated inside the module, but the virtual 1-bit flip-flop cell VDFF1 has a 4-bit input. And have an output. Since the virtual 1-bit flip-flop cell VDFF1 in FIG. 4A is 1 bit, the unused input port is floating, and the unused output is fixed at “0” (ground). Has been.

さらに、論理回路情報生成部33は、図5(a)に示したような仮想2ビットフリップフロップセルVDFF2を生成し、このときの仮想2ビットフリップフロップVDFF2の回路情報(NETLIST)は、図5(b)のようになる。図5(a)に示す仮想2ビットフリップフロップセルVDFF2は、モジュール内部に、セルライブラリCLの2ビットフリップフロップDFF2がインスタンス化されているが、仮想2ビットフリップフロップセルVDFF1のモジュールは、4ビットの入力と出力を持っている。いま、図5(a)の仮想2ビットフリップフロップセルVDFF2は、2ビットであるので、使用していない入力ポートが入力浮きとなっており、使用していない出力が「0」(グランド)に固定されている。   Further, the logic circuit information generation unit 33 generates the virtual 2-bit flip-flop cell VDFF2 as shown in FIG. 5A, and the circuit information (NETLIST) of the virtual 2-bit flip-flop VDFF2 at this time is shown in FIG. It becomes like b). In the virtual 2-bit flip-flop cell VDFF2 shown in FIG. 5A, the 2-bit flip-flop DFF2 of the cell library CL is instantiated inside the module, but the virtual 2-bit flip-flop cell VDFF1 has a 4-bit input. And have an output. Since the virtual 2-bit flip-flop cell VDFF2 in FIG. 5A is 2 bits, the unused input port is floating, and the unused output is fixed at “0” (ground). Has been.

また、論理回路情報生成部33は、図6(a)に示したような仮想4ビットフリップフロップセルVDFF4を生成し、このときの仮想4ビットフリップフロップVDFF4の回路情報(NETLIST)は、図5(b)のようになる。図6(a)に示す仮想4ビットフリップフロップセルVDFF4は、モジュール内部に、セルライブラリCLの4ビットフリップフロップDFF4がインスタンス化されており、仮想4ビットフリップフロップDFF4のモジュールは、4ビットの入力と出力を持っている。いま、図6(a)の仮想4ビットフリップフロップセルVDFF4は、4ビットであるので、入力浮きとなっている入力ポートはなく、「0」に固定されている出力がない。   The logic circuit information generation unit 33 generates a virtual 4-bit flip-flop cell VDFF4 as shown in FIG. 6A, and the circuit information (NETLIST) of the virtual 4-bit flip-flop VDFF4 at this time is shown in FIG. It becomes like b). In the virtual 4-bit flip-flop cell VDFF4 shown in FIG. 6A, the 4-bit flip-flop DFF4 of the cell library CL is instantiated inside the module, and the virtual 4-bit flip-flop DFF4 module has a 4-bit input. Have output. Now, since the virtual 4-bit flip-flop cell VDFF4 of FIG. 6A is 4 bits, there is no input port floating and there is no output fixed to “0”.

そして、上記仮想フリップフロップセルVDFF0、VDFF1、VDFF2、VDFF4は、ポート使用情報を持っており、仮想0ビットフリップフロップセルVDFF0では、デフォルトポート使用情報は、D[0]、D[1]、D[2]、D[3]ポートの全てが使用されていない。また、仮想1ビットフリップフロップセルVDFF1では、デフォルトポート使用情報は、D[0]ポートが使用されており、他のポートは使用されていない。また、仮想2ビットフリップフロップセルVDFF2では、デフォルトポート使用情報は、D[0]、D[1]ポートが使用されており、他のポートは使用されていない。さらに、仮想4ビットフリップフロップセルVDFF4では、デフォルトポート使用情報は、D[0]、D[1]、D[2]、D[3]の全てのポートが使用されている。   The virtual flip-flop cells VDFF0, VDFF1, VDFF2, and VDFF4 have port usage information. In the virtual 0-bit flip-flop cell VDFF0, the default port usage information is D [0], D [1], D [2 ], All D [3] ports are not used. In the virtual 1-bit flip-flop cell VDFF1, the D [0] port is used as default port usage information, and other ports are not used. In the virtual 2-bit flip-flop cell VDFF2, the default port usage information uses the D [0] and D [1] ports and does not use other ports. Further, in the virtual 4-bit flip-flop cell VDFF4, the default port usage information uses all ports D [0], D [1], D [2], and D [3].

論理回路情報生成部33は、上述のようにして生成した仮想フリップフロップセルVDFF0、VDFF1、VDFF2、VDFF4を、不揮発性メモリ5等に一旦格納する。   The logic circuit information generation unit 33 temporarily stores the virtual flip-flop cells VDFF0, VDFF1, VDFF2, and VDFF4 generated as described above in the nonvolatile memory 5 or the like.

なお、論理回路情報生成部33は、例えば、上記図9に示した回路情報(HDL)に対して、1ビットフリップフロップセルDFFを使用して、論理合成を実施し、図10に示すような回路情報(NETLIST)を生成する。なお、図10の回路情報(NETLIST)では、図2の回路情報(HDL)の7行目〜9行目の手続き代入文を1ビットフリップフロップの 「DFF」にマッピングし、11行目の継続代入文を1ビットバッファセルである「BUF」にマッピングしている。「DFF」、「BUF」は1ビットライブラリセルであるので、4ビットの代入を実現するために、図10の回路情報(NETLIST)では、DFFセルとBUFセルをそれぞれ4つ使用している。   Note that the logic circuit information generation unit 33 performs logic synthesis on the circuit information (HDL) shown in FIG. 9 using the 1-bit flip-flop cell DFF, for example, as shown in FIG. Generate information (NETLIST). In the circuit information (NETLIST) in FIG. 10, the procedure assignment statements in the seventh to ninth lines of the circuit information (HDL) in FIG. 2 are mapped to “DFF” of the 1-bit flip-flop, and the continuation in the eleventh line. The assignment statement is mapped to “BUF” which is a 1-bit buffer cell. Since “DFF” and “BUF” are 1-bit library cells, the circuit information (NETLIST) in FIG. 10 uses four DFF cells and four BUF cells in order to realize 4-bit substitution.

また、論理回路情報生成部33は、図9に示した回路情報(HDL)から図11に示すように、多ビットフリップフロップ(4ビットフリップフロップDFF4)を使用した回路情報(NETLIST)を生成する。本実施例の半導体集積回路設計支援装置1は、さらなる多ビット化については、後述する多ビット化配置配線部34が、実際に配置配線を行って、その結果を検証した後に、多ビット化を行う。図11では、図9の回路情報(HDL)の7〜9行目の手続き代入文を4ビットフリップフロップの 「DFF4」にマッピングし、11行目の継続代入文を1ビットバッファセルである「BUF」にマッピングしている。「DFF4」は4ビットの手続き代入を1つのセルで実現できるため、「DFF4」を1つ、「BUF」を4つ使用している。   Further, the logic circuit information generation unit 33 generates circuit information (NETLIST) using a multi-bit flip-flop (4-bit flip-flop DFF4) as shown in FIG. 11 from the circuit information (HDL) shown in FIG. . In the semiconductor integrated circuit design support device 1 of the present embodiment, for further multi-biting, the multi-bit placement / wiring unit 34 (to be described later) actually performs placement / wiring, and after verifying the result, the multi-bit placement is performed. Do. In FIG. 11, the procedure assignment statement in the 7th to 9th lines of the circuit information (HDL) in FIG. 9 is mapped to “DFF4” of the 4-bit flip-flop, and the continuation assignment statement in the 11th line is a 1-bit buffer cell. Mapping to "BUF". Since “DFF4” can implement 4-bit procedure substitution in one cell, one “DFF4” and four “BUF” are used.

多ビット化配置配線部34は、CPU2及びRAM4等により構築されている。多ビット化配置配線部34は、論理回路情報である回路情報(NETLIST)の配置配線情報に基づいて、セルの配置とセルに対する配線を実施する。また、多ビット化配置配線部34は、実施した配置配線の実施結果に基づいて、セルライブラリ記憶部32のライブラリ情報を参照して回路情報(NETLIST)の少ビットセル(少ビットフリップフロップ)を多ビットセル(多ビットフリップフロップ)へ多ビット化する。したがって、多ビット化配置配線部34は、多ビット化配置配線手段として機能している。   The multi-bit arrangement / wiring unit 34 is constructed by the CPU 2, the RAM 4, and the like. The multi-bit arrangement and wiring unit 34 performs cell arrangement and wiring to the cell based on the arrangement and wiring information of the circuit information (NETLIST) that is the logic circuit information. Further, the multi-bit placement and routing unit 34 refers to the library information in the cell library storage unit 32 based on the result of the placement and routing that has been performed, and increases the number of small bit cells (small bit flip-flops) in the circuit information (NETLIST). The number of bits is changed to a bit cell (multi-bit flip-flop). Therefore, the multi-bit arrangement / wiring unit 34 functions as multi-bit arrangement / wiring means.

例えば、多ビット化配置配線部34は、図10に示した回路情報(NETLIST)の配置配線情報に基づいて、配線を実施して図12に示すような回路図を生成する。図12は、図10に示したように、「DFF」、「BUF」は1ビットライブラリセルであるので、4つのDFFセルとBUFセルを使用した回路図となっている。   For example, the multi-bit placement and routing unit 34 performs wiring based on the placement and routing information of the circuit information (NETLIST) shown in FIG. 10 and generates a circuit diagram as shown in FIG. FIG. 12 is a circuit diagram using four DFF cells and BUF cells since “DFF” and “BUF” are 1-bit library cells as shown in FIG.

また、多ビット化配置配線部34は、図13に示すように、多ビット化されたフリップフロップ、例えば、図11に示した4ビットフリップフロップDFF4を使用した回路情報(NETLIST)に基づいて、配置配線も行う。図13は、図11に示したように、「DFF4」は4ビット、「BUF」は1ビットライブラリセルであるので、1つのDFFセル(DFF4)と4つのBUFセルを使用した回路図となっている。   Further, as shown in FIG. 13, the multi-bit arrangement / wiring unit 34 is based on circuit information (NETLIST) using a multi-bit flip-flop, for example, the 4-bit flip-flop DFF4 shown in FIG. Place and route. FIG. 13 is a circuit diagram using one DFF cell (DFF4) and four BUF cells because “DFF4” is a 4-bit library cell and “BUF” is a 1-bit library cell as shown in FIG. ing.

そして、後述するが、多ビット化配置配線部34は、この多ビット化においては、多ビットフリップフロップにおけるセルの配置情報に基づいて、該多ビットフリップフロップとの接続を変更し、配置を決定した後に該多ビットフリップフロップの段数を決定する。   As will be described later, the multi-bit arrangement / wiring unit 34 determines the arrangement by changing the connection with the multi-bit flip-flop based on the cell arrangement information in the multi-bit flip-flop. After that, the number of stages of the multi-bit flip-flop is determined.

また、多ビット化配置配線部34は、論理回路情報生成部33が、論理回路情報である回路情報(NETLIST)として回路情報(HDL)の仮想フリップフロップライブラリを生成すると、該仮想フリップフロップライブラリのフリップフロップを多ビット化する。   In addition, when the logic circuit information generation unit 33 generates a virtual flip-flop library of circuit information (HDL) as circuit information (NETLIST) that is logic circuit information, the multi-bit placement and routing unit 34 generates a virtual flip-flop library. Increase the number of flip-flops.

さらに、多ビット化配置配線部34は、フリップフロップの所定周辺範囲のセルの有無を配置情報から探索する図示しない探索部(探索手段)を備えていてもよい。この場合、多ビット化配置配線部34は、該探索部の探索結果に基づいて、フリップフロップの多ビット化の適否を判定して、多ビット化を行う。この探索部及び探索に基づく多ビット化については、後で説明する。   Further, the multi-bit arrangement / wiring unit 34 may include a search unit (search means) (not shown) that searches the arrangement information for the presence / absence of cells in a predetermined peripheral range of the flip-flop. In this case, the multi-bit placement and routing unit 34 determines whether or not the flip-flop is multi-bit based on the search result of the search unit and multi-bits. This search unit and multi-biting based on the search will be described later.

次に、本実施例の作用を説明する。本実施例の半導体集積回路設計支援装置1は、半導体集積回路の設計において最適なビット数の多ビットセルを効率的に選択する。   Next, the operation of this embodiment will be described. The semiconductor integrated circuit design support apparatus 1 of the present embodiment efficiently selects a multi-bit cell having an optimum number of bits in designing a semiconductor integrated circuit.

半導体集積回路設計支援装置1は、回路仕様が入力されると、回路設計部31が、例えば、図9に示したような回路情報(HDL)を生成する。次に、半導体集積回路設計支援装置1は、論理回路情報生成部33が、セルライブラリ記憶部32を参照して、図10に示したような回路情報(NETLIST)を生成する。このとき、多ビット化配置配線部34は、一般的には、図12に示した1ビットフリップフロップを用いた回路を構築することとなる。   In the semiconductor integrated circuit design support device 1, when a circuit specification is input, the circuit design unit 31 generates circuit information (HDL) as shown in FIG. 9, for example. Next, in the semiconductor integrated circuit design support device 1, the logic circuit information generation unit 33 refers to the cell library storage unit 32 to generate circuit information (NETLIST) as shown in FIG. 10. At this time, the multi-bit placement and routing unit 34 generally constructs a circuit using the 1-bit flip-flop shown in FIG.

この図10に示す回路情報(NETLIST)では、回路全体の大きさが、(DFFの大きさ×4)+(BUFの大きさ×4)であり、「20」となる。また、図10に示す回路情報(NETLIST)では、回路全体の消費電力値が、(DFFの消費電力値×4)+(BUFの消費電力値×4)であり、「48」となる。   In the circuit information (NETLIST) shown in FIG. 10, the size of the entire circuit is (DFF size × 4) + (BUF size × 4), which is “20”. In the circuit information (NETLIST) shown in FIG. 10, the power consumption value of the entire circuit is (DFF power consumption value × 4) + (BUF power consumption value × 4), which is “48”.

一方、論理合成の結果、図11に示した多ビットフリップフロップを用いた回路情報(NETLIST)が得られた場合、回路全体の大きさは、(DFF4の大きさ×1)+(BUFの大きさ×4)であり、「18」となる。また、この場合の回路全体の消費電力値は、(DFF4の消費電力値×1)+(BUFの消費電力値×4)であり、「38」となる。   On the other hand, when circuit information (NETLIST) using the multi-bit flip-flop shown in FIG. 11 is obtained as a result of logic synthesis, the size of the entire circuit is (DFF4 size × 1) + (BUF size) X4), which is “18”. In this case, the power consumption value of the entire circuit is (DFF4 power consumption value × 1) + (BUF power consumption value × 4), which is “38”.

すなわち、上記例の場合、セルライブラリを用いた結果の回路情報(NETLIST)が、論理的に等価であっても、1ビットの「DFF」を4つ用いる図10の回路より、4ビットの「DFF4」を1つ用いるほうが、回路全体の大きさ及び消費電力値が小さくなる。したがって、一般的には、多ビットフリップフロップのライブラリセルを用いるほうが、省面積であり、低消費電力となる。   That is, in the case of the above example, even if the circuit information (NETLIST) obtained as a result of using the cell library is logically equivalent, a 4-bit “DFF” is obtained from the circuit of FIG. Using one “DFF4” reduces the overall circuit size and power consumption. Therefore, in general, using a multi-bit flip-flop library cell saves area and consumes less power.

ところが、半導体集積回路の設計においては、配線混雑度を考慮する必要がある。   However, in designing a semiconductor integrated circuit, it is necessary to consider the degree of wiring congestion.

例えば、図10に示したような1ビットフリップフロップDFFを用いた回路情報(NETLIST)を用いて、多ビット化配置配線部34が回路の配置配線を行う場合、図12に示したように、一般的には、データラインの配線がもっとも短くなるようにライブラリセルの配置を行う。すなわち、図14(a)に示すようなセル配置となる。この場合、多ビット化配置配線部34は、入力ポート(IN[0]〜IN[3]及びCLK)や出力ポート(OUT[0]〜OUT[3])が、半導体集積回路の形状や半導体集積回路が設置されるボードの制約によって位置が固定されるため、「DFF」と「BUF」のライブラリセルの配置位置を調整してデータラインの配線が最も短くなるように配置を行う。すなわち、「DFF」や「BUF」は、1ビットのセルライブラリであるため、自由度が高く、最も理想的な位置に配置することができる。   For example, in the case where the multi-bit layout and wiring unit 34 performs circuit layout and wiring using the circuit information (NETLIST) using the 1-bit flip-flop DFF as illustrated in FIG. 10, as illustrated in FIG. In general, library cells are arranged so that the wiring of the data line is the shortest. That is, the cell arrangement as shown in FIG. In this case, the multi-bit arrangement / wiring unit 34 has an input port (IN [0] to IN [3] and CLK) and an output port (OUT [0] to OUT [3]) that are in the shape of a semiconductor integrated circuit or a semiconductor. Since the position is fixed by the restriction of the board on which the integrated circuit is installed, the arrangement positions of the library cells of “DFF” and “BUF” are adjusted so that the wiring of the data line becomes the shortest. That is, since “DFF” and “BUF” are 1-bit cell libraries, they have a high degree of freedom and can be arranged at the most ideal positions.

いま、図14(a)において、配置された「DFF」を中心とする一定範囲を示す破線の丸と交差する配線の数は、クロック、入力データ信号、出力データ信号の3つだけである。   In FIG. 14A, the number of wirings intersecting with a broken-line circle indicating a certain range centered on “DFF” arranged is only three: a clock, an input data signal, and an output data signal.

したがって、図14(b)に示すように、回路の配置が理想的に行われた結果、配線0のように、最短での配線が可能となり、他の配線との間隔も余裕を持たせることができる。   Therefore, as shown in FIG. 14B, as a result of the ideal circuit arrangement, the shortest possible wiring is possible, as is the case with the wiring 0, and there is a margin between other wirings. Can do.

ところが、いま、図11に示したような4ビットフリップフロップDFF4を用いた回路情報(NETLIST)を用いて、多ビット化配置配線部34が回路の配置を行って、図15(a)に示すような配置が行われたものとする。   However, using the circuit information (NETLIST) using the 4-bit flip-flop DFF4 as shown in FIG. 11, the multi-bit arrangement / wiring unit 34 arranges the circuit, and the circuit information is shown in FIG. 15 (a). It is assumed that such an arrangement has been made.

図15(a)では、1つの「DFF4」が4ビットフリップフロップのセルライブラリであるため、配線が最短となるためには、「DFF4」は、中央あたりに配置される。「BUF」セルライブラリは、図14と同様に自由度が高い配置となる。   In FIG. 15A, since one “DFF4” is a cell library of 4-bit flip-flops, “DFF4” is arranged around the center in order to have the shortest wiring. The “BUF” cell library has a high degree of freedom as in FIG.

図15(a)において、配置された「DFF4」を中心とする一定範囲を示す破線の丸と交差する配線の数は、クロック、入力データ信号×4、出力データ信号×4の9本となる。したがって、「DFF」が4つ配置された図14の回路と比較すると、配線が集中しており、配線混雑が起こる可能性が高いことが分かる。   In FIG. 15A, the number of wirings intersecting with a broken-line circle indicating a certain range centered on “DFF4” is 9 clocks, input data signals × 4, and output data signals × 4. . Therefore, as compared with the circuit of FIG. 14 in which four “DFFs” are arranged, it can be seen that wiring is concentrated and wiring congestion is likely to occur.

図15(b)において、配線2は、最短での配線が可能であるが、配線0´は、図14(b)の配線0と比較すると配線長が長くなっている。また、図15の回路では、IN[0]〜IN[3]からの配線が、全て「DFF4」ライブラリセルへ接続するため、「DFF4」の周囲の配線が密になっている。   In FIG. 15B, the wiring 2 can be the shortest wiring, but the wiring 0 ′ has a longer wiring length than the wiring 0 of FIG. 14B. Further, in the circuit of FIG. 15, since all the wirings from IN [0] to IN [3] are connected to the “DFF4” library cell, the wirings around “DFF4” are dense.

すなわち、4ビットフリップフロップDFF4のライブラリセルを用いると、サイズや消費電力が小さくなるというメリットはあるが、配線長が長くなること、4ビットフリップフロップライブラリセルの周囲の配線が密になること等によって、他の配線の状況によっては配線混雑が発生するおそれがある。   In other words, the use of a 4-bit flip-flop DFF4 library cell has the advantage of reducing the size and power consumption, but the wiring length becomes longer, the wiring around the 4-bit flip-flop library cell becomes dense, etc. Depending on the situation of other wiring, wiring congestion may occur.

また、半導体集積回路によって、入出力の位置が異なることがあり、このような場合、入出力の位置によって、フリップフロップの配置が異なる。   Further, the input / output positions may differ depending on the semiconductor integrated circuit. In such a case, the arrangement of the flip-flops differs depending on the input / output positions.

例えば、図16は、比較的入出力の位置が離れている場合の4つの1ビットフリップフロップDFFの配置と配線を示した図である。図16において、1ビットフリップフロップDFFの配置は、それぞれのビット毎に入力(IN[*])から出力(OUT[*])の配線が最短となる位置に配置されるため、他のフリップフロップDFFとの距離も一定の距離をもって配置される。   For example, FIG. 16 shows the arrangement and wiring of four 1-bit flip-flops DFF when the input / output positions are relatively far apart. In FIG. 16, the 1-bit flip-flop DFF is arranged at the position where the wiring from the input (IN [*]) to the output (OUT [*]) is the shortest for each bit. The distance from the DFF is also set at a certain distance.

したがって、DFFセルの周囲の配線も分散しており、図16に破線の丸と交差する配線は、DFFの制御信号(CLK)とデータ入力、出力の3本である。   Therefore, the wiring around the DFF cell is also distributed, and the wiring crossing the broken-line circle in FIG. 16 is the DFF control signal (CLK), data input, and output.

一方、同じ比較的入出力位置が離れている半導体集積回路であっても、1つの4ビットフリップフロップDFF4を配置した場合には、図17に示すようになる。すなわち、図17に示すように、全ての入力から1つの4ビットフリップフロップDFF4への接続があるため、4ビットフリップフロップDFF4がどこに配置されても、ビット間の配線長は大きく異なる。図17では、IN[0]から「DFF4」までの配線とIN[2]から「DFF4」までの配線長には大きく差があり、出力側においても、同様に配線長に差が生じる。さらに、図17に示すように、配線は、4ビットフリップフロップDFF4のセルに集中しており、破線の丸と交差する配線は、4ビットフリップフロップDFF4の制御信号(CLK)とデータ入力×4、出力×4の計9本となる。   On the other hand, even in the case of a semiconductor integrated circuit having the same relatively distant input / output position, when one 4-bit flip-flop DFF4 is arranged, the result is as shown in FIG. That is, as shown in FIG. 17, since there is a connection from all inputs to one 4-bit flip-flop DFF4, the wiring length between bits is greatly different wherever the 4-bit flip-flop DFF4 is arranged. In FIG. 17, there is a large difference between the wiring length from IN [0] to “DFF4” and the wiring length from IN [2] to “DFF4”, and the wiring length is similarly different on the output side. Further, as shown in FIG. 17, the wiring is concentrated on the cells of the 4-bit flip-flop DFF4, and the wiring crossing the broken-line circle is the control signal (CLK) and data input × 4 of the 4-bit flip-flop DFF4. , Output × 4, 9 in total.

したがって、図17の配置配線状況は、図16の配置配線状況と比較すると、総配線長が長くなり、「DFF4」周辺の配線が密となるため、配線混雑が起きる可能性が高くなる。   Accordingly, in the arrangement and wiring situation of FIG. 17, the total wiring length becomes longer and the wiring around “DFF4” becomes denser than the arrangement and wiring situation of FIG.

次に、図18は、入出力の位置が相互に比較的近いときの1ビットフリップフロップDFFの配置と配線を示した図である。図18の場合、入出力の位置が非常に近いと、1ビットフリップフロップDFFの配置は、それぞれのビット毎に入力(IN[*])から出力(OUT[*])の配線が最短となる位置に配置されるため、1ビットフリップフロップDFFの配置も非常に近い位置に配置される。したがって、図18に示すように、破線の丸と交差する配線は、近くに配置された4つの「DFF」の周囲の配線である、制御信号CLKと4つの1ビットフリップフロップDFFのデータの入出力で計9本となる。   Next, FIG. 18 is a diagram showing the arrangement and wiring of the 1-bit flip-flop DFF when the input / output positions are relatively close to each other. In the case of FIG. 18, when the input / output positions are very close, the arrangement of the 1-bit flip-flop DFF has the shortest wiring from the input (IN [*]) to the output (OUT [*]) for each bit. Therefore, the 1-bit flip-flop DFF is also arranged at a very close position. Therefore, as shown in FIG. 18, the wiring intersecting with the broken-line circle is the wiring around the four “DFFs” arranged nearby, and the input of the control signal CLK and the data of the four 1-bit flip-flops DFF. The output is 9 in total.

また、図19は、入出力の位置が相互に比較的近いときの4ビットフリップフロップDFF4の配置と配線を示した図である。図19の場合、入出力の位置が非常に近いと、4ビットフリップフロップDFF4の配置は、それぞれのビット毎に入力(IN[*])から出力(OUT[*])の配線が最短となる位置に配置される。したがって、図19に示すように、4ビットフリップフロップDFF4の周囲の配線は、制御信号CLKと4本のデータの入力、4本の出力で計9本となる。   FIG. 19 is a diagram showing the arrangement and wiring of the 4-bit flip-flop DFF4 when the input / output positions are relatively close to each other. In the case of FIG. 19, when the input / output positions are very close, the arrangement of the 4-bit flip-flop DFF4 has the shortest wiring from the input (IN [*]) to the output (OUT [*]) for each bit. Placed in position. Accordingly, as shown in FIG. 19, the number of wirings around the 4-bit flip-flop DFF4 is nine in total with the input of the control signal CLK and four data and the four outputs.

すなわち、入出力の位置が非常に近い場合は、1ビットフリップフロップDFFを配置したときと比較して、配線長は若干増加する可能性があるが、セルの周囲の配線数は変わらない。したがって、4つの1ビットフリップフロップDFFを、4ビットフリップフロップDFF4に変更しても、配線混雑へ与える影響は極めて少ない。その結果、入出力の位置が非常に近いときには、4つの1ビットフリップフロップDFFを、4ビットフリップフロップ化することは、配線混雑へ与えるリスクは同じで、省面積、省電力化が実現できる。   That is, when the input / output positions are very close, the wiring length may slightly increase as compared with the case where the 1-bit flip-flop DFF is arranged, but the number of wirings around the cell does not change. Therefore, even if the four 1-bit flip-flops DFF are changed to the 4-bit flip-flops DFF4, the influence on the wiring congestion is extremely small. As a result, when the input / output positions are very close, converting four 1-bit flip-flops DFF to 4-bit flip-flops has the same risk of wiring congestion, and can realize area saving and power saving.

このように、配線混雑へ与える影響(周囲の配線数)が、1ビットフリップフロップとほぼ同じであれば、多ビット化することで消費電力にとって有利な半導体集積回路の設計を実現することができる。また、図16〜19に示したように、多ビット化は、配置を行ってみないと、効果があるか否かを、正確に判断できない。   As described above, if the influence on the wiring congestion (the number of surrounding wiring lines) is almost the same as that of the 1-bit flip-flop, the design of a semiconductor integrated circuit advantageous for power consumption can be realized by increasing the number of bits. . Also, as shown in FIGS. 16 to 19, it cannot be accurately determined whether or not multi-biting is effective unless arrangement is performed.

そこで、本実施例の半導体集積回路設計支援装置1は、回路設計部31で生成した回路情報(HDL)に基づいて、論理回路情報生成部33が、セルライブラリ記憶部32のセルライブラリCLを用いて回路情報(NETLIST)を生成する。そして、多ビット化配置配線部34が回路情報(NETLIST)に基づいて、実際に半導体集積回路を構築し、この半導体集積回路のフリップフロップを多ビット化して評価することで、多ビット化を行うか否か判断する。すなわち、半導体集積回路設計支援装置1は、フリップフロップの多ビット化において、多ビット化配置配線部34が、多ビットフリップフロップにおけるセルの配置情報に基づいて、該多ビットフリップフロップとの接続を変更し、配置を決定した後に該多ビットフリップフロップの段数を決定する。   Therefore, in the semiconductor integrated circuit design support apparatus 1 of this embodiment, the logic circuit information generation unit 33 uses the cell library CL of the cell library storage unit 32 based on the circuit information (HDL) generated by the circuit design unit 31. Circuit information (NETLIST). Then, the multi-bit placement and routing unit 34 actually constructs a semiconductor integrated circuit based on the circuit information (NETLIST), and multi-bits by performing multi-bit evaluation of the flip-flop of this semiconductor integrated circuit. Determine whether or not. That is, in the semiconductor integrated circuit design support device 1, in the multi-bit flip-flop, the multi-bit layout / wiring unit 34 connects to the multi-bit flip-flop based on the cell layout information in the multi-bit flip-flop. After changing and determining the arrangement, the number of stages of the multi-bit flip-flop is determined.

また、多ビット化配置配線部34は、フリップフロップの配線数に基づいて、該フリップフロップを多ビット化する。   Further, the multi-bit arrangement / wiring unit 34 multi-bits the flip-flop based on the number of wirings of the flip-flop.

さらに、半導体集積回路設計支援装置1は、論理回路情報生成部33が、論理回路情報である回路情報(NETLIST)として、仮想フリップフロップライブラリを生成し、多ビット化配置配線部34が、該仮想フリップフロップライブラリのフリップフロップを多ビット化する。   Furthermore, in the semiconductor integrated circuit design support device 1, the logic circuit information generation unit 33 generates a virtual flip-flop library as circuit information (NETLIST) which is logic circuit information, and the multi-bit arrangement and wiring unit 34 The number of flip-flops in the flip-flop library is increased.

また、多ビット化配置配線部34は、フリップフロップの所定周辺範囲のセルの有無を配置情報から探索する探索部を備え、この探索部の探索結果に基づいて、フリップフロップの多ビット化の適否を判定して、多ビット化を行う。   The multi-bit arrangement / wiring unit 34 includes a search unit that searches the arrangement information for the presence / absence of cells in a predetermined peripheral range of the flip-flop. Based on the search result of the search unit, whether or not the multi-bit arrangement of the flip-flop is appropriate To determine the number of bits.

そこで、本実施例の半導体集積回路設計支援装置1は、図20に示すように、CPU2が、ROM3の半導体集積回路設計支援方法を実行するプログラムに基づいて、半導体集積回路設計支援処理を実行する。   Therefore, in the semiconductor integrated circuit design support apparatus 1 of this embodiment, as shown in FIG. 20, the CPU 2 executes the semiconductor integrated circuit design support processing based on the program for executing the semiconductor integrated circuit design support method in the ROM 3. .

すなわち、半導体集積回路設計支援装置1は、回路設計部31に、設計対象の回路仕様が入力されると、回路設計部31が回路情報(HDL)を生成する(ステップS101)。   That is, in the semiconductor integrated circuit design support apparatus 1, when the circuit specification to be designed is input to the circuit design unit 31, the circuit design unit 31 generates circuit information (HDL) (step S101).

次に、論理回路情報生成部33が、回路設計部31の生成した回路情報(HDL)とセルライブラリ記憶部32のセルライブラリCLを利用して回路情報(NETLIST)を生成する(ステップS102)。   Next, the logic circuit information generation unit 33 generates circuit information (NETLIST) using the circuit information (HDL) generated by the circuit design unit 31 and the cell library CL of the cell library storage unit 32 (step S102).

論理回路情報生成部33は、回路情報(NETLIST)として、回路情報(HDL)に応じて、例えば、図21(a)に示すような1ビットフリップフロップDFFを3つ備えた回路の回路情報(NETLIST)を生成する。また、論理回路情報生成部33は、は、回路情報(NETLIST)として、回路情報(HDL)に応じて、図22(a)に示すような1ビットフリップフロップDFFを4つ備えた回路の回路情報(NETLIST)を生成する。   The logic circuit information generation unit 33, as circuit information (NETLIST), corresponds to circuit information (HDL), for example, circuit information of a circuit including three 1-bit flip-flops DFF as shown in FIG. NETLIST). Further, the logic circuit information generation unit 33 is a circuit circuit including four 1-bit flip-flops DFF as shown in FIG. 22A according to the circuit information (HDL) as circuit information (NETLIST). Generate information (NETLIST).

さらに、論理回路情報生成部33は、回路情報(HDL)に応じて、例えば、図23(a)に示すような1ビットフリップフロップDFFを用いた回路情報(NETLIST)を生成する代わりに、図23(b)に示すような仮想1ビットフリップフロップVDFF1を用いた回路情報(NETLIST)を生成してもよい。すなわち、図23において、図23(a)の1ビットフリップフロップDFFを、仮想1ビットフリップフロップVDFFに置き換えたのが、図23(b)である。仮想1ビットフリップフロップVDFFは、内部に、1ビットフリップフロップDFFがインスタンス化されているため、置き換えの前後は、論理的に等価である。   Furthermore, the logic circuit information generation unit 33 generates a circuit information (NETLIST) using a 1-bit flip-flop DFF as shown in FIG. 23A in accordance with the circuit information (HDL), for example. Circuit information (NETLIST) using the virtual 1-bit flip-flop VDFF1 as shown in FIG. 23 (b) may be generated. That is, in FIG. 23, the 1-bit flip-flop DFF in FIG. 23A is replaced with the virtual 1-bit flip-flop VDFF in FIG. The virtual 1-bit flip-flop VDFF is logically equivalent before and after the replacement because the 1-bit flip-flop DFF is instantiated inside.

次に、半導体集積回路設計支援装置1は、多ビット化配置配線部34が、まず、論理回路情報回路情報(NETLIST)に基づいて、半導体集積回路を構成する配置配線処理を行う(ステップS103)。   Next, in the semiconductor integrated circuit design support device 1, the multi-bit arrangement and wiring unit 34 first performs an arrangement and wiring process for configuring the semiconductor integrated circuit based on the logic circuit information circuit information (NETLIST) (step S 103). .

多ビット化配置配線部34は、仮想1ビットフリップフロップVDFFを用いた場合、論理回路情報回路情報(NETLIST)に基づいて、例えば、図24、図25に示すような回路を構成する配置配線処理を行う。   When the virtual 1-bit flip-flop VDFF is used, the multi-bit arrangement / wiring unit 34 uses, for example, an arrangement / wiring process that configures circuits as shown in FIGS. 24 and 25 based on the logic circuit information circuit information (NETLIST). I do.

多ビット化配置配線部34は、配置配線を行うと、各セルの周囲所定範囲を探索して、他のセルが存在するか判定する(ステップS104)。多ビット化配置配線部34は、この他のセルの有無を、例えば、既知の配置配線ツールを使用して行う。   When the multi-bit placement and routing unit 34 performs placement and routing, the multi-bit placement and routing unit 34 searches for a predetermined range around each cell and determines whether another cell exists (step S104). The multi-bit arrangement / wiring unit 34 performs the presence / absence of other cells using, for example, a known arrangement / wiring tool.

多ビット化配置配線部34の探索する探索範囲は、例えば、図26に示すように、探索の基準となる仮想フリップフロップ(U_ff0)の中心からの距離(両矢印)である。この探索の距離を決定する最も単純な方法は、セルライブラリCLである。すなわち、セルライブラリCLに含まれるセルのサイズは、設計プロセスやライブラリベンダー毎に異なるため、多ビット化配置配線部34は、セルライブラリCL毎に探索範囲を適切な値に設定する。   The search range searched by the multi-bit arrangement and wiring unit 34 is, for example, a distance (double arrow) from the center of the virtual flip-flop (U_ff0) serving as a search reference, as shown in FIG. The simplest method for determining the search distance is the cell library CL. That is, since the size of the cell included in the cell library CL differs for each design process and library vendor, the multi-bit arrangement and routing unit 34 sets the search range to an appropriate value for each cell library CL.

また、多ビット化配置配線部34は、セルの配置密度によって探索範囲を変えてもよい。この場合、多ビット化配置配線部34は、セルの配置情報を元に、配置密度を算出する。すなわち、配置密度と配線混雑度には一般的に正の相関があることが分かっており、配置密度が高い状態は、配線混雑度として望ましい状態ではない。したがって、多ビット化することにより総エリア数が減少し、配置密度が低下すれば配線混雑に良い結果が得られることが推測されるため、探索範囲を広げることが有効となる。また、配置密度は、チップ全体に対して算出することも可能であるが、例えば、チップの縦と横をそれぞれ4分割して、16のエリアに分け、それぞれの配置密度を算出する等の方法で求めて、それぞれのエリアにより探索範囲を変えてもよい。すなわち、探索範囲を変化させることで、多ビット化を制御することができる。   Further, the multi-bit arrangement / wiring unit 34 may change the search range depending on the cell arrangement density. In this case, the multi-bit arrangement and wiring unit 34 calculates the arrangement density based on the cell arrangement information. That is, it is known that there is generally a positive correlation between the arrangement density and the wiring congestion degree, and a state where the arrangement density is high is not a desirable state as the wiring congestion degree. Therefore, since the total number of areas is reduced by increasing the number of bits, and it is estimated that a good result for wiring congestion can be obtained if the arrangement density is lowered, it is effective to widen the search range. Further, the arrangement density can be calculated for the entire chip. For example, a method in which the vertical and horizontal sides of the chip are divided into four parts, divided into 16 areas, and the respective arrangement densities are calculated. The search range may be changed according to each area. That is, the number of bits can be controlled by changing the search range.

そして、多ビット化配置配線部34は、上述のようにして、探索処理を行うが、図24の場合、探索範囲(図24に破線の丸で示す範囲)内に他の仮想フリップフロップが存在しない。   The multi-bit arrangement and wiring unit 34 performs the search process as described above. In the case of FIG. 24, there is another virtual flip-flop in the search range (the range indicated by the dashed circle in FIG. 24). do not do.

したがって、多ビット化配置配線部34は、図24の場合には、近くにセルがないと判断し(ステップS104で、NOのとき)、多ビット化を行うことなく、半導体集積回路設計支援処理を終了する。   Therefore, in the case of FIG. 24, the multi-bit layout / wiring unit 34 determines that there is no cell nearby (NO in step S104), and performs the semiconductor integrated circuit design support process without performing multi-bit conversion. Exit.

また、多ビット化配置配線部34は、上述のようにして、探索処理を行うが、図25の場合、まず、セルU_ff0を基準に破線の範囲の探索を行って、U_ff1が見つかり、U_ff1を基準に探索を行って、U_ff0が見つかる。そこで、多ビット化配置配線部34は、U_ff1とU_ff0を多ビット化対象とする。同様に、多ビット化配置配線部34は、U_ff2とU_ff3についても探索を行い、多ビット化対象とする。ところが、多ビット化配置配線部34は、U_ff1とU_ff2とは、探索では見つからず、U_ff1とU_ff2との関係においては、多ビット化の対象から外す。   Further, the multi-bit arrangement / wiring unit 34 performs the search process as described above. In the case of FIG. 25, first, the range of the broken line is searched based on the cell U_ff0, U_ff1 is found, and U_ff1 is determined. A search is performed on the basis, and U_ff0 is found. Therefore, the multi-bit arrangement / wiring unit 34 sets U_ff1 and U_ff0 as multi-bit conversion targets. Similarly, the multi-bit arrangement / wiring unit 34 searches for U_ff2 and U_ff3 and sets it as a multi-bit target. However, the multi-bit arrangement / wiring unit 34 cannot find U_ff1 and U_ff2 in the search, and excludes U_ff1 and U_ff2 from multi-bit conversion targets.

多ビット化配置配線部34は、探索で近くにセルがあることを見つけると(ステップS104で、YESのとき)、多ビット化処理を行う(ステップS105)。   If the multi-bit placement and routing unit 34 finds that there is a cell nearby in the search (YES in step S104), it performs multi-bit processing (step S105).

多ビット化配置配線部34は、この多ビット化処理においては、上記探索結果から多ビット対象のセルを決定し、基準となるセルを決定して、基準セルに対して他のセルを、基準セルへ組み合わせて多ビット化する。   In this multi-bit processing, the multi-bit arrangement / wiring unit 34 determines a multi-bit target cell from the search result, determines a reference cell, and sets other cells as reference cells. Combined with cells, multi-bit.

例えば、多ビット化配置配線部34は、図25の場合、図27(a)、(b)に示すように、多ビット化する。すなわち、図25の場合、U_ff0とU_ff1、U_ff2とU_ff3が多ビット化対象である。そこで、多ビット化配置配線部34は、配置情報等からU_ff0とU_ff1のどちらかを多ビット化の基準セルとする。多ビット化配置配線部34は、基準セルを決める方法として、例えば、周囲の配置密度や配線密度等の情報から決定する。一般的に、1ビットフリップフロップセルと比べて2ビットフリップフロップはセルサイズが大きいため、配置密度や配線密度が低いほうを基準セルとして選択する。多ビット化配置配線部34は、いま、図27に示すように、U_ff0、U_ff2を基準セルとする。   For example, in the case of FIG. 25, the multi-bit arrangement / wiring unit 34 multi-bits as shown in FIGS. 27 (a) and 27 (b). That is, in the case of FIG. 25, U_ff0 and U_ff1, U_ff2 and U_ff3 are multi-bit conversion targets. Therefore, the multi-bit arrangement / wiring unit 34 uses either U_ff0 or U_ff1 as the multi-bit reference cell from the arrangement information. The multi-bit arrangement / wiring unit 34 determines the reference cell from information such as surrounding arrangement density and wiring density, for example. Generally, since a 2-bit flip-flop has a larger cell size than a 1-bit flip-flop cell, the one having a lower arrangement density or wiring density is selected as a reference cell. As shown in FIG. 27, the multi-bit arrangement / wiring unit 34 uses U_ff0 and U_ff2 as reference cells.

次に、多ビット化配置配線部34は、選択した2つのフリップフロップが多ビット化が可能であるかを確認する。多ビット化が可能となる条件は、上述のように、制御信号が同じであることである。図27では、U_ff0、U_ff1がともに、リセットなし、イネーブルなし、クロックは同一信号「CLK」での接続であるため、多ビット化が可能である。   Next, the multi-bit arrangement / wiring unit 34 checks whether the two selected flip-flops can be multi-bit. The condition that enables multi-biting is that the control signals are the same as described above. In FIG. 27, both U_ff0 and U_ff1 have no reset, no enable, and the clock is connected with the same signal “CLK”, so that multiple bits are possible.

そこで、多ビット化配置配線部34は、基準セルであるU_ff0へU_ff1のデータ信号を繋ぎ変える。具体的には、多ビット化配置配線部34は、U_ff1のD0ポートに接続されている信号IN[1]を、U_ff0のD1ポートへ接続し、U_ff1のQ0ポートに接続されている信号n[1]を、U_ff0のQ1ポートに接続する。このとき、多ビット化配置配線部34は、図27(a)に示すように、U_ff0のポート使用情報にD1ポートが使用されたという情報を付与し、U_ff1のポート使用情報に、D0ポートが使用されなくなったという情報を付与する。図27の(a)のように回路情報(NETLIST)を変更して、配線接続を変更すると、図27(b)に示す接続になる。   Therefore, the multi-bit arrangement and wiring unit 34 changes the data signal of U_ff1 to U_ff0 which is the reference cell. Specifically, the multi-bit placement and routing unit 34 connects the signal IN [1] connected to the D0 port of U_ff1 to the D1 port of U_ff0 and the signal n [connected to the Q0 port of U_ff1. 1] is connected to the Q1 port of U_ff0. At this time, as shown in FIG. 27A, the multi-bit placement and routing unit 34 gives information that the D1 port is used to the port usage information of U_ff0, and the D0 port is added to the port usage information of U_ff1. Give information that it is no longer used. When the circuit information (NETLIST) is changed as shown in FIG. 27A to change the wiring connection, the connection shown in FIG. 27B is obtained.

次に、多ビット化配置配線部34は、セルの変更を行う。すなわち、U_ff0のポート使用情報を参照すると、D[0]とD[1]の2つのポートが使用されていることが分かる。そこで、多ビット化配置配線部34は、U_ff0については、図25のVDFF1から、図27に示すように、VDFF2セルへと変更を行う。   Next, the multi-bit arrangement and wiring unit 34 changes the cell. That is, referring to the port usage information of U_ff0, it can be seen that two ports D [0] and D [1] are used. Therefore, the multi-bit arrangement and wiring unit 34 changes U_ff0 from VDFF1 in FIG. 25 to VDFF2 cell as shown in FIG.

また、U_ff1のポート使用情報を参照すると、全てのポートが使用されていないことが分かる。そこで、多ビット化配置配線部34は、U_ff1については、図25のVDFF1から、図27に示すように、VDFF0へと変更を行う。   Also, referring to the port usage information of U_ff1, it can be seen that not all ports are used. Therefore, the multi-bit arrangement and wiring unit 34 changes U_ff1 from VDFF1 in FIG. 25 to VDFF0 as shown in FIG.

そして、多ビット化配置配線部34は、U_ff2、U_ff3についても、U_ff0とU_ff1と同様に行って、VDFF2、VDFF0へと変更する。   Then, the multi-bit arrangement / wiring unit 34 changes U_ff2 and U_ff3 to VDFF2 and VDFF0 in the same manner as U_ff0 and U_ff1.

すなわち、多ビット化配置配線部34は、最終的に仮想フリップフロップのポートの使用状況を確認するだけでビット数を決定し、配置位置を変更することなく、信号の繋ぎかえだけで多ビット化を実行する。   That is, the multi-bit arrangement / wiring unit 34 finally determines the number of bits only by confirming the use state of the virtual flip-flop port, and without changing the arrangement position, multi-bit conversion is performed. Execute.

次に、多ビット化配置配線部34は、上記多ビット化による接続変更を実施すると、図28に示すように、再度、配置配線を実施し、配線が完了すると、不要なセルを削除して、セルのビット数変更を確定させる。   Next, when the multi-bit arrangement / wiring unit 34 changes the connection due to the multi-biting, the arrangement / wiring is performed again as shown in FIG. 28. When the wiring is completed, unnecessary cells are deleted. Then, confirm the change of the bit number of the cell.

すなわち、多ビット化配置配線部34は、図28(a)に示すように、不要となったVDFF0の回路情報を削除し、図28(b)に示すように、残ったVDFF2によるセルと配線の接続を行う。   That is, the multi-bit arrangement / wiring unit 34 deletes the circuit information of VDFF0 which is no longer necessary as shown in FIG. 28A, and the cells and wiring by the remaining VDFF2 as shown in FIG. Connect.

この場合、多ビット化配置配線部34は、配線が完了すれば、VDFF0を削除し、セルのビット数変更を確定させるが、配線が完了しなければ、配線混雑度が高い領域にある多ビット仮想フリップフロップのビットをまとめることをやめて、元のVDFF1の配線に戻す。   In this case, when the wiring is completed, the multi-bit arrangement / wiring unit 34 deletes VDFF0 and confirms the change in the number of bits of the cell. If the wiring is not completed, the multi-bit arrangement / wiring unit 34 Stop collecting the bits of the virtual flip-flop and restore the original VDFF1 wiring.

なお、本実施例の半導体集積回路設計支援装置1は、置き換え基準セルを決定し、また、最終的に削除する予定のVDFF0を残している。したがって、元の配置配線情報を可能な限り保持することができる。特に、フリップフロップのクロック配線は、初期の配置配線後が最も理想的にクロックツリーが張られた状態でタイミングが最も有利な状態にあり、多ビット化することによるタイミンへの影響をできるだけ少なくすることができる。   Note that the semiconductor integrated circuit design support apparatus 1 of this embodiment determines a replacement reference cell and leaves VDFF0 scheduled to be finally deleted. Therefore, the original placement and routing information can be retained as much as possible. In particular, the clock wiring of the flip-flop has the most advantageous timing in the state where the clock tree is stretched most ideally after the initial placement and routing, and minimizes the influence on the timing due to the increase in the number of bits. be able to.

また、多ビット化配置配線部34は、図29に示すように、入出力の位置が近いと、探索した結果、隣接する全てのセルが見つかった場合には、全てのセルを多ビット化の対象とする。   In addition, as shown in FIG. 29, when the input / output positions are close, the multi-bit arrangement / wiring unit 34 searches for all the adjacent cells when all the adjacent cells are found. set to target.

多ビット化配置配線部34は、探索範囲を、図29に破線の丸で示すように、全ての仮想1ビットフリップフロップVDFF1の探索範囲に、隣の仮想1ビットフリップフロップVDFF1が存在することを見つける。すなわち、多ビット化配置配線部34は、まず、U_ff0を基準に破線の丸の範囲を探索した結果、U_ff1を見つけ、次に、U_ff1を基準に探索を行った結果、U_ff0とU_ff2を見つける。多ビット化配置配線部34は、さらに、U_ff2を基準に探索を行った結果、U_ff1とU_ff3を見つけ、最後に、U_ff3を基準に探索を行った結果、U_ff2を見つける。   The multi-bit arrangement / wiring unit 34 indicates that the adjacent virtual 1-bit flip-flop VDFF1 exists in the search range of all the virtual 1-bit flip-flops VDFF1, as indicated by a broken-line circle in FIG. locate. That is, the multi-bit arrangement / wiring unit 34 first finds U_ff1 as a result of searching for a dotted circle range based on U_ff0, and then finds U_ff0 and U_ff2 as a result of searching based on U_ff1. The multi-bit placement and routing unit 34 further finds U_ff1 and U_ff3 as a result of performing a search based on U_ff2, and finally finds U_ff2 as a result of performing a search based on U_ff3.

したがって、多ビット化配置配線部34は、全てのU_ff0、U_ff1、U_ff2、U_ff3を、多ビット化対象とする。   Therefore, the multi-bit arrangement / wiring unit 34 sets all U_ff0, U_ff1, U_ff2, and U_ff3 as multi-bit objects.

そして、多ビット化配置配線部34は、全てのセルが多ビット化の対象のときには、図30に示すように、新たなセルを追加する方法で、多ビット化する。   Then, when all the cells are to be multi-bited, the multi-bit arrangement / wiring unit 34 multi-bits by a method of adding a new cell as shown in FIG.

すなわち、多ビット化配置配線部34は、まず、選択した4つのフリップフロップU_ff0、U_ff1、U_ff2、U_ff3が多ビット化可能であるかを確認する。多ビット化配置配線部34は、この多ビット化可能であるか否かを、上述のようにして判断する。すなわち、多ビット化配置配線部34は、多ビット化が可能となる条件は、制御信号が同じであることであるが、図29の場合、U_ff0、U_ff1、U_ff2、U_ff3の全てが、リセットなし、イネーブルなし、クロックは同一信号「CLK」で接続であるため、多ビット化が可能であると判断する。   That is, the multi-bit arrangement / wiring unit 34 first checks whether the selected four flip-flops U_ff0, U_ff1, U_ff2, and U_ff3 can be multi-bit. The multi-bit arrangement / wiring unit 34 determines whether or not this multi-bit arrangement is possible as described above. That is, the multi-bit arrangement / wiring unit 34 is required to have the same control signal under the condition that multi-biting is possible. In the case of FIG. 29, all of U_ff0, U_ff1, U_ff2, and U_ff3 are not reset. Because no clock is enabled and the clock is connected with the same signal “CLK”, it is determined that the number of bits can be increased.

そして、U_ff0からU_ff3は、1ビット仮想フリップフロップVDFF1であるため、多ビット化が可能なフリップフロップのビット数の合計は「4」である。   Since U_ff0 to U_ff3 are 1-bit virtual flip-flops VDFF1, the total number of bits of flip-flops capable of multi-biting is “4”.

本実施例の半導体集積回路設計支援装置1は、仮想フリップフロップライブラリセルは、図4から図6に示したように、1ビット、2ビット、4ビットが用意されているため、仮想4ビットフリップフロップVDFF4を採用し、図30に示すように、U_ff4として追加する。   In the semiconductor integrated circuit design support device 1 of the present embodiment, the virtual flip-flop library cell has 1 bit, 2 bits, and 4 bits, as shown in FIGS. VDFF4 is adopted and added as U_ff4 as shown in FIG.

多ビット化配置配線部34は、上記のようにして、セルの追加を行うと、制御信号の接続を行う。まず、多ビット化配置配線部34は、U_ff4の制御信号ポート(CKポート)に、U_ff0からU_ff3の制御信号ポートに接続されていた信号と同一の信号を接続する。   When the cells are added as described above, the multi-bit arrangement / wiring unit 34 connects the control signals. First, the multi-bit arrangement and wiring unit 34 connects the same signal as the signal connected to the control signal ports U_ff0 to U_ff3 to the control signal port (CK port) of U_ff4.

次に、多ビット化配置配線部34は、データ信号の接続を変更する。すなわち、多ビット化配置配線部34は、U_ff0のD0ポートに接続されている信号IN[0]をU_ff4のD0ポートへ接続し、U_ff0のQ0ポートに接続されている信号n[0]をU_ff4のQ0ポートに接続する。多ビット化配置配線部34は、U_ff1のD0ポートに接続されている信号IN[1]をU_ff4のD1ポートへ接続し、U_ff1のQ0ポートに接続されている信号n[1]をU_ff4のQ1ポートに接続する。また、多ビット化配置配線部34は、U_ff2のD0ポートに接続されている信号IN[2]をU_ff4のD2ポートへ接続し、U_ff2のQ0ポートに接続されている信号n[2]をU_ff4のQ2ポートに接続する。さらに、多ビット化配置配線部34は、U_ff3のD0ポートに接続されている信号IN[3]をU_ff4のD3ポートへ接続し、U_ff3のQ0ポートに接続されている信号n[3]をU_ff4のQ3ポートに接続する。   Next, the multi-bit arrangement / wiring unit 34 changes the connection of the data signal. That is, the multi-bit arrangement and wiring unit 34 connects the signal IN [0] connected to the D0 port of U_ff0 to the D0 port of U_ff4, and the signal n [0] connected to the Q0 port of U_ff0 to U_ff4. Connect to the Q0 port. The multi-bit placement and routing unit 34 connects the signal IN [1] connected to the D0 port of U_ff1 to the D1 port of U_ff4, and the signal n [1] connected to the Q0 port of U_ff1 to Q1 of U_ff4 Connect to the port. Further, the multi-bit arrangement / wiring unit 34 connects the signal IN [2] connected to the D0 port of U_ff2 to the D2 port of U_ff4 and the signal n [2] connected to the Q0 port of U_ff2 to U_ff4 Connect to the Q2 port. Further, the multi-bit placement and routing unit 34 connects the signal IN [3] connected to the D0 port of U_ff3 to the D3 port of U_ff4, and the signal n [3] connected to the Q0 port of U_ff3 to U_ff4 Connect to the Q3 port.

最後に、多ビット化配置配線部34は、接続元となったU_ff0からU_ff3の仮想フリップフロップVDFF1を削除し、図30(a)の回路情報(NETLIST)へ変更する。   Finally, the multi-bit arrangement / wiring unit 34 deletes the virtual flip-flop VDFF1 from U_ff0 to U_ff3 that is the connection source, and changes the circuit information (NETLIST) in FIG.

多ビット化配置配線部34は、回路情報(NETLIST)を変更すると、該回路情報(NETLIST)に基づいて配置配線を行って、図30(b)に示すような回路を生成する。   When the circuit information (NETLIST) is changed, the multi-bit arrangement / wiring unit 34 performs layout / wiring based on the circuit information (NETLIST) to generate a circuit as shown in FIG.

このように、本実施例の半導体集積回路設計支援装置1は、回路仕様に基づいて回路設計を行って回路情報(HDL)を生成する回路設計部(回路設計手段)31と、半導体集積回路のセル情報を含むセルライブラリ(回路関連情報)CLを記憶するセルライブラリ記憶部(回路関連情報記憶手段)32と、前記セルライブラリCLを使用して前記回路情報(HDL)に対して論理合成を行って、セルの配置とセルに対する配線の配置配線情報を含む論理回路情報である回路情報(NETLIST)を生成する論理回路情報生成部(論理回路情報生成手段)33と、前記回路情報(NETLIST)の前記配置配線情報に基づいて、前記セルの配置と該セルに対する配線を実施し、該配置配線の実施結果に基づいて前記セルライブラリCLを参照して該回路情報(NETLIST)の少ビットセルを多ビットセルへ多ビット化する多ビット化配置配線部(多ビット化配置配線手段)34と、を備えている。   As described above, the semiconductor integrated circuit design support apparatus 1 according to the present embodiment includes a circuit design unit (circuit design means) 31 that performs circuit design based on circuit specifications and generates circuit information (HDL), and a semiconductor integrated circuit. A cell library storage unit (circuit related information storage means) 32 for storing a cell library (circuit related information) CL including cell information, and logic synthesis is performed on the circuit information (HDL) using the cell library CL. A logic circuit information generating unit (logic circuit information generating means) 33 for generating circuit information (NETLIST) which is logic circuit information including cell arrangement and wiring arrangement / wiring information for the cells; and the circuit information (NETLIST) Based on the placement and routing information, the placement of the cells and the routing for the cells are performed, and the circuit information (NETLIST) is referred to the cell library CL based on the placement and routing results. It includes multiple bits placement and routing unit for multiple bits to low bit cell to the multi-bit cells and (multi-bit placement and routing section) 34, a.

したがって、半導体集積回路の設計において、回路仕様から生成された回路情報(HDL)に対してセルライブラリCLを使用して論理合成してセルをマッピングし、該セルの配置配線情報に基づいて多ビット化することができる。その結果、最適なビット数の多ビットセルを効率的に選択することができる。   Therefore, in designing a semiconductor integrated circuit, a cell is mapped by using a cell library CL to perform logic synthesis on circuit information (HDL) generated from a circuit specification, and multi-bit based on the placement and routing information of the cell. Can be As a result, a multi-bit cell having the optimum number of bits can be efficiently selected.

また、本実施例の半導体集積回路設計支援装置1は、回路仕様に基づいて回路設計を行って回路情報(HDL)を生成する回路設計処理ステップと、セルライブラリ記憶部(回路関連情報記憶手段)32の記憶する半導体集積回路のセル情報を含むセルライブラリ(回路関連情報)CLを使用して前記回路情報(HDL)に対して論理合成を行って、セルの配置とセルに対する配線の配置配線情報を含む論理回路情報である回路情報(NETLIST)を生成する論理回路情報生成処理ステップと、前記回路情報(NETLIST)の前記配置配線情報に基づいて、前記セルの配置と該セルに対する配線を実施し、該配置配線の実施結果に基づいて前記セルライブラリCLを参照して該回路情報(NETLIST)の少ビットセルを多ビットセルへ多ビット化する多ビット化配置配線処理ステップと、を有している半導体集積回路設計支援方法を実行する。   Further, the semiconductor integrated circuit design support apparatus 1 of this embodiment includes a circuit design processing step for generating circuit information (HDL) by performing circuit design based on circuit specifications, and a cell library storage unit (circuit related information storage means). 32 performs logic synthesis on the circuit information (HDL) using the cell library (circuit related information) CL including the cell information of the semiconductor integrated circuit stored in the cell 32, and arranges and arranges the cell and the wiring of the cell. A logic circuit information generation processing step for generating circuit information (NETLIST), which is logic circuit information including the circuit information, and placement and routing of the cells based on the placement and routing information of the circuit information (NETLIST) The multi-bit arrangement arrangement arrangement which refers to the cell library CL based on the execution result of the arrangement wiring and multi-bits the small bit cells of the circuit information (NETLIST) into multi-bit cells. A processing step, executing a semiconductor integrated circuit design support method has.

したがって、半導体集積回路の設計において、回路仕様から生成された回路情報(HDL)に対してセルライブラリCLを使用して論理合成してセルをマッピングし、該セルの配置配線情報に基づいて多ビット化することができる。その結果、最適なビット数の多ビットセルを効率的に選択することができる。   Therefore, in designing a semiconductor integrated circuit, a cell is mapped by using a cell library CL to perform logic synthesis on circuit information (HDL) generated from a circuit specification, and multi-bit based on the placement and routing information of the cell. Can be As a result, a multi-bit cell having the optimum number of bits can be efficiently selected.

さらに、本実施例の半導体集積回路設計支援装置1は、コンピュータに、回路仕様に基づいて回路設計を行って回路情報(HDL)を生成する回路設計処理と、セルライブラリ記憶部(回路関連情報記憶手段)32の記憶する半導体集積回路のセル情報を含むセルライブラリ(回路関連情報)CLを使用して前記回路情報(HDL)に対して論理合成を行って、セルの配置とセルに対する配線の配置配線情報を含む論理回路情報である回路情報(NETLIST)を生成する論理回路情報生成処理と、前記回路情報(NETLIST)の前記配置配線情報に基づいて、前記セルの配置と該セルに対する配線を実施し、該配置配線の実施結果に基づいて前記セルライブラリCLを参照して該回路情報(NETLIST)の少ビットセルを多ビットセルへ多ビット化する多ビット化配置配線処理と、を実行させるプログラムを搭載している。   Further, the semiconductor integrated circuit design support apparatus 1 of the present embodiment includes a circuit design process for generating circuit information (HDL) by performing circuit design based on the circuit specifications, and a cell library storage unit (circuit related information storage). Means) Using the cell library (circuit related information) CL including the cell information of the semiconductor integrated circuit stored in 32, the logic synthesis is performed on the circuit information (HDL), and the cell arrangement and the wiring arrangement for the cell are performed. Logic circuit information generation processing for generating circuit information (NETLIST), which is logic circuit information including wiring information, and placement of the cells and wiring to the cells based on the placement and routing information of the circuit information (NETLIST) A multi-bit arrangement that multi-bits a small bit cell of the circuit information (NETLIST) into a multi-bit cell by referring to the cell library CL based on the result of the placement and routing Are equipped with a program for executing the line process, the.

したがって、半導体集積回路の設計において、回路仕様から生成された回路情報(HDL)に対してセルライブラリCLを使用して論理合成してセルをマッピングし、該セルの配置配線情報に基づいて多ビット化することができる。その結果、最適なビット数の多ビットセルを効率的に選択することができる。   Therefore, in designing a semiconductor integrated circuit, a cell is mapped by using a cell library CL to perform logic synthesis on circuit information (HDL) generated from a circuit specification, and multi-bit based on the placement and routing information of the cell. Can be As a result, a multi-bit cell having the optimum number of bits can be efficiently selected.

また、本実施例の半導体集積回路設計支援装置1は、前記多ビット化配置配線部34が、前記多ビットセルの前記配置配線情報に基づいて、該多ビットセルに対する接続を変更し、配置を決定した後に該多ビットセルの段数を決定する。   Further, in the semiconductor integrated circuit design support device 1 of the present embodiment, the multi-bit arrangement and wiring unit 34 changes the connection to the multi-bit cell based on the arrangement and wiring information of the multi-bit cell and determines the arrangement. Later, the number of stages of the multi-bit cell is determined.

したがって、配線密度を考慮した多ビット化を行うことができ、より一層最適なビット数の多ビットセルを効率的に選択することができる。   Therefore, the number of bits can be increased in consideration of the wiring density, and a multi-bit cell having a more optimal number of bits can be efficiently selected.

さらに、本実施例の半導体集積回路設計支援装置1は、前記多ビット化配置配線部34が、前記セルの配線数に基づいて、該セルを多ビット化する。   Furthermore, in the semiconductor integrated circuit design support device 1 of the present embodiment, the multi-bit placement and routing unit 34 multi-bits the cell based on the number of wirings of the cell.

したがって、配線密度を考慮した多ビット化を行うことができ、より一層最適なビット数の多ビットセルを効率的に選択することができる。   Therefore, the number of bits can be increased in consideration of the wiring density, and a multi-bit cell having a more optimal number of bits can be efficiently selected.

また、本実施例の半導体集積回路設計支援装置1は、前記論理回路情報生成部33が、前記回路情報(HDL)に基づいて仮想セルの回路情報(NETLIST)を生成し、前記多ビット化配置配線部34が、前記仮想セルを多ビット化する。   Further, in the semiconductor integrated circuit design support device 1 of the present embodiment, the logic circuit information generation unit 33 generates circuit information (NETLIST) of virtual cells based on the circuit information (HDL), and the multi-bit arrangement The wiring unit 34 multi-bits the virtual cell.

したがって、仮想セルを用いて効率的に多ビット化することができ、より最適なビット数の多ビットセルをより一層効率的に選択することができる。   Therefore, it is possible to efficiently increase the number of bits using a virtual cell, and it is possible to more efficiently select a multi-bit cell having a more optimal number of bits.

さらに、本実施例の半導体集積回路設計支援装置1は、前記多ビット化配置配線部34が、前記セル毎に所定周辺範囲におけるセルの有無と配線数を前記配置配線情報から探索する探索部(探索手段)を備え、前記探索部の探索結果に基づいて、前記セルの多ビット化の適否を判定して、多ビット化を行う。   Furthermore, in the semiconductor integrated circuit design support device 1 of the present embodiment, the multi-bit layout and wiring unit 34 searches for the presence / absence of cells and the number of wirings in the predetermined peripheral range for each cell from the layout and wiring information ( Search means), and based on the search result of the search unit, the suitability of the cell for multi-biting is determined to perform multi-biting.

したがって、探索によって、より適切な範囲のセルを多ビット化し、また、探索範囲を変化させることで、多ビット化するセルの範囲を制御することができる。その結果、より最適なビット数の多ビットセルを効率的に選択することができる。   Therefore, a cell in a more appropriate range can be multi-bited by searching, and a cell range to be multi-bit can be controlled by changing the search range. As a result, it is possible to efficiently select a multi-bit cell having a more optimal number of bits.

また、本実施例の半導体集積回路設計支援装置1は、前記セルがフリップフロップである。   In the semiconductor integrated circuit design support apparatus 1 of this embodiment, the cell is a flip-flop.

したがって、セルとしてフリップフロップを用いた半導体集積回路の設計において、回路仕様から生成された回路情報(HDL)に対してセルライブラリCLを使用して論理合成してセルをマッピングし、該セルの配置配線情報に基づいて多ビット化することができる。その結果、最適なビット数の多ビットセルを効率的に選択することができる。   Therefore, in designing a semiconductor integrated circuit using a flip-flop as a cell, the cell information is generated by logically synthesizing the circuit information (HDL) generated from the circuit specification using the cell library CL, and the cell is arranged. The number of bits can be increased based on the wiring information. As a result, a multi-bit cell having the optimum number of bits can be efficiently selected.

なお、上記実施例においては、セルとしてフリップフロップを取り上げて説明したが、セルは、フリップフロップに限るものではない。   In the above embodiment, the flip-flop has been described as the cell, but the cell is not limited to the flip-flop.

以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。   The invention made by the present inventor has been specifically described based on the preferred embodiments. However, the present invention is not limited to that described in the above embodiments, and various modifications can be made without departing from the scope of the invention. It goes without saying that it is possible.

1 半導体集積回路設計支援装置
2 CPU
3 ROM
4 RAM
5 不揮発性メモリ
6 入力I/F
7 出力I/F
8 外部I/F
9 バス
11 入力デバイス
12 出力デバイス
31 回路設計部
32 セルライブラリ記憶部
33 論理回路情報生成部
34 多ビット化配置配線部
CL セルライブラリ
DFF 1ビットフリップフロップ
DFF2 2ビットフリップフロップ
DFF4 4ビットフリップフロップ
VkJ0、VkJ1、Vkj2、Vkj4 回路情報
VDFF0 仮想0ビットフリップフロップセル
VDFF1 仮想1ビットフリップフロップセル
VDFF2 仮想2ビットフリップフロップセル
VDFF4 仮想4ビットフリップフロップセル
1 Semiconductor Integrated Circuit Design Support Device 2 CPU
3 ROM
4 RAM
5 Nonvolatile memory 6 Input I / F
7 Output I / F
8 External I / F
9 Bus 11 Input device 12 Output device 31 Circuit design unit 32 Cell library storage unit 33 Logic circuit information generation unit 34 Multi-bit placement and routing unit CL Cell library
DFF 1-bit flip-flop
DFF2 2-bit flip-flop
DFF4 4-bit flip-flop
Circuit information of VkJ0, VkJ1, Vkj2, Vkj4
VDFF0 Virtual 0-bit flip-flop cell
VDFF1 Virtual 1-bit flip-flop cell
VDFF2 Virtual 2-bit flip-flop cell
VDFF4 Virtual 4-bit flip-flop cell

特開2008−204171号公報JP 2008-204171 A

Claims (8)

回路仕様に基づいて回路設計を行って回路情報を生成する回路設計手段と、
半導体集積回路のセル情報を含む回路関連情報を記憶する回路関連情報記憶手段と、
前記回路関連情報を使用して前記回路情報に対して論理合成を行って、セルの配置とセルに対する配線の配置配線情報を含む論理回路情報を生成する論理回路情報生成手段と、
前記論理回路情報の前記配置配線情報に基づいて、前記セルの配置と該セルに対する配線を実施し、該配置配線の実施結果に基づいて前記回路関連情報を参照して該論理回路情報の少ビットセルを多ビットセルへ多ビット化する多ビット化配置配線手段と、
を備えていることを特徴とする半導体集積回路設計支援装置。
Circuit design means for performing circuit design based on circuit specifications to generate circuit information;
Circuit related information storage means for storing circuit related information including cell information of the semiconductor integrated circuit;
Logic circuit information generating means for performing logic synthesis on the circuit information using the circuit-related information and generating logic circuit information including cell arrangement and wiring arrangement wiring information for the cell;
Based on the placement and routing information of the logic circuit information, the placement and routing of the cells is performed, and the circuit related information is referred to based on the placement and routing results, and the small bit cell of the logic circuit information Multi-bit arrangement and wiring means for multi-biting into a multi-bit cell;
A semiconductor integrated circuit design support apparatus comprising:
前記多ビット化配置配線手段は、
前記多ビットセルの前記配置配線情報に基づいて、該多ビットセルに対する接続を変更し、配置を決定した後に該多ビットセルの段数を決定することを特徴とする請求項1記載の半導体集積回路設計支援装置。
The multi-bit arrangement and routing means is:
2. The semiconductor integrated circuit design support device according to claim 1, wherein the connection to the multi-bit cell is changed based on the placement and routing information of the multi-bit cell, and the number of stages of the multi-bit cell is determined after the placement is determined. .
前記多ビット化配置配線手段は、
前記セルの配線数に基づいて、該セルを多ビット化することを特徴とする請求項1または請求項2記載の半導体集積回路設計支援装置。
The multi-bit arrangement and routing means is:
3. The semiconductor integrated circuit design support apparatus according to claim 1, wherein the number of bits of the cell is increased based on the number of wirings of the cell.
前記論理回路情報生成手段は、
前記回路情報に基づいて仮想セルの論理回路情報を生成し、
前記多ビット化配置配線手段は、
前記仮想セルを多ビット化することを特徴とする請求項1から請求項3のいずれかに記載の半導体集積回路設計支援装置。
The logic circuit information generating means includes
Generating virtual circuit logic circuit information based on the circuit information;
The multi-bit arrangement and routing means is:
4. The semiconductor integrated circuit design support apparatus according to claim 1, wherein the virtual cell is multi-bited.
前記多ビット化配置配線手段は、
前記セル毎に所定周辺範囲におけるセルの有無と配線数を前記配置配線情報から探索する探索手段を備え、
前記探索手段の探索結果に基づいて、前記セルの多ビット化の適否を判定して、多ビット化を行うことを特徴とする請求項1から請求項4のいずれかに記載の半導体集積回路設計支援装置。
The multi-bit arrangement and routing means is:
Search means for searching for the presence / absence of cells and the number of wires in a predetermined peripheral range for each cell from the placement and routing information,
5. The semiconductor integrated circuit design according to claim 1, wherein multi-bit conversion is performed by determining whether or not multi-bit conversion of the cell is appropriate based on a search result of the search means. Support device.
前記半導体集積回路設計支援装置は、
前記セルがフリップフロップであることを特徴とする請求項1から請求項5のいずれかに記載の半導体集積回路設計支援装置。
The semiconductor integrated circuit design support device includes:
6. The semiconductor integrated circuit design support apparatus according to claim 1, wherein the cell is a flip-flop.
回路仕様に基づいて回路設計を行って回路情報を生成する回路設計処理ステップと、
回路関連情報記憶手段の記憶する半導体集積回路のセル情報を含む回路関連情報を使用して前記回路情報に対して論理合成を行って、セルの配置とセルに対する配線の配置配線情報を含む論理回路情報を生成する論理回路情報生成処理ステップと、
前記論理回路情報の前記配置配線情報に基づいて、前記セルの配置と該セルに対する配線を実施し、該配置配線の実施結果に基づいて前記回路関連情報を参照して該論理回路情報の少ビットセルを多ビットセルへ多ビット化する多ビット化配置配線処理ステップと、
を有していることを特徴とする半導体集積回路設計支援方法。
A circuit design processing step for generating circuit information by performing circuit design based on the circuit specifications;
Logic circuit including circuit arrangement information and arrangement information of wiring for cells by performing logic synthesis on the circuit information using circuit related information including cell information of semiconductor integrated circuit stored in circuit related information storage means A logic circuit information generation processing step for generating information;
Based on the placement and routing information of the logic circuit information, the placement and routing of the cells is performed, and the circuit related information is referred to based on the placement and routing results, and the small bit cell of the logic circuit information A multi-bit placement and routing process step for multi-biting a multi-bit cell,
A method for supporting the design of a semiconductor integrated circuit, comprising:
コンピュータに、
回路仕様に基づいて回路設計を行って回路情報を生成する回路設計処理と、
回路関連情報記憶手段の記憶する半導体集積回路のセル情報を含む回路関連情報を使用して前記回路情報に対して論理合成を行って、セルの配置とセルに対する配線の配置配線情報を含む論理回路情報を生成する論理回路情報生成処理と、
前記論理回路情報の前記配置配線情報に基づいて、前記セルの配置と該セルに対する配線を実施し、該配置配線の実施結果に基づいて前記回路関連情報を参照して該論理回路情報の少ビットセルを多ビットセルへ多ビット化する多ビット化配置配線処理と、
を実行させることを特徴とするプログラム。
On the computer,
Circuit design processing for generating circuit information by performing circuit design based on circuit specifications;
Logic circuit including circuit arrangement information and arrangement information of wiring for cells by performing logic synthesis on the circuit information using circuit related information including cell information of semiconductor integrated circuit stored in circuit related information storage means Logic circuit information generation processing for generating information;
Based on the placement and routing information of the logic circuit information, the placement and routing of the cells is performed, and the circuit related information is referred to based on the placement and routing results, and the small bit cell of the logic circuit information Multi-bit arrangement and wiring processing that multi-bits into multi-bit cells,
A program characterized by having executed.
JP2015101883A 2015-05-19 2015-05-19 Semiconductor integrated circuit design assist device, semiconductor integrated circuit design assist method, and program Pending JP2016218670A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015101883A JP2016218670A (en) 2015-05-19 2015-05-19 Semiconductor integrated circuit design assist device, semiconductor integrated circuit design assist method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015101883A JP2016218670A (en) 2015-05-19 2015-05-19 Semiconductor integrated circuit design assist device, semiconductor integrated circuit design assist method, and program

Publications (1)

Publication Number Publication Date
JP2016218670A true JP2016218670A (en) 2016-12-22

Family

ID=57581110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015101883A Pending JP2016218670A (en) 2015-05-19 2015-05-19 Semiconductor integrated circuit design assist device, semiconductor integrated circuit design assist method, and program

Country Status (1)

Country Link
JP (1) JP2016218670A (en)

Similar Documents

Publication Publication Date Title
US8677299B1 (en) Latch clustering with proximity to local clock buffers
JP5985900B2 (en) Behavioral synthesis device, data processing system including behavioral synthesis device, and behavioral synthesis program
JP2005182654A (en) Reconfigurable circuit, processing device having reconfigurable circuit, function determination method of logic circuit in reconfigurable circuit, circuit generation method and circuit
KR20210034625A (en) Hierarchical partial reconfiguration of programmable integrated circuits
CN108140067B (en) Method and system for circuit design optimization
JP6517626B2 (en) Reconfigurable semiconductor device
US9779197B1 (en) Method and system of merging memory cells into multi-bit registers in an integrated circuit layout
ES2818523T3 (en) Systems and methods for configuring a SOPC without the need for external memory
KR20170133250A (en) Non-volatile memory device using dual program operation, memory system including the same and operating method thereof
US10303833B1 (en) Parallelizing timing-based operations for circuit designs
JP5063511B2 (en) Method and system for efficiently utilizing a multi-source network of control logic to achieve timing closure in a clock-driven logic circuit
US10216217B1 (en) Adaptive compilation and execution for hardware acceleration
US10437946B1 (en) Using implemented core sources for simulation
US8458634B2 (en) Latch clustering with proximity to local clock buffers
US9792395B1 (en) Memory utilization in a circuit design
US9773083B1 (en) Post-placement and pre-routing processing of critical paths in a circuit design
US9965581B1 (en) Fanout optimization to facilitate timing improvement in circuit designs
US20170039299A1 (en) Register file circuit design process
JP4664724B2 (en) Semiconductor integrated circuit device and semiconductor integrated circuit device design apparatus
US8555232B2 (en) Wire routing using virtual landing pads
JP2016218670A (en) Semiconductor integrated circuit design assist device, semiconductor integrated circuit design assist method, and program
TW201935289A (en) Method for cell swapping
CN117480498A (en) Dynamically provisioning PCIe devices for bare metal servers at run-time
JP7062793B2 (en) Circuit wiring storage method, FPGA system and storage medium
US10534885B1 (en) Modifying data flow graphs using range information