JPH07295852A - Logical emulator compilation method - Google Patents
Logical emulator compilation methodInfo
- Publication number
- JPH07295852A JPH07295852A JP6089454A JP8945494A JPH07295852A JP H07295852 A JPH07295852 A JP H07295852A JP 6089454 A JP6089454 A JP 6089454A JP 8945494 A JP8945494 A JP 8945494A JP H07295852 A JPH07295852 A JP H07295852A
- Authority
- JP
- Japan
- Prior art keywords
- logic
- compiling
- design data
- logical
- additional information
- 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
Links
- 238000000034 method Methods 0.000 title claims description 42
- 238000013461 design Methods 0.000 claims abstract description 63
- 238000000638 solvent extraction Methods 0.000 claims description 12
- 238000004904 shortening Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 14
- 230000006870 function Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 16
- 238000012795 verification Methods 0.000 description 7
- 239000000872 buffer Substances 0.000 description 5
- 238000005192 partition Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000007257 malfunction Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、デジタル論理システム
の論理検証を計算機で行う論理エミュレ−ションシステ
ムにおいて、特にプログラム可能な論理装置に与える論
理回路データを生成する論理コンパイル手法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a logic emulation system for performing logic verification of a digital logic system on a computer, and more particularly to a logic compiling method for generating logic circuit data to be given to a programmable logic device.
【0002】[0002]
【従来の技術】従来より、計算機の論理規模の拡大と論
理検証工数の増大に伴って、計算機の論理検証の高効率
化が求められている。これに対する解決策の1つとし
て、最近では、論理エミュレ−タを用いた論理検証手法
が提案されてきた。この手法では、論理回路のネットリ
ストを計算機に読み込み、論理コンパイルを実施し、プ
ログラム可能な論理装置のための設計データを生成す
る。このデータをプログラム可能な論理装置にローディ
ングし、プログラム可能な論理装置上にハードウェアと
して検証対象論理回路を実現する。実現された論理回路
に対してテストデータを印加し、論理の正しさを検証す
る。論理回路をハードウェアとして実現するため、従来
のソフトウェアシミュレータに比較して、十分に高速な
テストの実行が可能である。なお、論理コンパイル手法
を含む論理エミュレーション手法に関しては、例えば、
特開平2-245831号公報に記載されている「電子ハードウ
ェアシステムのエミュレーション装置」や、米国特許US
5,036,473号明細書「メソッド オブ ユージング エ
レクトロニカリ リコンフィグラブル ロジック サー
キット(Method of electronically reconfigurable log
ic circuit)」に、それぞれ詳しく記述されている。2. Description of the Related Art Conventionally, as the logic scale of a computer and the number of man-hours for logic verification increase, it is required to improve the efficiency of logic verification of a computer. As one of the solutions to this, recently, a logic verification method using a logic emulator has been proposed. In this method, a netlist of a logic circuit is read into a computer, logic compilation is performed, and design data for a programmable logic device is generated. This data is loaded into a programmable logic device, and the verification target logic circuit is realized as hardware on the programmable logic device. Test data is applied to the realized logic circuit to verify the correctness of the logic. Since the logic circuit is realized as hardware, it is possible to execute the test at a sufficiently high speed as compared with the conventional software simulator. Regarding the logic emulation method including the logic compilation method, for example,
"Electronic hardware system emulation device" described in Japanese Patent Laid-Open No. 2-245831 and US patent US
No. 5,036,473 `` Method of electronically reconfigurable log circuit
ic circuit) ”.
【0003】[0003]
【発明が解決しようとする課題】前述のように、論理エ
ミュレータを用いた論理検証方法においては、テストを
実行する際に、従来のソフトウェアシミュレータに比較
して十分に高速である。しかしながら、上記論理検証方
法の準備段階の処理に時間がかかる。すなわち、プログ
ラム可能な論理装置にローディングする設計データを生
成する論理コンパイルは、従来手法に比較してより多く
の処理時間を必要とする。これは、ソフトウェアシミュ
レータが、論理回路を計算機上にソフトウェア的に実現
すればよいのに対し、論理エミュレータではハードウェ
アとして検証対象論理回路を実現しなければならず、設
計データをロードするプログラム可能な論理装置による
以下に述べるような制約が発生するためである。すなわ
ち、従来のソフトウェアシミュレータで取り扱うことの
できた設計データをそのまま論理エミュレータに入力し
て、プログラム可能な論理装置上に実現しても、これを
動作させることは困難である。例えば、プログラム可能
な論理装置の1つであるフィールドプログラマブルゲー
トアレー(Field Programmable Gate Array 以下FPGA)
は、従来のゲートアレーに比較して容量が小さい。従っ
て、複数のFPGAを用いて論理を実現する必要があるた
め、論理分割が発生する。論理分割によりチップ間にま
たがる信号線が必要となるため、それらの信号線を伝搬
する際に遅延時間の増大を招き、誤動作の原因となる。
このような誤動作を防ぐために、従来は、論理コンパイ
ルの結果やエミュレーション実行の結果等を検査して、
設計データを変更していた。しかし、変更する際に、試
行錯誤が多くなり、動作しない場合の手戻りが多くなっ
て、適切な値に修正するまでには相当な時間がかかって
いた。その結果、論理コンパイル工数の増大を招いてい
た。本発明の目的は、このような従来の課題を解決し、
論理分割が生じても遅延時間を増大させることなく、論
理コンパイルを行って動作しない場合の手戻りを防止で
き、論理コンパイル工数を短縮することが可能な論理エ
ミュレータの論理コンパイル方法を提供することにあ
る。As described above, the logic verification method using the logic emulator is sufficiently faster than the conventional software simulator when executing the test. However, it takes time to perform the preparation process of the logic verification method. That is, logic compilation, which generates design data to load into programmable logic devices, requires more processing time than conventional approaches. This is because the software simulator has only to realize the logic circuit on a computer by software, whereas the logic emulator has to realize the logic circuit to be verified as hardware, which is programmable by loading the design data. This is because the logical device causes the following restrictions. That is, even if the design data that can be handled by the conventional software simulator is directly input to the logic emulator and realized on the programmable logic device, it is difficult to operate it. For example, Field Programmable Gate Array (FPGA), which is one of programmable logic devices.
Has a smaller capacity than the conventional gate array. Therefore, it is necessary to realize the logic by using a plurality of FPGAs, so that the logical division occurs. Since a signal line extending between chips is required due to the logical division, a delay time is increased in propagating these signal lines, which causes a malfunction.
In order to prevent such malfunctions, conventionally, the result of logic compilation or the result of emulation execution is checked,
The design data was changed. However, when changing the settings, there was a lot of trial and error, and there was a lot of rework when they did not work, and it took a considerable amount of time to correct to an appropriate value. As a result, the number of logical compilation steps has been increased. The object of the present invention is to solve such conventional problems,
To provide a logical emulator logical compiling method that can prevent a rework when logical compiling is performed and does not operate without increasing delay time even if logical division occurs and can reduce the number of logical compiling steps. is there.
【0004】[0004]
【課題を解決するための手段】上記目的を達成するた
め、本発明の論理エミュレータの論理コンパイル方法
は、(イ)ディジタル論理回路の設計デ−タを入力し、
プログラム可能な論理装置に与えるデータを生成するた
めの計算機のメモリ上に実現された論理コンパイルシス
テムにおいて、設計デ−タと合わせて、該設計データを
修正するための付加情報を用いてコンパイルすることに
より、該付加情報を基に該論理コンパイルシステムが設
計データを変更し、プログラム可能な論理装置上で動作
可能な論理回路データを生成することを特徴としてい
る。また、(ロ)付加情報として、論理分割位置の指定
情報を論理コンパイルシステムに与えることにより、該
論理コンパイルシステムが設計データを変更し、該分割
位置の指定情報に基づいて論理を分割することも特徴と
している。また、(ハ)付加情報として、論理変更の可
能性のある複数の論理回路を同一分割部分に配置するこ
とを指定した情報を、論理コンパイルシステムに与える
ことにより、該論理コンパイルシステムが設計データを
変更し、該指定情報に基づいて論理分割を行うことも特
徴としている。また、(ニ)付加情報として、信号線の
遅延時間を短縮する信号を指定する情報を、論理コンパ
イルシステムに与えることにより、該論理コンパイルシ
ステムが設計データを変更し、該指定情報に基づいて該
信号線の遅延時間を短縮することも特徴としている。ま
た、(ホ)付加情報として、信号線の遅延時間の範囲を
指定する情報を論理コンパイルシステムに与えることに
より、該論理コンパイルシステムが設計データを変更
し、該指定情報に基づいて該信号線の遅延時間を指定範
囲内に収まるようにすることも特徴としている。また、
(ヘ)付加情報として、観測信号を指定する情報を論理
コンパイルシステムに与えることにより、該論理コンパ
イルシステムが設計データを変更し、該指定情報の位置
から観測用信号線を引き出すことも特徴としている。ま
た、(ト)付加情報を設計デ−タ内に付加して同一ファ
イルとし、該ファイルから設計データと付加情報を論理
コンパイルシステムに読み込むことにより、該論理コン
パイルシステムが該付加情報に基づいて設計データを変
更することも特徴としている。さらに、(チ)付加情報
を設計デ−タとは別ファイルとし、両ファイルから設計
データと付加情報を論理コンパイルシステムに読み込む
ことにより、該論理コンパイルシステムが該付加情報に
基づいて該設計データを変更することも特徴としてい
る。In order to achieve the above object, a logic compiling method for a logic emulator according to the present invention comprises: (a) inputting design data of a digital logic circuit;
In a logic compiling system realized on a memory of a computer for generating data to be given to a programmable logic device, compiling using design information and additional information for modifying the design data. According to this, the logic compilation system changes the design data based on the additional information to generate logic circuit data operable on a programmable logic device. Further, (b) by giving the logical compilation system designation information as additional information to the logic compilation system, the logic compilation system may change the design data and divide the logic based on the division location designation information. It has a feature. In addition, (c) by providing the logic compiling system with information designating that a plurality of logic circuits having a possibility of logic change are arranged in the same divided portion as the additional information, the logic compiling system outputs the design data. It is also characterized in that it is changed and logical division is performed based on the designation information. Further, (d) as additional information, information designating a signal for shortening the delay time of the signal line is given to the logic compilation system, so that the logic compilation system changes the design data, and the logic compilation system changes the design data based on the designation information. Another feature is that the delay time of the signal line is shortened. Further, (e) by giving information for designating the range of the delay time of the signal line to the logic compilation system as additional information, the logic compilation system changes the design data, and based on the designation information, the signal line of the signal line is changed. Another feature is that the delay time is set within the specified range. Also,
(F) It is also characterized in that, as additional information, information designating an observation signal is given to the logic compilation system, the logic compilation system changes design data, and an observation signal line is extracted from the position of the designation information. . (G) By adding the additional information to the same file by adding it to the design data and reading the design data and the additional information from the file into the logical compiling system, the logical compiling system designs based on the additional information. It also features changing the data. Furthermore, (h) the additional information is made a file separate from the design data, and the design data and the additional information are read into the logical compilation system from both files, so that the logical compilation system creates the design data based on the additional information. It also features changing.
【0005】[0005]
【作用】本発明においては、論理コンパイルシステムに
設計データとは別に付加情報を与え、論理エミュレーシ
ョンシステムのユーザが持つノウハウを付加情報を通し
て反映させ、この付加情報を基にシステムが設計データ
を変更して、プログラム可能な論理装置上で動作可能な
論理回路データを生成する。すなわち、論理コンパイル
システムは付加情報を用いて、3状態素子ネットをマル
チプレクサに置換し、また遅延時間の短縮された論理回
路に変換し、論理分割位置の指定に基づいて論理分割を
行い、さらに論理変更の可能性のある論理素子を同一分
割論理に配置し、また観測信号の信号線の引き出しを行
う。この結果、論理コンパイルシステムは、プログラム
可能な論理装置上で動作可能な論理回路を生成すること
ができる。そして、予めユーザのノウハウである付加情
報を設定しておくことにより、これを設計データととも
に論理コンパイルシステムに入力するので、試行錯誤の
動作がなくなり、論理コンパイルを行って動作しない場
合の手戻りを防止することができる。その結果、論理コ
ンパイル工数を短縮することができる。In the present invention, additional information is provided to the logic compilation system separately from the design data, the know-how of the user of the logic emulation system is reflected through the additional information, and the system changes the design data based on this additional information. To generate logic circuit data operable on the programmable logic device. That is, the logic compiling system uses the additional information to replace the three-state element net with a multiplexer, convert it into a logic circuit with a reduced delay time, perform logic division based on the designation of the logic division position, and further perform logic division. Logic elements that can be changed are arranged in the same division logic, and the signal line of the observation signal is drawn out. As a result, the logic compilation system can generate a logic circuit operable on a programmable logic device. Then, by setting the additional information, which is the know-how of the user, in advance, this is input to the logic compiling system together with the design data, so trial and error operations are eliminated, and there is a rework in the case where the logic compiling does not work. Can be prevented. As a result, the number of logical compilation steps can be shortened.
【0006】[0006]
【実施例】以下、本発明の一実施例を、図面を用いて説
明する。図1は、本発明の一実施例を示す論理コンパイ
ルシステムのソフトウェア構成図である。本発明の論理
コンパイルシステムは、大きく論理生成処理100と配置
・配線処理150より構成される。さらに論理生成処理100
は、ゲート割当機能120と論理分割機能130より成る。ゲ
ート割当機能120は、論理コンパイルシステムの入力と
なる設計データファイル110の設計データと、後に詳細
に述べる設計データに対する付加情報とを基に、論理コ
ンパイルシステムが持つ素子ライブラリ124に登録され
た素子の割り当てを行う。本発明で新たに設けられた設
計データに対する付加情報は、設計データファイル110
内に設計データと共に記述する場合と、設計データとは
別に付加情報ファイル111に記述する場合とがある。図
1では、後者の場合が示されている。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a software configuration diagram of a logic compilation system showing an embodiment of the present invention. The logic compiling system of the present invention mainly comprises a logic generation process 100 and a placement / wiring process 150. Further logic generation processing 100
Is composed of a gate allocation function 120 and a logical division function 130. The gate allocation function 120 is based on the design data of the design data file 110 which is an input of the logic compilation system and the additional information to the design data which will be described later in detail, and stores the elements registered in the element library 124 included in the logic compilation system. Make an assignment. The additional information for the design data newly provided in the present invention is the design data file 110.
In some cases, it is described together with the design data, and in other cases, it is described in the additional information file 111 separately from the design data. In FIG. 1, the latter case is shown.
【0007】ゲート割当機能120は、付加情報で指定さ
れた論理を実現するために、マルチプレクサ置換プログ
ラム121、遅延時間短縮プログラム122、信号観測プログ
ラム123の3種類のプログラムを具備している。各プロ
グラム121,122,123の機能については後に詳細に述べ
る。一方、論理分割機能130は、素子割当の完了した設
計データを、プログラム可能なハードウェアの容量に応
じて分割する。論理分割機能130は、付加情報で指定さ
れた論理を実現するために、論理変更の可能性のある論
理の同一クラスタへの配置プログラム131と、分割ネッ
ト指定に基づく論理分割プログラム132とを持つ。ここ
で、同一クラスタとは、分割して得られる同一グループ
内の複数の論理素子のまとまりを指す。論理生成処理10
0の結果は、ゲート割当て・論理分割結果設計データフ
ァイル140に出力される。出力された上記データを配置
・配線処理150で処理し、最終的にプログラム可能な論
理装置にロードするデータを作成して、プログラマブル
・ロジック・デバイス用データファイル160に出力す
る。The gate allocation function 120 is provided with three types of programs, that is, a multiplexer replacement program 121, a delay time reduction program 122, and a signal observation program 123 in order to realize the logic specified by the additional information. The function of each program 121, 122, 123 will be described in detail later. On the other hand, the logical partitioning function 130 partitions the design data whose element allocation is completed according to the capacity of programmable hardware. The logical partitioning function 130 has a program 131 for arranging logics that can be logically changed in the same cluster, and a logical partitioning program 132 based on the partitioning net designation in order to realize the logic designated by the additional information. Here, the same cluster refers to a group of a plurality of logic elements in the same group obtained by division. Logic generation processing 10
The result of 0 is output to the gate allocation / logical division result design data file 140. The output data is processed by the placement / wiring processing 150 to finally create data to be loaded into the programmable logic device and output to the programmable logic device data file 160.
【0008】次に、図2から図7までの図を用いて、付
加情報の例と対応する論理について説明する。図2より
図6までは、設計データと付加情報を同一ファイルに記
述した例である。また、図7は付加情報を設計データと
は別に付加情報ファイル111に記述した例である。図2
は、図1におけるマルチプレクサ置換の付加情報例を示
した図である。図2(a)は、ネットリストにマルチプレ
クサ置換のための付加情報を追加した例である。設計デ
ータファイル110に格納された設計データは、図2(a)に
示すネットリストの形式を持つ。図2(a)のネットリス
トは、図2(b)の論理回路に対応する。図2(a)におい
て、記述block A200とend201は、その間に記述された論
理が1つの塊であり、階層を形成することを表現してい
る。G1:Tri-state buffer;210の記述は、素子G1が3状
態素子のバッファであることを表現している。記述1=a,
2=b, 3=X; 211は、それぞれ素子G1の端子1に信号aが接
続し、端子2に信号bが接続し、端子3に信号Xが接続す
ることを意味する。記述attri(MUX);が付加情報の例で
あり、マルチプレクサの一部として、素子G1を置換する
ことを指定している。図2(c)は、図2(b)の論理回路を
マルチプレクサに置換した結果である。Next, the logic corresponding to the example of the additional information will be described with reference to FIGS. 2 to 7. 2 to 6 are examples in which the design data and the additional information are described in the same file. Further, FIG. 7 is an example in which the additional information is described in the additional information file 111 separately from the design data. Figure 2
FIG. 3 is a diagram showing an example of additional information for multiplexer replacement in FIG. 1. FIG. 2A shows an example in which additional information for multiplexer replacement is added to the netlist. The design data stored in the design data file 110 has a netlist format shown in FIG. The netlist of FIG. 2 (a) corresponds to the logic circuit of FIG. 2 (b). In FIG. 2A, the description blocks A200 and end201 represent that the logic described between them is one block and forms a hierarchy. The description of G1: Tri-state buffer; 210 represents that the element G1 is a buffer of three-state elements. Description 1 = a,
2 = b, 3 = X; 211 means that the signal a is connected to the terminal 1 of the element G1, the signal b is connected to the terminal 2, and the signal X is connected to the terminal 3, respectively. The description attri (MUX); is an example of additional information, and specifies that the element G1 is replaced as part of the multiplexer. FIG. 2C shows the result of replacing the logic circuit of FIG. 2B with a multiplexer.
【0009】図3は、論理分割位置の指定例を示す図で
ある。図3(a)は、図3(b)の論理回路図をネットリスト
表現したものである。その記述方法は、図2(a)と同様
である。図3(b)の破線310の箇所で論理分割を行う場
合、図3(a)の記述ではattri(cut; Z)301とattri(cut;
Z)302により指定する。図3(c)に、分割指定に基づいた
分割結果を示す。chip M320とchip N321に論理が分割さ
れている。さらに、分割された信号Zの信号線上には、
チップ間の信号の授受を行うためのバッファ322、323を
挿入する。これにより、信号の遅延を防止する。図4
は、本発明の論理分割時に同一分割論理に格納され、論
理変更の可能性のある論理回路の指定例を示した図であ
る。図4(a)のネットリストの記述方法は、図2(a)の記
述方法と同様である。図4(a)のネットリストは、図4
(b)の論理回路を表現したものである。図4(a)におい
て、記述attri(modify:1)401によりFF1 402とFF2 403と
G1 404は同一の分割論理に格納することを指定する。分
割結果を図4(c)に示す。FF1 402とFF2 403とG1 404
は、同一のチップであるChip mod410に格納された。こ
の指定は、修正の可能性のある論理を一箇所に集めるの
に有効である。すなわち、変更すべき論理素子が種々の
チップに分離されると処理がし難いので、予め変更する
可能性のある論理素子を同一チップにまとめておくこと
が望ましい。また、例えば1つに集められた論理を信号
観測の容易性を考慮したハードウェア上に実現すれば、
観測信号411等を容易に引き出せる。その他、ハードウ
ェア上に実現された論理の変更箇所が集中するので、論
理変更も容易になる。FIG. 3 is a diagram showing an example of specifying a logical division position. FIG. 3A is a netlist representation of the logic circuit diagram of FIG. 3B. The description method is the same as that in FIG. When logical division is performed at the broken line 310 in FIG. 3B, attri (cut; Z) 301 and attri (cut;
Z) Specify by 302. FIG. 3C shows a division result based on the division designation. The logic is divided into chip M320 and chip N321. Furthermore, on the signal line of the divided signal Z,
Buffers 322 and 323 for transmitting and receiving signals between chips are inserted. This prevents signal delay. Figure 4
FIG. 6 is a diagram showing an example of designating a logic circuit which is stored in the same division logic and has a possibility of logic change during the logic division of the present invention. The description method of the netlist of FIG. 4A is the same as the description method of FIG. The netlist of FIG. 4 (a) is shown in FIG.
This is a representation of the logic circuit in (b). In FIG. 4 (a), FF1 402 and FF2 403 are added by the description attri (modify: 1) 401.
G1 404 specifies to store in the same division logic. The division result is shown in FIG. FF1 402 and FF2 403 and G1 404
Were stored in the same chip, Chip mod 410. This designation is useful for gathering potentially modifiable logic in one place. That is, since it is difficult to process when the logic element to be changed is separated into various chips, it is desirable to combine the logic elements that may be changed in advance in the same chip. Further, if the logics collected as one are realized on the hardware considering the easiness of signal observation,
The observation signal 411 etc. can be easily extracted. In addition, since the change points of the logic realized on the hardware are concentrated, the logic change is easy.
【0010】図5は、本発明における論理回路の遅延時
間の指定例を示す図である。図5(a)のネットリストの
記述方法は、図2(a)の記述と同様である。図5(a)のネ
ットリストは、図5(b)の論理回路を表現したものであ
る。図5(a)の記述attri(mindelay: OUT1-a); 501は、
出力信号OUT1と入力信号aとの間の遅延時間の短縮を指
定する。また、記述attri(delay value : 20-30 : d-OU
T1); 502は、入力信号dと出力信号OUT1の間の遅延時間
が20から30単位時間の間におさまるようにすることを指
定する。この指定に基づいて処理した結果が、図5(c)
である。ただし、図5(c)では、OUT1 522とd521の間の
遅延時間を25単位時間と仮定した。出力信号OUT1 522と
入力信号a523との間の遅延時間を短縮するために、素子
G2 510とG3 511は、まとめられて複合ゲート素子G2' 52
0に置換されている。一方、出力信号OUT1 522とd521の
間の遅延時間は25単位時間であり、指定した制約条件に
おさまっているため、論理回路は図5(b)と図5(c)との
間で変化はない。図6は、本発明における観測信号の指
定例を示す図である。図6(a)のネットリストの記述方
法は、図2(a)と同様である。図6(a)のネットリスト
は、図6(b)の論理回路を表現したものである。図6(a)
の記述attri(observe:Y)601は、信号Y610を観測するこ
とを指定する。図6(a)の指定に基づいて処理した結果
を、図6(c)に示す。信号Y610の状態を観測するため
に、チップChip M620の外に信号線を引き出す。この
時、出力バッファ621を挿入する。FIG. 5 is a diagram showing an example of specifying the delay time of the logic circuit according to the present invention. The description method of the netlist of FIG. 5A is the same as the description of FIG. 2A. The netlist in FIG. 5A represents the logic circuit in FIG. 5B. The description attri (mindelay: OUT1-a); 501 in FIG.
Specifies the reduction of the delay time between the output signal OUT1 and the input signal a. Also, the description attri (delay value: 20-30: d-OU
T1); 502 specifies that the delay time between the input signal d and the output signal OUT1 should be between 20 and 30 unit times. The result of processing based on this designation is shown in Fig. 5 (c).
Is. However, in FIG. 5 (c), the delay time between OUT1 522 and d521 is assumed to be 25 unit time. In order to reduce the delay time between the output signal OUT1 522 and the input signal a523,
G2 510 and G3 511 are combined into a composite gate device G2 '52
It has been replaced by 0. On the other hand, since the delay time between the output signals OUT1 522 and d521 is 25 unit time, which is within the specified constraint condition, the logic circuit does not change between FIG. 5 (b) and FIG. 5 (c). Absent. FIG. 6 is a diagram showing an example of designation of observation signals in the present invention. The description method of the netlist of FIG. 6A is the same as that of FIG. 2A. The netlist of FIG. 6 (a) expresses the logic circuit of FIG. 6 (b). Figure 6 (a)
The description attri (observe: Y) 601 specifies that the signal Y610 is to be observed. The result of processing based on the designation of FIG. 6 (a) is shown in FIG. 6 (c). In order to observe the state of the signal Y610, a signal line is pulled out of the chip Chip M620. At this time, the output buffer 621 is inserted.
【0011】図7は、本発明による設計データの付加情
報を、付加情報ファイルとして読み込む場合の記述例を
示す図である。ここでは、図2〜図6の場合と同一の付
加情報を、設計データファイルとは別の付加情報ファイ
ルとして設定した場合を示している。記述mux;701は、
指定する素子をマルチプレクサに置換することを示す。
記述block A:G1,G2,G3,G4;711は、マルチプレクサに置
換する素子としてblockAのG1,G2,G3,G4を指定する。記
述partition;720は、論理分割に関する指定である。記
述cut : block B: Z; 721は、block Bの信号Zで論理分
割を行うことを指定する。同様にmodify : block C:FF
1,FF2,G1;722は、FF1とFF2とG1は同一の分割論理に格納
することを指定する。また、記述delay;731は、遅延時
間に関する指定である。記述mindelay block D:OUT1-a
732は、出力信号OUT1と入力信号aとの間の遅延時間の短
縮を指定する。記述delay time:block D:20-30 OUT1-d;
733は、出力信号OUT1と入力信号dとの間の遅延時間を2
0から30単位時間の間におさまるようにすることを指定
する。記述observe;741は、信号の観測を指定し、記述b
lock D:Y742は、block Dの信号Yを観測することを指定
する。FIG. 7 is a diagram showing a description example when the additional information of the design data according to the present invention is read as an additional information file. Here, the case where the same additional information as in the cases of FIGS. 2 to 6 is set as an additional information file different from the design data file is shown. The description mux; 701 is
Indicates that the specified element is replaced with a multiplexer.
The description block A: G1, G2, G3, G4; 711 specifies G1, G2, G3, G4 of block A as elements to be replaced by the multiplexer. Description partition; 720 is a specification regarding logical partitioning. The description cut: block B: Z; 721 specifies that signal Z of block B is to be logically divided. Similarly modify: block C: FF
1, FF2, G1; 722 specifies that FF1, FF2 and G1 are stored in the same division logic. Also, the description delay; 731 is a designation regarding the delay time. Description min delay block D: OUT1-a
732 specifies reduction of the delay time between the output signal OUT1 and the input signal a. Description delay time: block D: 20-30 OUT1-d;
The 733 sets the delay time between the output signal OUT1 and the input signal d to 2
Specifies to fit within 0 to 30 credit hours. The description observe; 741 specifies the observation of the signal and the description b
lock D: Y742 specifies that the signal Y of block D is observed.
【0012】図8は、図1に示す論理生成処理の詳細を
PAD図に示した図である。論理生成処理100では、ゲート
割当て機能120を実行後、論理分割機能130を実行する。
ゲート割当て機能120では、入力されたネットリストを
検索し、論理コンパイルシステムで用意したライブラリ
素子124に置換可能な部分ネットリストを置換する。こ
の置換処理は、ネットリストの素子変換プログラム810
で行う。本手法については、例えば先に挙げた米国特許
US5,036,473号明細書に詳しく記述されている。次に、
一度割り当てられた素子をこれまでに述べた付加情報を
基に変更し、ネットリストの局所的な変換を行う。マル
チプレクサ割当プログラム121では、図2(b)の論理を図
2(c)に示す論理回路に変換する。次の遅延時間短縮プ
ログラム122では、付加情報に基づき信号線の遅延時間
の短縮を行う。この手法については、例えばクリューワ
ー アカデミック パブリッシャー(Kluwer Academic P
ublishere)発行「フィールド プログラマブル ゲート
アレー(Field Programmable Gate Array」に詳しく記述
されている。また、付加情報で指定された信号線の遅延
時間の評価を行い、指定された範囲内に遅延時間が収ま
るか否かの検査を行う。ゲート割当て機能120の最後
は、信号観測処理プログラム123である。出力端子、出
力用バッファのネットリストを追加し、観測信号をハー
ドウェアの入出力端子にまで引き出す。FIG. 8 shows details of the logic generation process shown in FIG.
It is the figure shown in the PAD figure. In the logic generation process 100, after the gate allocation function 120 is executed, the logic division function 130 is executed.
The gate allocation function 120 searches the input netlist and replaces the replaceable partial netlist with the library element 124 prepared by the logic compilation system. This replacement process is performed by the netlist element conversion program 810.
Done in. This method is described, for example, in the US patents listed above.
It is described in detail in US Pat. No. 5,036,473. next,
The element once allocated is changed based on the additional information described above, and the netlist is locally converted. The multiplexer allocation program 121 converts the logic shown in FIG. 2B into the logic circuit shown in FIG. In the next delay time reduction program 122, the delay time of the signal line is reduced based on the additional information. This method is described in, for example, Kluwer Academic Publisher (Kluwer Academic P
ublishere) Issued "Field Programmable Gate Array" for details. Also, the delay time of the signal line specified by the additional information is evaluated to see if the delay time falls within the specified range. At the end of the gate allocation function 120 is the signal observation processing program 123. An output terminal and a netlist of an output buffer are added, and the observation signal is drawn to the input / output terminals of the hardware.
【0013】ゲート割当て機能120を実行した後は、論
理分割機能130を実行する。論理分割機能130では、クラ
スタ作成プログラム131を実行した後、論理分割実行プ
ログラム132を実行する。ここでクラスタとは、分割し
て得られる複数の論理の各々を指す。クラスタ作成プロ
グラム131では、論理変更の可能性のある論理として指
定された素子を同一クラスタへ配置し、分割ネットの指
定を基に異なるクラスタに素子を配置し、最後に残った
素子について、コスト関数の計算結果を基にクラスタへ
の配置を行う。ここでコスト関数とは、論理分割後のク
ラスタ間のネット数等を基に計算される。コスト関数を
用いることにより、クラスタ間のネット数が少ない論理
分割が可能である。コスト関数に基づく論理分割手法に
ついては、例えば先に挙げた米国特許US5,036,473号明
細書に詳しく記述されている。以上のステップを踏むこ
とにより、論理生成が実行できる。なお、これまでに説
明した実施例では、付加情報を論理生成処理で利用する
方法を示したが、同様に配置・配線処理でも利用が可能
である。After executing the gate allocation function 120, the logical partitioning function 130 is executed. The logical partitioning function 130 executes the cluster creating program 131 and then the logical partitioning execution program 132. Here, the cluster refers to each of a plurality of logics obtained by division. In the cluster creation program 131, the elements designated as logics whose logic may change are placed in the same cluster, the elements are placed in different clusters based on the designation of the split net, and the cost function is applied to the last remaining element. It is arranged in the cluster based on the calculation result of. Here, the cost function is calculated based on the number of nets between clusters after logical division. By using the cost function, logical partitioning with a small number of nets between clusters is possible. The logical partitioning method based on the cost function is described in detail, for example, in the above-mentioned US Pat. No. 5,036,473. Logic generation can be executed by taking the above steps. In the embodiments described so far, the method of using the additional information in the logic generation processing has been described, but the additional information can be used in the layout / wiring processing as well.
【0014】[0014]
【発明の効果】以上説明したように、本発明によれば、
付加情報を用いることにより、プログラム可能な論理装
置上で動作可能な論理回路を実現できる。その場合、論
理エミュレーションシステムのユーザの持つノウハウを
付加情報を通して反映できるため、あらかじめ付加情報
を設定しておくことにより、論理コンパイルを行い動作
しない場合の手戻りを防ぐことができるので、試行錯誤
がなくなり論理コンパイル工数を短縮することができ
る。As described above, according to the present invention,
By using the additional information, a logic circuit operable on a programmable logic device can be realized. In that case, since the know-how possessed by the user of the logic emulation system can be reflected through the additional information, by setting the additional information in advance, it is possible to prevent a rework when the logical compilation is performed and the operation does not occur. It is possible to shorten the logical compilation man-hours.
【図1】本発明の一実施例を示す論理コンパイルシステ
ムの構成図である。FIG. 1 is a configuration diagram of a logic compilation system showing an embodiment of the present invention.
【図2】本発明における論理回路のマルチプレクサ置換
指定の一例を示す図である。FIG. 2 is a diagram showing an example of a multiplexer replacement designation of a logic circuit according to the present invention.
【図3】本発明における論理回路の分割位置の指定の一
例を示す図である。FIG. 3 is a diagram showing an example of designation of division positions of a logic circuit according to the present invention.
【図4】本発明の論理回路の分割において、同一分割部
分に入る論理変更の可能性のある論理回路の指定を示す
図である。FIG. 4 is a diagram showing designation of a logic circuit having a possibility of changing logic in the same division portion in division of the logic circuit of the present invention.
【図5】本発明において、論理回路の遅延時間の短縮の
指定の一例を示す図である。FIG. 5 is a diagram showing an example of designation of reduction of delay time of a logic circuit in the present invention.
【図6】本発明における論理回路の観測信号の指定の一
例を示す図である。FIG. 6 is a diagram showing an example of designation of observation signals of a logic circuit according to the present invention.
【図7】本発明において、論理回路の付加情報を別ファ
イルとして読み込む場合の指定の一例を示す図である。FIG. 7 is a diagram showing an example of designation when reading additional information of a logic circuit as a separate file in the present invention.
【図8】本発明の論理生成処理の処理手順のPAD図の一
例図である。FIG. 8 is an example of a PAD diagram of a processing procedure of logic generation processing of the present invention.
100・・・論理生成処理、110・・・設計データファイ
ル、111・・・付加情報ファイル、120・・・ゲート割当
機能、121・・・マルチプレクサゲート置換プログラ
ム、122・・・論理段数短縮プログラム、123・・・信号
観測プログラム、124・・・素子ライブラリ、130・・・
論理分割機能、131・・・論理変更の可能性のある論理
の同一クラスタへの配置プログラム、132・・・分割ネ
ット指定に基づく論理分割プログラム、140・・・ゲー
ト割当て・論理分割結果設計データファイル、150・・
・配置・配線処理、160・・・プログラマブル・ロジッ
ク・デバイス用データファイル。100 ... Logic generation processing, 110 ... Design data file, 111 ... Additional information file, 120 ... Gate allocation function, 121 ... Multiplexer gate replacement program, 122 ... Logic stage reduction program, 123 ・ ・ ・ Signal observation program, 124 ・ ・ ・ Device library, 130 ・ ・ ・
Logical partitioning function, 131 ... Arrangement program for logic with possibility of logical change in the same cluster, 132 ... Logical partitioning program based on partition net designation, 140 ... Gate allocation / logical partitioning result design data file , 150 ...
・ Placement / wiring processing, 160 ・ ・ ・ Data file for programmable logic device.
Claims (8)
し、プログラム可能な論理装置に与えるデータを生成す
るための計算機のメモリ上に実現された論理コンパイル
システムにおいて、 設計デ−タと合わせて、該設計データを修正するための
付加情報を用いてコンパイルすることにより、該付加情
報を基に該論理コンパイルシステムが設計データを変更
し、プログラム可能な論理装置上で動作可能な論理回路
データを生成することを特徴とする論理エミュレ−タの
論理コンパイル方法。1. A logic compilation system realized on a memory of a computer for inputting design data of a digital logic circuit and generating data to be given to a programmable logic device, together with the design data. , By compiling using the additional information for modifying the design data, the logic compiling system changes the design data based on the additional information to generate logic circuit data operable on a programmable logic device. A logical compiling method of a logical emulator characterized by generating.
理コンパイル方法において、前記付加情報として、論理
分割位置の指定情報を論理コンパイルシステムに与える
ことにより、該論理コンパイルシステムが設計データを
変更し、該分割位置の指定情報に基づいて論理を分割す
ることを特徴とする論理エミュレ−タの論理コンパイル
方法。2. The logic compiling method for a logic emulator according to claim 1, wherein, as the additional information, logical partitioning position designation information is given to the logical compiling system, whereby the logical compiling system changes design data, A logic compiling method of a logic emulator, characterized in that logic is divided based on designation information of the division position.
理コンパイル方法において、前記付加情報として、論理
変更の可能性のある複数の論理回路を同一分割部分に配
置することを指定した情報を、論理コンパイルシステム
に与えることにより、該論理コンパイルシステムが設計
データを変更し、該指定情報に基づいて論理分割を行う
ことを特徴とする論理エミュレ−タの論理コンパイル方
法。3. The logic compiling method for a logic emulator according to claim 1, wherein the additional information is information designating that a plurality of logic circuits having a possibility of logic change are arranged in the same divided portion. A logical compiling method for a logical emulator, characterized in that the logical compiling system changes design data by giving it to a compiling system and logically divides it based on the designation information.
理コンパイル方法において、前記付加情報として、信号
線の遅延時間を短縮する信号を指定する情報を、論理コ
ンパイルシステムに与えることにより、該論理コンパイ
ルシステムが設計データを変更し、該指定情報に基づい
て該信号線の遅延時間を短縮することを特徴とする論理
エミュレ−タの論理コンパイル方法。4. The logic compiling method of the logic emulator according to claim 1, wherein, as the additional information, information for designating a signal for shortening a delay time of a signal line is given to a logic compiling system to perform the logic compiling. A logic compiling method of a logic emulator, wherein a system changes design data and shortens a delay time of the signal line based on the designation information.
理コンパイル方法において、前記付加情報として、信号
線の遅延時間の範囲を指定する情報を論理コンパイルシ
ステムに与えることにより、該論理コンパイルシステム
が設計データを変更し、該指定情報に基づいて該信号線
の遅延時間を指定範囲内に収まるようにすることを特徴
とする論理エミュレ−タの論理コンパイル方法。5. The logic compiling method for a logic emulator according to claim 1, wherein the additional information is information designating a range of delay time of a signal line to the logical compiling system to design the logical compiling system. A logic compiling method for a logic emulator, characterized in that data is changed so that a delay time of the signal line falls within a designated range based on the designated information.
理コンパイル方法において、前記付加情報として、観測
信号を指定する情報を論理コンパイルシステムに与える
ことにより、該論理コンパイルシステムが設計データを
変更し、該指定情報の位置から観測用信号線を引き出す
ことを特徴とする論理エミュレ−タの論理コンパイル方
法。6. The logic compiling method for a logic emulator according to claim 1, wherein, as the additional information, information designating an observation signal is given to the logic compiling system so that the logic compiling system changes design data, A logic compiling method for a logic emulator, characterized in that an observation signal line is extracted from the position of the designated information.
理コンパイル方法において、前記付加情報を設計デ−タ
内に付加して同一ファイルとし、該ファイルから設計デ
ータと付加情報を論理コンパイルシステムに読み込むこ
とにより、該論理コンパイルシステムが該付加情報に基
づいて設計データを変更することを特徴とする論理エミ
ュレ−タの論理コンパイル方法。7. The logic compiling method for a logic emulator according to claim 1, wherein the additional information is added to the design data to form the same file, and the design data and the additional information are read from the file into the logical compilation system. Accordingly, the logic compiling system modifies the design data based on the additional information, whereby the logic compiling method of the logic emulator.
理コンパイル方法において、前記付加情報を設計デ−タ
とは別ファイルとし、両ファイルから設計データと付加
情報を論理コンパイルシステムに読み込むことにより、
該論理コンパイルシステムが該付加情報に基づいて該設
計データを変更することを特徴とする論理エミュレ−タ
の論理コンパイル方法。8. The logic compiling method for a logic emulator according to claim 1, wherein the additional information is a file separate from the design data, and the design data and the additional information are read from both files into a logical compiling system.
A logic compiling method for a logic emulator, wherein the logic compiling system changes the design data based on the additional information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6089454A JPH07295852A (en) | 1994-04-27 | 1994-04-27 | Logical emulator compilation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6089454A JPH07295852A (en) | 1994-04-27 | 1994-04-27 | Logical emulator compilation method |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07295852A true JPH07295852A (en) | 1995-11-10 |
Family
ID=13971151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6089454A Pending JPH07295852A (en) | 1994-04-27 | 1994-04-27 | Logical emulator compilation method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07295852A (en) |
-
1994
- 1994-04-27 JP JP6089454A patent/JPH07295852A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6080204A (en) | Method and apparatus for contemporaneously compiling an electronic circuit design by contemporaneously bipartitioning the electronic circuit design using parallel processing | |
US8775986B1 (en) | Software debugging of synthesized hardware | |
US5737234A (en) | Method of optimizing resource allocation starting from a high level block diagram | |
US8694931B1 (en) | Systems and methods for super-threading of integrated circuit design programs | |
JP3809727B2 (en) | Information processing system, circuit information management method, and circuit information storage device | |
US7185293B1 (en) | Universal hardware device and method and tools for use therewith | |
US20070283311A1 (en) | Method and system for dynamic reconfiguration of field programmable gate arrays | |
JP2005182654A (en) | Reconfigurable circuit, processing device having reconfigurable circuit, function determination method of logic circuit in reconfigurable circuit, circuit generation method and circuit | |
US6226777B1 (en) | Method and system for improving the performance of a circuit design verification tool | |
US7484186B2 (en) | Method for designing a system LSI | |
JP2003518666A (en) | A method for implementing physical design for dynamically reconfigurable logic circuits. | |
CN108140067B (en) | Method and system for circuit design optimization | |
US7007261B1 (en) | Translation of an electronic integrated circuit design into hardware description language using circuit description template | |
US5912819A (en) | Method for designing an architectural system | |
WO2006046711A1 (en) | Data processing device having reconfigurable logic circuit | |
US7917876B1 (en) | Method and apparatus for designing an embedded system for a programmable logic device | |
JP2018531457A6 (en) | Interactive multi-step physical synthesis | |
US5574655A (en) | Method of allocating logic using general function components | |
JPH10256383A (en) | Semiconductor device and circuit constitution method thereof | |
US7139995B1 (en) | Integration of a run-time parameterizable core with a static circuit design | |
JPH07295852A (en) | Logical emulator compilation method | |
US20040143813A1 (en) | System development supporting apparatus, system development supporting method, and computer-readable recorded medium | |
JP2002269162A (en) | Action synthesizing method | |
JP4642304B2 (en) | General purpose hardware devices and methods and tools used therewith | |
Charaf et al. | Amah-flex: A modular and highly flexible tool for generating relocatable systems on fpgas |