WO2004061722A1 - 論理シミュレーション装置 - Google Patents

論理シミュレーション装置 Download PDF

Info

Publication number
WO2004061722A1
WO2004061722A1 PCT/JP2002/013823 JP0213823W WO2004061722A1 WO 2004061722 A1 WO2004061722 A1 WO 2004061722A1 JP 0213823 W JP0213823 W JP 0213823W WO 2004061722 A1 WO2004061722 A1 WO 2004061722A1
Authority
WO
WIPO (PCT)
Prior art keywords
processor
processors
logic
logic simulation
simulation
Prior art date
Application number
PCT/JP2002/013823
Other languages
English (en)
French (fr)
Inventor
Hiroaki Komatsu
Hirofumi Hamamura
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP2002/013823 priority Critical patent/WO2004061722A1/ja
Priority to JP2004564447A priority patent/JPWO2004061722A1/ja
Publication of WO2004061722A1 publication Critical patent/WO2004061722A1/ja
Priority to US11/166,156 priority patent/US7516059B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Definitions

  • the present invention relates to a simulation method for large-scale logic circuits, and more particularly, to a distributed massively parallel processor system for executing simulation at a logic block level for the purpose of high-speed simulation of large-scale digital circuits having tens of millions of gates or more. And a cycle-based logic simulation apparatus.
  • the simulation algorithm is executed by replacing the circuit model with the instruction of the processor.
  • the processing speed is slower than the FPGA method that simulates the actual hardware circuit
  • the setup time of the circuit model is The feature is that it is short and the number of processors can be increased to improve performance and increase capacity.
  • Processor-type dedicated hardware for simulation is basically divided into a level sort method and an event method.
  • a level number is assigned based on the external input terminal of a circuit to be subjected to logic verification or the number of stages from a storage element, and simulations are executed one after another according to the level number. By performing the simulation, the calculation is performed for all gates regardless of whether the output of the gate corresponding to this level number has changed.
  • event-driven that is, a change in the input signal is used as an event, and the output of the gate is evaluated in response to the event.
  • the output changes the change is transmitted as an event in the circuit.
  • the calculation for the gate is performed in order.
  • Dedicated hardware that executes simulation at the logical block level based on an algorithm that combines the level sorting method and the event method has also been announced.However, the present invention is directed to a logic simulation device that employs the level sorting method. I do. Since dedicated hardware based on such a level sorting method cannot handle delay time, all of them are cycle-based simulators for synchronous circuits.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2000-366737 "Method Using Electrically Reconfigurable Gate Array Logic and Apparatus Constructed Therewith"
  • Patent Document 3 Patent Document 3
  • Patent Document 1 an electrically reconfigurable gate array is connected through a reconfigurable interconnect, and the digital network realized on the interconnect chip is changed by the reconfiguration of the connection.
  • a system is disclosed that fits various purposes, including simulation, prototyping, and execution planning.
  • Patent Document 2 as a connection topology for a massively parallel computer, a second kind of node is connected with respect to a certain dimension to a first kind of node connected by a link in an n-dimensional mesh shape A coupling scheme is disclosed.
  • Patent Document 3 a plurality of substantially identical processor elements, which are flexibly interconnected so as to form a cluster via a switch, are employed as a programmable accelerator, that is, a programmatic logic simulation apparatus.
  • An accelerator that is programmable is disclosed.
  • the level sort method is theoretically the oldest method, but it requires calculations for all gates corresponding to levels as described above. It is considered that it is difficult to make a practically usable scale device for the purpose of applying it to the logic simulation of a large-scale digital circuit consisting of tens of millions of gates or more. Was.
  • a processor that performs calculations, that is, evaluations, and a processor that performs communication between processors are generally separated. That is, there is a problem that the processor group for parallel processing and the communication network are separated, and the communication distance between the processors has a difference. .
  • Figures 14 and 15 are illustrations of this problem.
  • Figure 14 shows the configuration of a conventional logic simulation device, in which the processor group and the network are separated.
  • Simulation involves logical operations, that is, evaluation and the updating work accompanying the evaluation.
  • evaluation is performed in a divided and parallel manner.
  • a network for propagation processing is required to notify other processors of the results because processors as evaluation units that use the evaluation results are distributed.
  • the result of the evaluation of each processor is propagated to the processor which needs the result, and then the next operation is started. Therefore, the performance of the system is determined by two factors, the evaluation speed and the propagation speed. If the propagation speed is low, the overall system speed will decrease.
  • FIG. 15 is an explanatory diagram of the propagation of the evaluation result between the processors.
  • the propagation of the evaluation result of processor 0 PE 0
  • the propagation speed of the entire system is determined by the time required for propagating the evaluation result to the distant processor PEn.
  • Various measures have been devised to reduce the effect of the propagation time, for example, by using thinning and overlapping.
  • the number of processors is significantly increased to perform large-scale data processing, it is becoming difficult to improve the propagation speed due to physical constraints of hardware. Disclosure of the invention
  • FIG. 1 is a block diagram showing the principle configuration of the present invention. This figure is a block diagram of the principle configuration of a simulation device that executes a cycle-based logic simulation using a level sort and a compilation method.
  • a logic simulation device 1 includes a large number of processors 2. Each processor 2 can execute both an evaluation process 3 for executing a simulation using a logic block corresponding to one or more gates as an evaluation unit and a communication process 4 with another processor. .
  • the aforementioned logic blocks may be comprised of one or more gates in a hard-wireable form.
  • processors 2 are divided into processor groups each constituted by a plurality of processors, and the plurality of processor groups are interconnected in a hierarchical tree shape to form a cluster.
  • a logic simulation device is composed of a plurality of clusters.
  • the processors in the processor group are fully coupled to each other.
  • the processor groups in the same hierarchy are completely connected to each other in the lower hierarchy of the hierarchical ll shape, and the processor group of the highest hierarchy in each of a plurality of clusters is also connected. It can also be logically fully interconnected with the highest level processor group in another cluster.
  • each processor group may include an input / output processor for controlling input / output of memory data and an external input / output pattern corresponding to each processor constituting the group.
  • trace data storage means for storing simulation trace data and external input signal patterns
  • small-capacity data storage means corresponding to a cache memory. It is also possible to provide a large-capacity data storage unit corresponding to the main storage corresponding to each processor group belonging to the upper side of the tree shape.
  • the above-described distributed massively parallel architecture using a large number of processors may be employed.
  • a logic simulation is performed by a large number of processors capable of executing both an evaluation process of executing a simulation using a logic block as an evaluation unit and a communication process with another processor.
  • the device is configured.
  • FIG. 1 is a block diagram showing a principle configuration of a logic simulation apparatus according to the present invention.
  • FIG. 2 is an explanatory diagram of a network configuration of a system including eight clusters.
  • FIG. 3 is an explanatory diagram of the connection relationship of the processor element groups in the lower hierarchy in the cluster.
  • FIG. 4 is a block diagram showing a detailed configuration of the cluster.
  • FIG. 5 is a block diagram showing a configuration of a processor element group.
  • FIG. 6 is a diagram illustrating a logic primitive according to the present embodiment.
  • FIG. 7 is a diagram illustrating a memory primitive according to the present embodiment.
  • FIG. 8 is an explanatory diagram of an operation cycle for a processor element.
  • FIG. 9 is a block diagram showing a detailed configuration of the processor element.
  • FIG. 10 is a diagram showing types of instructions for a processor element.
  • FIG. 11 is a block diagram showing a configuration of a logical operation unit (LOU).
  • LOU logical operation unit
  • FIG. 12 is a diagram showing a configuration example of the basic operation circuit (L E).
  • FIG. 13 is a diagram illustrating a mapping example of the logic circuit with respect to FIGS. 11 and 12.
  • FIG. 14 is a diagram showing a configuration of a conventional example of a logic simulation apparatus.
  • FIG. 15 is an explanatory diagram of a communication method between processors in a conventional example.
  • the first feature is that it employs a distributed massively parallel architecture using a maximum of about 87,000 dedicated processors (processor elements, PE).
  • PE processor elements
  • the second feature is that it uses a simulation method that performs a level sort and compile method at the logical block level.
  • the circuit evaluation processing unit primary
  • the effective simulation capacity can be increased in scale, and the number of evaluation targets can be reduced to increase the speed.
  • the third feature is a system construction method using only one type of processor element (PE).
  • PE processor element
  • FIG. 2 is an explanatory diagram of a network configuration of a system including eight clusters, that is, clusters 0 to 7.
  • the network architecture in the present embodiment has the following three features.
  • the first feature is that it has scalable expandability by adopting a tree-type hierarchical network.
  • the second feature is the local optimization of interprocessor communication by using a partially complete coupling scheme.
  • a partially complete coupling scheme there is locality of communication connection relation based on a design hierarchy.
  • the number of interconnections there is a tendency for the number of interconnections to increase as the level becomes lower. Therefore, the performance can be improved by minimizing the inter-processor communication time in the lower layer, for example, by a complete connection.
  • each of the eight clusters has a clear-type hierarchical network structure consisting of up to five layers.
  • Each node ( ⁇ ) in each layer corresponds to a processor element group (PEG) described later.
  • PEG processor element group
  • Each layer is based on a format in which four nodes in the lower layer are connected to one node in the upper layer.
  • Each cluster logically has a format in which one PEG is logically connected to each other in a one-to-one relationship at the highest level L4. This format is described in more detail in FIG.
  • FIG. 3 is an explanatory diagram of a connection relationship between PEGs in the lowest hierarchy L0 in the cluster and a connection relationship with PEGs in the next higher hierarchy L1 in the present embodiment.
  • the nodes in the lower layers L0 and L1 are partially completely connected.
  • L2 and L3 layer nodes, and L1 and L2 layer nodes were connected in a tree format.
  • FIG. 3 shows a connection between nodes in the L0 layer, and a connection between each node in the L0 layer and a node in the L1 layer one level higher.
  • FIG. 4 is a detailed configuration diagram of one cluster in FIG.
  • Each cluster consists of about 11K processors and two types of memory circuits. As described above, each cluster has a tree-type hierarchical network structure consisting of five layers, and is completely connected one-to-one at the highest level.
  • a plurality of processors constitute a processor element group (PEG). That is, sixty-four processor elements (PE) that can perform logic circuit evaluation and communication processing, an input / output processor IOP 21 that performs memory circuit evaluation and write / read external I / O patterns, and An interconnect circuit D 1 ST (distribution circuit) 22 for directly connecting all the processors in the PEG to each other in a one-to-one manner constitutes the PEG 10.
  • Processor elements PE are grouped in units of 64 due to physical restrictions, assuming implementation using 0.1 S / zm CMOS LSI technology.
  • connection destinations and the number of connections increase in the lower hierarchy, and in this embodiment, in order to realize high-speed data transfer between processors in the lower hierarchy, A connection mode is adopted in which all PEs in the PEG are completely connected.
  • MRAM memory RAM
  • cache memory is equivalent to cache memory and is a 4-Mbyte random access memory that stores small-scale data. Placed against
  • TRAM trace memory
  • MRAM 12 is arranged for the PEG in the upper layer, and in FIG. 2, the PEG in the second layer L3 from the top.
  • the MR AMI 2 is equivalent to a main memory, and is a random access memory of, for example, 2 Gbytes capable of storing a large amount of data. Large-scale memory circuits are usually positioned at the highest level in the hardware system design phase. Therefore, the memory data for each PE in the cluster is In order to equalize the data transfer distance, a 2 GB MR AMI 2 is placed at the highest level of each cluster.
  • MR AM 12 is also directly connected to I ⁇ P 21 in PEG 10 and controlled. .
  • FIG. 4 there are two PEGs in the layer one level below the top layer, and these two PEGs are in a format that is completely mutually connected to the PEG in the top layer. Therefore, from the viewpoint of the lower PEGs, that is, the PEGs in the layers L2 to L0 in FIG. Will be connected.
  • a CP (control processor) 11 controls the entire system composed of up to eight clusters, and controls the synchronization between processors and monitors the status of the system.
  • FIG. 5 is a configuration block diagram of one processor element group PEG 10 in FIG. PEG 10 is composed of 64 PEs 20 and one IOP 21 which are completely connected as described above.
  • PEG 10 For input / output to PEG 10, a pair of input / output ports U of 4-bit x 64 width for connection to PEG of the upper layer and 4-bit x 64 width for connection to PEG of lower layer There is one set of input / output ports L.
  • Each PE 20 in PEG 10 has three sets of 4-bit x 64 width input / output ports.
  • the I port is a connection port for giving the output of the processor in the own PEG 10 to the input of each processor.
  • the U and L ports are connection ports for the upper layer PE G 10 and the lower layer PEG 10.
  • Figure 6 shows a logic block consisting of a combination circuit with 16 inputs and 4 outputs. This logic block is basically evaluated in one machine cycle. Each PE can store up to 64 logical blocks.
  • Figure 7 shows a memory primitive corresponding to a memory element with m bits of data (input / output) and n bits of address (input). It also has 1 bit for chip select and 1 bit for write as input.
  • the non-verified circuit is represented as a netlist of logic blocks that template the primitives in Figs.
  • the evaluation of a logic block is performed by sequentially evaluating each logic block assigned a level based on the depth of the number of logic stages from an external input terminal and a storage element in ascending order of level number (level sorting method).
  • the evaluation order of each logic block and the signal transmission order of the evaluation result are expressed as a program using instructions to the processor (compile method).
  • the programmed circuit model is interpreted and executed by the processor in accordance with the instruction order of the program.
  • All PEs in the system perform a synchronous operation in response to the start signal sent from the control processor CP 11 in FIG.
  • Each processor operates independently during a simulation clock period to be described later. This is because, in the Rebeno method and the compilation method, the evaluation order of the circuit within one simulation clock is determined in advance when the model is created. Because there is no.
  • FIG. 8 is an explanatory diagram of an operation cycle for the PE.
  • Each PE is time-controlled according to four basic cycles. As described above, each PE starts a simulation cycle SC in response to a start signal issued from the control processor CP.
  • the minimum operation cycle of the PE is a machine cycle MC corresponding to the basic clock of the system. In the present embodiment, the system operates as a synchronous circuit based on this machine cycle.
  • Unit cycle UC is the basic cycle of system operation, and indicates the execution cycle of one instruction in PE.
  • 1 UC is basically 1 MC, but when transferring a large amount of data signals within 1 UC, it becomes 2 MC or more.
  • the highest simulation cycle SC means the execution cycle of one simulation clock, and is represented by an integral multiple of LC.
  • FIG. 9 is a detailed block diagram of the PE.
  • the execution of the simulation is controlled by a control program stored in a control memory CRAM (control RAM) 25.
  • the control program is equivalent to an equivalent circuit model in which the netlist of the logic block of the circuit to be verified and the corresponding execution procedure are expressed by instructions for the PE.
  • the evaluation process for one logical block is basically expressed by one PE instruction.
  • CRAM 25 is a memory of 287 bits x 64 words, and can store up to 64 PE instructions with an instruction word length of 287 bits.
  • the depth of the CRAM is typically 20 gate stages of the combinational circuit between flip-flops. Or within 30 steps Therefore, it is designed so that up to 64 levels can be handled at the logical block level with a margin.
  • the number of logical blocks in one simulation cycle can be expanded to a maximum of 256.
  • Each instruction in the CRAM 25 is read and executed according to the address indicated by the program counter PC in the PE.
  • control field consists of two control fields (OP, X) for time management and condition monitoring, and five control fields (IS, FN, LV, OS, SW) for data path control.
  • the OP field controls the operation of the CRAM 25, and is composed of a 3-bit opcode indicating an instruction type and an 8-bit operand as control data.
  • the operation code is a control code of the program counter PC 26, is interpreted by the decoder 27, and is used for controlling the PC 26.
  • the X field is a trace data and a 2-bit flag indicating the monitoring condition signal.
  • Figure 10 shows the instruction types for the PE.
  • the simulation cycle SC is determined by the number of level cycles corresponding to the PE that evaluates the largest number of logical primitives in the PE. .
  • the other PEs become idle after the evaluation of the assigned logical primitive is completed, execute the nop instruction or the wait instruction, and complete one SC each.
  • the input signals to the PE consist of three signal groups, I, U, and L.
  • Each signal group has a width of 4 bits x 64. Where 6 4 corresponds to the number of connected PEs.
  • Group I is the input signal from 64 processors in the processor group (PEG) to which the PE belongs, and U and L are the input signals from other PEGs.
  • the input selector I SL 28 is a circuit for selecting 16 output signals to be supplied to the logical operation unit LOU 29 (logical operation unit).
  • ISL is a logical 768 to 16 selector circuit, and is configured by arranging 16 192 to 1 selectors in an array of 4 rows x 4 columns. The same numbered output lines from the 192 PEs are connected to the four selectors in each column. In order to have symmetry in the number of inputs and outputs of each PE, of the 192 x 4 bit inputs, 64 x 4 bits are from the PE of the same group, and the remaining 128 x 4 bits are PEs in other groups. Respectively.
  • the ISL 28 is selectively controlled by an 8-bit X16 IS field signal output from the CRAM 25.
  • the logical operation unit LOU 29 is a circuit that executes evaluation of a logical block.
  • the logical operation function of LOU is realized by combining the logical functions of each basic operation circuit and LE (logical 'element) constituting LOU 29 corresponding to the gate configuration of the logical block to be evaluated.
  • the LOU and LE configurations are shown in Figs. 11 and 12, respectively.
  • the LOU is composed of 12 LEs.
  • each LE is equipped with one of four basic circuits, a four-input AND circuit 36, an OR circuit 37, an XOR circuit 38, and an AND / OR circuit 39.
  • the circuit is in a format selected by the selector 40.
  • XOR circuits 35 and 41 are arranged for polarity inversion control.
  • the arithmetic unit LOU29 evaluates a combination circuit of up to 12 gates composed of 4 input gates in one machine cycle. Its logical function is controlled by a 7-bit x 12 FN field signal from CRAM25. The logical function of the LE in FIG. 12 is determined by the signals NV and FNC. I NV controls the logical inversion function of XOR 35, 41, and FNC is used as a selection signal for one of the four basic circuits.
  • the state value register SR30 in FIG. 9 is a register that stores the output signal value of the logical block evaluated by the arithmetic unit LOU29.
  • One 31 is a 64-bit X1 mode register, and four registers are mounted in one-to-one correspondence with each output of the LOU.
  • the output value of LOU29 is simultaneously written to the four SRs with the same bit address. Data can be read independently for each SR using an arbitrary address.
  • SR holds the output value of the logic block in all level cycles for one simulation cycle.
  • the write address for SR is given by the 6-bit LU field from CRAM 25.
  • the output selector OSL (out 'output' selector) 31 reads out the output value of the evaluation process for the logical block written in the four state value registers SR and determines the output value of the PE.
  • the OSL 31 is logically composed of a 256-to-1 selector circuit, and can select any address of the address space 64-bit X4 in which the addresses of the four state value registers are combined into one.
  • the function to access all address spaces is implemented to minimize the latency caused by contention for reading a specific address on the SR.
  • the operation of OSL31 is controlled by the 8-bit x 4-bit OS field from the CRAM25.
  • the output switch SW32 outputs the data read by the output selector OSL31.
  • This circuit connects the output terminal of the OSL to the output terminal of the PE connected to the destination PE in order to transfer the data signal to the destination PE.
  • the four output terminals of OSL 31 are connected to an appropriate one of the 12 output terminals according to the destination of the data signal. , Which form the path.
  • the PE output signal lines are divided into three groups of 4 bits, corresponding to each connected PE. The definitions of each group I, U, and L are the same as for the input signal.
  • SW32 is controlled by a 2-bit X12 SW field signal from CRAM 25 to form a 4-to-12 connection path.
  • FIG. 13 shows a circuit mapping example for the logical operation unit L ⁇ U 29 shown in FIGS. 11 and 12.
  • the upper diagram shows the circuit to be mapped, and the lower diagram shows the result of mapping it to the 12 basic arithmetic circuits LE in Fig. 11.
  • the first stage LE # 3 is for outputting "0" to all of the second stage LEs
  • the second stage LE # 5 and LE # 7 are the third stage LE # 3. This is to output "1" to all LEs, respectively, and LE # 8 and LE # 10 in the third stage perform the through operation substantially.
  • each control bit output from the CRAM 25 in FIG. 9 naturally shows only one implementation form, and is shown in FIG.
  • the arithmetic element LE it is naturally possible to further provide a selector at the input section or to change the type of the basic arithmetic circuit.
  • a logic simulation of a large-scale digital circuit can be executed at a logic block level by using a level sorting and compiling method, and a device of a scale that can be easily used practically Can be provided.
  • the processor elements are grouped, and multiple groups are arranged in a hierarchical manner. By interconnecting them in a single shape, high-speed operation in the entire system is realized.
  • the present invention can be used in all industries requiring large-scale and high-speed logic verification and logical design in digital II system equipment.

Abstract

レベルソートおよびコンパイル法を用いて、サイクルベースでシミュレーションを実行し、実用的に使用可能な規模で、システム全体での高速性を実現するために、1つ以上のゲートに対応する論理ブロックを評価単位としてシミュレーションを実行する評価処理と、他のプロセッサとの間の通信処理とのいずれをも実行可能な多数のプロセッサを備え、複数のプロセッサによって構成される各プロセッサグループが、ツリー形状の階層型に接続される。

Description

明細書 論理シミュレーション装置 技術分野
本発明は大規模論理回路のシミュレーション方式に係わり、 更に詳しくは、 数千万ゲート以上の大規模ディジタル回路の高速シミュレーションを目的とし て、 論理プロックレベルでシミュレーションを実行する分散型超並列プロセッ サ方式のサイクルベース論理シミュレーション装置に関する。 背景技術
近年 CMO S L S I技術の急速な進歩に伴って、 ディジタルシステム機器の 高性能化と高機能化が急速に進展している。 システム回路のほとんどが L S I として集約され、 また製品開発期間の短縮が進んでいる状況で、 いかに早期に 高品質な設計を実現して商品の早期市場投入を図るかが、 新製品開発における 最重要課題となっている。 その対策として、 大規模なシステム回路の論理検証 を効率的に行うための大容量、 かつ高速なシミュレーション装置が強く求めら れている。
論理シミュレーションの高性能化のために専用ハードウエアの研究開発がな されてきた。 これらの専用ハードウェア実現方式は基本的にプロセッサ方式と、 F P GA (フィールド 'プログラマブル'ゲート .アレイ) 方式とに分類され る。
プロセッサ方式では、 回路モデルがプ口セッサの命令に置き換えられてシミ ユレーションアルゴリズムが実行される。 実際のハードウェア回路を模擬する F P GA方式に比べて処理速度は遅いが、 回路モデルのセットアップの時間が 短く、 またプロセッサの数の増加によって、 性能向上と大容量化を図ることが できるという特徴がある。
F P G A方式では、 回路モデルのマッビングにより直接的に回路動作の模擬 が行われるため、 高速処理が実現されるが、 回路規模の増大に対応して動作周 波数が低下するなどの理由から、 大容量ィ匕には難点がある。
プロセッサ方式のシミュレーション専用ハードウエアは基本的にレベルソー ト法と、 イベント法とに大別される。
レベルソート法では、 論理検証が行われるべき回路の外部入力端子、 あるい は記憶素子からの段数に基づいてレベル番号が割り付けられ、 レベル番号に対 応して次々とシミュレーションが実行される。 シミュレーションの実行によつ て、 このレベル番号に対応するゲートの出力の変化の有無に関係なく、 全ての ゲートに対して計算が行われる。
ィベント法では、 ィベントドリブン、 すなわち入力信号の変化をィベントと して、 そのィベントに対応してゲートの出力の評価が行われ、 出力が変化した 場合にその変化がィベントとして回路内で伝えられて、 順番にゲートに対する 計算が行われる。
レベルソート法とィベント法とを組み合わせたアルゴリズムに基づいて、 論 理プロックレベルでシミュレーシヨンを実行する専用ハードウエアも発表され ているが、 本発明ではレベルソート法を採用した論理シミュレーション装置を 対象とする。 このようなレベルソート法に基づく専用ハードウェアは、 遅延時 間を扱うことができないため、 いずれも同期回路を対象としたサイクルベース 型のシミュレータである。
以上に述べたような論理シミュレーシヨン装置や、 超並列プロセッサ結合方 式については、 次のような文献があある。
(特許文献 1 ) 特開 2 0 0 0— 3 6 7 3 7号公報 「電気的に再構成可能なゲートアレイロジ ックを用いる方法及び、 これによつて構成される装置」
(特許文献 2 )
特開平 7— 2 0 0 5 0 8号公報 「ノード間結合方式」
(特許文献 3 )
特開昭 6 4 - 2 6 9 6 9号公報 「プログラマブルアクセラレータ及びぞの方 法」
特許文献 1では、 電気的に再構成可能なゲートァレーが再構成可能な相互接 続を介して接続され、 接続の再構成によつて相互接続チップ上に実現されたデ イジタル回路網が変更され、 シミュレーション、 プロ トタイピング、 実行計画 を含む各種の目的に適合するシステムが開示されている。
特許文献 2では、 超並列計算機向けの結合トポロジーとして、 n次元メッシ ュ状にリンクで接続された第 1の種類のノードに対して、 ある次元に関して第 2の種類のノ一ドが接続された結合方式が開示されている。
特許文献 3では、 プログラマブルアクセラレータ、 すなわちプログラマプル な論理シミュレーション装置として、 スィッチを介してクラスタを形成するよ うにフレキシブルに相互接続された、 複数の実質的に同じプロセッサエレメン トが採用され、 そのプロセッサがプログラマブルであるァクセラレータが開示 されている。
以上に述べたシミュレーションハードウェア、 あるいは文献においては、 本 発明が対象とするレベルソート法を用いていても、 シミュレーションがゲ一ト レベルで行われており、論理プロックレベルでシミュレーションを実行する論 理シミュレーシヨン装置は実現されていないという問題点があった。
レベルソート法は理論的には最も古くから用いられている方法であるが、 前 述のようにレベルに対応して全てのゲートに対する計算が必要となるため、 物 量的に非常に大きくなり、 数千万ゲート以上からなる大規模ディジタル回路の 論理シミュレーションに適用することを目的として、 実用的に使用可能な規模 の装置を作ることは困難であると考えられていた。
次に従来の論理シミュレータにおいては、 一般に、 計算すなわち評価を行う プロセッサと、 プロセッサ間の通信を行うプロセッサとが分離されていた。 す なわち並列処理用のプロセッサ群と、 通信用のネットワークとが分離されてお り、 プロセッサ間の a信距離に差があるために、 システム全体の速度が低下す るという問題点があった。
図 1 4, 図 1 5はこの問題点の説明図である。 図 1 4は論理シミュレーショ ン装置の従来例の構成を示し、 プロセッサ群とネットワークとが分離されてい る。
シミュレーションには論理演算、 すなわち評価とその評価に伴う更新の作業 がある。 高速な処理を実現するために、 評価は分割 並列的に実行される。 結 果の更新については、 評価結果を使用する評価単位としてのプロセッサが分散 されているために、 他のプロセッサに結果を通知するための伝搬処理用のネッ トワークが必要である。
すなわち、 それぞれのプロセッサの評価の結果は、 その結果を必要とするプ 口セッサに伝搬された後に、 次の演算が開始される。 そこでシステムの性能は 評価速度と伝搬速度との 2つによって決まり、 伝搬速度が遅い場合には全体と してシステムの速度が低下することになる。
図 1 5は各プロセッサの間の評価結果の伝搬の説明図である。 プロセッサ 0 ( P E 0 ) の評価結果の伝搬が、 近くの P E 1および遠くの P E nに対して必 要となる場合を考える。 従来の方式では、 遠方のプロセッサ P E nに評価結果 を伝搬する時間によってシステム全体の伝搬速度が決定されてしまうことにな る。 従来はこの伝搬に要する時間の問題点を解消するために、 処理のパイプラ ィン化およびオーバラップなどによって、 伝搬時間の影響を小さくする工夫が なされてきている。 しかしながら大規模なデータ処理を行うためにプロセッサ の数を大幅に増加する場合には、 ハードウエアの物理的制約から伝搬速度の改 善が難しくなつてきている。 発明の開示
本発明の目的は、 上述の問題点に鑑み、 レベルソート法を用いて論理プロッ クレベルでシミュレーションを実行し、 また評価用のプロセッサと通信用のプ 口セッサとを分離することなく、 評価と通信の両方を実行できる同一形式のプ 口セッサエレメントを用いる論理シミュレーシヨン装置を提供することである。 図 1は本発明の原理構成ブロック図である。 同図は、 レベルソートおよびコ ンパイル法を使用して、 サイクルベースの論理シミュレ一ションを実行するシ ミュレーション装置の原理構成プロック図である。
同図において、 論理シミュレ一ション装置 1は多数のプロセッサ 2を備える。 各プロセッサ 2は、 1つ以上のゲートに対応する論理プロックを評価単位とし てシミュレーションを実行する評価処理 3と、 他のプロセッサとの間の通信処 理 4とのいずれも実行可能なものである。
発明の実施の形態においては、 前述の論理ブロックはハードワイヤード可能 な形式の 1つ以上のゲートから構成されることができる。
また実施の形態においては、 前述の多数のプロセッサ 2がそれぞれ複数のプ 口セッサによつて構成されるプロセッサグループに分割され、 複数のプロセッ サグループが階層形のツリー形状に相互に接続されてクラスタを構成すると共 に、 複数のクラスタによって論理シミュレーション装置が構成されることもで さる。
この場合、 プロセッサグループ内の複数のプロセッサが相互に完全結合され ることも、 また階層型ッリ一形状の下位側の階層において同一階層内の各プロ セッサグループが相互に完全結合されることも、 更に複数の各クラスタにおけ る最上位階層のプロセッサグループが他のクラスタ内の最上位階層のプロセッ サグループと論理的に相互に完全結合されることもできる。
実施の形態においては、 各プロセッサグループが、 そのグループを構成する 各プロセッサに対応して、 メモリデータおよび外部入出力パターンの入出力制 御を行う入出力プロセッサを備えることもでき、 また階層型ツリー形状の下位 側に属する各プロセッサグループに対応して、 シミュレーションのトレースデ ータと外部入力信号パターンとを格納するトレースデータ記憶手段と、 キヤッ シュメモリに相当する小容量のデータ記憶手段とを備えることもでき、 更にッ リー形状の上位側に属する各プロセッサグループに対応して、 主記憶に相当す る大容量データ記憶手段を備えることもできる。
更に実施の形態においては、 論理シミュレーション装置において、 前述の多 数のプロセッサによる分散型超並列アーキテクチャが採用されることもできる。 以上のように本発明によれば、 論理プロックを評価単位としてシミュレーシ ョンを実行する評価処理と、 他のプロセッサとの間の通信処理とのいずれをも 実行可能な多数のプロセッサによって論理シミュレーション装置が構成される。 図面の簡単な説明
図 1は、 本発明の論理シミュレーション装置の原理構成プロック図である。 図 2は、 8つのクラスタによって構成されるシステムのネットワーク構成の 説明図である。
図 3は、 クラスタ内の下位側の階層におけるプロセッサエレメントグループ の接続関係の説明図である。
図 4は、 クラスタの詳細構成を示すブロック図である。 図 5は、 プロセッサエレメントグループの構成を示すブロック図である。
図 6は、 本実施形態における論理プリミティブを示す図である。
図 7は、 本実施形態におけるメモリプリミティブを示す図である。
図 8は、 プロセッサエレメントに対する動作サイクルの説明図である。
図 9は、 プロセッサエレメントの詳細構成を示すブロック図である。
図 1 0は、 プロセッサエレメントに対する命令の種類を示す図である。
図 1 1は、 論理演算器 (L O U) の構成を示すブロック図である。
図 1 2は、 基本演算回路 (L E ) の構成例を示す図である。
図 1 3は、 図 1 1, 図 1 2に対する論理回路のマッピング例を示す図である。 図 1 4は、 論理シミュレーション装置の従来例の構成を示す図である。
図 1 5は、 従来例におけるプロセッサ間の通信方式の説明図である。 発明を実施するための最良の形態
まず本発明の論理シミュレーシヨン装置の実施形態における特徴について説 明する。 第 1の特徴は最大約 8 7, 0 0 0個の専用プロセッサ (プロセッサェ レメント、 P E ) を用いた分散型超並列アーキテクチャを採用していることで ある。 本実施形態においては、 分散型の超並列アーキテクチャを用いることに よって、 システムの高性能化と、 柔軟な拡張性を図ることができる。
第 2の特徴は、 論理プロックレベルでレベルソートおょぴコンパイル法を実 行するシミュレーション手法を用いることである。 回路の評価処理単位 (プリ ミティブ) を、 複数ゲートから構成されるブロックとすることによって、 実効 的なシミュレーション容量の大規模化と、 評価対象数の低減による高速化が実 現される。
第 3の特徴は 1種類のプロセッサエレメント (P E ) のみを用いたシステム 構築方式である。 従来のようにプロセッサ専用回路と通信専用回路を別々に用 いたシステム実装方式を避けて、 1種類の P Eを一様なルールで相互に接続す ることによって、 システム実装の容易化と、 低コスト化を図っている。 各プロ セッサに対しては、 回路のモデリングにあたって、 プログラムによって評価処 理、 または通信処理のいずれかを実行するか、 あるいは評価処理または通信処 理のいずれか
に重点をおいた動作を行うかの割当てが行われる。
次に全体的なシステム構成について説明する。 システムは最大 8個のクラス タによって構成される。 図 2は 8個のクラスタ、 すなわちクラスタ 0からクラ スタ 7によって構成されるシステムのネットワーク構成の説明図である。
数万プロセッサから構成される超並列システムにおいては、 システムの性能、 および規模の要件を満たすために、 ネットワークアーキテクチャの構築方法が 大きな問題となる。 回路モデルのプロセッサ分割の容易性、 および性能の観点 からすれば、 プロセッサ間の完全結合方式が最も望ましい接続形態である。 し かしながら、 回路実装テクノロジの物理的制約から数万プロセッサの完全結合 を実現することは困難である。 そこで本実施形態ではツリー型階層ネットヮー クを基本アーキテクチャと.して、 部分完全結合による接続方式を採用した。
本実施形態におけるネットワークアーキテクチャは、 次の 3つの特徴を持つ ている。 第 1の特徴はツリー型階層ネットワークを採用することによって、 ス ケーラブルな拡張性を持つことである。
第 2の特徴は、 部分完全結合方式を用いることによるプロセッサ間通信の局 所的最適化である。 一般的に大規模な回路においては、 設計階層に基づく通信 接続関係の局所性が存在する。 下位階層になるに従って相互接続が多くなる傾 向がある。 従って下位側の階層におけるプロセッサ間通信時間を、 例えば完全 接続によつて最小化することによって、 性能向上を図ることができる。
第 3の特徴は、 前述の同一プロセッサエレメント P Eを用いることによるネ ットワーク構築の容易性である。 通信処理と評価処理とを 1つのプロセッサで 可能とすることによって、 システム実装の容易性と低コストが図られている。 図 2において 8個の各クラスタは、 最大 5階層からなるッリ一型の階層ネッ トワーク構造を持っている。 各階層におけるノード (〇印) は、 それぞれ後述 するプロセッサエレメントグループ ( P E G) に相当する。 各階層は、 上位側 の階層の 1つのノードを中心に、 下位側の階層の 4つのノードが接続される形 式が基本となっている。 各クラスタは、 最上位の階層 L 4において、 論理的に はそれぞれ 1つの P E Gが各クラスタ間で相互に 1対 1に接続される形式とな る。 この形式については図 4でさらに詳述する。
図 3は本実施形態におけるクラスタ内の最下位の階層 L 0内の P E Gの接続 関係と、 1つ上の階層 L 1内の P E Gとの接続関係の説明図である。 本実施形 態においては、 物理的な実現可能性と、 下位側の階層におけるプロセッサ間の 高速通信の必要性から、 下位側の階層 L 0と L 1階層内のノード間が部分完全 結合とされ、 L 2と L 3階層のノード間、 および L 1と L 2階層のノード間は それぞれツリー型で接続する方式を用いた。 図 3においては、 L O階層内にお けるノード間の結合と、 その L 0階層内の各ノードと 1つ上位の L 1階層内の ノードとの結 を示している。
図 4は図 2のおける 1つのクラスタの詳細構成図である。 各クラスタは約 1 1 K個のプロセッサと、 2種類のメモリ回路によって構成される。 前述のよう に、 各クラスタは 5つの階層からなるツリー型の階層ネットワーク構造を持ち、 最上位階層でそれぞれ 1対 1に完全結合される。
図 4において、 複数のプロセッサがプロセッサエレメントグループ (P E G) を構成する。 すなわち論理回路の評価、 および通信処理を行うことができ るプロセッサエレメント (P E) 6 4個、 メモリ回路の評価および外部入出力 パターンの書込み Z読み出し制御を行う入出力プロセッサ I O P 2 1、 および P EG内の全てのプロセッサを相互に 1対 1に直接接続するためのインターコ ネクト回路 D 1 ST (ディストリビューションサーキッド) 22によって PE G 10が構成される。 プロセッサエレメント PEは 0. l S /zmCMOS LS Iテクノロジによる実装を前提として、 その物理的制約から 64個単位にグル ープィ匕される。
前述のように階層設計における接続関係として、 下位側の階層になるほど接 続先および接続数が増大するため、 本実施形態では、 下位階層におけるプロセ ッサ間の高速データ転送を実現するために、 P E G内の全 P E間が完全結合さ れる接続形態が採用されている。
最下位の階層を構成する PEG 10内の I〇P 21には、 2つのメモリ MR AMI 3と TRAM14が接続されている。 MRAM (メモリ RAM) はキヤ ッシュメモリに相当し、 小規模のデータを格納する 4 Mバイトのランダムァク セスメモリであり、 I OP 21に対するメモリデータの高速転送を行うために、 最下位の階層の各 PEGに対して配置される。
TRAM (トレースメモリ) は、 シミュレーションのトレースデータと外部 入力信号パターンを格納するメモリであり、 1 28Mバイトの容量を持ってい る。 システム内のプロセッサから送り出される多量のトレースデータをロー力 ル処理することによって、 ネットワークのオーバーフローを回避するために、 TRAM14は評価処理が主体となる最下位階層の P E G 10に対応して配置 される。
図 4において MR AM 1 2が上位側階層、 図 2では最上位から 2番目の階層 L 3内の PEGに対して配置されている。 この MR AMI 2は主記憶に相当し、 大容量のデータを格納できる、 例えば 2 Gバイトのランダムアクセスメモリで ある。 大規模メモリ回路は、 通常ハードウェアシステムの設計段階において最 上位側の階層に位置づけられる。 従ってクラスタ内の各 PEに対するメモリデ ータの転送距離を一様化するために、 2Gバイトの MR AMI 2が各クラスタ の最上位側の階層に配置される。 MR AM 1 2も PEG 10内の I〇 P 21に 直接接続されて制御される。 .
前述のように各クラスタの最上位の階層においては、 論理的にはそれぞれ 1 つの PEGが、 各クラスタ間で相互に 1対 1に接続される形式となっている。 図 4では最上位の階層に P E Gが 2つ存在するが、 これは実装上の理由による ものである。
図 4において、 最上位の階層より 1つ下の階層にも PEGが 2つ存在し、 こ の 2つの P EGはそれぞれ最上位の階層の PEGと相互に完全結合される形式 となっている。 そこで更に下位の PEG、 すなわち図 2の L 2〜L 0の階層に ある P E Gから見れば、 他のクラスタの PEGに対しては最上位の階層 L 4に おける論理的には 1つの P E Gを介して接続されることになる。
図 4において CP (コントロールプロセッサ) 1 1は、 最大 8個のクラスタ によつて構成されるシステム全体を制御するものであり、 プロセッサ間の同期 制御、 およびシステムの状態監視を行うものである。
図 5は図 4における 1つのプロセッサエレメントグループ PEG 10の構成 ブロック図である。 PEG 10は、 前述のように完全結合された 64個の PE 20と、 1個の I OP 21によって構成される。 PEG 10に対する入出力と しては、 上位階層の PEGと接続するための 4ビット X 64幅の 1組の入出力 ポート Uと、 下位階層の P E Gとの接続のための 4ビット X 64幅の 1組の入 出力ポート Lがある。
PEG 10内の各 PE 20は、 4ビット X 64幅の入出力ポートを 3組持つ ている。 Iポートは自 PEG 10内でのプロセッサの出力を、 各プロセッサの 入力に与えるための接続ポートである。 Uおよび Lポートは、 上位階層の PE G 10、 およぴ下位階層の P E G 10との接続ポートである。 次に各プロセッサエレメントの動作、 および構成について説明する。 プロセ ッサエレメント P Eは、 前述のように論理回路モデルの評価およびプロセッサ 間の通信処理のいずれをも実行できる専用プロセッサである。 P Eは図 6に示 される論理プリミティブ、 およぴ図 7に示されるメモリプリミティブを評価単 位として、 評価処理を実行する。
図 6は 1 6入力、 4出力の組合せ回路からなる論理ブロックであり、 この論 理ブロックは基本的に 1マシンサイクルで評価される。 各 P Eは最大 6 4個の 論理プロックを格納することができる。
図 7は、 データ mビット (入出力) とアドレス nビット (入力) のメモリ素 子に相当するメモリプリミティブである。 入力としてはさらにチップセレク ト 1ビットとライトイネーブル 1ビットを持つ。
シミュレーションにおいて、 非検証回路は図 6 , 図 7のプリミティブをテン プレートした論理プロックのネットリストとして表現される。 論理プロックの 評価は、 外部入力端子および記憶素子からの論理段数の深さに基づいてレベル 付けされた各論理プロックを、 レベル番号の昇順に順次評価処理することで行 われる (レベルソート法)。
また各論理ブロックの評価順序、 および評価結果の信号伝達順序は、 プロセ ッサに対する命令を用いてプログラムとして表現される (コンパイル法)。 プ ログラム化された回路モデルは、 プログラムの命令順序に従って、 プロセッサ によって解釈されて実行される。
システム内の全ての P Eは、 図 4の制御プロセッサ C P 1 1から送り出され るスタート信号に対応して同期動作を行う。 また各プロセッサは後述するシミ ユレーシヨンクロックの期間中、 それぞれ独立に動作する。 これはレべノレソー トおよぴコンパイル法では、 1シミュレーションクロック内の回路の評価順序 はモデル作成時にあらかじめ確定され、 個々に独立動作しても論理矛盾が生じ ないためである。
図 8は PEに対する動作サイクルの説明図である。 各 PEは 4つの基本サイ クルに対応して、 時刻管理される。 前述のように、 各 PEは制御プロセッサ C Pから発行されるスタート信号に対応して、 シミュレーションサイクル S Cを 開始する。 PEの最小動作サイクルはシステムの基本クロックに対応するマシ ンサイクル MCであり、 本実施形態ではシステムはこのマシンサイクルを基準 とする同期回路として動作する。
ュニットサイクル UCはシステム動作の基本サイクルであり、 PEにおける 1命令の実行サイクルを示す。 1 UCは基本的には 1MCであるが、 1UC内 でデータ信号を多量に転送する場合などは 2 MC以上となる。 レベルサイクル LCは、 レベルソート法における 1つのレベルの実行サイクルに相当する。 例えばある P Eにおいて 1つのレベルで 1個の論理ブロックを評価処理する 場合には 1 LC= 1UCであるが、 1つのレベル内で n個の論理プロックを処 理する場合には 1 LC = nXUCとなる。 最上位のシミュレーションサイクル SCは 1シミュレーションクロックの実行サイクルを意味し、 LCの整数倍で 表される。
図 9は P Eの詳細構成プロック図である。 シミュレーションの実行は、 制御 メモリ CRAM (コントロール RAM) 25に格納されている制御プログラム によって制御される。 制御プログラムは被検証回路の論理ブロックのネットリ ストと、 それに対応する実行手順を PEに対する命令語で表現した、 等価な回 路モデルに相当する。 1つの論理プロックに対する評価処理は基本的に 1つの PE命令で表現される。
C RAM 25は 287ビット X 64ワードのメモリであり、 命令語長 287 ビットの PE命令を最大 64個まで格納できる CRAMの深さは、 フリップフ 口ップの間の組合せ回路のゲート段数が通常 20段、 もしくは 30段以内であ ることから、 余裕をみて論理ブロックレベルで最大 64段まで扱えるように設 計されている。
また PEの間で CRAM 25を論理的に連結することによって、 1シミュレ ーシヨンサイクルにおける論理プロック段数を最大 256段まで拡張可能とし ている。 また CRAM25内の各命令は、 PE内のプログラムカウンタ P Cの 示すァドレスに従って読み出されて実行される。
CRAM25に格納されている命令後は 7つの制御フィールドから構成され ている。 制御フィールドは、 時刻管理および条件監視を行う 2つの制御フィー ルド (OP, X) と、 データパス制御を行う 5つの制御フィ一ルド ( I S, F N, LV, OS, SW) からなつている。
OPフィールドは CRAM 25の動作を制御するフィールドで、 命令タイプ を示す 3ビットのォペコードと、 制御データとしての 8ビットのオペランドか らなる。 オペコードはプログラムカウンタ PC 26の制御コードであり、 デコ ーダ 27で解釈されて、 P C 26の制御に用いられる。 Xフィールドはトレー スデータ、 および監視条件信号を示す 2ビッ トのフラグである。
図 10は PEに対する命令の種類を示す。 本実施形態においては、 CRAM 25の限られたアドレス空間を効率的に使用するために、 同図に示される 6種 類の基本命令がサポートされている。 例えばレベルソート法において複数の P Eが 1シミュレーションサイクル SCの処理を実行する場合に、 シミュレーシ ョンサイクル SCは PEの中で最大の数の論理プリミティブを評価する PEに 対応するレベルサイクル数によって決定される。 その他の PEは、 割り当てら れた論理プリミティブに対する評価終了後がアイドル状態となり、 n o p命令、 または wa i t命令を実行して、 それぞれ 1 SCを終了することになる。
前述のように PEに対する入力信号は I, Uおよび Lの 3つの信号グループ から構成されている。 各信号グループは 4ビット X 64の幅を持つ。 ここで 6 4は接続先の PEの数に相当する。 Iグループはその P Eが属するプロセッサ グループ (PEG) 内の 64個のプロセッサからの入力信号、 Uおよび Lは他 の P E Gからの入力信号である。
入力セレクタ I SL 28は、 論理演算器 LOU29 (ロジカル'オペレーシ ヨン .ユニット) に与えるべき 16本の出力信号を選択する回路である。 I S Lは論理的に 768対 16のセレクタ回路であり、 1 92対 1のセレクタ 16 個を 4行 X 4列のアレー状に配置して構成される。 各列の 4つのセレクタには、 1 92個の PEからの同一番号の出力線がそれぞれ接続される。 各 PEの入出 力数に対称性を持たるために、 1 92 X 4ビッ トの入力のうち、 64X 4ビッ トは同一グループの P Eから、 残り 1 28 X 4ビットは他のグループ内の P E からそれぞれ入力される。 I SL 28は、 CRAM25から出力される 8ビッ ト X 16の I Sフィールドの信号によって選択制御される。
論理演算器 L OU 29は、 論理プロックの評価を実行する回路である。 L O Uの論理演算機能は、 評価対象の論理ブロックのゲート構成に対応して、 LO U 29を構成する各基本演算回路、 LE (ロジカル 'エレメント) の論理機能 を組み合わせることによって実現される。 LOUおよび LEの構成をそれぞれ 図 1 1 , 図 12に示す。
図 1 1において LOUは 1 2個の LEから構成される。 LOU29の回路構 成として、 目標マシンサイクルおよぴ被検証回路の論理プリミティブへのマツ ビング効率の観点から、 4個の LEを 3段とする回路構造を採用している。
図 12において、 各 LEには 4入力の AND回路 36、 OR回路 37、 XO R回路 38、 および AND/OR回路 39の 4種類の基本回路がそれぞれ 1個 ずつ実装され、 この中の 1つの基本回路がセレクタ 40によって選択される形 式となっている。
また論理プリミティブへのマッピング効率を向上させるために、 各 LEの入 力おょぴ出力端に、 極性反転用の制御として XOR回路 35, 41が配置され ている。
演算器 LOU29は、 4入力のゲートから構成される、 最大 12ゲートの組 み合せ回路を 1マシンサイクルで評価することになる。 その論理機能は、 CR AM 25からの 7ビット X 12の F Nフィー </レドの信号によって制御される。 図 12の LEの論理機能は、 I NVと FNCの信号によって決定される。 I NVは XOR 35, 41の論理反転機能を制御し、 また FNCは 4つの基本回 路のいずれかの選択信号として用いられる。
図 9の状態値レジスタ SR 30は、 演算器 LOU29によって評価された論 理ブロックの出力信号値を格納するレジスタである。 1個の31 は64ビット X 1ヮードのレジスタであり、 LOUの各出力に 1対 1に対応して 4個実装さ れる。 LOU29の出力の値は、 同一ビットアドレスで 4つの SRに同時に書 き込まれる。 またデータの読み出しは各 SRに対して独立に任意のァドレスを 用いて行うことができる。 SRは全てのレベルサイクルにおける論理プロック の出力値を、 1シミュレーションサイクルの間保持する。 SRに対する書込み ァドレスは CRAM 25からの 6ビットの LUフィールドによって与えられる。 出力セレクタ OS L (アウト 'プッ ト 'セレクタ) 31は、 4つの状態値レ ジスタ S Rに書き込まれた論理プロックに対する評価処理の出力値を読み出し て、 PEの出力値を確定するものである。 OS L 31は論理的に 256対 1の セレクタ回路で構成され、 4つの各状態値レジスタのアドレスを 1つにまとめ たァドレス空間 64ビット X 4の任意のァドレスを選択できる。 全ァドレス空 間へのアクセス機能は、 SR上の特定ァドレスへの読み出しの競合によって生 ずる待ち時間を最小化するために実装されている。 OS L 31の動作は CRA M25からの 8ビッ ト X 4ビットの O Sフィールドによって制御される。
出力スィッチ SW32は、 出力セレクタ O S L 31によって読み出されたデ ータ信号を行き先の PEに転送するために、 OSLの出力端子と、 行き先の P Eに接続されている PEの出力端子とを接続する回路である。 すなわち P Eの 間の接続が配線によって固定化されるため、 OS L 31の 4つの出力端子をデ ータ信号の行き先に応じて 1 2本の出力端子の適当な 1つと接続することによ り、 パスを形成するものである。 PEの出力信号線はそれぞれの接続先の PE に対応して 4ビットからなる 3つのグループに分けられる。 各グループ I, U, および Lの定義は入力信号に対すると同様である。 SW32は CRAM25か らの 2ビット X 1 2の SWフィールドの信号によって、 4対 1 2の接続パスを 形成するように制御される。
図 13は、 図 1 1および図 1 2に示した論理演算器 L〇U 29に対する回路 のマッピング例を示す。 上の図はマッピング対象回路であり、 それを図 1 1の 1 2個の基本演算回路 LEにマッピングした結果が下の図である。 同図におい て、 1段目の LE # 3は 2段目の LEの全てに "0" を出力するためのもので あり、 2段目の LE# 5と LE# 7とは 3段目の全ての L Eにそれぞれ " 1 " を出力するためのものであり、 3段目の LE # 8と LE # 10とは実質的にス ルーの動作をするものである。
以上において本発明の実施形態について詳細に説明したが、 例えば図 9にお ける CRAM 25の出力する各制御ビットなどは、 当然単に 1つの実装形態を 示すものであり、 また図 1 2に示した演算エレメント LEの構成においても入 力部に更にセレクタを設けたり、 基本演算回路の種類を変更することなどは当 然可能である。 ,
以上詳細に説明したように本発明によれば、 レベルソートおよびコンパイル 法を用いて、 論理ブロックレベルで大規模ディジタル回路の論理シミュレーシ ョンを実行でき、 実用的に容易に使用できる規模の装置を提供することが可能 となる。 また評価用のプロセッサと通信用のプロセッサとを分離することなく、 評価 と通信の両方を実行できる同一形式のプロセッサエレメントを用い、 それらの プロセッサエレメントをグループとして、 複数のグループを階層型のッリ一形 状に相互に接続することによって、 システム全体での高速性が実現される。 産業上の利用可能性
本発明はディジタル■システム機器における大規模かつ高速の論理検証や論 理設計を必要とするすべての産業において利用可能である。

Claims

請求の範囲
1 . レベルソートおよびコンパイル法を使用して、 サイクルベースの論理シミ ユレーションを実行するシミュレーション装置において、
1つ以上のゲートに対応する論理プロックを評価単位としてシミュレーショ ンを実行する評価処理と、 他のプロセッサとの間の通信処理とのレ、ずれをも実 行可能な多数のプロセッサを備えることを特徴とする論理シミュレーシヨン装 置。
2 . 前記論理プロックが、 ハードワイヤード可能な形式の 1つ以上のゲートか ら構成されることを特徴とする請求項 1記載の論理シミュレーシヨン装置。
3 . 前記多数のプ口セッサがそれぞれ複数のプロセッサによつて構成されるプ 口セッサグループに分割され、 '
複数の該プロセッサグループが階層型のッリ一形状に相互に接続されて、 1 つのクラスタを構成すると共に、
複数の該クラスタによって前記論理シミュレーション装置が構成されること を特徴とする請求項 1記載の論理シミュレーション装置。
4 . 前記プ口セッサグループ内の複数のプロセッサが相互に完全結合されるこ とを特徴とする請求項 3記載の論理シミュレーション装置。
5 . 前記階層型ツリー形状の下位側の階層において、 同一階層内の各プロセッ サグループが相互に完全結合されることを特徴とする請求項 3記載の論理シミ ュレ一ション装置。
6 . 前記複数の各クラスタにおける最上位階層のプロセッサグループが、 他の クラスタ内の最上位階層のプロセッサグループと相互に完全結合されることを 特徴とする請求項 3記載の論理シミュレーション装置。
7 . 前記各プロセッサグループが、 該グループを構成する各プロセッサに対応 して、 メモリデータおよび外部入出力パターンの入出力制御を行う入出力プロ セッサを備えることを特徴とする請求項 3記載の論理シミュレーション装置。
8 . 前記階層型ッリー形状の下位側に属する各プロセッサグループに対応して、 シミュレーションのトレースデータと外部入力信号パターンとを格納するトレ ースデータ記憶手段と、
キャッシュメモリに相当する小容量データ記憶手段とを備えることを特徴と する請求項 3記載の論理シミュレーション装置。
9 . 前記階層型ッリ一形状の上位側に属する各プロセッサグループに対応して、 主記憶に相当する大容量データ記憶手段を備えることを特徴とする請求項 3記 載の論理シミュレーション装置。
10. 前記論理シミュレーション装置において、 前記多数のプロセッサによる分 散型超並列アーキテクチャが採用されることを特徴とする請求項 1記載の論理 シミュレーション装置。
PCT/JP2002/013823 2002-12-27 2002-12-27 論理シミュレーション装置 WO2004061722A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2002/013823 WO2004061722A1 (ja) 2002-12-27 2002-12-27 論理シミュレーション装置
JP2004564447A JPWO2004061722A1 (ja) 2002-12-27 2002-12-27 論理シミュレーション装置
US11/166,156 US7516059B2 (en) 2002-12-27 2005-06-27 Logical simulation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/013823 WO2004061722A1 (ja) 2002-12-27 2002-12-27 論理シミュレーション装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/166,156 Continuation US7516059B2 (en) 2002-12-27 2005-06-27 Logical simulation device

Publications (1)

Publication Number Publication Date
WO2004061722A1 true WO2004061722A1 (ja) 2004-07-22

Family

ID=32697337

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/013823 WO2004061722A1 (ja) 2002-12-27 2002-12-27 論理シミュレーション装置

Country Status (3)

Country Link
US (1) US7516059B2 (ja)
JP (1) JPWO2004061722A1 (ja)
WO (1) WO2004061722A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006046711A1 (ja) * 2004-10-28 2006-05-04 Ipflex Inc. 再構成可能な論理回路を有するデータ処理装置
KR20100115591A (ko) * 2009-04-20 2010-10-28 삼성전자주식회사 방송프로그램 제공방법 및 이를 적용한 방송수신장치
CN102130911A (zh) * 2011-03-01 2011-07-20 林定伟 一种网络模拟方法
US10303828B1 (en) * 2017-05-05 2019-05-28 Cadence Design Systems, Inc. Integrated circuit simulation with efficient memory usage

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093920A (en) * 1987-06-25 1992-03-03 At&T Bell Laboratories Programmable processing elements interconnected by a communication network including field operation unit for performing field operations
JPS6426969U (ja) 1987-08-11 1989-02-15
WO1990004233A1 (en) 1988-10-05 1990-04-19 Mentor Graphics Corporation Method of using electronically reconfigurable gate array logic and apparatus formed thereby
JPH07200508A (ja) 1993-12-28 1995-08-04 Toshiba Corp ノード間結合方式

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FLAVELL, Andrew et al., "MANDALA. Choheiretsu Keisanki Muki Sogo Ketsugomo", Information Processing Society of Japan Kenkyu Hokoku, Information Processing Society of Japan, 21 November 1991, Vol. 91, No. 100 (91-ARC-91), pages 101 - 109 *
Masahiko KOIKE, "CAD Machine", Ohmsha, Ltd., 25 December, 1989, Ist edition, 1st print, pages 7 - 129 *

Also Published As

Publication number Publication date
JPWO2004061722A1 (ja) 2006-05-18
US20050240388A1 (en) 2005-10-27
US7516059B2 (en) 2009-04-07

Similar Documents

Publication Publication Date Title
Zimmer et al. A 0.32–128 TOPS, scalable multi-chip-module-based deep neural network inference accelerator with ground-referenced signaling in 16 nm
US11386644B2 (en) Image preprocessing for generalized image processing
US4914612A (en) Massively distributed simulation engine
US6035106A (en) Method and system for maintaining hierarchy throughout the integrated circuit design process
US8527972B2 (en) Method for forming a parallel processing system
JP2989518B2 (ja) 多重プロセッサ・エミュレーション・システム
Johnson et al. General-purpose systolic arrays
Belletti et al. Janus: An FPGA-based system for high-performance scientific computing
CN111433758B (zh) 可编程运算与控制芯片、设计方法及其装置
TWI794008B (zh) 可重組態處理器的儀器分析
JPH04267466A (ja) 連想並列処理システム
JPH05505268A (ja) デイジーチェーン制御付ニューラルネットワーク
JPS58169663A (ja) アレイプロセツサ装置
JP2000035899A (ja) エミュレ―ション・モジュ―ル
JPH0230056B2 (ja)
US20080243462A1 (en) Instruction encoding in a hardware simulation accelerator
CN103258074B (zh) 使用部分重构在可编程电路上实施外围器件的方法和装置
JP2008537268A (ja) 可変精度相互接続を具えたデータ処理エレメントの配列
WO2021108090A1 (en) Systems and methods for implementing redundancy for tile-based intelligence processing computing architecture
JP2007520795A (ja) テンプレートを利用したドメイン固有の再構成可能な論理
US7516059B2 (en) Logical simulation device
JP2006268873A (ja) 機能シミュレーションのためのハードウェア・アクセラレーション・システム
Cicuttin et al. HyperFPGA: A possible general purpose reconfigurable hardware for custom supercomputing
Bell et al. The register transfer module design concept
McCaskill et al. NGEN: A massively parallel reconfigurable computer for biological simulation: Towards a self-organizing computer

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

WWE Wipo information: entry into national phase

Ref document number: 2004564447

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11166156

Country of ref document: US