JP5789832B2 - Integrated circuit device, verification device, and verification method - Google Patents
Integrated circuit device, verification device, and verification method Download PDFInfo
- Publication number
- JP5789832B2 JP5789832B2 JP2011105266A JP2011105266A JP5789832B2 JP 5789832 B2 JP5789832 B2 JP 5789832B2 JP 2011105266 A JP2011105266 A JP 2011105266A JP 2011105266 A JP2011105266 A JP 2011105266A JP 5789832 B2 JP5789832 B2 JP 5789832B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- module
- interconnect
- read command
- functional block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
Description
本発明は、集積回路装置並びに、集積回路装置を検証する検証装置及び検証方法に関する。 The present invention relates to an integrated circuit device, a verification device and a verification method for verifying an integrated circuit device.
システムLSI(Large Scale Integration)等の集積回路装置に関し、所定のマスターモジュールを、インターコネクト(バススイッチ、バスマトリックス等とも称される)を介して、所定のスレーブモジュールに接続する技術が知られている。インターコネクトでは、アドレス信号等に基づいて接続先のスレーブモジュールが決定される。 With respect to an integrated circuit device such as a system LSI (Large Scale Integration), a technique for connecting a predetermined master module to a predetermined slave module via an interconnect (also called a bus switch, a bus matrix, etc.) is known. . In the interconnect, a slave module to be connected is determined based on an address signal or the like.
更に、マスターモジュールとスレーブモジュールの間に、複数のインターコネクトを設ける技術、複数のインターコネクト間をバスブリッジで接続する技術も知られている。また、インターコネクトに接続されたマスターモジュールとスレーブモジュールの、異なる複数の組み合わせに対して、トランザクションを同時に行えるようにする技術も知られている。 Furthermore, a technique for providing a plurality of interconnects between a master module and a slave module and a technique for connecting a plurality of interconnects with a bus bridge are also known. There is also known a technique that enables transactions to be performed simultaneously on a plurality of different combinations of master modules and slave modules connected to an interconnect.
ところで、上記のようにマスターモジュールとスレーブモジュールをインターコネクトで接続する場合には、マスターモジュールが、インターコネクトによって、仕様通りのスレーブモジュールに接続されるか、検証を行う場合がある。検証方法としては、インターコネクトの回路構成や信号波形を目視で検証する方法がある。また、論理シミュレーションを行い、所定の読み出し命令に対する、マスターモジュールに接続されたスレーブモジュールからの読み出し値に基づき、当該スレーブモジュールが仕様通りの接続先であるのかを検証する方法もある。 By the way, when the master module and the slave module are connected by the interconnect as described above, it may be verified whether the master module is connected to the slave module as specified by the interconnect. As a verification method, there is a method of visually verifying the circuit configuration and signal waveform of the interconnect. There is also a method of performing a logic simulation and verifying whether the slave module is connected to the specification based on a read value from a slave module connected to the master module in response to a predetermined read command.
しかし、目視で検証する方法では、マスターモジュールとスレーブモジュールの間に複数のインターコネクトが設けられる等、回路構成が比較的複雑になると、適正な検証が困難になる場合がある。また、論理シミュレーションで検証する方法では、ある決められた動作フローに従ってはじめて、スレーブモジュールから適正な読み出し値が得られる場合等もあり、スレーブモジュールから適正な読み出し値が得られないことが起こり得る。このような場合には、目視による検証作業が行われることになる。 However, in the method of visual verification, proper verification may be difficult if the circuit configuration becomes relatively complicated, such as a plurality of interconnects provided between the master module and the slave module. In the method of verifying by logic simulation, an appropriate read value may be obtained from the slave module only after following a predetermined operation flow, and an appropriate read value may not be obtained from the slave module. In such a case, a visual verification operation is performed.
このように、マスター、スレーブの各モジュールと、インターコネクトを含む集積回路装置においては、インターコネクトを介したモジュール間の接続がその集積回路装置の仕様通りとなっているか否かの検証が必ずしも容易でなかった。 As described above, in an integrated circuit device including a master module and a slave module and an interconnect, it is not always easy to verify whether or not the connection between the modules via the interconnect is in accordance with the specifications of the integrated circuit device. It was.
本発明の一観点によれば、自ら命令を発行する第1のモジュールと、前記第1のモジュールに接続され、受信した信号を当該信号に基づいて指定される前記第1のモジュールの接続先に転送するインターコネクトと、前記インターコネクトによって前記第1のモジュールの接続先に指定される第2のモジュールと、を含み、前記第2のモジュールは、前記第1のモジュールから前記インターコネクトを介して送信される読み出し命令信号に応じて、自らの処理結果を出力する機能ブロックと、前記機能ブロックの出力の第1期待値が設定され、前記読み出し命令信号に応じて前記第1期待値を出力する応答回路と、前記インターコネクトと前記機能ブロック及び前記応答回路との間に接続され、選択信号に基づいて前記読み出し命令信号を前記応答回路と前記機能ブロックのうちの一方に出力し、前記選択信号に基づいて前記機能ブロックの出力と前記第1期待値のうちの一方を前記インターコネクトに送信する選択器と、を含み、前記インターコネクトが、前記選択器から送信される前記機能ブロックの出力と前記第1期待値のうちの一方を前記第1のモジュールに送信する集積回路装置が提供される。 According to one aspect of the present invention, a first module that issues a command by itself and a connection destination of the first module that is connected to the first module and that is designated based on the signal is connected to the first module. An interconnect to be transferred, and a second module designated as a connection destination of the first module by the interconnect, and the second module is transmitted from the first module via the interconnect A functional block that outputs its own processing result in response to a read command signal; and a response circuit that sets a first expected value of the output of the functional block and outputs the first expected value in response to the read command signal; , Connected between the interconnect, the functional block, and the response circuit, and the read command signal is transmitted based on a selection signal. One output to one of the response circuit and the functional block, seen including and a selector to be transmitted to the interconnect one of the output and the first expected value of the function block on the basis of the selection signal, the An integrated circuit device is provided in which the interconnect transmits one of the output of the functional block transmitted from the selector and the first expected value to the first module .
また、本発明の一観点によれば、このような集積回路装置のハードウェアモデルを用いた検証装置及び検証方法が提供される。 Further, according to one aspect of the present invention, a verification device and a verification method using such a hardware model of an integrated circuit device are provided.
集積回路装置或いはそのハードウェアモデルにおける、インターコネクトを介したモジュール間の接続が、仕様通りとなっているか否かの検証を容易に行うことが可能になる。 In the integrated circuit device or its hardware model, it is possible to easily verify whether or not the connection between the modules via the interconnect is in accordance with the specifications.
図1は集積回路装置の構成例を示す図である。
図1に示す集積回路装置10は、マスターモジュール11、インターコネクト12、スレーブモジュール13及び固定値応答回路14を有している。マスターモジュール11は、インターコネクト12に接続され、インターコネクト12には、スレーブモジュール13及び固定値応答回路14が接続される。インターコネクト12は、例えば、マスターモジュール11と、その接続先(アクセス先)となるスレーブモジュール13の間を相互に接続する機能を有している。
FIG. 1 is a diagram illustrating a configuration example of an integrated circuit device.
An
マスターモジュール11は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DMA(Direct Memory Access)コントローラに代表されるようなモジュールで、自らバスにトランザクション等の命令を発行するモジュールである。
The
スレーブモジュール13は、メモリコントローラ、インターラプトコントローラ、タイマに代表されるようなモジュールで、マスターモジュールからバスを通してトランザクション等の命令を受け、それに対する応答を返すようなモジュールである。
The
インターコネクト12は、このようなマスターモジュール11とスレーブモジュール13の間を相互に接続する機能を有するモジュールである。
尚、図1には、インターコネクト12に、マスターモジュール11と、その接続先となるスレーブモジュール13が、1つずつ接続されている場合を例示している。このほか、インターコネクト12には、複数のマスターモジュール11が接続されてもよく、また、複数のスレーブモジュール13が接続されてもよい。この場合、インターコネクト12は、所定の制御信号に基づき、所定の組み合わせのマスターモジュール11とスレーブモジュール13の間を相互に接続する機能を有していてもよい。また、固定値応答回路14は、複数のスレーブモジュール13のそれぞれに対応して、或いは複数のスレーブモジュール13のうちの一部に対応して、設けることができる。
The
FIG. 1 illustrates a case where a
固定値応答回路14は、インターコネクト12から、マスターモジュール11の接続先となるスレーブモジュール13に対して送信される信号を、受信する。集積回路装置10では、このような、スレーブモジュール13を接続先とする信号を、例えば、選択器(選択回路)を用いて、スレーブモジュール13か固定値応答回路14のいずれかに受信させる。固定値応答回路14は、インターコネクト12から、スレーブモジュール13を接続先とする信号を受信したときに、そのスレーブモジュール13に設定されている固有の値(固定値)を、インターコネクト12に送信(応答)する。
The fixed
このような構成を有する集積回路装置10によれば、スレーブモジュール13がマスターモジュール11の接続先として適正であるか否かを容易に知ることができる。即ち、この集積回路装置10の固定値応答回路14は、インターコネクト12によってマスターモジュール11の接続先とされたスレーブモジュール13に送られてくる信号を、スレーブモジュール13に代わって受信する。当該信号を受信した固定値応答回路14は、スレーブモジュール13固有の固定値を、インターコネクト12に応答する。この固定値応答回路14から応答される固定値により、インターコネクト12によってマスターモジュール11の接続先とされたスレーブモジュール13を、当該スレーブモジュール13の内部で処理を行わせることなく、識別することができる。これにより、マスターモジュール11とスレーブモジュール13の間のインターコネクト12による接続が適正か否か、換言すればその接続が集積回路装置10の仕様通りとなっているか否かを、容易に知ることができる。
According to the integrated
尚、このような集積回路装置10の製造にあたり、論理シミュレーションによる検証を行う場合には、図1のような回路構成を有する、ハードウェア記述言語で記述された、ハードウェアモデルが用いられる。
In the manufacture of such an
以下、集積回路装置及びその検証について、システムLSI及びその検証を例に、より詳細に説明する。
まず、第1の実施の形態について説明する。
Hereinafter, the integrated circuit device and the verification thereof will be described in more detail using the system LSI and the verification thereof as an example.
First, the first embodiment will be described.
図2は第1の実施の形態に係るシステムLSIの構成例を示す図、図3は第1の実施の形態に係るシステムLSIの要部の説明図である。
図2に示すシステムLSI10Aは、マスターモジュール100、スレーブモジュール300、及びそれらを接続するインターコネクト200を有している。ここでは一例として、4つのマスターモジュール100(M0,M1,M2,M3)と、4つのスレーブモジュール300(S0,S1,S2,S3)を、1つのインターコネクト200(IC)で接続する場合を例示している。
FIG. 2 is a diagram illustrating a configuration example of the system LSI according to the first embodiment, and FIG. 3 is an explanatory diagram of a main part of the system LSI according to the first embodiment.
A system LSI 10A illustrated in FIG. 2 includes a
マスターモジュール100は、例えば、マスターモジュールM0,M1をCPU、マスターモジュールM2をDMAコントローラ、マスターモジュールM3をGPUとすることができる。また、スレーブモジュール300は、例えば、スレーブモジュールS0をメモリコントローラ、スレーブモジュールS1をインターラプトコントローラ、スレーブモジュールS2を内部メモリ、スレーブモジュールS3をシステム制御レジスタとすることができる。
In the
各マスターモジュール100は、インターコネクト200との間で信号のやり取りを行うためのバスインタフェース(I/F)110(MB0,MB1,MB2,MB3)を有している。マスターモジュール100は、アドレス信号、バス制御信号等を含む制御信号(例えば、リードトランザクション等の読み出し命令信号)を発行する。マスターモジュール100で発行された信号は、バスI/F110を介して、インターコネクト200に送信される。
Each
インターコネクト200は、図2に示したように、バスI/F210,240、デコード部220(D0,D1,D2,D3)、及び調停部230(A0,A1,A2,A3)を有している。
As shown in FIG. 2, the
バスI/F210は、各マスターモジュール100(バスI/F110)に対応して設けられる。インターコネクト200は、各バスI/F210を介して、各マスターモジュール100との間で信号のやり取りを行う。また、バスI/F240は、各スレーブモジュール300に対応して設けられる。インターコネクト200は、各バスI/F240を介して、各スレーブモジュール300との間で信号のやり取りを行う。
The bus I /
インターコネクト200のデコード部220及び調停部230はそれぞれ、各マスターモジュール100及び各スレーブモジュール300に対応して設けられる機能ブロックである。
The
各デコード部220は、対応するマスターモジュール100から送信されてくる、アドレス信号等を含む制御信号を、デコードする。各デコード部220は、そのデコード結果に従って、アクセス先の調停部230との間をバスで接続する。即ち、デコード部220は、それに対応するマスターモジュール100からの信号を、その信号に基づいて指定されるアクセス先のスレーブモジュール300に対して転送する処理を行う。
Each
各調停部230は、複数(ここでは4つ)のデコード部220から転送されてくる、リードトランザクション等の信号を、調停する。各調停部230は、その調停結果に従って、転送されてくる信号を、バスI/F240を介して、対応するスレーブモジュール300に送信する。
Each
各スレーブモジュール300は、インターコネクト200との間で信号のやり取りを行うためのバスI/F310(SB0,SB1,SB2,SB3,SB)を有している。更に、各スレーブモジュール300は、バスI/F310に接続され、各スレーブモジュール300の処理機能を実現する機能ブロック(回路ブロック)320(SF0,SF1,SF2,SF3,SF)を有している。
Each
更にまた、図2及び図3に示したように、各スレーブモジュール300(S0〜S3,S)は、内部に設けられた固定値応答回路400(SR0,SR1,SR2,SR3,SR)及び選択器410(SS0,SS1,SS2,SS3,SS)を有している。 Furthermore, as shown in FIGS. 2 and 3, each slave module 300 (S0 to S3, S) includes a fixed value response circuit 400 (SR0, SR1, SR2, SR3, SR) provided therein and a selection. The device 410 (SS0, SS1, SS2, SS3, SS) is included.
固定値応答回路400は、所定の入力を受け付けたときに、当該固定値応答回路400が設けられているスレーブモジュール300に固有の値(固定値)を含んだ信号を出力する。固定値は、予め各スレーブモジュール300に対してそれぞれ設定される。
When the fixed
選択器410は、選択信号であるテスト信号(TEST)に基づき、インターコネクト200から送られてくる信号を、バスI/F310を介して機能ブロック320に送信するか、固定値応答回路400に送信するかの選択(切り替え)を行う。インターコネクト200からの信号が機能ブロック320に送信されると、スレーブモジュール300は、その機能ブロック320の処理を実行し、その処理結果を、バスI/F310及び選択器410を介してインターコネクト200に応答する。一方、インターコネクト200からの信号が固定値応答回路400に送信されると、スレーブモジュール300は、当該スレーブモジュール300に設定された固定値を、固定値応答回路400から選択器410を介してインターコネクト200に応答する。
The
図4は固定値応答回路の一例の説明図である。
図4に示す固定値応答回路400は、有効転送判定回路401及び応答信号生成回路402を含んでいる。
FIG. 4 is an explanatory diagram of an example of a fixed value response circuit.
A fixed
有効転送判定回路401は、インターコネクト200から、選択器410を介して入力される信号に基づき、当該有効転送判定回路401が含まれるスレーブモジュール300での処理が実行可能な、有効な信号が転送されたか否かを判定する。例えば、インターコネクト200からの信号に含まれている、アドレス信号、及び転送の継続又は終了を示すバス制御信号から、転送された信号が、スレーブモジュール300に対する転送が終了した有効な信号か否かが判定される。
The valid
応答信号生成回路402は、有効転送判定回路401において、有効な信号が転送されたと判定された場合に、当該応答信号生成回路402が含まれるスレーブモジュール300の固定値を含む信号を生成する。更に、応答信号生成回路402は、生成したその固定値を含む信号が、転送先のモジュールでの処理が実行可能な、有効な信号であることを示すバス制御信号を生成する。応答信号生成回路402で生成された、固定値及びバス制御信号を含む信号(応答信号)は、選択器410を介してインターコネクト200に送信(応答)される。
When the valid
固定値応答回路400からインターコネクト200に送信された信号は、その固定値応答回路400を含むスレーブモジュール300に対して読み出し命令信号を発行したマスターモジュール100に、調停部230及びデコード部220を介して返信される。
The signal transmitted from the fixed
上記構成を有するシステムLSI10Aにおいて、その仕様通りの処理動作を実現するためには、各マスターモジュール100及び各スレーブモジュール300の処理動作に加え、それらを接続するインターコネクト200の処理動作が検証される。
In the
各マスターモジュール100自体の処理動作、及び各スレーブモジュール300自体の処理動作については、機能シミュレーション等によって検証が行われる。
インターコネクト200については、ここでは、デコード部220のデコード処理動作が、システムLSI10Aのアドレスマップの仕様と同じになるかを、例えば、システムLSI10Aのハードウェアモデルを用いた論理シミュレーションによって検証する。
The processing operation of each
Here, for the
まず、アドレスマップの一例を図5に示す。
この図5には、各マスターモジュール100(M0〜M3)から見た、アドレス信号(ADR)0xN(N=00000000〜FFFFFFFF)とスレーブモジュール300(S0〜S3)の関係の一例を示している。このような関係は、システムLSI10Aの仕様(仕様書)に基づいて設定される。
First, an example of an address map is shown in FIG.
FIG. 5 shows an example of the relationship between the address signal (ADR) 0xN (N = 0.0000000 to FFFFFFFF) and the slave module 300 (S0 to S3) as seen from each master module 100 (M0 to M3). Such a relationship is set based on the specifications (specifications) of the
図5のアドレスマップには、便宜上、各スレーブモジュールS0〜S3に対して設定されている固定値の一例を、併せて示している。即ち、この例では、スレーブモジュールS0には0x1900BA5E、スレーブモジュールS1には0x1901BA5E、スレーブモジュールS2には0x1902BA5E、スレーブモジュールS3には0x1903BA5Eの各固定値が設定されている。上記の各スレーブモジュール300(S0〜S3)に設けられた固定値応答回路400からは、このような固定値がそれぞれ出力されるようになっている。
In the address map of FIG. 5, an example of fixed values set for the slave modules S0 to S3 is also shown for convenience. That is, in this example, fixed values of 0x1900BA5E are set in the slave module S0, 0x1901BA5E in the slave module S1, 0x1902BA5E in the slave module S2, and 0x1903BA5E in the slave module S3. Such fixed values are output from the fixed
尚、この図5のアドレスマップに例示した、各スレーブモジュールS0〜S3の固定値は、後述のようにアドレス信号ADRに基づいて行われる論理シミュレーションの出力値として期待される値(期待値)と言うことができる。 The fixed values of the slave modules S0 to S3 exemplified in the address map of FIG. 5 are values (expected values) expected as output values of the logic simulation performed based on the address signal ADR as described later. I can say that.
インターコネクト200は、本来、デコード部220に送信されてくる信号に含まれるアドレス信号ADRに基づき、図5のようなアドレスマップで規定されるスレーブモジュールS0〜S3をアクセス先として、信号の転送を行う。第1の実施の形態では、インターコネクト200のデコード部220が、図5のようなアドレスマップ仕様通りの処理動作(デコード及びそれに基づく転送)を行うか、論理シミュレーションによって固定値応答回路400から出力される固定値を基に、検証する。
The
まず、論理シミュレーションによる検証に用いる検証装置(論理シミュレーション装置)について述べる。
図6は論理シミュレーション装置の構成例を示す図である。
First, a verification device (logic simulation device) used for verification by logic simulation will be described.
FIG. 6 is a diagram illustrating a configuration example of the logic simulation apparatus.
図6に示す論理シミュレーション装置500は、ハードウェアモデル510、テストベンチ550、シミュレーション部520、照合部530、及び記憶部540を有している。
A
ハードウェアモデル510は、検証対象のシステムLSIをハードウェア記述言語で記述したモデルである。ハードウェアモデル510は、検証対象のシステムLSIの仕様書に基づいて作成され、論理シミュレーション装置500に実装される。また、作成されたハードウェアモデル510について、その動作を検証するためのテストベンチ550が作成され、ハードウェアモデル510と共に、論理シミュレーション装置500に実装される。
The
シミュレーション部520は、テストベンチ550、論理シミュレーションに要する各種データやプログラム等(シミュレーション情報560)を用いて、ハードウェアモデル510の論理シミュレーションを実行する。尚、シミュレーション情報560は、ハードウェアモデル510及びテストベンチ550と共に、論理シミュレーション装置500に実装されてもよい。シミュレーション部520は、論理シミュレーションを実行し、ハードウェアモデル510の出力値を取得する。シミュレーション部520は、その取得された出力値を、記憶部540に記憶する。
The
照合部530は、シミュレーション部520で取得された出力値を、予め設定された期待値と比較し、出力値が期待値と一致するか否かを判定する。照合部530は、その判定結果を示す情報を、記憶部540に記憶する。
The
記憶部540は、シミュレーション部520で取得された出力値、その出力値と照合するための期待値、照合部530による判定結果等の情報を、例えばデータベース(DB)化して、記憶する。
The
システムLSI10Aの処理動作を、このような論理シミュレーション装置500を用いて検証する場合について、より詳細に説明する。
図7は第1の実施の形態に係る論理シミュレーション装置の一例を示す図、図8は第1の実施の形態に係る論理シミュレーションフローの一例を示す図である。
A case where the processing operation of the
FIG. 7 is a diagram illustrating an example of a logic simulation apparatus according to the first embodiment, and FIG. 8 is a diagram illustrating an example of a logic simulation flow according to the first embodiment.
システムLSI10Aの論理シミュレーションによる検証では、図7に示すように、システムLSI10Aのハードウェアモデル510Aが、そのテストベンチ550Aと共に、論理シミュレーション装置500に実装される。論理シミュレーション装置500は、テストベンチ550A等に基づき、シミュレーション部520によるシミュレーションを実行する。
In the verification of the
その際、論理シミュレーション装置500は、まず、スレーブモジュール300に設けた選択器410に入力するテスト信号TESTを、有効(“1”)に設定する(ステップS1)。尚、テスト信号TESTを有効にするか否かは、論理シミュレーションを実行するに際して、作業者が論理シミュレーション装置500に対して設定することができる。
At that time, the
次いで、論理シミュレーション装置500は、マスターモジュール100を起動する(ステップS2)。更に、論理シミュレーション装置500は、一のアドレス信号ADR0xNを読み込む命令を実行し、マスターモジュール100から、読み込んだアドレス信号ADR、及びバス制御信号を含む、読み出し命令信号を発行する(ステップS3)。例えば、論理シミュレーション装置500は、テストベンチ550A、及びマスターモジュール100を制御するマスターモジュール制御プログラム560Aに基づき、マスターモジュール100から、リードトランザクション等の読み出し命令信号を発行させる。
Next, the
マスターモジュール100から出力された読み出し命令信号は、上記のように、インターコネクト200のデコード部220でデコードされ、そのデコード結果が示すアクセス先の調停部230を経て、対応するスレーブモジュール300へと転送される。スレーブモジュール300では、テスト信号TESTが有効(“1”)に設定されていることで、インターコネクト200からの信号が、選択器410によって固定値応答回路400に送信される。そして、固定値応答回路400は、当該固定値応答回路400が含まれるスレーブモジュール300の固定値(0x1900BA5E,0x1901BA5E,0x1902BA5E,0x1903BA5E)を含んだ信号を応答する。その際、固定値応答回路400は、スレーブモジュール300の固定値を含む信号を、それが有効であることを示す信号と共に、選択器410を介してインターコネクト200に応答する。
The read command signal output from the
例えば、固定値応答回路400は、インターコネクト200から信号が到達したときに、当該固定値応答回路400が含まれるスレーブモジュール300の固定値を含む有効な信号を、そのままインターコネクト200に応答する。
For example, when a signal arrives from the
また、固定値応答回路400が図4に示したような有効転送判定回路401及び応答信号生成回路402を有している場合には、例えば、次のようにしてスレーブモジュール300の固定値を含む有効な信号を、インターコネクト200に応答する。即ち、まず、有効転送判定回路401が、インターコネクト200から有効な信号が到達したか否かを判定する。そして、有効転送判定回路401によって有効な信号が到達したと判定されたときに、応答信号生成回路402が、スレーブモジュール300の固定値を含む有効な信号を、インターコネクト200に応答する。
When the fixed
固定値応答回路400からは、スレーブモジュール300の固定値を含む有効な信号が、インターコネクト200に応答されるようになっている。
インターコネクト200に応答された、スレーブモジュール300の固定値を含む信号は、そのスレーブモジュール300(固定値応答回路400)に、発行した読み出し命令信号が転送されたマスターモジュール100に返信される。論理シミュレーション装置500は、マスターモジュール100に送信された信号に含まれる固定値を、読み出し値(RD)として取得する(ステップS4)。そして、論理シミュレーション装置500は、その読み出し値RDを、現在のアドレス信号ADRと共に、記憶部540(読み出し値DB540a)に記憶する。
From the fixed
The signal including the fixed value of the
論理シミュレーション装置500は、このようなシミュレーション部520によるシミュレーションの後、その論理シミュレーションで取得された読み出し値RDについて、照合部530による照合処理を実行する。
After the simulation by the
その際、論理シミュレーション装置500は、図8に示すように、取得された読み出し値RDを、予め設定され、記憶部540(期待値DB540b)に記憶されている期待値(EXP)と照合する(ステップS5)。期待値EXPは、システムLSI10Aの仕様書570に基づいて設定される、図5に示したようなアドレスマップの、各スレーブモジュール300に対して予め設定されている固定値である。
At that time, as shown in FIG. 8, the
例えば、現在のアドレス信号ADRが0x00000000であるとする。この場合、論理シミュレーション装置500は、各マスターモジュールM0〜M3に送信されて来た読み出し値RDを、それぞれの期待値EXP、即ち0x1900BA5E,0x1902BA5E,0x1902BA5E,0x1903BA5Eと比較する。
For example, assume that the current address signal ADR is 0x00000000. In this case, the
論理シミュレーション装置500は、このようにして現在のアドレス信号ADRで取得された読み出し値RDと、そのアドレス信号ADRに対応する期待値EXPとの比較を行う。そして、それらが一致する場合には(ステップS6)、一致することを示すPASSデータを、記憶部540(検証結果DB540c)に記憶する(ステップS7)。一致しない場合には(ステップS6)、一致しないことを示すFAILデータを記憶部540(検証結果DB540c)に記憶する(ステップS8)。PASSデータ、FAILデータは、例えば論理シミュレーション装置500にモニタが接続されていれば、そのモニタに表示させることもできる。
The
その後、論理シミュレーション装置500は、現在のアドレス信号ADRが最大値であるか否かを判定し(ステップS9)、最大値でない場合には、アドレス信号ADRを変化(N=N+1)させ(ステップS10)、ステップS3に戻る。論理シミュレーション装置500は、アドレス信号ADRが最大値となるまで、ステップS3〜S10の処理を繰り返す。
Thereafter, the
このように論理シミュレーション装置500は、アドレス信号ADRを変化させてマスターモジュール100から読み出し命令信号を発行し、スレーブモジュール300の固定値応答回路400から、そのスレーブモジュール300の固定値を取得する。そして、その取得された固定値(読み出し値RD)と、アドレスマップに対応する期待値EXPとの一致、不一致を判定する。
In this way, the
これにより、マスターモジュール100で発行された読み出し命令信号が、アドレスマップ仕様通りのスレーブモジュール300に対して転送されたか否かを、取得される固定値から検証することができる。換言すれば、インターコネクト200のデコード部220が、マスターモジュール100で発行された読み出し命令信号を、アドレスマップ仕様通りのスレーブモジュール300に転送しているか否かを、取得される固定値から検証することができる。
Thereby, it can be verified from the acquired fixed value whether or not the read command signal issued by the
ここでは、インターコネクト200のデコード部220が、アドレスマップ仕様通りの処理動作を行っているかの検証に、各スレーブモジュール300の固定値応答回路400から応答される固定値を用いる。そのため、各スレーブモジュール300の機能ブロック320からの出力値を用いてデコード部220の処理動作を検証する場合に比べ、当該処理動作を容易に検証することが可能になる。
Here, a fixed value returned from the fixed
ここで比較のため、上記のような固定値応答回路を含まないシステムLSIの検証例について説明する。
図9は論理シミュレーション装置の別例を示す図、図10は論理シミュレーションフローの別例を示す図である。
Here, for comparison, a verification example of a system LSI that does not include the fixed value response circuit as described above will be described.
FIG. 9 is a diagram showing another example of the logic simulation apparatus, and FIG. 10 is a diagram showing another example of the logic simulation flow.
図9に示す論理シミュレーション装置500aは、上記のような固定値応答回路400及び選択器410を含まないシステムLSIのハードウェアモデル510aが用いられている点で、図7に示した論理シミュレーション装置500と相違する。図9に示した論理シミュレーション装置500aでは、このようなハードウェアモデル510a及びそのテストベンチ550aが実装され、シミュレーションが実行される。
The
論理シミュレーション装置500aは、まず、各マスターモジュール100及び各スレーブモジュール300の初期化、起動を行う(ステップS20)。
次いで、論理シミュレーション装置500aは、一のアドレス信号ADR0xNを読み込む命令を実行する。そして、論理シミュレーション装置500aは、テストベンチ550a及びマスターモジュール制御プログラム560aに基づき、マスターモジュール100から、リードトランザクション等の読み出し命令信号を発行させる(ステップS21)。
First, the
Next, the
このようにしてマスターモジュール100から出力された読み出し命令信号は、インターコネクト200のデコード部220でデコードされ、そのデコード結果が示すアクセス先の調停部230を経て、対応するスレーブモジュール300へと転送される。スレーブモジュール300に転送された信号は、バスI/F310を介して機能ブロック320へと送信される。
The read command signal output from the
機能ブロック320での処理動作が実行された結果得られた出力値は、インターコネクト200に応答され、当該機能ブロック320に対して発行した読み出し命令信号が転送されたマスターモジュール100に返信される。論理シミュレーション装置500aは、マスターモジュール100において、機能ブロック320からの有効な応答が得られた場合には、読み出し(リード)成功と判定する(ステップS22)。そして、論理シミュレーション装置500aは、その機能ブロック320からの応答信号を読み出し値(RDa)として取得し、現在のアドレス信号ADRと共に、読み出し値DB540aに記憶する(ステップS23)。
The output value obtained as a result of executing the processing operation in the
次いで、論理シミュレーション装置500aは、読み出し値RDa(スレーブモジュール300の機能ブロック320からの出力値)を、期待値DB540bに記憶されている期待値(EXPa)と照合する(ステップS24)。ここでの期待値EXPaは、システムLSIの仕様書570に基づき、そのアドレスマップにおける各アドレス信号ADRについて、スレーブモジュール300の機能ブロック320からの出力値(読み出し値RDa)として期待される値である。
Next, the
論理シミュレーション装置500aは、現在のアドレス信号ADRで取得された読み出し値RDaと期待値EXPaとが一致する場合には(ステップS25)、PASSデータを検証結果DB540cに記憶する(ステップS26)。一致しない場合には(ステップS25)、FAILデータを検証結果DB540cに記憶する(ステップS27)。また、論理シミュレーション装置500aは、上記のステップS22において、マスターモジュール100に有効な応答が返信されず、リード不成功と判定した場合も同様に、FAILデータを検証結果DB540cに記憶する(ステップS27)。
When the read value RDa acquired by the current address signal ADR matches the expected value EXPa (step S25), the
その後、論理シミュレーション装置500aは、現在のアドレス信号ADRが最大値であるか否かを判定し(ステップS28)、最大値でない場合には、アドレス信号ADRを変化させ(ステップS29)、ステップS21に戻る。論理シミュレーション装置500aは、アドレス信号ADRが最大値となるまで、ステップS21〜S29の処理を繰り返す。
Thereafter, the
このように論理シミュレーション装置500aを用いた検証では、各スレーブモジュール300の機能ブロック320からの出力値を読み出し値RDaとし、それを期待値EXPaと比較することで、それらの一致、不一致を判定する。
As described above, in the verification using the
しかし、この場合、読み出し値RDaを取得するために、実際に各スレーブモジュール300の機能ブロック320を動作させる(シミュレーションする)ことを要し、検証を効率的に行うことができないことがある。
However, in this case, in order to acquire the read value RDa, it is necessary to actually operate (simulate) the
また、各スレーブモジュール300の機能ブロック320からは、読み出し値RDaとして、必ずしも有効な応答が取得されるとは限らない。各スレーブモジュール300は、リードトランザクション等の読み出し命令信号に対して有効な応答を出力するのに、ある決められた動作フローに従わなければならない場合があるためである。
In addition, a valid response is not always acquired from the
例えば、スレーブモジュールS0をメモリコントローラとしているような場合、スレーブモジュールS0は、外部のメインメモリと接続されていなければ、読み出し命令信号を受信しても何も読み出されなかったり、読み出しエラーが発生したりしてしまう。また、スレーブモジュールS1をインターラプトコントローラとしているような場合、所定の外部割り込み動作がなければ、読み出し命令信号を受信しても読み出しエラー等が発生してしまう。また、スレーブモジュールS2を内部メモリとしているような場合、予め内部メモリに対する書き込みが行われていなければ、読み出し命令信号を受信しても読み出しエラー等が発生してしまう。また、スレーブモジュールS3をシステム制御レジスタとしているような場合、読み出し命令信号を受信した結果、ハードウェアモデル510a(システムLSI)が意図しない動作モードに移行してしまい、目的の読み出し値RDaが得られないことが起こり得る。
For example, when the slave module S0 is a memory controller, if the slave module S0 is not connected to an external main memory, nothing is read or a read error occurs even if a read command signal is received. I will do. Further, when the slave module S1 is an interrupt controller, a read error or the like occurs even if a read command signal is received if there is no predetermined external interrupt operation. Further, when the slave module S2 is an internal memory, a read error or the like occurs even if a read command signal is received unless the internal memory has been previously written. Further, when the slave module S3 is used as a system control register, as a result of receiving a read command signal, the
このように、各スレーブモジュール300は、ある決められた動作フローに従わなければ、リードトランザクション等の読み出し命令信号に対する有効な応答を出力することができない場合がある。この場合、単にアドレス信号ADRを変化させながらリードトランザクションを発行するのみでは、有効な応答(読み出し値RDa)を得ることができない。
Thus, each
有効な応答が得られなかった場合、論理シミュレーション装置500aは、上記のステップS22において、リード不成功と判定してしまう。但し、このようにリード不成功とされたものの中には、インターコネクト200のデコード部220自体は、マスターモジュール100からの読み出し命令信号を、アドレスマップ仕様通りのアクセス先のスレーブモジュール300に転送しているものも含まれ得る。従って、リード不成功の場合には、信号波形や仕様書570等に基づき、デコード部220が、マスターモジュール100からの読み出し命令信号を、アドレスマップ仕様通りのスレーブモジュール300に転送しているか否かを、目視で検証することになる。
If a valid response is not obtained, the
このような目視での検証作業には、時間、労力を要する。また、ここでは1つのインターコネクト200を例にしているが、システムLSIによっては、マスターモジュール100とスレーブモジュール300の間に、直列に接続された複数のインターコネクト200が設けられる場合がある。このほか、マスターモジュール100によって、対応するデコード部220のデコードの仕組み等、その仕様が異なる場合もある。このようにマスターモジュール100とスレーブモジュール300の間の回路構成が比較的複雑になると、目視での適切な検証作業は困難になり得る。
Such visual verification requires time and labor. Here, although one
これに対し、上記の論理シミュレーション装置500を用いたシステムLSI10Aの、デコード部220の処理動作の検証では、そのような目視での検証作業を行うことなく、効率的に検証を行うことが可能になる。
On the other hand, in the verification of the processing operation of the
即ち、論理シミュレーション装置500では、マスターモジュール100で発行された読み出し命令信号が、インターコネクト200からスレーブモジュール300に対して転送されたときに、当該スレーブモジュール300の固定値を固定値応答回路400から応答する。そして、応答される固定値から、インターコネクト200のデコード部220が、マスターモジュール100で発行された読み出し命令信号を、アドレスマップ仕様通りのスレーブモジュール300に転送しているか否かを検証する。論理シミュレーションによる検証時に、機能ブロック320を介さないため、読み出しエラー等の発生を抑制することができ、従って、デコード部220の処理動作を、目視での検証作業を行うことなく、効率的に検証することが可能になる。
That is, in the
尚、システムLSI10Aのスレーブモジュール300には、インターコネクト200からの信号を、固定値応答回路400側と機能ブロック320側のいずれかに送信する選択器410を設けている。この選択器410に入力するテスト信号TESTを無効(“0”)に設定すれば、インターコネクト200からの信号が、バスI/F310を介して機能ブロック320に送信されるようになる。この場合には、システムLSI10Aのハードウェアモデル510Aにおいて、機能ブロック320の動作によって出力される信号を取得することができる。このようなシステムLSI10Aのハードウェアモデル510Aを用いた論理シミュレーションでは、機能ブロック320の動作(シミュレーション)によって出力される信号を、読み出し値RDaとして取得し、期待値EXPaとの比較を行うことも可能である。
The
上記のような固定値応答回路400を含むシステムLSI10A及びそのハードウェアモデル510Aには、様々なバスプロトコルを適用することができる。以下に、2種類のバスプロトコルの適用例を示す。
Various bus protocols can be applied to the
図11は第1のバスプロトコルの適用例を説明する図である。
図11には、AMBA(Advanced Microcontroller Bus Architecture)のAHB(Advanced High-performance Bus)プロトコルの適用例を示している。
FIG. 11 is a diagram for explaining an application example of the first bus protocol.
FIG. 11 shows an application example of the Advanced High-performance Bus (AHB) protocol of AMBA (Advanced Microcontroller Bus Architecture).
スレーブモジュール300には、マスターモジュール100で発行される読み出し命令信号が、インターコネクト200を介して転送される。スレーブモジュール300には、例えば、HADDR信号、HTRANS信号、HWRITE信号、HSIZE信号、HWDATA信号、HSEL信号、HREADYin信号の各信号が転送される。
A read command signal issued by the
尚、HADDR信号は、所定ビットのシステムアドレスバスを示す信号である。HTRANS信号は、転送タイプ(NONSEQUENTIAL,SEQUENTIAL,IDLE,BUSY)を示す信号である。HWRITE信号は、書き込み又は読み出しを示す信号であって、Highの場合に書き込みを、Lowの場合に読み出しを示す信号である。HSIZE信号は、転送のサイズ(バイト数)を示す信号である。HWDATA信号は、書き込み時のライトデータバスを示す信号である。HSEL信号は、アドレスバスの組み合わせをデコードした信号であって、当該信号が転送されるスレーブモジュール300の選択を示す信号である。HREADYin信号は、スレーブモジュール300への入力時の転送の継続又は終了を示す信号であって、Highの場合には転送が終了したことを、Lowの場合には転送が継続していることを示す信号である。
The HADDR signal is a signal indicating a system address bus of a predetermined bit. The HTRANS signal is a signal indicating a transfer type (NONSEQUENTIAL, SEQUENTIAL, IDLE, BUSY). The HWRITE signal is a signal indicating writing or reading, and is a signal indicating reading when High and reading when Low. The HSIZE signal is a signal indicating the transfer size (number of bytes). The HWDATA signal is a signal indicating a write data bus at the time of writing. The HSEL signal is a signal obtained by decoding a combination of address buses and indicates selection of the
例えば、これらの信号がインターコネクト200からスレーブモジュール300の選択器410に入力される(図11の点線矢印)。
選択器410のテスト信号TESTが、有効であることを示す“1”(High)に設定されている場合には、選択器410に入力された信号が、固定値応答回路400に入力される。固定値応答回路400は、その入力を受けて、当該固定値応答回路400が設けられているスレーブモジュール300の固定値を含む所定の信号を、選択器410を介してインターコネクト200に応答する。固定値応答回路400からは、例えば、HRDATA信号、HREADYout信号、HRESP信号の各信号が、インターコネクト200に対して応答される。
For example, these signals are input from the
When the test signal TEST of the
また、選択器410のテスト信号TESTが、無効であることを示す“0”(Low)に設定されている場合には、インターコネクト200から選択器410に入力された信号が、バスI/F310を介して機能ブロック320に入力される。機能ブロック320は、その入力、及びスレーブモジュール300に入力されるクロック信号等を受けて、所定の処理を実行し、その処理結果(出力値)を含む所定の信号を、バスI/F310及び選択器410を介してインターコネクト200に応答する。機能ブロック320での処理の際、スレーブモジュール300には、HCLK信号、HRESETn信号が入力される。機能ブロック320側からは、例えば、HRDATA信号、HREADYout信号、HRESP信号の各信号が、インターコネクト200に対して応答される。
When the test signal TEST of the
尚、スレーブモジュール300に入力されるHCLK信号は、クロックを示す信号である。HRESETn信号は、システムとバスをリセットする信号であって、通常動作時はHighとされ、リセット時にLowとされる。
The HCLK signal input to the
固定値応答回路400及びバスI/F310、並びに選択器410から出力されるHRDATA信号は、読み出し時のリードデータバスを示す信号であって、スレーブモジュール300に設定された固定値、或いは機能ブロック320の出力値を含む。HREADYout信号は、スレーブモジュール300からの出力時の転送の継続又は終了を示す信号であって、Highの場合には転送が終了したことを、Lowの場合には転送が継続していることを示す信号である。このHREADYout信号は、固定値応答回路400からの固定値の出力時には、Highに固定される。HRESP信号は、転送状態(OKAY,ERROR,RETRY、SPLIT)を示す信号であり、固定値応答回路400からの固定値の出力時には、Lowに固定される。
The HRDATA signal output from the fixed
図11の固定値応答回路400には、HRDATA信号、HREADYout信号、HRESP信号の各信号の一例を示している。
図12は第2のバスプロトコルの適用例を説明する図である。
The fixed
FIG. 12 is a diagram for explaining an application example of the second bus protocol.
図12には、AMBAのAPB(Advanced Peripheral Bus)3プロトコルの適用例を示している。
スレーブモジュール300には、マスターモジュール100で発行される読み出し命令信号が、インターコネクト200を介して転送される。スレーブモジュール300には、例えば、PADDR信号、PSEL信号、PENABLE信号、PWRITE信号、PWDATA信号の各信号が転送される。
FIG. 12 shows an application example of AMBA APB (Advanced Peripheral Bus) 3 protocol.
A read command signal issued by the
尚、PADDR信号は、アドレスバスを示す信号である。PSEL信号は、スレーブモジュール300が選択され、転送が行われることを示す信号である。PENABLE信号は、スレーブモジュール300に対するアクセスのタイミングを示す信号である。PWRITE信号は、書き込み又は読み出しを示す信号であって、Highの場合に書き込みを、Lowの場合に読み出しを示す信号である。PWDATA信号は、書き込み時のライトデータバスを示す信号である。
The PADDR signal is a signal indicating an address bus. The PSEL signal is a signal indicating that the
例えば、これらの信号がインターコネクト200からスレーブモジュール300の選択器410に入力される(図12の点線矢印)。
選択器410のテスト信号TESTが、有効であることを示す“1”(High)に設定されている場合には、選択器410に入力された信号が、固定値応答回路400に入力される。固定値応答回路400は、その入力を受けて、当該固定値応答回路400が設けられているスレーブモジュール300の固定値を含む所定の信号を、選択器410を介してインターコネクト200に応答する。固定値応答回路400からは、例えば、PRDATA信号、PREADY信号、PSLVERR信号の各信号が、インターコネクト200に対して応答される。
For example, these signals are input from the
When the test signal TEST of the
また、選択器410のテスト信号TESTが、無効であることを示す“0”(Low)に設定されている場合には、インターコネクト200から選択器410に入力された信号が、バスI/F310を介して機能ブロック320に入力される。機能ブロック320は、その入力、及びスレーブモジュール300に入力されるクロック信号等を受けて、所定の処理を実行し、その処理に応じた出力値を含む所定の信号を、バスI/F310及び選択器410を介してインターコネクト200に応答する。機能ブロック320での処理の際、スレーブモジュール300には、PCLK信号、PRESETn信号が入力される。機能ブロック320側からは、例えば、PRDATA信号、PREADY信号、PSLVERR信号の各信号が、インターコネクト200に対して応答される。
When the test signal TEST of the
尚、スレーブモジュール300に入力されるPCLK信号は、クロックを示す信号である。PRESETn信号は、システムとバスをリセットする信号であって、通常動作時はHighとされ、リセット時にLowとされる。
The PCLK signal input to the
固定値応答回路400及びバスI/F310、並びに選択器410から出力されるPRDATA信号は、読み出し時のリードデータバスを示す信号であって、スレーブモジュール300に設定された固定値、或いは機能ブロック320の出力値を含む。PREADY信号は、スレーブモジュール300からの出力時の転送の継続又は終了を示す信号であって、Highの場合には転送が終了したことを、Lowの場合には転送が継続していることを示す信号である。このPREADY信号は、固定値応答回路400からの固定値の出力時には、Highに固定される。PSLVERR信号は、転送状態を示す信号であり、固定値応答回路400からの固定値の出力時には、Lowに固定される。
The PRDATA signal output from the fixed
図12の固定値応答回路400には、PRDATA信号、PREADY信号、PSLVERR信号の各信号の一例を示している。
ここでは、AHBプロトコル、APB3プロトコルを例示したが、AXI(Advanced eXtensible Interface)プロトコル等、その他のバスプロトコルを適用し、システムLSI10A及びそのハードウェアモデル510Aを実現することも可能である。
The fixed
Here, the AHB protocol and the APB3 protocol are illustrated, but it is also possible to realize the
尚、以上の説明では、スレーブモジュール300の内部に固定値応答回路400及び選択器410を設けたシステムLSI10A及びそのハードウェアモデル510Aを例示した。
In the above description, the
製造するシステムLSIには、上記のような固定値応答回路400及び選択器410が含まれていてもよい。この場合は、そのようなシステムLSIの動作時に、選択器410に入力するテスト信号TESTを無効(“0”)に設定しておけばよい。また、選択器410に入力するテスト信号TESTを有効(“1”)に設定し、そのシステムLSIの動作確認を行うこともできる。
The system LSI to be manufactured may include the fixed
製造するシステムLSIには、固定値応答回路400及び選択器410を設けない構成とすることもできる。この場合は、そのようなシステムLSIを製造する際に行う、論理シミュレーションによる検証時に、上記のような固定値応答回路400及び選択器410を設けたハードウェアモデル510Aを用いるようにすればよい。
The system LSI to be manufactured may be configured such that the fixed
次に、第2の実施の形態について説明する。
図13は第2の実施の形態に係るシステムLSIの要部の説明図である。
上記第1の実施の形態では、図3等に示したように、システムLSI10Aに設ける固定値応答回路400及び選択器410を、スレーブモジュール300の内部に設ける場合を例示した。この図13に示す、第2の実施の形態に係るシステムLSI10Bは、固定値応答回路400及び選択器410が、スレーブモジュール300の外部に設けられている点で、上記第1の実施の形態に係るシステムLSI10Aと相違する。尚、図13には、インターコネクト200についてはその一部を図示し、マスターモジュール100についてはその図示を省略している。
Next, a second embodiment will be described.
FIG. 13 is an explanatory diagram of a main part of the system LSI according to the second embodiment.
In the first embodiment, as illustrated in FIG. 3 and the like, the fixed
この第2の実施の形態に係るシステムLSI10Bでは、固定値応答回路400及び選択器410を、各スレーブモジュール300に対応してそれぞれ設けることができる。
マスターモジュール100で発行されたリードトランザクション等の読み出し命令信号は、インターコネクト200から、デコード部220のデコード結果に応じたアクセス先のスレーブモジュール300に対して転送される。インターコネクト200内をアクセス先のスレーブモジュール300に対して転送された信号は、まず、そのスレーブモジュール300に対応して設けられた選択器410に入力される。
In the
A read command signal such as a read transaction issued by the
テスト信号TESTが有効(“1”)に設定されていれば、選択器410に入力された信号は、選択器410同様、そのスレーブモジュール300に対応して設けられた固定値応答回路400に入力される。固定値応答回路400は、対応するスレーブモジュール300に設定されている固定値を含む信号を出力し、その出力信号は、選択器410を介してインターコネクト200に応答され、マスターモジュール100に返信される。
If the test signal TEST is set to be valid (“1”), the signal input to the
テスト信号TESTが無効(“0”)に設定されていれば、選択器410に入力された信号は、対応するスレーブモジュール300の機能ブロック320に、バスI/F310を介して入力される。機能ブロック320は、その処理を実行し、処理結果を含む信号を、バスI/F310及び選択器410を介してインターコネクト200に応答する。
If the test signal TEST is set to invalid (“0”), the signal input to the
論理シミュレーションによる検証時には、このように固定値応答回路400及び選択器410を、対応するスレーブモジュール300の外部に設けたシステムLSI10Bのハードウェアモデルが用いられる。
At the time of verification by logic simulation, the hardware model of the
尚、製造するシステムLSIには、上記のような固定値応答回路400及び選択器410が含まれていてもよい。この場合は、そのようなシステムLSIの動作時に、選択器410に入力するテスト信号TESTを無効(“0”)に設定しておけばよい。また、選択器410に入力するテスト信号TESTを有効(“1”)に設定し、そのシステムLSIの動作確認を行うこともできる。
Note that the system LSI to be manufactured may include the fixed
製造するシステムLSIには、固定値応答回路400及び選択器410を設けない構成とすることもできる。この場合は、そのようなシステムLSIを製造する際に行う、論理シミュレーションによる検証時に、上記のような固定値応答回路400及び選択器410を設けたハードウェアモデルを用いるようにすればよい。
The system LSI to be manufactured may be configured such that the fixed
第2の実施の形態のように、固定値応答回路400及び選択器410を、対応するスレーブモジュール300の外部に設ける場合にも、上記第1の実施の形態で述べたのと同様の効果を得ることができる。
Even when the fixed
次に、第3の実施の形態について説明する。
図14は第3の実施の形態に係るシステムLSIの構成例を示す図、図15は第3の実施の形態に係るシステムLSIの要部の説明図である。
Next, a third embodiment will be described.
FIG. 14 is a diagram illustrating a configuration example of a system LSI according to the third embodiment, and FIG. 15 is an explanatory diagram of a main part of the system LSI according to the third embodiment.
図14及び図15に示す、第3の実施の形態に係るシステムLSI10Cは、マスターモジュール100(M0〜M3,M)に、読み出し命令発行回路600(MR0〜MR3,MR)及び選択器610(MS0〜MS3,MS)を設けられている。このような点で、この第3の実施の形態に係るシステムLSI10Cは、上記第1の実施の形態に係るシステムLSI10Aと相違する。
A
読み出し命令発行回路600は、アドレス信号ADR0xN(N=00000000〜FFFFFFFF)を変化させるアドレスカウンタ601を備える。読み出し命令発行回路600は、アドレスカウンタ601でセットされるアドレス信号ADRごとに、マスターモジュール100の機能ブロック120(MF0〜MF3,MF)に代わって、有効なリードトランザクション等の読み出し命令信号(制御信号)を発行する。
The read
選択器610は、テスト信号TESTに基づき、バスI/F110(MB0〜MB3,MB)を介してインターコネクト200に送信する読み出し命令信号を、読み出し命令発行回路600から送信するか、機能ブロック120から送信するかの選択を行う。
Based on the test signal TEST, the
システムLSI10Cでは、読み出し命令発行回路600から発行された読み出し命令信号に対する応答(読み出し値RD)、及びその読み出し命令信号発行時のアドレス信号ADRが、例えば、マスターモジュール100の外部に取り出されるようになっている。
In the
続いて、このようなシステムLSI10Cのハードウェアモデルを用い、インターコネクト200のデコード部220の処理動作を、論理シミュレーションによって検証する場合について説明する。
Next, a case where the processing operation of the
システムLSI10Cの論理シミュレーションによる検証には、例えば、上記図6に示したような構成を有する論理シミュレーション装置500を用いることができる。システムLSI10Cの処理動作を、このような論理シミュレーション装置500を用いて検証する場合について、より詳細に説明する。
For the verification by the logic simulation of the
図16は第3の実施の形態に係る論理シミュレーション装置の一例を示す図、図17は第3の実施の形態に係る論理シミュレーション時のマスターモジュールの説明図、図18は第3の実施の形態に係る論理シミュレーションフローの一例を示す図である。 FIG. 16 is a diagram illustrating an example of a logic simulation apparatus according to the third embodiment, FIG. 17 is an explanatory diagram of a master module at the time of logic simulation according to the third embodiment, and FIG. 18 is a third embodiment. It is a figure which shows an example of the logic simulation flow concerning.
システムLSI10Cの論理シミュレーションによる検証では、図16に示すように、システムLSI10Cのハードウェアモデル510C(510)が、そのテストベンチ550C(550)と共に、論理シミュレーション装置500に実装される。論理シミュレーション装置500は、テストベンチ550C等に基づき、シミュレーション部520によるシミュレーションを実行する。
In verification by the logic simulation of the
その際、論理シミュレーション装置500は、まず、マスターモジュール100に設けた選択器610、及びスレーブモジュール300に設けた選択器410に入力するテスト信号TESTを有効(“1”)に設定する(ステップS30)。
At that time, the
次いで、論理シミュレーション装置500は、読み出し命令発行回路600を起動する(ステップS31)。更に、論理シミュレーション装置500は、読み出し命令発行回路600が備えるアドレスカウンタ601(図17)により、一のアドレス信号ADR0xNをセットする。そして、論理シミュレーション装置500は、読み出し命令発行回路600により、セットされたアドレス信号ADRに対応する有効なリードトランザクション等の読み出し命令信号を発行する(ステップS32)。
Next, the
マスターモジュール100の読み出し命令発行回路600から出力された信号は、インターコネクト200のデコード部220でデコードされ、そのデコード結果が示すアクセス先のスレーブモジュール300へと転送される。スレーブモジュール300では、テスト信号TESTが有効(“1”)に設定されていることで、インターコネクト200からの信号が、選択器410によって固定値応答回路400へと送信される。固定値応答回路400からは、当該固定値応答回路400が含まれるスレーブモジュール300の固定値を含む有効な信号が、インターコネクト200に応答される。
The signal output from the read
インターコネクト200に応答された信号は、マスターモジュール100(選択器610)に返信される。論理シミュレーション装置500は、マスターモジュール100の選択器610に送信された信号に含まれる固定値を、読み出し値RDとして取得する(ステップS33)。そして、論理シミュレーション装置500は、その読み出し値RDを、現在のアドレス信号ADRと共に、読み出し値DB540aに記憶する。
The signal responded to the
論理シミュレーション装置500は、このようなシミュレーション部520によるシミュレーションの後、その論理シミュレーションで取得された読み出し値RDについて、照合部530による照合処理を実行する。
After the simulation by the
その際、論理シミュレーション装置500は、図18に示すように、読み出し値RDを、期待値DB540bに記憶されている期待値EXP(仕様書570に基づき各スレーブモジュール300に設定されている固定値)と照合する(ステップS34)。
At that time, as shown in FIG. 18, the
論理シミュレーション装置500は、現在のアドレス信号ADRで取得された読み出し値RDとその期待値EXPが一致する場合には(ステップS35)、PASSデータを検証結果DB540cに記憶する(ステップS36)。一致しない場合には(ステップS35)、FAILデータを検証結果DB540cに記憶する(ステップS37)。PASSデータ、FAILデータは、例えば論理シミュレーション装置500にモニタが接続されていれば、そのモニタに表示させることもできる。
When the read value RD acquired by the current address signal ADR matches the expected value EXP (step S35), the
その後、論理シミュレーション装置500は、現在のアドレス信号ADRが最大値であるか否かを判定する(ステップS38)。アドレス信号ADRが最大値でない場合には、ステップS32に戻り、アドレスカウンタ601によってアドレス信号ADRを変化(N=N+1)させたうえで、ステップS32以降の処理を実行する。論理シミュレーション装置500は、アドレス信号ADRが最大値となるまで、ステップS32〜S38の処理を繰り返す。
Thereafter, the
このような論理シミュレーションによれば、順次アドレス信号ADRを変化させながら有効な読み出し命令信号を発行していくため、いずれのマスターモジュール100についても、論理シミュレーション時の制御フローが統一される。各マスターモジュール100についてのマスターモジュール制御プログラムを不要にすることができる。そのため、マスターモジュール100の機能ブロック120から読み出し命令信号を出力させる場合に比べ、インターコネクト200のデコード部220の処理動作を、一層効率的に検証することができる。
According to such a logic simulation, an effective read command signal is issued while sequentially changing the address signal ADR. Therefore, the control flow at the time of the logic simulation is unified for any
尚、マスターモジュール100には、読み出し命令信号を読み出し命令発行回路600側と機能ブロック120側のいずれかからインターコネクト200に送信する選択器610を設けている。この選択器410に入力するテスト信号TESTを無効(“0”)に設定すれば、機能ブロック120で発行される読み出し命令信号を、バスI/F110を介してインターコネクト200に送信することもできる。
The
この第3の実施の形態では、読み出し命令発行回路600及び選択器610を設けたシステムLSI10C及びそのハードウェアモデル510Cを例示した。
製造するシステムLSIには、上記のような読み出し命令発行回路600及び選択器610、並びに固定値応答回路400及び選択器410が含まれていてもよい。この場合は、そのようなシステムLSIの動作時に、選択器610,410に入力するテスト信号TESTを無効(“0”)に設定しておけばよい。また、選択器610,410に入力するテスト信号TESTを有効(“1”)に設定し、そのシステムLSIの動作確認を行うこともできる。
In the third embodiment, the
The system LSI to be manufactured may include the read
製造するシステムLSIには、読み出し命令発行回路600及び選択器610、並びに固定値応答回路400及び選択器410を設けない構成とすることもできる。この場合は、そのようなシステムLSIを製造する際に行う、論理シミュレーションによる検証時に、上記のような読み出し命令発行回路600、固定値応答回路400及び選択器610,410を設けたハードウェアモデル510Cを用いるようにすればよい。
The system LSI to be manufactured may be configured not to include the read
尚、読み出し命令発行回路600及び選択器610は、固定値応答回路400及び選択器410をスレーブモジュール300の外部に設けた、上記第2の実施の形態に係るシステムLSI10Bのマスターモジュール100にも同様に適用可能である。
The read
次に、第4の実施の形態について説明する。
図19は第4の実施の形態に係るシステムLSIの要部の説明図である。
上記第3の実施の形態では、マスターモジュール100の内部に、読み出し命令発行回路600及び選択器610を設ける場合を例示した。この図19に示す、第4の実施の形態に係るシステムLSI10Dは、読み出し命令発行回路600及び選択器610が、マスターモジュール100の外部に設けられている点で、上記第3の実施の形態に係るシステムLSI10Cと相違する。尚、図19には、インターコネクト200についてはその一部を図示し、スレーブモジュール300並びにその内部又は外部に設けられる固定値応答回路400及び選択器410についてはその図示を省略している。
Next, a fourth embodiment will be described.
FIG. 19 is an explanatory diagram of a main part of a system LSI according to the fourth embodiment.
In the third embodiment, the case where the read
この第4の実施の形態に係るシステムLSI10Dでは、読み出し命令発行回路600及び選択器610を、各マスターモジュール100に対応してそれぞれ設けることができる。論理シミュレーションによる検証時には、このように読み出し命令発行回路600及び選択器610を、対応するマスターモジュール100の外部に設けたシステムLSI10Dのハードウェアモデルが用いられる。
In the
尚、上記第3の実施の形態で述べたのと同様に、製造するシステムLSIに読み出し命令発行回路600、固定値応答回路400及び選択器610,410を含め、選択器610,410に入力するテスト信号TESTで動作を制御するようにしてもよい。
As described in the third embodiment, the system LSI to be manufactured includes the read
また、読み出し命令発行回路600、固定値応答回路400及び選択器610,410は、製造するシステムLSIには設けず、論理シミュレーションによる検証時に用いるハードウェアモデルに設けるようにしてもよい。
Further, the read
第4の実施の形態のように、読み出し命令発行回路600及び選択器610を、対応するスレーブモジュール300の外部に設ける場合にも、上記第3の実施の形態で述べたのと同様の効果を得ることができる。
As in the fourth embodiment, when the read
以上、システムLSI及びそのハードウェアモデル、並びにハードウェアモデルを用いた論理シミュレーション装置及び論理シミュレーション方法について説明した。尚、論理シミュレーション装置には、コンピュータを用いることができる。 In the above, the system LSI, its hardware model, and the logic simulation apparatus and logic simulation method using the hardware model have been described. A computer can be used as the logic simulation apparatus.
図20は論理シミュレーション装置のハードウェアの構成例を示す図である。
論理シミュレーション装置500は、CPU(Central Processing Unit)581によって装置全体が制御されている。CPU581には、バス588を介してRAM(Random Access Memory)582及び複数の周辺機器が接続されている。
FIG. 20 is a diagram illustrating a hardware configuration example of the logic simulation apparatus.
The entire
RAM582は、論理シミュレーション装置500の主記憶装置として使用される。RAM582には、CPU581に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM582には、CPU581による処理に必要な各種データが格納される。
The
バス588に接続されている周辺機器としては、ハードディスクドライブ(HDD:Hard Disk Drive)583、グラフィック処理装置584、入力I/F585、光学ドライブ装置586、及び通信I/F587がある。
Peripheral devices connected to the
HDD583は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。HDD583は、論理シミュレーション装置500の二次記憶装置として使用される。HDD583には、OSのプログラム、アプリケーションプログラム、及び各種データが格納される。尚、二次記憶装置としては、フラッシュメモリ等の半導体記憶装置を使用することもできる。
The
グラフィック処理装置584には、モニタ591が接続されている。グラフィック処理装置584は、CPU581からの命令に従って、画像をモニタ591の画面に表示させる。モニタ591としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等がある。
A monitor 591 is connected to the
入力I/F585には、キーボード592及びマウス593が接続されている。入力I/F585は、キーボード592或いはマウス593から送られてくる信号をCPU581に送信する。尚、マウス593は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボール等がある。
A keyboard 592 and a mouse 593 are connected to the input I /
光学ドライブ装置586は、レーザ光等を利用して、光ディスク594に記録されたデータの読み取りを行う。光ディスク594は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク594には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等がある。
The
通信I/F587は、ネットワーク700に接続されている。通信I/F587は、ネットワーク700を介して、他のコンピュータ又は通信機器との間でデータの送受信を行う。
Communication I /
以上のようなハードウェア構成によって、論理シミュレーション装置500の処理機能を実現することができる。
論理シミュレーション装置500の処理機能は、コンピュータによって実現され、その場合、論理シミュレーション装置500が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、HDD、フレキシブルディスク(FD)、磁気テープ等がある。光ディスクには、DVD、DVD−RAM、CD−ROM/RW等がある。光磁気記録媒体には、MO(Magneto-Optical disk)等がある。
With the hardware configuration as described above, the processing function of the
The processing functions of the
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。 When distributing the program, for example, a portable recording medium such as a DVD or a CD-ROM in which the program is recorded is sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム若しくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。尚、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。 The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time a program is transferred from a server computer connected via a network, the computer can sequentially execute processing according to the received program.
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)等の電子回路で実現することもできる。 Further, at least a part of the above processing functions can be realized by an electronic circuit such as a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), or a PLD (Programmable Logic Device).
以上説明した実施の形態に関し、更に以下の付記を開示する。
(付記1) 自ら命令を発行する第1のモジュールと、
前記第1のモジュールに接続され、受信した信号を当該信号に基づいて指定される前記第1のモジュールの接続先に転送するインターコネクトと、
前記インターコネクトによって前記第1のモジュールの接続先に指定される第2のモジュールと、
前記インターコネクトから前記第2のモジュールに対する読み出し命令信号が送信されたときに、前記読み出し命令信号を受信して前記第2のモジュール固有の固定値を前記インターコネクトに送信する固定値応答回路と、
を含むことを特徴とする集積回路装置。
Regarding the embodiment described above, the following additional notes are further disclosed.
(Supplementary Note 1) A first module that issues an instruction by itself;
An interconnect connected to the first module and transferring a received signal to a connection destination of the first module specified based on the signal;
A second module designated as a connection destination of the first module by the interconnect;
A fixed value response circuit that receives the read command signal and transmits a fixed value specific to the second module to the interconnect when a read command signal is transmitted from the interconnect to the second module;
An integrated circuit device comprising:
(付記2) 選択信号に基づいて前記読み出し命令信号を前記第2のモジュールと前記固定値応答回路のいずれかに入力させる選択器を更に含むことを特徴とする付記1に記載の集積回路装置。
(Supplementary note 2) The integrated circuit device according to
(付記3) 前記インターコネクトは、当該インターコネクトに送信される、アドレス信号を含む制御信号をデコードするデコード部を含み、前記デコード部のデコード結果に基づいて、前記第2のモジュールを前記第1のモジュールの接続先に指定し、
前記読み出し命令信号は、前記制御信号が前記デコード部でデコードされた信号であることを特徴とする付記1又は2に記載の集積回路装置。
(Supplementary Note 3) The interconnect includes a decoding unit that decodes a control signal including an address signal transmitted to the interconnect, and the second module is changed to the first module based on a decoding result of the decoding unit. Specify the connection destination of
The integrated circuit device according to
(付記4) 前記第1のモジュールは、前記制御信号を生成して前記インターコネクトに送信することを特徴とする付記3に記載の集積回路装置。
(付記5) 前記制御信号を生成し、生成された前記制御信号を前記インターコネクトに送信する読み出し命令発行回路を更に含むことを特徴とする付記3に記載の集積回路装置。
(Supplementary note 4) The integrated circuit device according to
(Supplementary note 5) The integrated circuit device according to
(付記6) 前記固定値応答回路は、前記第2のモジュール内に設けられることを特徴とする付記1乃至5のいずれかに記載の集積回路装置。
(付記7) 前記固定値応答回路に、AMBAのAHBプロトコル又はAPB3プロトコルが用いられることを特徴とする付記1乃至6のいずれかに記載の集積回路装置。
(Supplementary Note 6) The integrated circuit device according to any one of
(Supplementary note 7) The integrated circuit device according to any one of
(付記8) 自ら命令を発行する第1のモジュールと、前記第1のモジュールに接続され、受信した信号を当該信号に基づいて指定される前記第1のモジュールの接続先に転送するインターコネクトと、前記インターコネクトによって前記第1のモジュールの接続先に指定される第2のモジュールと、前記インターコネクトから前記第2のモジュールに対する読み出し命令信号が送信されたときに、前記読み出し命令信号を受信して前記第2のモジュール固有の固定値を前記インターコネクトに送信する固定値応答回路とを含む集積回路装置のハードウェアモデルと、
前記ハードウェアモデルを用い、前記固定値応答回路に前記読み出し命令信号を受信させるシミュレーションを実行して前記固定値を取得するシミュレーション部と、
前記シミュレーション部によって取得された前記固定値と、前記集積回路装置の仕様に基づいて設定された期待値とを照合する照合部と、
を含むことを特徴とする検証装置。
(Supplementary Note 8) A first module that issues a command itself, an interconnect that is connected to the first module and that transfers a received signal to a connection destination of the first module that is designated based on the signal; When a read command signal for the second module designated by the interconnect as a connection destination of the first module and a read command signal for the second module are transmitted from the interconnect, the read command signal is received and the second module is received. A hardware model of an integrated circuit device including a fixed value response circuit that transmits a fixed value specific to two modules to the interconnect;
Using the hardware model, a simulation unit that acquires the fixed value by executing a simulation that causes the fixed value response circuit to receive the read command signal;
A collation unit for collating the fixed value acquired by the simulation unit with an expected value set based on a specification of the integrated circuit device;
The verification apparatus characterized by including.
(付記9) 前記ハードウェアモデルは、選択信号に基づいて前記読み出し命令信号を前記第2のモジュールと前記固定値応答回路のいずれかに送信する選択器を含み、
前記シミュレーションの際には、前記選択器によって前記読み出し命令信号を前記固定値応答回路に受信させる、
ことを特徴とする付記8に記載の検証装置。
(Supplementary Note 9) The hardware model includes a selector that transmits the read command signal to either the second module or the fixed value response circuit based on a selection signal.
In the simulation, the fixed value response circuit receives the read command signal by the selector.
The verification apparatus according to appendix 8, characterized by:
(付記10) 前記インターコネクトは、当該インターコネクトに送信される、アドレス信号を含む制御信号をデコードするデコード部を含み、前記デコード部のデコード結果に基づいて、前記第2のモジュールを前記第1のモジュールの接続先に指定し、
前記読み出し命令信号は、前記制御信号が前記デコード部でデコードされた信号であることを特徴とする付記8又は9に記載の検証装置。
(Supplementary Note 10) The interconnect includes a decoding unit that decodes a control signal including an address signal transmitted to the interconnect, and the second module is changed to the first module based on a decoding result of the decoding unit. Specify the connection destination of
10. The verification apparatus according to appendix 8 or 9, wherein the read command signal is a signal obtained by decoding the control signal by the decoding unit.
(付記11) 前記シミュレーション部は、前記第1のモジュールによって前記制御信号を生成して前記インターコネクトに送信することを特徴とする付記10に記載の検証装置。
(Additional remark 11) The said simulation part produces | generates the said control signal by the said 1st module, and transmits to the said interconnect, The verification apparatus of
(付記12) 前記ハードウェアモデルは、前記制御信号を生成し、生成した前記制御信号を前記インターコネクトに送信する読み出し命令発行回路を含み、
前記シミュレーション部は、前記読み出し命令発行回路によって前記制御信号を生成して前記インターコネクトに送信することを特徴とする付記10に記載の検証装置。
(Supplementary Note 12) The hardware model includes a read command issue circuit that generates the control signal and transmits the generated control signal to the interconnect.
11. The verification apparatus according to
(付記13) 前記シミュレーション部は、アドレス信号を変化させながら当該各アドレス信号について前記制御信号を生成することを特徴とする付記11又は12に記載の検証装置。
(Additional remark 13) The said simulation part produces | generates the said control signal about the said each address signal, changing an address signal, The verification apparatus of
(付記14) コンピュータが、
自ら命令を発行する第1のモジュールと、前記第1のモジュールに接続され、受信した信号を当該信号に基づいて指定される前記第1のモジュールの接続先に転送するインターコネクトと、前記インターコネクトによって前記第1のモジュールの接続先に指定される第2のモジュールと、前記インターコネクトから前記第2のモジュールに対する読み出し命令信号が送信されたときに、前記読み出し命令信号を受信して前記第2のモジュール固有の固定値を前記インターコネクトに送信する固定値応答回路とを含む集積回路装置のハードウェアモデルを用い、シミュレーション部により、前記固定値応答回路に前記読み出し命令信号を受信させるシミュレーションを実行して前記固定値を取得し、
前記シミュレーション部により取得された前記固定値と、前記集積回路装置の仕様に基づいて設定された期待値とを照合部によって照合する、
ことを特徴とすることを特徴とする検証方法。
(Supplementary note 14)
A first module that issues a command by itself; an interconnect that is connected to the first module and that transfers a received signal to a connection destination of the first module that is designated based on the signal; and When the read command signal for the second module specified as the connection destination of the first module and the interconnect is transmitted from the interconnect to the second module, the read command signal is received and the second module specific Using a hardware model of an integrated circuit device including a fixed value response circuit that transmits a fixed value of the fixed value response circuit to the interconnect, and executing a simulation for causing the fixed value response circuit to receive the read command signal by a simulation unit. Get the value
The collation unit collates the fixed value acquired by the simulation unit and the expected value set based on the specifications of the integrated circuit device.
A verification method characterized by that.
(付記15) コンピュータに、
自ら命令を発行する第1のモジュールと、前記第1のモジュールに接続され、受信した信号を当該信号に基づいて指定される前記第1のモジュールの接続先に転送するインターコネクトと、前記インターコネクトによって前記第1のモジュールの接続先に指定される第2のモジュールと、前記インターコネクトから前記第2のモジュールに対する読み出し命令信号が送信されたときに、前記読み出し命令信号を受信して前記第2のモジュール固有の固定値を前記インターコネクトに送信する固定値応答回路とを含む集積回路装置のハードウェアモデルを用い、シミュレーション部により、前記固定値応答回路に前記読み出し命令信号を受信させるシミュレーションを実行して前記固定値を取得し、
前記シミュレーション部により取得された前記固定値と、前記集積回路装置の仕様に基づいて設定された期待値とを照合部によって照合する、
処理を実行させることを特徴とする検証プログラム。
(Supplementary note 15)
A first module that issues a command by itself; an interconnect that is connected to the first module and that transfers a received signal to a connection destination of the first module that is designated based on the signal; and When the read command signal for the second module specified as the connection destination of the first module and the interconnect is transmitted from the interconnect to the second module, the read command signal is received and the second module specific Using a hardware model of an integrated circuit device including a fixed value response circuit that transmits a fixed value of the fixed value response circuit to the interconnect, and executing a simulation for causing the fixed value response circuit to receive the read command signal by a simulation unit. Get the value
The collation unit collates the fixed value acquired by the simulation unit and the expected value set based on the specifications of the integrated circuit device.
A verification program characterized by causing processing to be executed.
10 集積回路装置
10A,10B,10C,10D システムLSI
11,100 マスターモジュール
12,200 インターコネクト
13,300 スレーブモジュール
14,400 固定値応答回路
110,210,240,310 バスI/F
120,320 機能ブロック
220 デコード部
230 調停部
401 有効転送判定回路
402 応答信号生成回路
410,610 選択器
500,500a 論理シミュレーション装置
510,510a,510A,510C ハードウェアモデル
520 シミュレーション部
530 照合部
540 記憶部
540a 読み出し値DB
540b 期待値DB
540c 検証結果DB
550,550a,550A,550C テストベンチ
560 シミュレーション情報
560a,560A マスターモジュール制御プログラム
570 仕様書
581 CPU
582 RAM
583 HDD
584 グラフィック処理装置
585 入力I/F
586 光学ドライブ装置
587 通信I/F
588 バス
591 モニタ
592 キーボード
593 マウス
594 光ディスク
600 読み出し命令発行回路
601 アドレスカウンタ
700 ネットワーク
10
11,100 Master module 12,200 Interconnect 13,300 Slave module 14,400 Fixed
120, 320
540b Expected value DB
540c Verification result DB
550, 550a, 550A,
582 RAM
583 HDD
584
586
588 bus 591 monitor 592 keyboard 593 mouse 594
Claims (9)
前記第1のモジュールに接続され、受信した信号を当該信号に基づいて指定される前記第1のモジュールの接続先に転送するインターコネクトと、
前記インターコネクトによって前記第1のモジュールの接続先に指定される第2のモジュールと、
を含み、
前記第2のモジュールは、
前記第1のモジュールから前記インターコネクトを介して送信される読み出し命令信号に応じて、自らの処理結果を出力する機能ブロックと、
前記機能ブロックの出力の第1期待値が設定され、前記読み出し命令信号に応じて前記第1期待値を出力する応答回路と、
前記インターコネクトと前記機能ブロック及び前記応答回路との間に接続され、選択信号に基づいて前記読み出し命令信号を前記応答回路と前記機能ブロックのうちの一方に出力し、前記選択信号に基づいて前記機能ブロックの出力と前記第1期待値のうちの一方を前記インターコネクトに送信する選択器と、
を含み、
前記インターコネクトが、前記選択器から送信される前記機能ブロックの出力と前記第1期待値のうちの一方を前記第1のモジュールに送信することを特徴とする集積回路装置。 A first module that issues its own instructions;
An interconnect connected to the first module and transferring a received signal to a connection destination of the first module specified based on the signal;
A second module designated as a connection destination of the first module by the interconnect;
Including
The second module is:
A functional block that outputs its own processing result in response to a read command signal transmitted from the first module via the interconnect;
A response circuit that sets a first expected value of the output of the functional block and outputs the first expected value in response to the read command signal;
The interconnect is connected between the functional block and the response circuit, and outputs the read command signal to one of the response circuit and the functional block based on a selection signal, and the function based on the selection signal A selector for transmitting one of a block output and the first expected value to the interconnect;
Only including,
The integrated circuit device , wherein the interconnect transmits one of the output of the functional block transmitted from the selector and the first expected value to the first module .
前記読み出し命令信号は、前記制御信号が前記デコード部でデコードされた信号であることを特徴とする請求項1に記載の集積回路装置。 The interconnect includes a decoding unit that decodes a control signal including an address signal transmitted to the interconnect, and based on a decoding result of the decoding unit, the second module is set as a connection destination of the first module. Specify
2. The integrated circuit device according to claim 1, wherein the read command signal is a signal obtained by decoding the control signal by the decoding unit.
前記第1のモジュールに接続され、受信した信号を当該信号に基づいて指定される前記第1のモジュールの接続先に転送するインターコネクトと、
前記インターコネクトによって前記第1のモジュールの接続先に指定され、前記第1のモジュールから前記インターコネクトを介して送信される読み出し命令信号に応じて、自らの処理結果を出力する機能ブロックと、前記機能ブロックの出力の第1期待値が設定され、前記読み出し命令信号に応じて前記第1期待値を出力する応答回路と、前記インターコネクトと前記機能ブロック及び前記応答回路との間に接続され、選択信号に基づいて前記読み出し命令信号を前記応答回路と前記機能ブロックのうちの一方に出力し、前記選択信号に基づいて前記機能ブロックの出力と前記第1期待値のうちの一方を前記インターコネクトに送信する選択器と、を有する第2のモジュールと、
を含み、前記インターコネクトが、前記選択器から送信される前記機能ブロックの出力と前記第1期待値のうちの一方を前記第1のモジュールに送信する集積回路装置のハードウェアモデルと、
前記ハードウェアモデルを用い、前記応答回路に前記読み出し命令信号を受信させるシミュレーションを実行して前記第1期待値を取得するシミュレーション部と、
前記シミュレーション部によって取得された前記第1期待値と、前記集積回路装置の仕様に基づいて設定された第2期待値とを照合する照合部と、
を含むことを特徴とする検証装置。 A first module that issues its own instructions;
An interconnect connected to the first module and transferring a received signal to a connection destination of the first module specified based on the signal;
A functional block which is designated as a connection destination of the first module by the interconnect and outputs its own processing result in response to a read command signal transmitted from the first module via the interconnect; and the functional block Is set between the response circuit that outputs the first expected value in response to the read command signal, the interconnect, the functional block, and the response circuit. The read command signal is output to one of the response circuit and the functional block based on the selection, and one of the output of the functional block and the first expected value is transmitted to the interconnect based on the selection signal A second module comprising:
Only contains the interconnect, the hardware model of an integrated circuit device that transmits one of the first expected value and the output of the function block to be transmitted from the selector in the first module,
A simulation unit for obtaining the use of a hardware model, the first expected value by executing the simulation for receiving the read command signal before Ki応 answer circuit,
A collation unit for collating the first expected value acquired by the simulation unit with a second expected value set based on the specifications of the integrated circuit device;
The verification apparatus characterized by including.
前記読み出し命令信号は、前記制御信号が前記デコード部でデコードされた信号であることを特徴とする請求項4に記載の検証装置。 The interconnect includes a decoding unit that decodes a control signal including an address signal transmitted to the interconnect, and based on a decoding result of the decoding unit, the second module is set as a connection destination of the first module. Specify
The verification apparatus according to claim 4, wherein the read command signal is a signal obtained by decoding the control signal by the decoding unit.
前記シミュレーション部は、前記読み出し命令発行回路によって前記制御信号を生成して前記インターコネクトに送信することを特徴とする請求項5に記載の検証装置。 The hardware model includes a read command issue circuit that generates the control signal and transmits the generated control signal to the interconnect,
The verification apparatus according to claim 5, wherein the simulation unit generates the control signal by the read command issue circuit and transmits the control signal to the interconnect.
自ら命令を発行する第1のモジュールと、
前記第1のモジュールに接続され、受信した信号を当該信号に基づいて指定される前記第1のモジュールの接続先に転送するインターコネクトと、
前記インターコネクトによって前記第1のモジュールの接続先に指定され、前記第1のモジュールから前記インターコネクトを介して送信される読み出し命令信号に応じて、自らの処理結果を出力する機能ブロックと、前記機能ブロックの出力の第1期待値が設定され、前記読み出し命令信号に応じて前記第1期待値を出力する応答回路と、前記インターコネクトと前記機能ブロック及び前記応答回路との間に接続され、選択信号に基づいて前記読み出し命令信号を前記応答回路と前記機能ブロックのうちの一方に出力し、前記選択信号に基づいて前記機能ブロックの出力と前記第1期待値のうちの一方を前記インターコネクトに送信する選択器と、を有する第2のモジュールと、
を含み、前記インターコネクトが、前記選択器から送信される前記機能ブロックの出力と前記第1期待値のうちの一方を前記第1のモジュールに送信する集積回路装置のハードウェアモデルを用い、
シミュレーション部により、前記応答回路に前記読み出し命令信号を受信させるシミュレーションを実行して前記第1期待値を取得し、
前記シミュレーション部により取得された前記第1期待値と、前記集積回路装置の仕様に基づいて設定された第2期待値とを照合部によって照合する、
ことを特徴とする検証方法。 Computer
A first module that issues its own instructions;
An interconnect connected to the first module and transferring a received signal to a connection destination of the first module specified based on the signal;
A functional block which is designated as a connection destination of the first module by the interconnect and outputs its own processing result in response to a read command signal transmitted from the first module via the interconnect; and the functional block Is set between the response circuit that outputs the first expected value in response to the read command signal, the interconnect, the functional block, and the response circuit. The read command signal is output to one of the response circuit and the functional block based on the selection, and one of the output of the functional block and the first expected value is transmitted to the interconnect based on the selection signal A second module comprising:
Only contains the interconnect, using the hardware model of an integrated circuit device that transmits one of the first expected value and the output of the function block to be transmitted from the selector in the first module,
The simulation unit acquires the first expected value by executing the simulation for receiving the read command signal prior to Ki応 answer circuit,
The collation unit collates the first expected value acquired by the simulation unit and the second expected value set based on the specifications of the integrated circuit device.
A verification method characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011105266A JP5789832B2 (en) | 2011-05-10 | 2011-05-10 | Integrated circuit device, verification device, and verification method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011105266A JP5789832B2 (en) | 2011-05-10 | 2011-05-10 | Integrated circuit device, verification device, and verification method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012238089A JP2012238089A (en) | 2012-12-06 |
JP5789832B2 true JP5789832B2 (en) | 2015-10-07 |
Family
ID=47460954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011105266A Expired - Fee Related JP5789832B2 (en) | 2011-05-10 | 2011-05-10 | Integrated circuit device, verification device, and verification method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5789832B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11275582B2 (en) * | 2017-01-06 | 2022-03-15 | Montana Systems Inc. | Event-driven design simulation |
CN116306400B (en) * | 2023-05-17 | 2023-07-28 | 北京燧原智能科技有限公司 | Integrated circuit verification method, system, device, equipment and medium |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01112844A (en) * | 1987-10-26 | 1989-05-01 | Nec Corp | Communication control equipment |
JPH07182253A (en) * | 1993-12-24 | 1995-07-21 | Mitsubishi Electric Corp | Bus adaptor and bus multiplexing system |
JP2007133633A (en) * | 2005-11-10 | 2007-05-31 | Matsushita Electric Ind Co Ltd | Information processor |
JP2007199859A (en) * | 2006-01-24 | 2007-08-09 | Fujitsu Ltd | Data transfer system |
JP5308629B2 (en) * | 2007-03-26 | 2013-10-09 | ルネサスエレクトロニクス株式会社 | Multiprocessor system and access protection method in multiprocessor system |
GB2452571A (en) * | 2007-09-10 | 2009-03-11 | Advanced Risc Mach Ltd | Interconnect component generation within an integrated circuit |
JP2009151486A (en) * | 2007-12-19 | 2009-07-09 | Toshiba Corp | Dma transfer processor |
-
2011
- 2011-05-10 JP JP2011105266A patent/JP5789832B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012238089A (en) | 2012-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4564110B2 (en) | Computer-implemented method and signal processor simulator for simulating the operation of dual processor circuits | |
US9311437B2 (en) | Modeling a bus for a system design incorporating one or more programmable processors | |
TWI334543B (en) | Method of scheduling tasks in computer systems architectures, apparatus for implementing task scheduling, and computing system | |
JP3705663B2 (en) | Device bridging method and apparatus | |
TWI292873B (en) | Addressable media of circuit simulation bus transaction analysis and related methods | |
US5911053A (en) | Method and apparatus for changing data transfer widths in a computer system | |
US20170153815A1 (en) | Dedicated interface for coupling flash memory and dynamic random access memory | |
CN100585568C (en) | AHB bus test method and system | |
CN114168200B (en) | System and method for verifying memory access consistency of multi-core processor | |
JP2007048280A (en) | Integrated circuit device and method for monitoring bus | |
US10409935B2 (en) | Modeling a bus for a system design incorporating one or more programmable processors | |
JP5789832B2 (en) | Integrated circuit device, verification device, and verification method | |
US7228513B2 (en) | Circuit operation verification device and method | |
US7103803B2 (en) | Method for verification of command processing in a computer system design having a multiple priority command queue | |
JP2008282314A (en) | Simulator and simulation method | |
US20100161305A1 (en) | Performance evaluation device, performance evaluation method and simulation program | |
US7856346B2 (en) | Emulating multiple bus used within a data processing system | |
CN101777035A (en) | Implementation method for AMBA AHB bus and device thereof | |
JP5664430B2 (en) | Test apparatus, verification model development method and program | |
JP5994661B2 (en) | Verification program, verification method, and verification apparatus | |
JP2006338533A (en) | Multilayered bus system having ecc circuit | |
JP2016528634A (en) | Method and controller for implementing a hardware automatic device operation initiator | |
JP2006227668A (en) | Memory model, program and logic circuit verification method | |
US8352239B2 (en) | Emulator interface device and method thereof | |
JPH10221410A (en) | Automatic logic verification system for lsi |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140128 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150108 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20150611 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150623 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150716 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150706 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5789832 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |