WO2022239226A1 - 組込み回路、回路品質確認装置、及び回路品質確認方法 - Google Patents
組込み回路、回路品質確認装置、及び回路品質確認方法 Download PDFInfo
- Publication number
- WO2022239226A1 WO2022239226A1 PCT/JP2021/018388 JP2021018388W WO2022239226A1 WO 2022239226 A1 WO2022239226 A1 WO 2022239226A1 JP 2021018388 W JP2021018388 W JP 2021018388W WO 2022239226 A1 WO2022239226 A1 WO 2022239226A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- circuit
- clock interface
- asynchronous clock
- quality
- embedded
- Prior art date
Links
- 238000012790 confirmation Methods 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims description 14
- 238000012795 verification Methods 0.000 claims description 36
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000013481 data capture Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 28
- 101001094545 Homo sapiens Retrotransposon-like protein 1 Proteins 0.000 description 12
- 102100035123 Retrotransposon-like protein 1 Human genes 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
Definitions
- the present disclosure relates to an embedded circuit, a circuit quality confirmation device, and a circuit quality confirmation method.
- Patent Literature 1 discloses a technique of inputting a pattern in a gate-level simulation capable of inputting delay information, randomly assigning delay values in an asynchronous portion, and detecting violations.
- An object of the present disclosure is to uniquely determine the worst timing conditions in a circuit including an asynchronous clock interface circuit and automatically verify the quality of the circuit including the asynchronous clock interface circuit.
- An embedded circuit includes: It is an asynchronous clock interface circuit in which signal timing is uniquely determined according to set timing conditions, and includes a dedicated circuit that is an asynchronous clock interface circuit including an asynchronous clock interface path.
- a circuit quality confirmation device includes: Verification for verifying the quality of the embedded circuit by using the embedded circuit and the worst condition, which is a timing condition corresponding to the limit of data fetching in the subsequent stage of the asynchronous clock interface path in the dedicated circuit included in the embedded circuit.
- a verification tool execution unit that verifies the quality of the embedded circuit by executing a tool.
- An embedded circuit according to the present disclosure is an asynchronous clock interface circuit whose signal timing is uniquely determined according to set timing conditions, and includes a dedicated circuit that is an asynchronous clock interface circuit including an asynchronous clock interface path. Therefore, the circuit quality checking apparatus according to the present disclosure uses the embedded circuit according to the present disclosure to uniquely determine the worst timing conditions in the circuit including the asynchronous clock interface circuit, and automatically Quality can be verified (automatic acceptance/rejection of quality).
- FIG. 1 is a diagram showing a configuration example of a circuit quality confirmation device 10 according to Embodiment 1;
- FIG. FIG. 2 is a diagram for explaining a specific example of a CDC-IP (Clock Domain Crossing-Intellectual Property) 20; 4 is a timing chart of the CDC-IP 20 according to Embodiment 1; 4 is a timing chart of the CDC-IP 20 according to Embodiment 1; 2 is a diagram showing a hardware configuration example of the circuit quality confirmation device 10 according to the first embodiment;
- FIG. 4 is a flowchart showing the operation of the circuit quality checking device 10 according to Embodiment 1;
- FIG. 2 is a diagram showing a hardware configuration example of a circuit quality checking device 10 according to a modification of the first embodiment;
- FIG. FIG. 10 is a diagram showing a configuration example of a circuit quality confirmation device 10 according to a second embodiment;
- FIG. 10 is a diagram showing a configuration example of a circuit quality confirmation device 10 according to a third embodiment
- FIG. 1 shows a configuration example of a circuit quality checking device 10 according to this embodiment.
- the circuit quality confirmation device 10 includes a circuit generation unit 11, a worst condition calculation unit 12, a verification tool execution unit 13, an execution result analysis unit 14, and a verification result display unit 15.
- RTL Register Transfer Level
- timing constraint 2 CDC-IP 20
- dedicated timing constraint 21 a circuit quality checking device 10
- worst condition 22 a circuit quality checking device 10
- the RTL1 is an electronic circuit and is also called a target circuit.
- RTL1 may be a netlist.
- RTL1 includes an asynchronous clock interface circuit.
- the CDC-IP 20 is an asynchronous clock interface circuit whose signal timing is uniquely determined according to set timing conditions, is an asynchronous clock interface circuit including an asynchronous clock interface path, and is also called an asynchronous clock interface dedicated circuit. Also called a dedicated circuit.
- An asynchronous clock interface path is also called an asynchronous clock interface.
- Each of the RTL 1 and CDC-IP 20 is typically a circuit expressed in a hardware description language.
- a circuit quality confirmation device 10 is a device for confirming the quality of a target circuit.
- Timing Constraint 2 indicates the timing constraint for the RTL1 signal.
- Dedicated timing constraints 21 indicate timing constraints for signals of CDC-IP 20 and are also called CDC-IP dedicated timing constraints.
- Each of the timing constraint 2 and the dedicated timing constraint 21 is, as a specific example, an SDC (Synopsys Design Constraints) file.
- Worst case condition 22 is a timing condition that reaches the limit of how much data can be captured after the asynchronous clock interface in CDC-IP 20 .
- the circuit generator 11 generates an embedded circuit 23 by incorporating the CDC-IP 20 into the RTL1. Specifically, the circuit generator 11 generates the embedded circuit 23 by replacing the target asynchronous clock interface circuit, which is an asynchronous clock interface circuit included in the RTL 1, with the CDC-IP 20 corresponding to the target asynchronous clock interface circuit. In addition, the circuit generator 11 generates an embedded constraint 24 indicating the timing of the signal in the embedded circuit 23 by appropriately incorporating the dedicated timing constraint 21 into the timing constraint 2 . Specifically, the circuit generator 11 generates the built-in constraint 24 by replacing the constraint on the asynchronous clock interface circuit among the timing constraints 2 with the dedicated timing constraint 21 .
- the worst condition calculation unit 12 calculates the worst condition 22 in the circuit generated by the circuit generation unit 11 using the dedicated circuit and the timing constraints of the dedicated circuit.
- the worst condition calculator 12 may calculate the worst condition 22 based on the characteristics of signals generated in the embedded circuit 23 when the embedded circuit 23 is mounted on a board.
- the verification tool execution unit 13 verifies the quality of the embedded circuit 23 by executing a verification tool, which is a tool for verifying the circuit, using the embedded circuit 23 and the worst condition 22 .
- the verification tool may be a commercially available tool, and a specific example is the tool shown in [Reference 1].
- the verification tool may be installed in the circuit quality verification device 10 or may be installed in another device.
- the execution result analysis unit 14 analyzes the result of the verification tool execution unit 13 executing the verification tool.
- the verification result display unit 15 displays the results analyzed by the execution result analysis unit 14, and is also called a quality pass/fail judgment display unit.
- FIG. 2 shows a specific example of CDC-IP20.
- Signal 30 is an asynchronous data signal.
- Signal 31 is an asynchronous enable signal for capturing signal 30 later in the asynchronous clock interface path within CDC-IP 20 .
- the asynchronous clock interface path is wire 32 or wire 32 and wire 33 .
- the rear stage of the asynchronous clock interface path is a flip-flop that takes in signals transmitted through each of the wirings 32 and 33 . Note that the latter stage of the asynchronous clock interface path within the CDC-IP 20 may simply be referred to as the latter stage.
- a wiring 32 is a wiring for transmitting a signal 30 having a shaped waveform.
- a wiring 33 is a wiring for transmitting a signal 31 having a shaped waveform.
- a specific example of the timing constraint is to match the timings of the signal 30 and the signal 31 .
- the timing constraints of the signals 30 and 31 if there is no delay in each signal, the asynchronous data can be reliably captured in the subsequent stage.
- the worst condition calculator 12 can calculate the worst condition 22 .
- FIGS. 3 and 4 each show a timing chart corresponding to FIG. FIGS. 3 and 4 show that the timing of latching data after the asynchronous clock interface path in the CDC-IP 20 differs depending on the signal delay.
- an arrow Y1 indicates data delay.
- Arrow Y2 indicates the delay of the enable signal (ena_tff_r/Q).
- An arrow Y3 indicates how data (dat_out_r/D) is latched at the timing when the enable control (ena_mid) is High.
- FIG. 3 shows a specific example in which data can be latched with a margin in the latter stage.
- FIG. 4 shows a specific example in which data can be latched at the last minute in the latter stage.
- the enable signal (ena_tff_r/Q) is delayed by one extra cycle compared to the case shown in FIG. As a result, the timing margin for data latching in the subsequent stage is reduced. If the enable signal (ena_tff_r/Q) is further delayed until the next period, it cannot be latched in the subsequent stage. That is, FIG. 4 shows a specific example of the worst condition 22. In FIG. The verification tool execution unit 13 inputs or sets the worst condition 22 to the verification tool, so that the circuit quality confirmation device 10 can determine pass/fail for the embedded circuit 23 .
- FIG. 5 shows a hardware configuration example of the circuit quality checking device 10 according to this embodiment.
- the circuit quality confirmation device 10 consists of a computer.
- the circuit quality confirmation device 10 may consist of a plurality of computers.
- the circuit quality confirmation device 10 is a computer equipped with hardware such as a processor 51, a memory 52, an auxiliary storage device 53, an input/output IF (Interface) 54, and a communication device 55, as shown in the figure. These pieces of hardware are appropriately connected via signal lines 59 .
- the processor 51 is an IC (Integrated Circuit) that performs arithmetic processing and controls hardware included in the computer.
- the processor 51 is, for example, a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or a GPU (Graphics Processing Unit).
- Circuit quality confirmation device 10 may include a plurality of processors in place of processor 51 .
- a plurality of processors share the role of processor 51 .
- the memory 52 is typically a volatile storage device.
- the memory 52 is also called main storage or main memory.
- the memory 52 is, as a specific example, a RAM (Random Access Memory).
- the data stored in the memory 52 is saved in the auxiliary storage device 53 as required.
- Auxiliary storage device 53 is typically a non-volatile storage device.
- the auxiliary storage device 53 is, for example, a ROM (Read Only Memory), an HDD (Hard Disk Drive), or a flash memory. Data stored in the auxiliary storage device 53 is loaded into the memory 52 as needed.
- the memory 52 and the auxiliary storage device 53 may be constructed integrally.
- the input/output IF 54 is a port to which an input device and an output device are connected.
- the input/output IF 54 is, as a specific example, a USB (Universal Serial Bus) terminal.
- the input device is, as a specific example, a keyboard and a mouse.
- a specific example of the output device is a display.
- the communication device 55 is a receiver and a transmitter.
- the communication device 55 is, as a specific example, a communication chip or a NIC (Network Interface Card).
- Each part of the circuit quality confirmation device 10 may use the communication device 55 as appropriate when communicating with other devices.
- Each part of the circuit quality confirmation device 10 may receive data via the input/output IF 54 or may receive data via the communication device 55 .
- the auxiliary storage device 53 stores a quality confirmation program.
- the quality confirmation program is a program that causes a computer to realize the function of each part of the circuit quality confirmation device 10 .
- the quality confirmation program is loaded into memory 52 and executed by processor 51 .
- the function of each unit included in the circuit quality checking device 10 is realized by software.
- the storage device comprises at least one of memory 52 , auxiliary storage device 53 , registers within processor 51 , and cache memory within processor 51 as a specific example. Note that data and information may have the same meaning.
- the storage device may be independent of the computer.
- the storage stores RTL 1 , timing constraints 2 , CDC-IP 20 , dedicated timing constraints 21 and worst case conditions 22 .
- the functions of the memory 52 and auxiliary storage device 53 may be realized by another storage device.
- the quality confirmation program may be recorded on a computer-readable non-volatile recording medium.
- a nonvolatile recording medium is, for example, an optical disk or a flash memory.
- a quality verification program may be provided as a program product.
- the operation procedure of the circuit quality confirmation device 10 corresponds to a circuit quality confirmation method.
- a program that realizes the operation of the circuit quality confirmation device 10 corresponds to a quality confirmation program.
- FIG. 6 is a flowchart showing an example of the operation of the circuit quality confirmation device 10.
- FIG. The operation of the circuit quality confirmation device 10 will be described with reference to this figure.
- Step S10 preparation processing
- the circuit quality confirmation device 10 prepares the CDC-IP 20 corresponding to the asynchronous clock interface circuit included in the RTL 1 and the dedicated timing constraints 21 .
- Step S11 circuit generation processing
- the circuit generator 11 generates an embedded circuit 23 by incorporating the CDC-IP 20 into the RTL1.
- the circuit generation unit 11 also generates embedded constraints 24 by incorporating the dedicated timing constraints 21 into the timing constraints 2 .
- Step S12 Worst-case condition generation processing
- the worst condition calculator 12 generates the worst condition 22 based on the CDC-IP 20 and the dedicated timing constraint 21 .
- Step S13 Verification tool execution processing
- the verification tool execution unit 13 inputs the worst condition 22, the embedded circuit 23, and the embedded constraints 24 to the verification tool, and verifies the embedded circuit 23 using the verification tool.
- Step S14 Execution result analysis processing
- the execution result analysis unit 14 confirms the quality of the embedded circuit 23 by analyzing the result of execution of the verification tool by the verification tool execution unit 13 .
- Step S15 verification result display processing
- the verification result display unit 15 displays the results analyzed by the execution result analysis unit 14 .
- the present embodiment by using the embedded circuit 23 and the worst condition 22, it is possible to exhaustively verify the patterns to be verified in verifying the quality of the embedded circuit 23.
- FIG. also, by using a verification tool, the quality of the embedded circuit 23 can be automatically verified.
- the verification tool can detect obvious circuit failures in which an error is detected regardless of the state of the circuit, it is not related to the signal timing intended by the circuit designer. It is not possible to verify the circuit in consideration of the operation to be performed and the wiring delay after the circuit is mounted. Therefore, there is a problem that there is a possibility that there is a defect in the circuit even if the error is not detected by the verification tool.
- the circuit is verified by the verification tool in consideration of the operation related to the signal timing intended by the circuit designer and the worst timing condition caused by the wiring delay after the circuit is implemented. can do.
- FIG. 7 shows a hardware configuration example of the circuit quality checking device 10 according to this modification.
- the circuit quality checking apparatus 10 includes a processing circuit 58 in place of the processor 51 , the processor 51 and memory 52 , the processor 51 and auxiliary storage device 53 , or the processor 51 , memory 52 and auxiliary storage device 53 .
- the processing circuit 58 is hardware that implements at least a part of each unit included in the circuit quality confirmation device 10 .
- Processing circuitry 58 may be dedicated hardware or may be a processor that executes programs stored in memory 52 .
- processing circuit 58 When processing circuit 58 is dedicated hardware, processing circuit 58 may be, by way of example, a single circuit, multiple circuits, a programmed processor, a parallel programmed processor, an ASIC (ASIC is an Application Specific Integrated Circuit), an FPGA. (Field Programmable Gate Array) or a combination thereof.
- the circuit quality confirmation device 10 may include a plurality of processing circuits that substitute for the processing circuit 58 . A plurality of processing circuits share the role of processing circuit 58 .
- circuit quality confirmation device 10 some functions may be implemented by dedicated hardware, and the remaining functions may be implemented by software or firmware.
- the processing circuit 58 is implemented by hardware, software, firmware, or a combination thereof, as a specific example.
- the processor 51, memory 52, auxiliary storage device 53 and processing circuit 58 are collectively referred to as "processing circuitry". That is, the function of each functional component of the circuit quality confirmation device 10 is realized by the processing circuitry.
- a circuit quality checking device 10 according to another embodiment may also have the same configuration as this modified example.
- FIG. 8 shows a configuration example of a circuit quality checking device 10 according to this embodiment.
- the circuit quality confirmation device 10 stores a plurality of CDC-IPs 40 instead of the CDC-IPs 20 and a plurality of dedicated timing constraints 41 instead of the dedicated timing constraints 21 .
- a plurality of CDC-IPs 40 is a set of CDC-IPs that are candidates for replacing the RTL1 asynchronous clock interface circuit.
- Each CDC-IP included in the plurality of CDC-IPs 40 is similar to the CDC-IP 20 .
- the circuit quality confirmation device 10 stores various CDC-IPs so that the asynchronous clock interface circuit can be appropriately replaced according to the type of the asynchronous clock interface circuit included in the RTL1.
- Examples of types of asynchronous clock interface circuits are circuits that perform multi-bit transfers, circuits that perform single-bit transfers, or circuits that perform pulse signal transfers. There are other types of asynchronous clock interface circuits depending on the timing or method of signal transfer.
- the dedicated circuit according to this embodiment is a circuit corresponding to the type of asynchronous clock interface circuit included in the RTL1.
- Each of the plurality of dedicated timing constraints 41 is a timing constraint corresponding to each of the plurality of CDC-IPs 40 .
- the number of dedicated timing constraints included in multiple dedicated timing constraints 41 and the number of CDC-IPs included in multiple CDC-IPs 40 are typically the same.
- the operation of the circuit quality checking device 10 according to this embodiment is basically the same as the operation of the circuit quality checking device 10 according to the first embodiment.
- the portions that are different from the operations of the circuit quality checking apparatus 10 according to the first embodiment will be mainly described.
- Step S11 circuit generation processing
- the circuit generation unit 11 selects a CDC-IP suitable for the asynchronous clock interface circuit included in the RTL 1 from a plurality of CDC-IPs 40, and incorporates the selected CDC-IP into the RTL 1 instead of the CDC-IP 20 to create the embedded circuit 23. Generate. Further, the circuit generator 11 selects a dedicated timing constraint corresponding to the selected CDC-IP from a plurality of dedicated timing constraints 41, and incorporates the selected dedicated timing constraint into the timing constraint 2 instead of the dedicated timing constraint 21. Generate built-in constraints 24 . Note that when the RTL1 includes a plurality of asynchronous clock interface circuits, the circuit generator 11 performs the above-described processing for each asynchronous clock interface circuit included in the RTL1.
- an appropriate CDC-IP can be selected according to the type of asynchronous clock interface circuit included in RTL1.
- FIG. 9 shows a configuration example of a circuit quality confirmation device 10 according to this embodiment.
- the circuit quality confirmation device 10 stores the maximum delay value 25 as shown in the figure.
- the maximum delay value 25 is a value predicted as the worst value of various timings when the embedded circuit 23 is mounted on a substrate, that is, when a semiconductor integrated circuit corresponding to the embedded circuit 23 is created. Also called the maximum value of Various timings are, for example, general timings in LSI design such as clock skew, flip-flop setup/hold time, or clock phase difference.
- the exact value of the worst value cannot be known until the circuit is implemented, and in this embodiment, it is assumed that the embedded circuit 23 is verified before the circuit is implemented. is the maximum delay value 25.
- a device other than the circuit quality checking device 10 may predict the worst value.
- the operation of the circuit quality checking device 10 according to this embodiment is basically the same as the operation of the circuit quality checking device 10 according to the first embodiment.
- the portions that are different from the operations of the circuit quality checking apparatus 10 according to the first embodiment will be mainly described.
- Step S12 Worst-case condition generation processing
- the worst condition calculator 12 also uses the maximum delay value 25 when generating the worst condition 22 .
- the maximum delay value 25 is used to generate the worst condition 22 . Therefore, according to the present embodiment, the accuracy of the worst condition 22 becomes higher, and as a result, the accuracy of verification of the embedded circuit 23 becomes higher.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
組込み回路は、設定されたタイミング条件に応じて信号のタイミングが一意に定まる非同期クロックインターフェース回路であって、非同期クロックインターフェースパスを含む非同期クロックインターフェース回路である専用回路を含む。そのため、回路品質確認装置(10)は、当該組込み回路を用いて、非同期クロックインターフェース回路を含む回路における最悪のタイミング条件を一意に定め、自動的に非同期クロックインターフェース回路を含む回路の品質を検証することができる。
Description
本開示は、組込み回路、回路品質確認装置、及び回路品質確認方法に関する。
LSI(Large Scale Integration)設計の中でも不具合発生数が多いとされる非同期クロックインターフェース回路の品質を明確に網羅的に確認する方法がこれまでなく、波形目視又はRTL(Register Transfer Level)コードレビュー等の方法により非同期クロックインターフェース回路の品質を確認することが多い。しかしながら、これらの方法は、確認負荷が重く、かつ、確認漏れが生じやすい。
特許文献1は、遅延情報を入力することができるゲートレベルシミュレーションにおいてパターンを入力し、非同期部分の遅延の値をランダムに振り、違反を検出する技術を開示している。
特許文献1は、遅延情報を入力することができるゲートレベルシミュレーションにおいてパターンを入力し、非同期部分の遅延の値をランダムに振り、違反を検出する技術を開示している。
特許文献1が開示する技術によれば、実際のレイアウト後の遅延情報を入力して動的なタイミング検証であるゲートレベルシミュレーションを実施するので、非同期クロックインターフェース回路の品質を確認することは可能である。しかしながら、当該技術によれば、検証実行に時間がかかること、温度と、電圧と、半導体プロセスの出来等によって確認結果が変わることがある。そのため、当該技術には、網羅的にテストパターンを作成することと網羅的に条件を設定することが難しく、テストパターンの不足及び条件の設定漏れの少なくともいずれかにより品質の確認に漏れが生じるという課題がある。
本開示は、非同期クロックインターフェース回路を含む回路における最悪のタイミング条件を一意に定め、自動的に非同期クロックインターフェース回路を含む回路の品質を検証することを目的とする。
本開示に係る組込み回路は、
設定されたタイミング条件に応じて信号のタイミングが一意に定まる非同期クロックインターフェース回路であって、非同期クロックインターフェースパスを含む非同期クロックインターフェース回路である専用回路を含む。
設定されたタイミング条件に応じて信号のタイミングが一意に定まる非同期クロックインターフェース回路であって、非同期クロックインターフェースパスを含む非同期クロックインターフェース回路である専用回路を含む。
本開示に係る回路品質確認装置は、
前記組込み回路と、前記組込み回路が含む専用回路内における前記非同期クロックインターフェースパスの後段においてデータを取り込むことができる限度に当たるタイミング条件である最悪条件とを用いて、前記組込み回路の品質を検証する検証ツールを実行することにより前記組込み回路の品質を検証する検証ツール実行部
を備える。
前記組込み回路と、前記組込み回路が含む専用回路内における前記非同期クロックインターフェースパスの後段においてデータを取り込むことができる限度に当たるタイミング条件である最悪条件とを用いて、前記組込み回路の品質を検証する検証ツールを実行することにより前記組込み回路の品質を検証する検証ツール実行部
を備える。
本開示に係る組込み回路は、設定されたタイミング条件に応じて信号のタイミングが一意に定まる非同期クロックインターフェース回路であって、非同期クロックインターフェースパスを含む非同期クロックインターフェース回路である専用回路を含む。そのため、本開示に係る回路品質確認装置は、本開示に係る組込み回路を用いて、非同期クロックインターフェース回路を含む回路における最悪のタイミング条件を一意に定め、自動的に非同期クロックインターフェース回路を含む回路の品質を検証(品質自動合否判定)することができる。
実施の形態の説明及び図面において、同じ要素及び対応する要素には同じ符号を付している。同じ符号が付された要素の説明は、適宜に省略又は簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。また、「部」を、「回路」、「工程」、「手順」、「処理」又は「サーキットリー」に適宜読み替えてもよい。
実施の形態1.
以下、本実施の形態について、図面を参照しながら詳細に説明する。
以下、本実施の形態について、図面を参照しながら詳細に説明する。
***構成の説明***
図1は、本実施の形態に係る回路品質確認装置10の構成例を示している。回路品質確認装置10は、本図に示すように、回路生成部11と、最悪条件算出部12と、検証ツール実行部13と、実行結果解析部14と、検証結果表示部15とを備え、RTL(Register Transfer Level)1と、タイミング制約2と、CDC-IP20と、専用タイミング制約21と、最悪条件22とを記憶する。
図1は、本実施の形態に係る回路品質確認装置10の構成例を示している。回路品質確認装置10は、本図に示すように、回路生成部11と、最悪条件算出部12と、検証ツール実行部13と、実行結果解析部14と、検証結果表示部15とを備え、RTL(Register Transfer Level)1と、タイミング制約2と、CDC-IP20と、専用タイミング制約21と、最悪条件22とを記憶する。
RTL1は、電子回路であり、対象回路とも呼ばれる。RTL1はネットリストであってもよい。RTL1は、非同期クロックインターフェース回路を含む。CDC-IP20は、設定されたタイミング条件に応じて信号のタイミングが一意に定まる非同期クロックインターフェース回路であって、非同期クロックインターフェースパスを含む非同期クロックインターフェース回路であり、また、非同期クロックインターフェース専用回路とも呼ばれ、専用回路とも呼ばれる。非同期クロックインターフェースパスは非同期クロックインターフェースとも呼ばれる。RTL1とCDC-IP20との各々は、典型的にはハードウェア記述言語により表現された回路である。回路品質確認装置10は、対象回路の品質を確認するための装置である。
タイミング制約2は、RTL1の信号についてのタイミング制約を示す。専用タイミング制約21は、CDC-IP20の信号についてのタイミング制約を示し、また、CDC-IP専用タイミング制約とも呼ばれる。
タイミング制約2と専用タイミング制約21との各々は、具体例として、SDC(Synopsys Design Constraints)ファイルである。
タイミング制約2と専用タイミング制約21との各々は、具体例として、SDC(Synopsys Design Constraints)ファイルである。
最悪条件22は、CDC-IP20内における非同期クロックインターフェースの後段においてデータを取り込むことができる限度に当たるタイミング条件である。
回路生成部11は、RTL1にCDC-IP20を組み込むことにより組込み回路23を生成する。具体的には、回路生成部11は、RTL1が含む非同期クロックインターフェース回路である対象非同期クロックインターフェース回路を対象非同期クロックインターフェース回路に対応するCDC-IP20に置き換えることにより組込み回路23を生成する。
また、回路生成部11は、タイミング制約2に専用タイミング制約21を適宜組み込むことにより組込み回路23における信号のタイミングを示す組込み制約24を生成する。具体的には、回路生成部11は、タイミング制約2のうち非同期クロックインターフェース回路についての制約を専用タイミング制約21に置き換えることにより組込み制約24を生成する。
また、回路生成部11は、タイミング制約2に専用タイミング制約21を適宜組み込むことにより組込み回路23における信号のタイミングを示す組込み制約24を生成する。具体的には、回路生成部11は、タイミング制約2のうち非同期クロックインターフェース回路についての制約を専用タイミング制約21に置き換えることにより組込み制約24を生成する。
最悪条件算出部12は、専用回路と専用回路のタイミング制約とを用いて回路生成部11が生成した回路における最悪条件22を算出する。最悪条件算出部12は、組込み回路23を基盤に実装した場合における組込み回路23内で発生する信号の特性に基づいて最悪条件22を算出してもよい。
検証ツール実行部13は、組込み回路23と最悪条件22とを用いて、回路を検証するツールである検証ツールを実行することにより組込み回路23の品質を検証する。検証ツールは、市販ツールであってもよく、具体例として、[参考文献1]に示すツールである。検証ツールは、回路品質確認装置10にインストールされていてもよく、他の装置にインストールされていてもよい。
[参考文献1]
日本シノプシス合同会社、“SpyGlass CDC”、[online]、[2021年2月19日検索]、インターネット<URL:https://www.synopsys.com/ja-jp/verification/static-and-formal-verification/spyglass/spyglass-cdc.html>
日本シノプシス合同会社、“SpyGlass CDC”、[online]、[2021年2月19日検索]、インターネット<URL:https://www.synopsys.com/ja-jp/verification/static-and-formal-verification/spyglass/spyglass-cdc.html>
実行結果解析部14は、検証ツール実行部13が検証ツールを実行した結果を解析する。
検証結果表示部15は、実行結果解析部14が解析した結果を表示し、また、品質合否判定表示部とも呼ばれる。
図2は、CDC-IP20の具体例を示している。
信号30は非同期データ信号である。
信号31は、信号30をCDC-IP20内における非同期クロックインターフェースパスの後段で取り込むための非同期イネーブル信号である。図2において、非同期クロックインターフェースパスは、配線32、あるいは配線32及び配線33である。図2において、非同期クロックインターフェースパスの後段は、配線32及び配線33の各々を伝送された信号を取り込むフリップフロップである。なお、CDC-IP20内における非同期クロックインターフェースパスの後段を単に後段と表記することもある。
配線32は、波形を整形した信号30を伝える配線である。
配線33は、波形を整形した信号31を伝える配線である。
タイミング制約は、具体例として、信号30と信号31とのタイミングを合わせることである。信号30と信号31とのタイミング制約を適宜定めることにより、各信号に遅延がない場合、後段において非同期データを確実に取込むことができる。
また、配線32及び配線33の配線遅延値と、フリップフロップのsetup/hold値と、クロックスキュー値と、クロック位相差との少なくともいずれか等を事前に適宜設定することにより、CDC-IP20のタイミングは一意に決まる。そのため、最悪条件算出部12は最悪条件22を算出することができる。
信号30は非同期データ信号である。
信号31は、信号30をCDC-IP20内における非同期クロックインターフェースパスの後段で取り込むための非同期イネーブル信号である。図2において、非同期クロックインターフェースパスは、配線32、あるいは配線32及び配線33である。図2において、非同期クロックインターフェースパスの後段は、配線32及び配線33の各々を伝送された信号を取り込むフリップフロップである。なお、CDC-IP20内における非同期クロックインターフェースパスの後段を単に後段と表記することもある。
配線32は、波形を整形した信号30を伝える配線である。
配線33は、波形を整形した信号31を伝える配線である。
タイミング制約は、具体例として、信号30と信号31とのタイミングを合わせることである。信号30と信号31とのタイミング制約を適宜定めることにより、各信号に遅延がない場合、後段において非同期データを確実に取込むことができる。
また、配線32及び配線33の配線遅延値と、フリップフロップのsetup/hold値と、クロックスキュー値と、クロック位相差との少なくともいずれか等を事前に適宜設定することにより、CDC-IP20のタイミングは一意に決まる。そのため、最悪条件算出部12は最悪条件22を算出することができる。
図3及び図4の各々は、図2に対応するタイミングチャートを示している。
図3及び図4は、信号の遅延状況によって、CDC-IP20内における非同期クロックインターフェースパスの後段においてデータをラッチするタイミングが異なることを示している。ここで、矢印Y1は、データの遅延を示している。矢印Y2は、イネーブル信号(ena_tff_r/Q)の遅延を示している。矢印Y3は、イネーブル制御(ena_mid)がHighであるタイミングでデータ(dat_out_r/D)をラッチする様子を示している。
図3は、後段において余裕をもってデータをラッチすることができる具体例を示している。
図4は、後段においてギリギリでデータをラッチすることができる具体例を示している。図4では、イネーブル信号(ena_tff_r/Q)が図3に示す場合と比較して1周期余計に遅延している。その結果、後段におけるデータラッチのタイミングの余裕が少なくなっている。そして、イネーブル信号(ena_tff_r/Q)がさらに次の周期まで遅延すると後段においてラッチすることができない。即ち、図4は最悪条件22の具体例を示している。
検証ツール実行部13が最悪条件22を検証ツールに入力する又は設定することにより、回路品質確認装置10は組込み回路23についての合否を判定することができる。
図3及び図4は、信号の遅延状況によって、CDC-IP20内における非同期クロックインターフェースパスの後段においてデータをラッチするタイミングが異なることを示している。ここで、矢印Y1は、データの遅延を示している。矢印Y2は、イネーブル信号(ena_tff_r/Q)の遅延を示している。矢印Y3は、イネーブル制御(ena_mid)がHighであるタイミングでデータ(dat_out_r/D)をラッチする様子を示している。
図3は、後段において余裕をもってデータをラッチすることができる具体例を示している。
図4は、後段においてギリギリでデータをラッチすることができる具体例を示している。図4では、イネーブル信号(ena_tff_r/Q)が図3に示す場合と比較して1周期余計に遅延している。その結果、後段におけるデータラッチのタイミングの余裕が少なくなっている。そして、イネーブル信号(ena_tff_r/Q)がさらに次の周期まで遅延すると後段においてラッチすることができない。即ち、図4は最悪条件22の具体例を示している。
検証ツール実行部13が最悪条件22を検証ツールに入力する又は設定することにより、回路品質確認装置10は組込み回路23についての合否を判定することができる。
図5は、本実施の形態に係る回路品質確認装置10のハードウェア構成例を示している。回路品質確認装置10は、コンピュータから成る。回路品質確認装置10は、複数のコンピュータから成ってもよい。
回路品質確認装置10は、本図に示すように、プロセッサ51と、メモリ52と、補助記憶装置53と、入出力IF(Interface)54と、通信装置55等のハードウェアを備えるコンピュータである。これらのハードウェアは、信号線59を介して適宜接続されている。
プロセッサ51は、演算処理を行うIC(Integrated Circuit)であり、かつ、コンピュータが備えるハードウェアを制御する。プロセッサ51は、具体例として、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、又はGPU(Graphics Processing Unit)である。
回路品質確認装置10は、プロセッサ51を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ51の役割を分担する。
回路品質確認装置10は、プロセッサ51を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ51の役割を分担する。
メモリ52は、典型的には、揮発性の記憶装置である。メモリ52は、主記憶装置又はメインメモリとも呼ばれる。メモリ52は、具体例として、RAM(Random Access Memory)である。メモリ52に記憶されたデータは、必要に応じて補助記憶装置53に保存される。
補助記憶装置53は、典型的には、不揮発性の記憶装置である。補助記憶装置53は、具体例として、ROM(Read Only Memory)、HDD(Hard Disk Drive)、又はフラッシュメモリである。補助記憶装置53に記憶されたデータは、必要に応じてメモリ52にロードされる。
メモリ52及び補助記憶装置53は一体的に構成されていてもよい。
メモリ52及び補助記憶装置53は一体的に構成されていてもよい。
入出力IF54は、入力装置及び出力装置が接続されるポートである。入出力IF54は、具体例として、USB(Universal Serial Bus)端子である。入力装置は、具体例として、キーボード及びマウスである。出力装置は、具体例として、ディスプレイである。
通信装置55は、レシーバ及びトランスミッタである。通信装置55は、具体例として、通信チップ又はNIC(Network Interface Card)である。
回路品質確認装置10の各部は、他の装置等と通信する際に、通信装置55を適宜用いてもよい。回路品質確認装置10の各部は、入出力IF54を介してデータを受け付けてもよく、また、通信装置55を介してデータを受け付けてもよい。
補助記憶装置53は、品質確認プログラムを記憶している。品質確認プログラムは、回路品質確認装置10が備える各部の機能をコンピュータに実現させるプログラムである。品質確認プログラムは、メモリ52にロードされて、プロセッサ51によって実行される。回路品質確認装置10が備える各部の機能は、ソフトウェアにより実現される。
品質確認プログラムを実行する際に用いられるデータと、品質確認プログラムを実行することによって得られるデータ等は、記憶装置に適宜記憶される。回路品質確認装置10の各部は、適宜記憶装置を利用する。記憶装置は、具体例として、メモリ52と、補助記憶装置53と、プロセッサ51内のレジスタと、プロセッサ51内のキャッシュメモリとの少なくとも1つから成る。なお、データと情報とは、同等の意味を有することもある。記憶装置は、コンピュータと独立したものであってもよい。記憶装置は、RTL1と、タイミング制約2と、CDC-IP20と、専用タイミング制約21と、最悪条件22とを記憶する。
メモリ52及び補助記憶装置53の機能は、他の記憶装置によって実現されてもよい。
メモリ52及び補助記憶装置53の機能は、他の記憶装置によって実現されてもよい。
品質確認プログラムは、コンピュータが読み取り可能な不揮発性の記録媒体に記録されていてもよい。不揮発性の記録媒体は、具体例として、光ディスク又はフラッシュメモリである。品質確認プログラムは、プログラムプロダクトとして提供されてもよい。
***動作の説明***
回路品質確認装置10の動作手順は、回路品質確認方法に相当する。また、回路品質確認装置10の動作を実現するプログラムは、品質確認プログラムに相当する。
回路品質確認装置10の動作手順は、回路品質確認方法に相当する。また、回路品質確認装置10の動作を実現するプログラムは、品質確認プログラムに相当する。
図6は、回路品質確認装置10の動作の一例を示すフローチャートである。本図を参照して回路品質確認装置10の動作を説明する。
(ステップS10:準備処理)
回路品質確認装置10は、RTL1が含む非同期クロックインターフェース回路に対応するCDC-IP20と、専用タイミング制約21とを準備する。
回路品質確認装置10は、RTL1が含む非同期クロックインターフェース回路に対応するCDC-IP20と、専用タイミング制約21とを準備する。
(ステップS11:回路生成処理)
回路生成部11は、RTL1にCDC-IP20を組込むことにより組込み回路23を生成する。また、回路生成部11は、タイミング制約2に専用タイミング制約21を組込むことにより組込み制約24を生成する。
回路生成部11は、RTL1にCDC-IP20を組込むことにより組込み回路23を生成する。また、回路生成部11は、タイミング制約2に専用タイミング制約21を組込むことにより組込み制約24を生成する。
(ステップS12:最悪条件生成処理)
最悪条件算出部12は、CDC-IP20と専用タイミング制約21とに基づいて、最悪条件22を生成する。
最悪条件算出部12は、CDC-IP20と専用タイミング制約21とに基づいて、最悪条件22を生成する。
(ステップS13:検証ツール実行処理)
検証ツール実行部13は、最悪条件22と、組込み回路23と、組込み制約24とを検証ツールに入力し、検証ツールを用いて組込み回路23を検証する。
検証ツール実行部13は、最悪条件22と、組込み回路23と、組込み制約24とを検証ツールに入力し、検証ツールを用いて組込み回路23を検証する。
(ステップS14:実行結果解析処理)
実行結果解析部14は、検証ツール実行部13が検証ツールを実行した結果を解析することにより組込み回路23の品質を確認する。
実行結果解析部14は、検証ツール実行部13が検証ツールを実行した結果を解析することにより組込み回路23の品質を確認する。
(ステップS15:検証結果表示処理)
検証結果表示部15は、実行結果解析部14が解析した結果を表示する。
検証結果表示部15は、実行結果解析部14が解析した結果を表示する。
***実施の形態1の効果の説明***
以上のように、本実施の形態によれば、組込み回路23と、最悪条件22とを用いることにより、組込み回路23の品質の検証において検証すべきパターンを網羅的に検証することができる。また、検証ツールを用いることにより、自動的に組込み回路23の品質を検証することができる。
なお、既存技術によれば、回路がどのような状態であってもエラーが検出される明らかな回路の不具合を検証ツールによって検出することはできるものの、回路の設計者が意図した信号タイミングに関係する動作と、回路の実装後における配線遅延等を考慮して回路を検証することができない。そのため、エラーが検証ツールによって検出されなくても回路に不具合がある可能性があるという課題がある。一方、本実施の形態によれば、回路の設計者が意図した信号タイミングに関係する動作と、回路の実装後における配線遅延等によって生じる最悪のタイミング条件とを考慮して検証ツールにより回路を検証することができる。
以上のように、本実施の形態によれば、組込み回路23と、最悪条件22とを用いることにより、組込み回路23の品質の検証において検証すべきパターンを網羅的に検証することができる。また、検証ツールを用いることにより、自動的に組込み回路23の品質を検証することができる。
なお、既存技術によれば、回路がどのような状態であってもエラーが検出される明らかな回路の不具合を検証ツールによって検出することはできるものの、回路の設計者が意図した信号タイミングに関係する動作と、回路の実装後における配線遅延等を考慮して回路を検証することができない。そのため、エラーが検証ツールによって検出されなくても回路に不具合がある可能性があるという課題がある。一方、本実施の形態によれば、回路の設計者が意図した信号タイミングに関係する動作と、回路の実装後における配線遅延等によって生じる最悪のタイミング条件とを考慮して検証ツールにより回路を検証することができる。
***他の構成***
<変形例1>
図7は、本変形例に係る回路品質確認装置10のハードウェア構成例を示している。
回路品質確認装置10は、プロセッサ51、プロセッサ51とメモリ52、プロセッサ51と補助記憶装置53、あるいはプロセッサ51とメモリ52と補助記憶装置53とに代えて、処理回路58を備える。
処理回路58は、回路品質確認装置10が備える各部の少なくとも一部を実現するハードウェアである。
処理回路58は、専用のハードウェアであってもよく、また、メモリ52に格納されるプログラムを実行するプロセッサであってもよい。
<変形例1>
図7は、本変形例に係る回路品質確認装置10のハードウェア構成例を示している。
回路品質確認装置10は、プロセッサ51、プロセッサ51とメモリ52、プロセッサ51と補助記憶装置53、あるいはプロセッサ51とメモリ52と補助記憶装置53とに代えて、処理回路58を備える。
処理回路58は、回路品質確認装置10が備える各部の少なくとも一部を実現するハードウェアである。
処理回路58は、専用のハードウェアであってもよく、また、メモリ52に格納されるプログラムを実行するプロセッサであってもよい。
処理回路58が専用のハードウェアである場合、処理回路58は、具体例として、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(ASICはApplication Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)又はこれらの組み合わせである。
回路品質確認装置10は、処理回路58を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路58の役割を分担する。
回路品質確認装置10は、処理回路58を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路58の役割を分担する。
回路品質確認装置10において、一部の機能が専用のハードウェアによって実現されて、残りの機能がソフトウェア又はファームウェアによって実現されてもよい。
処理回路58は、具体例として、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせにより実現される。
プロセッサ51とメモリ52と補助記憶装置53と処理回路58とを、総称して「プロセッシングサーキットリー」という。つまり、回路品質確認装置10の各機能構成要素の機能は、プロセッシングサーキットリーにより実現される。
他の実施の形態に係る回路品質確認装置10についても、本変形例と同様の構成であってもよい。
プロセッサ51とメモリ52と補助記憶装置53と処理回路58とを、総称して「プロセッシングサーキットリー」という。つまり、回路品質確認装置10の各機能構成要素の機能は、プロセッシングサーキットリーにより実現される。
他の実施の形態に係る回路品質確認装置10についても、本変形例と同様の構成であってもよい。
実施の形態2.
以下、主に前述した実施の形態と異なる点について、図面を参照しながら説明する。
以下、主に前述した実施の形態と異なる点について、図面を参照しながら説明する。
***構成の説明***
図8は、本実施の形態に係る回路品質確認装置10の構成例を示している。回路品質確認装置10は、CDC-IP20の代わりに複数のCDC-IP40を記憶し、専用タイミング制約21の代わりに複数の専用タイミング制約41を記憶する。
複数のCDC-IP40は、RTL1の非同期クロックインターフェース回路を置き換える候補であるCDC-IPの集合である。複数のCDC-IP40が含む各々のCDC-IPはCDC-IP20と同様である。回路品質確認装置10は、RTL1が含む非同期クロックインターフェース回路の種類に応じて適切に非同期クロックインターフェース回路を置き換えることができるよう、様々なCDC-IPを記憶している。非同期クロックインターフェース回路の種類は、具体例として、マルチビット転送を実行する回路、シングルビット転送を実行する回路、又は、パルス信号転送を実行する回路である。なお、信号を受け渡すタイミング又は方法等に応じた別の種類の非同期クロックインターフェース回路もある。本実施の形態に係る専用回路は、RTL1が含む非同期クロックインターフェース回路の種類に応じた回路である。
複数の専用タイミング制約41の各々は、複数のCDC-IP40の各々に対応するタイミング制約である。複数の専用タイミング制約41が含む専用タイミング制約の数と、複数のCDC-IP40が含むCDC-IPの数とは、典型的には同じである。
図8は、本実施の形態に係る回路品質確認装置10の構成例を示している。回路品質確認装置10は、CDC-IP20の代わりに複数のCDC-IP40を記憶し、専用タイミング制約21の代わりに複数の専用タイミング制約41を記憶する。
複数のCDC-IP40は、RTL1の非同期クロックインターフェース回路を置き換える候補であるCDC-IPの集合である。複数のCDC-IP40が含む各々のCDC-IPはCDC-IP20と同様である。回路品質確認装置10は、RTL1が含む非同期クロックインターフェース回路の種類に応じて適切に非同期クロックインターフェース回路を置き換えることができるよう、様々なCDC-IPを記憶している。非同期クロックインターフェース回路の種類は、具体例として、マルチビット転送を実行する回路、シングルビット転送を実行する回路、又は、パルス信号転送を実行する回路である。なお、信号を受け渡すタイミング又は方法等に応じた別の種類の非同期クロックインターフェース回路もある。本実施の形態に係る専用回路は、RTL1が含む非同期クロックインターフェース回路の種類に応じた回路である。
複数の専用タイミング制約41の各々は、複数のCDC-IP40の各々に対応するタイミング制約である。複数の専用タイミング制約41が含む専用タイミング制約の数と、複数のCDC-IP40が含むCDC-IPの数とは、典型的には同じである。
***動作の説明***
本実施の形態に係る回路品質確認装置10の動作は、実施の形態1に係る回路品質確認装置10の動作と基本的に同じである。以下、本実施の形態に係る回路品質確認装置10の動作のうち、実施の形態1に係る回路品質確認装置10の動作と異なる部分を主に説明する。
本実施の形態に係る回路品質確認装置10の動作は、実施の形態1に係る回路品質確認装置10の動作と基本的に同じである。以下、本実施の形態に係る回路品質確認装置10の動作のうち、実施の形態1に係る回路品質確認装置10の動作と異なる部分を主に説明する。
(ステップS11:回路生成処理)
回路生成部11は、RTL1が含む非同期クロックインターフェース回路に適したCDC-IPを複数のCDC-IP40から選択し、CDC-IP20の代わりに選択したCDC-IPをRTL1に組み込むことにより組込み回路23を生成する。
また、回路生成部11は、選択したCDC-IPに対応する専用タイミング制約を複数の専用タイミング制約41から選択し、専用タイミング制約21の代わりに選択した専用タイミング制約をタイミング制約2に組み込むことにより組込み制約24を生成する。
なお、RTL1が複数の非同期クロックインターフェース回路を含む場合、回路生成部11は、RTL1が含む各非同期クロックインターフェース回路に対して上述の処理を実行する。
回路生成部11は、RTL1が含む非同期クロックインターフェース回路に適したCDC-IPを複数のCDC-IP40から選択し、CDC-IP20の代わりに選択したCDC-IPをRTL1に組み込むことにより組込み回路23を生成する。
また、回路生成部11は、選択したCDC-IPに対応する専用タイミング制約を複数の専用タイミング制約41から選択し、専用タイミング制約21の代わりに選択した専用タイミング制約をタイミング制約2に組み込むことにより組込み制約24を生成する。
なお、RTL1が複数の非同期クロックインターフェース回路を含む場合、回路生成部11は、RTL1が含む各非同期クロックインターフェース回路に対して上述の処理を実行する。
***実施の形態2の効果の説明***
以上のように、本実施の形態によれば、RTL1が含む非同期クロックインターフェース回路の種類に応じて適切なCDC-IPを選択することができる。
以上のように、本実施の形態によれば、RTL1が含む非同期クロックインターフェース回路の種類に応じて適切なCDC-IPを選択することができる。
実施の形態3.
以下、主に前述した実施の形態と異なる点について、図面を参照しながら説明する。
以下、主に前述した実施の形態と異なる点について、図面を参照しながら説明する。
***構成の説明***
図9は、本実施の形態に係る回路品質確認装置10の構成例を示している。回路品質確認装置10は、本図に示すように、遅延最大値25を記憶する。
遅延最大値25は、組込み回路23を基盤に実装した場合、即ち、組込み回路23に対応する半導体集積回路を作成した場合における様々なタイミングの最悪値として予測された値であり、汎用的な遅延の最大値とも呼ばれる。様々なタイミングは、具体例として、クロックスキュー、フリップフロップのsetup/holdタイム、又はクロック位相差等のLSI設計における一般的なタイミングである。ここで、最悪値の正確な値は回路を実装しないと分からず、本実施の形態においては回路を実装する前に組込み回路23を検証することを想定しているため、最悪値として予測した値を遅延最大値25とする。なお、回路品質確認装置10以外の装置が最悪値を予測してもよい。
図9は、本実施の形態に係る回路品質確認装置10の構成例を示している。回路品質確認装置10は、本図に示すように、遅延最大値25を記憶する。
遅延最大値25は、組込み回路23を基盤に実装した場合、即ち、組込み回路23に対応する半導体集積回路を作成した場合における様々なタイミングの最悪値として予測された値であり、汎用的な遅延の最大値とも呼ばれる。様々なタイミングは、具体例として、クロックスキュー、フリップフロップのsetup/holdタイム、又はクロック位相差等のLSI設計における一般的なタイミングである。ここで、最悪値の正確な値は回路を実装しないと分からず、本実施の形態においては回路を実装する前に組込み回路23を検証することを想定しているため、最悪値として予測した値を遅延最大値25とする。なお、回路品質確認装置10以外の装置が最悪値を予測してもよい。
***動作の説明***
本実施の形態に係る回路品質確認装置10の動作は、実施の形態1に係る回路品質確認装置10の動作と基本的に同じである。以下、本実施の形態に係る回路品質確認装置10の動作のうち、実施の形態1に係る回路品質確認装置10の動作と異なる部分を主に説明する。
本実施の形態に係る回路品質確認装置10の動作は、実施の形態1に係る回路品質確認装置10の動作と基本的に同じである。以下、本実施の形態に係る回路品質確認装置10の動作のうち、実施の形態1に係る回路品質確認装置10の動作と異なる部分を主に説明する。
(ステップS12:最悪条件生成処理)
最悪条件算出部12は、最悪条件22を生成する際に、遅延最大値25を併せて用いる。
最悪条件算出部12は、最悪条件22を生成する際に、遅延最大値25を併せて用いる。
***実施の形態3の効果の説明***
以上のように、本実施の形態によれば、遅延最大値25を用いて最悪条件22を生成する。そのため、本実施の形態によれば、最悪条件22の精度がより高くなり、その結果、組込み回路23の検証の精度がより高くなる。
以上のように、本実施の形態によれば、遅延最大値25を用いて最悪条件22を生成する。そのため、本実施の形態によれば、最悪条件22の精度がより高くなり、その結果、組込み回路23の検証の精度がより高くなる。
***他の実施の形態***
前述した各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
また、実施の形態は、実施の形態1から3で示したものに限定されるものではなく、必要に応じて種々の変更が可能である。フローチャート等を用いて説明した手順は、適宜変更されてもよい。
前述した各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
また、実施の形態は、実施の形態1から3で示したものに限定されるものではなく、必要に応じて種々の変更が可能である。フローチャート等を用いて説明した手順は、適宜変更されてもよい。
1 RTL、2 タイミング制約、10 回路品質確認装置、11 回路生成部、12 最悪条件算出部、13 検証ツール実行部、14 実行結果解析部、15 検証結果表示部、20 CDC-IP、21 専用タイミング制約、22 最悪条件、23 組込み回路、24 組込み制約、25 遅延最大値、30,31 信号、32,33 配線、40 複数のCDC-IP、41 複数の専用タイミング制約、51 プロセッサ、52 メモリ、53 補助記憶装置、54 入出力IF、55 通信装置、58 処理回路、59 信号線、Y1,Y2,Y3 矢印。
Claims (7)
- 設定されたタイミング条件に応じて信号のタイミングが一意に定まる非同期クロックインターフェース回路であって、非同期クロックインターフェースパスを含む非同期クロックインターフェース回路である専用回路を含む組込み回路。
- 前記組込み回路は、ハードウェア記述言語により表現された回路である請求項1に記載の組込み回路。
- 請求項1又は2に記載の組込み回路と、前記組込み回路が含む専用回路内における前記非同期クロックインターフェースパスの後段においてデータを取り込むことができる限度に当たるタイミング条件である最悪条件とを用いて、前記組込み回路の品質を検証する検証ツールを実行することにより前記組込み回路の品質を検証する検証ツール実行部
を備える回路品質確認装置。 - 前記回路品質確認装置は、さらに、
対象回路が含む非同期クロックインターフェース回路である対象非同期クロックインターフェース回路を、前記対象非同期クロックインターフェース回路に対応する専用回路に置き換えることにより前記組込み回路を生成する回路生成部
を備える請求項3に記載の回路品質確認装置。 - 前記専用回路と、前記専用回路のタイミング制約とを用いて前記最悪条件を算出する最悪条件算出部を備える請求項3又は4に記載の回路品質確認装置。
- 前記最悪条件算出部は、前記組込み回路を基盤に実装した場合において前記組込み回路内で発生する信号の特性に基づいて前記最悪条件を算出する請求項5に記載の回路品質確認装置。
- 設定されたタイミング条件に応じて信号のタイミングが一意に定まる非同期クロックインターフェース回路であって、非同期クロックインターフェースパスを含む非同期クロックインターフェース回路である専用回路を含む組込み回路と、前記専用回路内における前記非同期クロックインターフェースパスの後段においてデータを取り込むことができる限度に当たるタイミング条件である最悪条件とを用いて、前記組込み回路の品質を検証する検証ツールを実行することにより前記組込み回路の品質を検証する回路品質確認方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/018388 WO2022239226A1 (ja) | 2021-05-14 | 2021-05-14 | 組込み回路、回路品質確認装置、及び回路品質確認方法 |
JP2021559564A JPWO2022239226A1 (ja) | 2021-05-14 | 2021-05-14 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/018388 WO2022239226A1 (ja) | 2021-05-14 | 2021-05-14 | 組込み回路、回路品質確認装置、及び回路品質確認方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022239226A1 true WO2022239226A1 (ja) | 2022-11-17 |
Family
ID=84028933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/018388 WO2022239226A1 (ja) | 2021-05-14 | 2021-05-14 | 組込み回路、回路品質確認装置、及び回路品質確認方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2022239226A1 (ja) |
WO (1) | WO2022239226A1 (ja) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0528210A (ja) * | 1991-07-19 | 1993-02-05 | Nec Corp | タイミング検証システム |
JP2000194734A (ja) * | 1998-12-25 | 2000-07-14 | Matsushita Electric Ind Co Ltd | 半導体集積回路のバックアノテ―ション方法 |
JP2009110380A (ja) * | 2007-10-31 | 2009-05-21 | Fujitsu Microelectronics Ltd | レイアウト支援プログラム、該プログラムを記録した記録媒体、レイアウト支援装置、およびレイアウト支援方法 |
JP2009187344A (ja) * | 2008-02-07 | 2009-08-20 | Sony Corp | 非同期論理回路検証装置およびその方法、並びにプログラム |
JP2011502316A (ja) * | 2007-10-30 | 2011-01-20 | テラダイン、 インコーポレイテッド | 再構成可能なテスターでのテストのための方法 |
JP2013037596A (ja) * | 2011-08-10 | 2013-02-21 | Renesas Electronics Corp | 非同期インターフェース検証装置、非同期インターフェース検証方法及びそのプログラム |
US20160148661A1 (en) * | 2014-11-24 | 2016-05-26 | Nvidia Corporation | Pausible bisynchronous fifo |
-
2021
- 2021-05-14 WO PCT/JP2021/018388 patent/WO2022239226A1/ja active Application Filing
- 2021-05-14 JP JP2021559564A patent/JPWO2022239226A1/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0528210A (ja) * | 1991-07-19 | 1993-02-05 | Nec Corp | タイミング検証システム |
JP2000194734A (ja) * | 1998-12-25 | 2000-07-14 | Matsushita Electric Ind Co Ltd | 半導体集積回路のバックアノテ―ション方法 |
JP2011502316A (ja) * | 2007-10-30 | 2011-01-20 | テラダイン、 インコーポレイテッド | 再構成可能なテスターでのテストのための方法 |
JP2009110380A (ja) * | 2007-10-31 | 2009-05-21 | Fujitsu Microelectronics Ltd | レイアウト支援プログラム、該プログラムを記録した記録媒体、レイアウト支援装置、およびレイアウト支援方法 |
JP2009187344A (ja) * | 2008-02-07 | 2009-08-20 | Sony Corp | 非同期論理回路検証装置およびその方法、並びにプログラム |
JP2013037596A (ja) * | 2011-08-10 | 2013-02-21 | Renesas Electronics Corp | 非同期インターフェース検証装置、非同期インターフェース検証方法及びそのプログラム |
US20160148661A1 (en) * | 2014-11-24 | 2016-05-26 | Nvidia Corporation | Pausible bisynchronous fifo |
Also Published As
Publication number | Publication date |
---|---|
JPWO2022239226A1 (ja) | 2022-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bai et al. | Self-test methodology for at-speed test of crosstalk in chip interconnects | |
US10354042B2 (en) | Selectively reducing graph based analysis pessimism | |
JP2006244073A (ja) | 半導体設計装置 | |
US8238190B2 (en) | Clock-gated model transformation for asynchronous testing of logic targeted for free-running, data-gated logic | |
US8413095B1 (en) | Statistical single library including on chip variation for rapid timing and power analysis | |
CN112417798A (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
US7885801B2 (en) | Modeling asynchronous behavior from primary inputs and latches | |
US7886244B2 (en) | Driving values to DC adjusted/untimed nets to identify timing problems | |
US8504347B2 (en) | Simulation apparatus, simulation method, and program to perform simulation on design data of a target circuit | |
US7454726B2 (en) | Technique for generating input stimulus to cover properties not covered in random simulation | |
US9792394B2 (en) | Accurate glitch detection | |
US11550978B2 (en) | Circuit design assistance system and computer readable medium | |
WO2022239226A1 (ja) | 組込み回路、回路品質確認装置、及び回路品質確認方法 | |
US12073159B2 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
WO2024100875A1 (ja) | 回路品質確認装置及び回路品質確認方法 | |
JP6089627B2 (ja) | 消費電力見積り装置および消費電力見積り方法 | |
Kebaili et al. | Enabler-based synchronizer model for clock domain crossing static verification | |
JP2008107872A (ja) | 半導体集積回路 | |
JP2008250583A (ja) | レイアウト設計装置及びレイアウト方法 | |
US8392778B2 (en) | Clock domain check method, clock domain check program, and recording medium | |
US7467366B2 (en) | Method for generating a timing path software monitor for identifying a critical timing path in hardware devices coupled between components | |
JP7351189B2 (ja) | タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム | |
JP2017146774A (ja) | 処理装置、論理シミュレータ、および設計検証方法 | |
JP5136164B2 (ja) | 結線エラー検出装置、結線エラー検出方法及び結線エラー検出プログラム | |
CN118261096A (zh) | 基于全芯片时序报告的缓冲器延迟数据拟合的时序修复方法与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2021559564 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21941957 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21941957 Country of ref document: EP Kind code of ref document: A1 |