JP3462956B2 - Mask ROM data generator - Google Patents

Mask ROM data generator

Info

Publication number
JP3462956B2
JP3462956B2 JP09525996A JP9525996A JP3462956B2 JP 3462956 B2 JP3462956 B2 JP 3462956B2 JP 09525996 A JP09525996 A JP 09525996A JP 9525996 A JP9525996 A JP 9525996A JP 3462956 B2 JP3462956 B2 JP 3462956B2
Authority
JP
Japan
Prior art keywords
data
netlist
mask rom
rom
block
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.)
Expired - Fee Related
Application number
JP09525996A
Other languages
Japanese (ja)
Other versions
JPH09282350A (en
Inventor
雅一 山野
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 JP09525996A priority Critical patent/JP3462956B2/en
Publication of JPH09282350A publication Critical patent/JPH09282350A/en
Application granted granted Critical
Publication of JP3462956B2 publication Critical patent/JP3462956B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、マスクROM(Mas
k Read Only Memory)の開発・製造において必要となる
ネットリストやレイアウトパターン、論理シミュレーシ
ョンモデルを示すデータ等を、ROMコードやビット
幅、ワード数に基づいて生成するマスクROMデータ発
生装置に関する。
The present invention relates to a mask ROM (Mas ROM).
The present invention relates to a mask ROM data generator that generates a netlist, a layout pattern, data indicating a logical simulation model, and the like, which are necessary in the development and manufacturing of a k read only memory) based on a ROM code, a bit width, and the number of words.

【0002】[0002]

【従来の技術】近年、半導体集積回路の微細化に伴い、
マスクROMの規模が増大しており、メガビットクラス
のマスクROMをASIC(Application Specific Inte
gratedCircuit)(特定用途向けIC)に組み込むことも
可能となってきている。
2. Description of the Related Art In recent years, with the miniaturization of semiconductor integrated circuits,
The scale of mask ROM is increasing, and a megabit class mask ROM is being used as an ASIC (Application Specific
It is becoming possible to incorporate it into a grated Circuit) (IC for a specific application).

【0003】読み出し専用半導体記憶装置であるマスク
ROMでは、顧客から提供されるROMコードに対応し
たマスクを用いて製造段階で情報が書き込まれる。この
マスクROMの開発・製造において必要となるレイアウ
トパターンや、ネットリスト、テストパターン、論理シ
ミュレーションモデルを示すデータ等は、マスクROM
データ発生装置により、ROMコードと予め設定された
ビット幅やワード数に基づき生成される。マスクROM
の規模の増大に伴い、マスクROMデータ発生装置によ
って生成されるこれらのデータの量も増大しており、特
にレイアウトパターンとネットリストのデータ量の増大
が著しい。
In a mask ROM which is a read-only semiconductor memory device, information is written at the manufacturing stage by using a mask corresponding to a ROM code provided by a customer. The layout pattern, the netlist, the test pattern, the data showing the logical simulation model, etc. necessary for the development / manufacturing of the mask ROM are stored in the mask ROM.
It is generated by the data generator based on the ROM code and the preset bit width and number of words. Mask ROM
The amount of these data generated by the mask ROM data generator is also increasing with the increase in the scale of the above, and especially the amount of data of the layout pattern and the netlist is remarkably increased.

【0004】ところで、マスクROMデータ発生装置に
よって生成されるネットリストは、レイアウトパターン
によって実現される回路の構成がネットリストによって
示される回路構成と同一か否かを検証するためのもので
あるが、マスクROM自体のレイアウトパターンとネッ
トリストとは、同一の入力データに基づき同一のマスク
ROMデータ発生装置によって生成されるため、検証の
必要はない。したがって、この場合にはネットリストを
生成する必要がない。しかし、マスクROMを例えばA
SICチップの一部として組み込んだ場合には、マスク
ROM以外のレイアウトパターンがマスクROMのレイ
アウトパターンの領域に重なるというようなエラーを検
出するために、ネットリストが必要となる。
The netlist generated by the mask ROM data generator is for verifying whether or not the circuit configuration realized by the layout pattern is the same as the circuit configuration shown by the netlist. Since the layout pattern of the mask ROM itself and the netlist are generated by the same mask ROM data generator based on the same input data, there is no need for verification. Therefore, in this case, it is not necessary to generate a netlist. However, if the mask ROM is
When incorporated as a part of the SIC chip, a netlist is required to detect an error such that a layout pattern other than the mask ROM overlaps the layout pattern area of the mask ROM.

【0005】[0005]

【発明が解決しようとする課題】ネットリストは、従
来、ROMコードを構成する各ビットに相当するトラン
ジスタレベルの回路を単位として生成されていた。この
ため、マスクROMの規模(記憶容量)が増大すると、
その規模に比例してネットリストのデータ量も増大して
いた。これに対し、メタル配線等でROMコードを反映
させる方式のマスクROMでは、例えば8ビット分の回
路をまとめて一つのブロックとし、このブロックを共通
に使用してブロック外部の結線形態にROMコードを反
映させるという方法により、ネットリストを階層的に記
述してデータ量を低減することができる。
Conventionally, a netlist has been generated in units of a transistor level circuit corresponding to each bit forming a ROM code. Therefore, when the scale (storage capacity) of the mask ROM increases,
The amount of data in the netlist also increased in proportion to its scale. On the other hand, in the mask ROM of the method of reflecting the ROM code by metal wiring or the like, for example, circuits for 8 bits are collectively made into one block, and this block is commonly used to put the ROM code in a wiring form outside the block. By the method of reflecting, the netlist can be described hierarchically to reduce the data amount.

【0006】しかし、デプレッション形のトランジスタ
を用いて構成されるマスクROM(以下「デプレッショ
ン形ROM」という)では、ROMコードの内容によっ
てROMコードの各ビットに対応するトランジスタレベ
ルの回路構成が変わる。したがって、このような場合に
は、メタル配線等でROMコードを反映させる方式の上
記マスクROMとは異なり、回路構成を階層的に記述す
ることはできない。
However, in a mask ROM (hereinafter referred to as a "depletion type ROM") constructed by using depletion type transistors, the transistor level circuit configuration corresponding to each bit of the ROM code changes depending on the content of the ROM code. Therefore, in such a case, unlike the above-mentioned mask ROM in which the ROM code is reflected by metal wiring or the like, the circuit configuration cannot be described hierarchically.

【0007】そこで本発明では、デプレッション形のマ
スクROMに対しても、その回路構成を階層的に記述す
ることによってネットリストのデータ量を低減すること
ができるマスクROMデータ発生装置を提供することを
目的とする。
In view of this, the present invention provides a mask ROM data generator capable of reducing the data amount of a netlist by describing the circuit structure of the depletion type mask ROM in a hierarchical manner. To aim.

【0008】[0008]

【課題を解決するための手段】上記課題を解決するため
に成された本発明に係るマスクROMデータ発生装置
は、マスクROMのROMコード、ビット幅およびワー
ド数を入力して、該マスクROMの回路構成を記述した
ネットリストを生成する機能を有するマスクROMデー
タ発生装置において、前記ROMコードを複数ビット毎
にまとめてブロック化データとするブロック化手段と、
ブロック化手段によって得られる各ブロック化データの
種類毎に、該ブロック化データに対応する前記マスクR
OMの回路構成を記述した局所ネットリストを作成する
局所ネットリスト作成手段と、前記局所ネットリストを
参照しつつ前記各ブロック化データに対応する回路を構
成要素として前記マスクROMの回路構成を階層的に記
述した全域ネットリストを作成する全域ネットリスト作
成手段と、を備えた構成としている。
SUMMARY OF THE INVENTION A mask ROM data generator according to the present invention made to solve the above problems inputs a ROM code, a bit width and the number of words of a mask ROM and outputs the mask ROM data. In a mask ROM data generator having a function of generating a netlist describing a circuit configuration, a blocking means for collecting the ROM code into a plurality of bits to form blocked data,
For each type of blocked data obtained by the blocking means, the mask R corresponding to the blocked data
A local netlist creating means for creating a local netlist describing the circuit configuration of the OM, and a hierarchical circuit configuration of the mask ROM using the circuits corresponding to the respective blocked data as constituent elements while referring to the local netlist. And an entire-area netlist creating means for creating the entire-area netlist described in 1.

【0009】上記マスクROMデータ発生装置におい
て、前記ブロック化手段は、前記ブロック化データのビ
ット数を、前記ワード数よりも小さい前記ワード数の約
数であって予め設定された値以下の整数のうちの最大値
とすることが好ましい。
In the mask ROM data generating device, the blocking means sets the number of bits of the blocked data to an integer which is a divisor of the number of words smaller than the number of words and which is equal to or less than a preset value. Of these, the maximum value is preferable.

【0010】[0010]

【発明の効果】本発明のマスクROMデータ発生装置に
よれば、マスクROMの回路構成を階層的に記述したネ
ットリストが生成されるため、ネットリストのデータ量
を低減することができる。ネットリストのデータ量が低
減されると、ネットリストの生成に要する時間も短縮さ
れる。また、回路図を出力する装置に比べると、本発明
のマスクROMデータ発生装置は、レイアウトパターン
によって実現される回路が所定の構成か否かを調べる際
に回路図をネットリストに変換する必要がない点で有利
である。
According to the mask ROM data generator of the present invention, since the netlist hierarchically describing the circuit configuration of the mask ROM is generated, the data amount of the netlist can be reduced. When the amount of data in the netlist is reduced, the time required to generate the netlist is also reduced. Further, compared to a device that outputs a circuit diagram, the mask ROM data generator of the present invention needs to convert the circuit diagram into a netlist when checking whether the circuit realized by the layout pattern has a predetermined configuration. It is advantageous in that it does not exist.

【0011】本発明の好ましいマスクROMデータ発生
装置によれば、前記ブロック化データのビット数が前記
ワード数よりも小さい前記ワード数の約数であって予め
設定された値以下の整数のうちの最大値となるため、複
数のブロック化データの種類(値)が同一となる確率が
大きく低下しない範囲で比較的サイズの大きなブロック
化データが得られる。したがって、階層的記述によりネ
ットリストのデータ量の大きな削減が可能となる。
According to the preferred mask ROM data generator of the present invention, the number of bits of the blocked data is a divisor of the number of words smaller than the number of words and is an integer less than or equal to a preset value. Since it becomes the maximum value, a relatively large size of blocked data can be obtained within a range in which the probability that the types (values) of a plurality of blocked data are the same does not decrease significantly. Therefore, the hierarchical description makes it possible to greatly reduce the data amount of the netlist.

【0012】[0012]

【発明の実施の形態】<実施形態の全体構成> 図1は、本発明の一実施形態であるマスクROMデータ
発生装置のハードウェア構成を示すブロック図である。
この図に示すように本マスクROMデータ発生装置は、
処理装置10と、外部記憶装置としてのハードディスク
装置12と、入力装置としてのキーボード14およびマ
ウス15と、表示装置20とから構成されている。そし
て処理装置10は、CPU(中央処理装置)16と主記
憶としてのメモリ18を備えており、CPU16がメモ
リ18に格納された所定のプログラムを実行することに
より、マスクROMデータ発生装置としての機能が実現
される。すなわち、操作者が所定のプログラムを起動し
てキーボード14やマウス15からビット幅やワード数
等のマスクROMの構成を定めるパラメタを入力する
と、予めハードディスク装置に格納されたROMコード
をメモリ18に読み込み、これらのパラメタおよびRO
Mコードに基づいて、マスクROMの開発・製造におい
て必要となるレイアウトパターンや、ネットリスト、テ
ストパターン、論理シミュレーションモデルを示すデー
タ等を生成する、という機能が実現される。
BEST MODE FOR CARRYING OUT THE INVENTION <Overall Configuration of Embodiment> FIG. 1 is a block diagram showing a hardware configuration of a mask ROM data generator according to an embodiment of the present invention.
As shown in this figure, the mask ROM data generator is
The processing device 10 includes a hard disk device 12 as an external storage device, a keyboard 14 and a mouse 15 as input devices, and a display device 20. The processing device 10 includes a CPU (central processing unit) 16 and a memory 18 as a main memory, and the CPU 16 executes a predetermined program stored in the memory 18 to function as a mask ROM data generation device. Is realized. That is, when the operator activates a predetermined program and inputs parameters for defining the mask ROM configuration such as the bit width and the number of words from the keyboard 14 and the mouse 15, the ROM code previously stored in the hard disk device is read into the memory 18. , These parameters and RO
Based on the M code, a function of generating a layout pattern, a netlist, a test pattern, data indicating a logical simulation model, and the like, which are necessary in the development and manufacturing of the mask ROM, is realized.

【0013】<実施形態の動作>次に、上記構成のマス
クROMデータ発生装置の動作のうち本発明に関係する
部分すなわちネットリストを生成する部分について説明
する。ネットリスト生成のために実行される処理は、メ
モリ18に格納された所定のプログラムの一部であるネ
ットリスト生成プログラムによって実現される。以下で
は、このネットリスト生成の動作を、ROMコードに対
応する回路(以下「ROMコード回路」という)の一例
を示す図3を参照しつつ説明する。
<Operation of Embodiment> Next, of the operation of the mask ROM data generator having the above-described structure, a portion related to the present invention, that is, a portion for generating a netlist will be described. The processing executed to generate the netlist is realized by a netlist generation program which is a part of a predetermined program stored in the memory 18. The operation of netlist generation will be described below with reference to FIG. 3 showing an example of a circuit corresponding to a ROM code (hereinafter referred to as “ROM code circuit”).

【0014】図3は、デプレッション形マスクROMに
おけるROMコード回路の一例を示す図である。この例
では、ROMは8ワードから構成され、一つのワードは
4ビットから成っており、ROMコード回路は、デー
タ"0"と"1"に対応する2種類のデプレッション形MO
Sトランジスタを用いて実現されている。そして各ワー
ドラインW0〜W7は、各ワードを構成するビットに対
応するトランジスタのゲートに接続されており、8個の
ワードにおける第1ビット(最下位ビット)〜第4ビッ
ト(最上位ビット)の各ビットに対応する8個のトラン
ジスタは、直列接続の2個の選択トランジスタを中央に
挟んで直列に接続されている。ワードを構成する各ビッ
トに対応するこの直列接続の各回路は、その両端が接地
され、中央の2個の選択トランジスタの接続点にビット
ラインB0〜B3がそれぞれ接続されている。
FIG. 3 is a diagram showing an example of a ROM code circuit in the depletion type mask ROM. In this example, the ROM is composed of 8 words, one word is composed of 4 bits, and the ROM code circuit has two types of depletion type MO corresponding to data "0" and "1".
It is realized using an S transistor. The word lines W0 to W7 are connected to the gates of the transistors corresponding to the bits forming each word, and the first bit (least significant bit) to the fourth bit (most significant bit) of the eight words are connected. Eight transistors corresponding to each bit are connected in series with two selection transistors connected in series in the center. The series-connected circuits corresponding to the bits forming the word are grounded at both ends, and the bit lines B0 to B3 are connected to the connection points of the two central selection transistors.

【0015】図2は、本実施形態のマスクROMデータ
発生装置の動作のうちネットリストを生成する部分を示
すフローチャートである。本実施形態のマスクROMデ
ータ発生装置によりネットリストを生成する際には、ま
ずステップS10において、マスクROMの構成を定め
るパラメタ、すなわち、ビット幅や、ワード数、バッフ
ァサイズ等の付帯的なパラメタを、操作者がキーボード
14やマウス15を用いて設定する。例えば図3に示し
た例の場合には、ビット幅として4、ワード数として8
を設定するとともに、デプレッション形のトランジスタ
を用いたNAND型の構成であることを示すパラメタ等
を設定する。
FIG. 2 is a flowchart showing a part of the operation of the mask ROM data generator of this embodiment for generating a netlist. When the netlist is generated by the mask ROM data generator of the present embodiment, first, in step S10, parameters that define the structure of the mask ROM, that is, auxiliary parameters such as the bit width, the number of words, and the buffer size are set. The operator makes settings using the keyboard 14 and the mouse 15. For example, in the case of the example shown in FIG. 3, the bit width is 4 and the word number is 8
And a parameter indicating that it is a NAND type configuration using a depletion type transistor.

【0016】次にステップS12において、予めハード
ディスク装置12に格納されたROMコードを主記憶で
あるメモリ18に読み込む。
Next, in step S12, the ROM code stored in advance in the hard disk device 12 is read into the memory 18, which is the main memory.

【0017】その後、ステップS14において、設定さ
れたパラメタによって定まるROMの構成と読み込まれ
たROMコードとから、後のステップにおいてROMコ
ードを複数ビット毎にまとめてブロック化する際の1ブ
ロック当たりのビット数(以下「ブロックサイズ」とい
う)を決定する。ここでブロックサイズは、ワード数よ
りも小さいワード数の約数であって2〜16程度の範囲
に入る整数のうちの最大値となるように選定する。例え
ばワード数を1024とすると、その約数は2、4、
8、16であるため、これらのうちの最大値である16
がブロックサイズとして選定される。この場合、ブロッ
ク化データのビットパターンは65536通りとなる。
ここで選定範囲を2〜16に限定しているのは、ブロッ
クサイズがあまり大きくなると、ブロック化データの取
りうるビットパターンの種類が多くなりすぎて、同じビ
ットパターンのブロック化データが存在する可能性が少
なくなるからである。つまり、同じビットパターンのブ
ロック化データが少なければ、後述のステップにおいて
このブロック化に基づいて階層的に回路を記述してもネ
ットリストのデータ量が低減されないおそれがあるから
である。なお図3に示した例の場合には、ワード数が8
であるため、ブロックサイズとして4が選定される。
Thereafter, in step S14, the bits per block when the ROM code is collectively grouped into a plurality of bits in the subsequent step based on the ROM configuration determined by the set parameters and the read ROM code Determine the number (hereinafter referred to as "block size"). Here, the block size is selected to be the maximum value of integers that are a divisor of the number of words smaller than the number of words and are in the range of about 2 to 16. For example, if the number of words is 1024, the divisor is 2, 4,
Since it is 8 and 16, the maximum value of these is 16
Is selected as the block size. In this case, there are 65536 bit patterns of blocked data.
The reason why the selection range is limited to 2 to 16 is that if the block size becomes too large, the number of types of bit patterns that can be taken by the blocked data becomes too large, and blocked data having the same bit pattern can exist. This is because the sex is reduced. In other words, if there is a small amount of blocked data having the same bit pattern, the netlist data amount may not be reduced even if a circuit is hierarchically described based on this blocking in a step described later. In the case of the example shown in FIG. 3, the number of words is 8
Therefore, 4 is selected as the block size.

【0018】上記のようにしてブロックサイズが選定さ
れると、ROMコードをそのブロックサイズ毎にまとめ
てブロック化し、そのブロック化に基づいて回路構成を
階層的に記述したネットリストを生成する。そのため
に、まずステップS16において、ROMコード回路に
おけるいずれか一つのビットラインに対応するROMコ
ードをブロックサイズ毎にまとめてブロック化する。こ
れにより、ブロックサイズのビット数のブロック化デー
タが複数個得られる。図3に示した例では、前述のよう
にブロックサイズは4であってワード数は8であるた
め、ビットラインB0〜B3のうちのいずれか一つのビ
ットラインに対応するROMコードがブロック化されて
2個のブロック化データが得られる。例えばビットライ
ンB0に対応するROMコードがブロック化されるとす
ると、ワードラインW0〜W3に対応するブロック化デ
ータ[0011]と、ワードラインW7〜W4に対応す
るブロック化データ[1010]とが得られる(図4参
照)。ここで、ワードラインW0〜W3に対応するブロ
ック化データのビットパターンの方向はW0からW3へ
向かう方向とし、ワードラインW7〜W4に対応するブ
ロック化データのビットパターンの方向はW7からW4
へ向かう方向とする。
When the block size is selected as described above, the ROM code is grouped into blocks for each block size, and a netlist in which the circuit configuration is hierarchically described is generated based on the block. For this purpose, first, in step S16, the ROM codes corresponding to any one bit line in the ROM code circuit are grouped into blocks for each block size. As a result, a plurality of pieces of blocked data having the number of bits of the block size are obtained. In the example shown in FIG. 3, since the block size is 4 and the number of words is 8 as described above, the ROM code corresponding to any one of the bit lines B0 to B3 is divided into blocks. As a result, two pieces of blocked data are obtained. For example, if the ROM code corresponding to the bit line B0 is divided into blocks, the block data [0011] corresponding to the word lines W0 to W3 and the block data [1010] corresponding to the word lines W7 to W4 are obtained. (See FIG. 4). Here, the direction of the bit pattern of the blocked data corresponding to the word lines W0 to W3 is the direction from W0 to W3, and the direction of the bit pattern of the blocked data corresponding to the word lines W7 to W4 is W7 to W4.
The direction is toward.

【0019】次のステップS18では、ステップS16
によって得られたブロック化データのうち一つのブロッ
ク化データ(以下「現ブロック化データ」という)につ
いて、そのブロック化データの種類すなわちそのビット
パターンが、それ以前にステップS16の実行によって
得られたいずれかのブロック化データと同じか否かを判
定する。この結果、以前のブロック化データと同じであ
ればステップS22へ進み、以前のいずれのブロック化
データとも異なればステップS20へ進む。この時点で
は以前のブロック化データは存在しないためステップS
20へ進むが、既にブロック化データが存在する時点に
おいては、ステッS22へ進むことがあり得る。
In the next step S18, step S16
For one piece of the blocked data (hereinafter referred to as “current blocked data”) obtained by the above, the type of the blocked data, that is, the bit pattern, is obtained by executing step S16 before that. It is determined whether the block data is the same as the block data. As a result, if the block data is the same as the previous block data, the process proceeds to step S22, and if it is different from any previous block data, the process proceeds to step S20. At this point, there is no previous blocked data, so step S
However, if the blocked data already exists, the process may proceed to step S22.

【0020】ステップS20では、現ブロックデータに
対応するROMコード回路(以下「現回路ブロック」と
いう)の構成を記述する局所的なネットリストを作成し
(以下、一つのブロック化データに対応するネットリス
トを「局所ネットリスト」という)、その局所ネットリ
ストに識別子を付与してその識別子を現ブロック化デー
タに対応づけるとともに、現ブロック化データを登録し
ておく。この登録は、所定のデータ構造により現ブロッ
クデータをメモリ18またはハードディスク装置12に
格納することにより行うことができる。図3に示した例
では、例えばビットラインB0とワードラインW0〜W
3とに対応するブロック化データ[0011]に対する
ROMコード回路の構成を記述する局所ネットリストが
新たに作成され、この局所ネットリストに対し識別子と
してC1が付与されるとともに、ブロック化データ[0
011]が登録される。
In step S20, a local netlist describing the configuration of the ROM code circuit (hereinafter referred to as "current circuit block") corresponding to the current block data is created (hereinafter, a net corresponding to one block of data is generated). The list is referred to as a "local netlist"), an identifier is assigned to the local netlist, the identifier is associated with the current blocked data, and the current blocked data is registered. This registration can be performed by storing the current block data in the memory 18 or the hard disk device 12 with a predetermined data structure. In the example shown in FIG. 3, for example, the bit line B0 and the word lines W0 to W
3 is newly created for the block coded data [0011] corresponding to the block coded data [0011], C1 is added to the local net list as an identifier, and the blocked data [0] is added.
011] is registered.

【0021】ステップS22では、現ブロック化データ
と同じ種類の登録されたブロック化データに対する局所
ネットリストの識別子により現回路ブロックの構成を示
すために、その識別子を現ブロック化データに対応づけ
る。ステップS22では新たな局所ネットリストは作成
されない。
In step S22, in order to indicate the configuration of the current circuit block by the identifier of the local netlist for the registered blocked data of the same type as the current blocked data, the identifier is associated with the current blocked data. No new local netlist is created in step S22.

【0022】ステップS20またはS22の実行後は、
ステップS24において、1ビットライン分のネットリ
ストの作成が終了したか否かを判定し、終了していなけ
ればステップS18へ戻る。そして、前記ステップS1
6で得られたブロック化データのうち局所ネットリスト
の識別子が対応づけられていないブロック化データにつ
いて、そのブロック化データの種類が、それ以前にステ
ップS16の実行によって得られたいずれかのブロック
化データと同じか否かを判定し、その判定結果に基づい
て前述の処理を行う。図3に示した例では、今回のステ
ップS18の実行において、ビットラインB0とワード
ラインW7〜W4とに対応するブロック化データ[10
10]が判定の対象となる。そして、このブロック化デ
ータ[1010]に対応するROMコード回路の構成を
示す局所ネットリストC2が新たに作成される。図3に
示した例では、図4からわかるように、これによりステ
ップS24において、1ビットライン分のネットリスト
の作成が終了したと判定される。
After executing step S20 or S22,
In step S24, it is determined whether or not the net list for one bit line has been created. If not completed, the process returns to step S18. Then, the step S1
Among the blocked data obtained in step 6, the blocked data not associated with the identifier of the local netlist has a type of the blocked data which is obtained by executing step S16 before. It is determined whether or not it is the same as the data, and the above processing is performed based on the determination result. In the example shown in FIG. 3, in the execution of step S18 this time, the blocked data [10 corresponding to the bit line B0 and the word lines W7 to W4 is
10] is the target of the determination. Then, a local netlist C2 showing the configuration of the ROM code circuit corresponding to the blocked data [1010] is newly created. In the example shown in FIG. 3, as can be seen from FIG. 4, it is determined in step S24 that the creation of the net list for one bit line has been completed.

【0023】ステップS24において、1ビットライン
分のネットリストの作成が終了したと判定された場合
は、ステップS26へ進み、全てのビットライン分のネ
ットリストの作成が終了したか否かを判定する。その結
果、いずれかのビットラインのネットリストの作成が終
了していなければステップS16へ戻る。この場合は、
対応するROMコードがブロック化されていないビット
ラインが存在し、未ブロック化の一つのビットラインに
対して、上記と同様の処理を行う。図3に示した例で
は、図4に示すように、この時点ではステップS18に
より、現ブロック化データ[1010]が、登録された
ブロック化データ、すなわちビットラインB0とワード
ラインW7〜W4とに対応するブロック化データと同じ
であると判定される。この結果、ステップS22によ
り、既に作成された局所ネットリストの識別子C2が現
ブロック化データに対応づけられる。
If it is determined in step S24 that the net list for one bit line has been created, the process advances to step S26 to determine whether the net list for all bit lines has been created. . As a result, if the netlist of any bit line has not been created, the process returns to step S16. in this case,
There is a bit line in which the corresponding ROM code is not blocked, and the same processing as above is performed for one unblocked bit line. In the example shown in FIG. 3, as shown in FIG. 4, at step S18, the current block data [1010] becomes the registered block data, that is, the bit line B0 and the word lines W7 to W4. It is determined to be the same as the corresponding blocked data. As a result, in step S22, the identifier C2 of the already created local netlist is associated with the current blocked data.

【0024】以降同様にして、全てのビットライン分の
ネットリストの作成が終了するまでステップ16〜S2
6の処理を繰り返し実行し、全てのビットライン分のネ
ットリストの作成が終了するとステップS28へ進む。
In the same manner, steps 16 to S2 are performed until the netlists for all bit lines are completed.
When the process of 6 is repeatedly executed and the netlists for all bit lines are completed, the process proceeds to step S28.

【0025】ステップS28では、以上のようにして生
成された局所ネットリストのデータおよび各ブロック化
データと局所ネットリスト識別子との対応づけを示すデ
ータを用いて、デコーダ等を含めたマスクROM全体の
回路構成を記述したネットリストを作成する。すなわ
ち、各局所ネットリストをその識別子によって参照しつ
つ、各ブロック化データに対応する回路ブロックを構成
要素として、マスクROM全体の回路構成を階層的に記
述したネットリストを作成する。図3に示した例ではス
テップS28へ進んだ時点において、図4に示すよう
に、ブロック化データ[0011]、[1010]、
1111]、[0000]に対応する4種類の局所ネ
ットリストC1、C2、C3、C4が作成されており、
ステップS28では、識別子C1〜C4によりこれらの
4種類の局所ネットリストを参照しつつ図4に示す8個
の回路ブロックを構成要素としてマスクROM全体の回
路構成を階層的に記述したネットリストが作成される。
このようにして作成されたネットリストは、表示装置2
0に表示されるとともに、ハードディスク装置12に出
力され、これによりネットリストの生成処理が終了す
る。
In step S28, the data of the local netlist generated as described above and the data indicating the correspondence between each block data and the local netlist identifier are used to write the entire mask ROM including the decoder and the like. Create a netlist that describes the circuit configuration. That is, while referring to each local netlist by its identifier, a netlist in which the circuit configuration of the entire mask ROM is hierarchically described using the circuit blocks corresponding to each block data as a component is created. In the example shown in FIG. 3, at the time of proceeding to step S28, as shown in FIG. 4, the blocked data [0011], [1010],
Four types of local netlists C1, C2, C3 and C4 corresponding to [ 1111 ] and [ 0000 ] have been created,
In step S28, a netlist is created in which the circuit configuration of the entire mask ROM is hierarchically described with the eight circuit blocks shown in FIG. 4 as constituent elements while referring to these four types of local netlists by the identifiers C1 to C4. To be done.
The netlist created in this way is displayed on the display device 2.
It is displayed at 0 and is output to the hard disk device 12, whereby the netlist generation process is completed.

【0026】<効果>上記実施形態によれば、ROMコ
ード回路が所定ビット数毎にブロック化されてブロック
化データが得られ、ブロック化データの種類毎に、その
ブロック化データに対応するROMコード回路の構成を
記述した局所ネットリストが生成され、この局所ネット
リストを参照してマスクROM全体の回路が階層的に記
述される。このような階層的な記述により、ネットリス
トのデータ量を低減することができる。例えば図3に示
した構成のマスクROMに対しては、ROMコードが4
ビット毎にブロック化されて、8個のブロック化データ
が得られ、図4に示すように、これらのブロック化デー
タに対応する8個の回路ブロックのうち、2個の回路ブ
ロックは局所ネットリストC1によって示される同一の
構成を有し、他の3個の回路ブロックは局所ネットリス
トC2によって示される同一の構成を有し、さらに他の
2個の回路ブロックは局所ネットリストC4によって示
される同一の構成を有する。したがって、4種類の局所
ネットリストC1〜C4を参照する階層的な記述によ
り、8個の回路ブロックから成るROMコード回路のネ
ットリストのデータ量を、概ね、回路ブロック4個分の
データ量にまで低減することができる。
<Effect> According to the above embodiment, the ROM code circuit is divided into blocks by a predetermined number of bits to obtain the blocked data, and the ROM code corresponding to the blocked data is obtained for each type of the blocked data. A local netlist describing the circuit configuration is generated, and the circuit of the entire mask ROM is hierarchically described with reference to this local netlist. With such a hierarchical description, the amount of data in the netlist can be reduced. For example, for the mask ROM having the configuration shown in FIG. 3, the ROM code is 4
Blocking is done bit by bit to obtain eight blocked data. As shown in FIG. 4, of the eight circuit blocks corresponding to these blocked data, two circuit blocks are local netlists. C1 has the same configuration, the other three circuit blocks have the same configuration as shown by the local netlist C2, and the other two circuit blocks have the same configuration as shown by the local netlist C4. It has the configuration of. Therefore, by the hierarchical description referring to the four types of local netlists C1 to C4, the data amount of the netlist of the ROM code circuit composed of eight circuit blocks is reduced to about four circuit blocks. It can be reduced.

【0027】なお、ROMコードのブロック化の際のブ
ロックサイズは、ワード数よりも小さいワード数の約数
であって2〜16程度の範囲に入る整数のうちの最大値
となるように選定されるため、複数のブロック化データ
の種類が同一となる確率が大きく低下しない範囲で比較
的サイズの大きなブロック化データが得られる。したが
って、階層的記述によりネットリストのデータ量の大き
な削減が可能となる。
The block size when the ROM code is divided into blocks is selected to be the maximum value of integers within the range of 2 to 16 which is a divisor of the number of words smaller than the number of words. Therefore, relatively large-sized blocked data can be obtained within a range in which the probability that the types of the plurality of blocked data are the same is not significantly reduced. Therefore, the hierarchical description makes it possible to greatly reduce the data amount of the netlist.

【0028】<変形例>上記実施形態では、各ビットラ
インに対応するROMコードを複数ビット毎にブロック
化しているが、ビットラインとワードラインとを入れ替
えてブロック化を行ってもよい。すなわち、各ワードラ
インに対応するROMコードを複数ビット毎にブロック
化してもよく、その場合も上記と同様、階層的記述によ
りネットリストのデータ量を低減することができる。な
お、その場合には、ブロックサイズすなわち1ブロック
化データのビット数は、例えば、1ワードを構成するビ
ット数すなわちビット幅の約数であって2〜16程度の
範囲に入る整数のうちの最大値となるように選定すれば
よい。
<Modification> In the above embodiment, the ROM code corresponding to each bit line is divided into blocks, but the bit lines and the word lines may be replaced with each other. That is, the ROM code corresponding to each word line may be divided into blocks for each plurality of bits, and in that case as well, the data amount of the netlist can be reduced by the hierarchical description as in the above case. In that case, the block size, that is, the number of bits of one block of data is, for example, the maximum number of integers within the range of 2 to 16 that is the number of bits constituting one word, that is, the divisor of the bit width. It may be selected so that it becomes a value.

【図面の簡単な説明】[Brief description of drawings]

【図1】 本発明の一実施形態であるマスクROMデー
タ発生装置のハードウェア構成を示すブロック図。
FIG. 1 is a block diagram showing a hardware configuration of a mask ROM data generator that is an embodiment of the present invention.

【図2】 前記実施形態のマスクROMデータ発生装置
の動作のうちネットリストを生成する部分を示すフロー
チャート。
FIG. 2 is a flowchart showing a part of the operation of the mask ROM data generation device according to the embodiment, which generates a netlist.

【図3】 マスクROMにおけるROMコード回路の構
成例を示す回路図。
FIG. 3 is a circuit diagram showing a configuration example of a ROM code circuit in a mask ROM.

【図4】 図3に示すROMコード回路のブロック化を
示す図。
FIG. 4 is a diagram showing how the ROM code circuit shown in FIG. 3 is divided into blocks.

【符号の説明】[Explanation of symbols]

10 …処理装置 16 …CPU 18 …メモリ B0〜B3 …ビットライン W0〜B7 …ワードライン C1〜C4 …局所ネットリスト識別子 10 ... Processing device 16 ... CPU 18 ... Memory B0-B3 ... Bit line W0-B7 ... Word line C1 to C4 ... Local netlist identifier

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 マスクROMのROMコード、ビット幅
およびワード数を入力して、該マスクROMの回路構成
を記述したネットリストを生成する機能を有するマスク
ROMデータ発生装置において、 前記ROMコードを複数ビット毎にまとめてブロック化
データとするブロック化手段と、 ブロック化手段によって得られる各ブロック化データの
種類毎に、該ブロック化データに対応する前記マスクR
OMの回路構成を記述した局所ネットリストを作成する
局所ネットリスト作成手段と、 前記局所ネットリストを参照しつつ前記各ブロック化デ
ータに対応する回路を構成要素として前記マスクROM
の回路構成を階層的に記述した全域ネットリストを作成
する全域ネットリスト作成手段と、を備えることを特徴
とするマスクROMデータ発生装置。
1. A mask ROM data generator having a function of inputting a ROM code of a mask ROM, a bit width and the number of words to generate a netlist describing the circuit configuration of the mask ROM, wherein a plurality of ROM codes are provided. Blocking means that collects block-by-bit data collectively for each bit, and for each type of block-blocking data obtained by the block-blocking means, the mask R corresponding to the block-blocking data
Local netlist creating means for creating a local netlist describing the circuit configuration of the OM; and the mask ROM with the circuits corresponding to each of the blocked data as constituent elements while referring to the local netlist.
And an all-area netlist creating means for creating an all-area netlist in which the circuit configuration of the above is hierarchically described.
【請求項2】 請求項1に記載のマスクROMデータ発
生装置において、 前記ブロック化手段は、前記ブロック化データのビット
数を、前記ワード数よりも小さい前記ワード数の約数で
あって予め設定された値以下の整数のうちの最大値とす
ることを特徴とするマスクROMデータ発生装置。
2. The mask ROM data generator according to claim 1, wherein the blocking unit presets the number of bits of the blocked data to be a divisor of the number of words smaller than the number of words. A mask ROM data generator, wherein the maximum value is an integer less than or equal to the specified value.
JP09525996A 1996-04-17 1996-04-17 Mask ROM data generator Expired - Fee Related JP3462956B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09525996A JP3462956B2 (en) 1996-04-17 1996-04-17 Mask ROM data generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09525996A JP3462956B2 (en) 1996-04-17 1996-04-17 Mask ROM data generator

Publications (2)

Publication Number Publication Date
JPH09282350A JPH09282350A (en) 1997-10-31
JP3462956B2 true JP3462956B2 (en) 2003-11-05

Family

ID=14132777

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09525996A Expired - Fee Related JP3462956B2 (en) 1996-04-17 1996-04-17 Mask ROM data generator

Country Status (1)

Country Link
JP (1) JP3462956B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2406416A (en) 2000-10-31 2005-03-30 Advanced Risc Mach Ltd Describing an integrated circuit configuration

Also Published As

Publication number Publication date
JPH09282350A (en) 1997-10-31

Similar Documents

Publication Publication Date Title
US6026228A (en) Integrated circuit design method, database apparatus for designing integrated circuit and integrated circuit design support apparatus
US5440720A (en) Architecture and method for data reduction in a system for analyzing geometric databases
US5243538A (en) Comparison and verification system for logic circuits and method thereof
US6574786B1 (en) Gate array cell generator using cadence relative object design
US6904582B1 (en) Photomask for reducing power supply voltage fluctuations in an integrated circuit and integrated circuit manufactured with the same
US6247164B1 (en) Configurable hardware system implementing Boolean Satisfiability and method thereof
JP2001504958A (en) Method and system for configuring an array of logic devices
US6167555A (en) System and method for converting polygon-based wires of an integrated circuit design to path-based wires
US20070011637A1 (en) Method and system for performing local geometrical operation on a hierarchical layout of a semiconductor device
US6587990B1 (en) Method and apparatus for formula area and delay minimization
US7353490B2 (en) Power network synthesizer for an integrated circuit design
US6907587B2 (en) System and method for correcting connectivity errors in a mask layout file
JPH06274568A (en) Expansion method for hierarchical graphic data
US6023567A (en) Method and apparatus for verifying timing rules for an integrated circuit design
JP3462956B2 (en) Mask ROM data generator
US6321173B1 (en) System and method for efficient verification of functional equivalence between design models
US7398496B1 (en) Unified placer infrastructure
US6301694B1 (en) Hierarchical circuit partitioning using sliding windows
US5740071A (en) Method and apparatus for selective shape adjustment of hierarchical designs
JP3193167B2 (en) Logic synthesis system
Karoubalis et al. Optimal synthesis of differential cascode voltage switch (DCVS) logic circuits using ordered binary decision diagrams (OBDDs)
US5729468A (en) Reducing propagation delays in a programmable device
Kocnová et al. Resynthesis of logic circuits using machine learning and reconvergent paths
US6530063B1 (en) Method and apparatus for detecting equivalent and anti-equivalent pins
JP2892722B2 (en) How to verify figure data

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080815

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080815

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090815

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090815

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100815

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100815

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130815

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees