JP4100901B2 - システムlsiの論理検証方法 - Google Patents

システムlsiの論理検証方法 Download PDF

Info

Publication number
JP4100901B2
JP4100901B2 JP2001386242A JP2001386242A JP4100901B2 JP 4100901 B2 JP4100901 B2 JP 4100901B2 JP 2001386242 A JP2001386242 A JP 2001386242A JP 2001386242 A JP2001386242 A JP 2001386242A JP 4100901 B2 JP4100901 B2 JP 4100901B2
Authority
JP
Japan
Prior art keywords
cpu
software
peripheral device
model
system lsi
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001386242A
Other languages
English (en)
Other versions
JP2003186937A5 (ja
JP2003186937A (ja
Inventor
博司 細川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2001386242A priority Critical patent/JP4100901B2/ja
Publication of JP2003186937A publication Critical patent/JP2003186937A/ja
Publication of JP2003186937A5 publication Critical patent/JP2003186937A5/ja
Application granted granted Critical
Publication of JP4100901B2 publication Critical patent/JP4100901B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、システムLSIの論理検証方法に関するものである。
【0002】
【従来の技術】
従来、コ・ベリフィケーションを利用した検証方法は、C言語などで記述されたソフトウエアにより、ビヘイビュアモデルにCPUと同様のトランザョンを発生させることで、検証対象となる回路のテストを行う。例えば以下のような方法がある。
【0003】
(1)インストラクション・セット・シミュレーター
C言語などで記述されたソフトウエアをコンパイルし、実行形式となったオブジェクトを解析してCPUのビヘイビュアモデルに入力するインストラクション・セット・シミュレータを介し、CPUと同等のトランザクションを発生する方法。
【0004】
(2) ソフトウエア専用インターフェースC言語などで記述するソフトウエアに、ビヘイビュアモデルとインターフェースを取るCPUコマンドを定義し、ソフトウエアの中でCPUコマンドをコールしたら、ビヘイビュアモデルとのインターフェースを介して、CPUと同等のトランザクションを発生させる方法。
【0005】
【発明が解決しようとする課題】
しかしながら上記従来例では、ソフトウエアは本来、CPUで実行されることを前提に記述される場合が多いため、CPUからアクセス可能な回路の制御しかできない。
【0006】
実チップ上で実行する場合、電気回路基板上に該チップが実装され、さらに周辺デバイスや周辺装置等が接続されるため、ソフトウエアはそれらの周辺デバイスや周辺装置との動作確認が可能となる。
【0007】
しかしながら、論理検証の場合はシステムLSIに接続される周辺デバイスや周辺装置が無いため、仮想動作モデルを接続してテストを行う。これらの仮想動作モデルはシステムLSIの外部デバイス・周辺装置のため、CPUから設定などを行うことはできない。よって、ソフトウエアからこれらの仮想動作モデルの制御は行えないため、システムLSIの実動作に基づいた回路の検証が難しい、という欠点があった。
【0008】
本発明の目的は、ソフトウエアが実行されると共に、自動的に動作する外部デバイス・周辺装置の仮想動作モデルが動作することで、システムLSIの実動作環境の元で検証が行えるようにし、さらに該ソフトウエアは実チップ上でのデバイスドライバ・チェックプロとしても使用可能とする点にある。
【0009】
【課題を解決するための手段】
本発明によれば、実際のシステムLSIに、CPU動作モデルと周辺デバイス動作モデルとを接続し、プログラムを実行することで前記CPU動作モデル及び周辺デバイス動作モデルを制御するシミュレータを備えたシステムにおける、当該システムLSIの論理検証方法において、前記シミュレータが、前記周辺デバイス動作モデルを起動して、該周辺デバイス動作モデルから前記システムLSIに要求を発行させる工程と、前記シミュレータが、前記CPU動作モデルに命令を発行し、該命令を当該CPU動作モデルに実行させて前記システムLSIにトランザクションを発生させる工程とを備えたことを特徴とする。
【0010】
【発明の実施の形態】
(第一の実施例)
図1は本発明の特徴を最もよく表す図である。
【0011】
101はシステムLSI、102はシステムLSI101の回路を検証するソフトウエア、103はCPUビヘイビュアモデル、104はソフトウエア102のCPU命令とCPUビヘイビュアモデル103の間のCPUインターフェース、105はCPUビヘイビュアモデル103の電気的信号が接続されるCPUバス、106はCPUバス105のバス利用権を調停するバスアービター、107はCPUバス105に接続されるメモリコントローラ、108はメモリコントローラ107により読書きされるメモリ、109はCPUバス105に接続されるDMAコントローラ、110〜112は周辺デバイスのビヘイビュアモデル、113〜115は各周辺デバイス110〜112を制御する周辺デバイスコントローラ、116は周辺デバイス113〜115を起動するプログラム、117は周辺デバイス起動プログラム116と周辺デバイスのビヘイビュアモデルとのインターフェース、118はテスト実行環境であるシミュレータ、119はシミュレータ117と検証ソフトウエア102とのインターフェース、120はシミュレータ117と周辺デバイス起動プログラム116とのインターフェースである。
【0012】
ソフトウエア102においてCPUコマンドを記述することにより、CPUコマンドはCPUインターフェース104を介して、CPUビヘイビュアモデル103に命令の実行を要求する。
【0013】
例えばソフトウエアでメモリ106上のアドレスAにデータDを書き込むCPUコマンドが記述された場合、要求を受けたCPUビヘイビュアモデル103は、バスアービター105にバス利用権の取得要求を出す。
【0014】
バス調停の結果、バスアービター105がCPUビヘイビュアモデル103にバス利用権を与えると、CPUビヘイビュアモデル103はメモリコントローラ107にメモリ108上のアドレスAへのデータDを書き込み要求を出す。
【0015】
要求を受けたメモリコントローラ107はメモリ108にアクセスし、データを書き込み、CPUビヘイビュアモデル103には書き込み完了を通知する。するとCPUビヘイビュアモデル103は、CPUインターフェース104を介して、メモリヘの書き込み要求を行ったソフトウエア102に書き込み完了を通知する。
【0016】
このようにソフトウエア102からCPUビヘイビュアモデル103を使用することで、システムLSI101内の回路の制御が可能となる。
【0017】
しかしこの手法だけでは、外部の周辺デバイスのビヘイビュアモデル110〜112の制御は、CPUビヘイビュアモデル103では不可能なため、実チップ上で動作する周辺デバイス制御プログラムは実行できない。例えば、111がUSBホストのビヘイビュアモデルで、114がUSBホストモデル111のコントローラである場合、USBホストモデル111からデータの転送要求を起こさせる設定や、転送エラーを発生させる設定など、ビヘイビュアモデルの設定が行えないとコントローラの仕様を満たす検証が行えない。
【0018】
そこでこのような場合、シミュレータ118からソフトウエア102を実行する際に、USBホストモデル111の制御を行うための起動プログラム116を設けることで、周辺デバイスのビヘイビュアモデルを様々なモードで動作させた上での検証が可能となる。特にデバイスドライバのように、周辺デバイスからの要求に従って実行されるプログラムは、変更することなく実チップ上でも実行できる。
【0019】
図2は、本発明のアルゴリズムの例を示したものである。201は検証ソフトウエアの実行開始、202は周辺デバイスモデルの起動、203は周辺デバイスビヘイビュアモデルからの要求待ち、204はソフトウエアからCPUビヘイビュアモデルヘのコマンド発行、205はCPUビヘイビュアモデルの実行結果の応答待ち、206はCPUビヘイビュアモデルからソフトウエアヘの応答、207はシミュレーションの終了確認を示している。
【0020】
例えば、USBコントローラを介したデバイスドライバを使用した検証の場合、USBホストモデルからの接続要求が自動的に発行される状況を作り出す必要がある。
【0021】
その場合、シミュレーションがテストを実行すると、201で検証ソフトウエアを実行すると共に、202でUSBホストモデルが自動的に接続要求するプログラムを起動する。
【0022】
これにより、USBホストモデルから接続要求コマンドが発行され、USBコントローラからの割込み要求や、その割り込みに対するソフトウエアの処理などが論理検証可能となる。
【0023】
この手法で周辺デバイスのビヘイビュアモデルに対し、あらゆる転送要求の設定や、故意にエラーを発生させる設定などを行うことで、ソフトウエアによるシステムLSIの論理検証が可能となる。
【0024】
図3は、本発明の周辺デバイスインターフェースを利用したプログラム例を示したものである。USBからの割込みを制御するソフトウエア301における、1から4行目の構造体と、ソフトウエア301とCPUビヘイビュアモデルのインターフェース302の1から4行目の構造体のデータをやり取りすることで、所望の割込み要求を認識する例である。
【0025】
実際の論理検証環境においては、FLI等のCプログラムと論理検証環境のインターフェースを利用することになる。この例では周辺デバイスビヘイビュアモデルの一例としてUSBホストモデルを使い、検証ソフトウエアを実行すると共に、USBホストモデルを起動する方法を紹介する。
【0026】
ソフトウエア301と周辺デバイスインターフェース302の間で以下のことが取り決められている場合である。typeが1の場合はUSBコントローラの割込みが選択される。
【0027】
まず、ソフトウエア301の9〜10行目の構造体の値がセットされると、11行目においてソフトウエアはinterruptの値が1になるまで待ち続ける。インターフェース302の7〜8行目で、USBコントローラの割込みが選択される。
【0028】
すると、割込みコントローラ303の1行目のtaskが実行され、typeが1の場合はUSBコントローラからの割込み要求信号が来るまで5行目で待ち続ける。一方、304はソフトウエア301が実行されると共に実行される、USBホストモデルの起動プログラムである。
【0029】
1行目のstart_usb_hostが起動されると、3〜5行目のUSBホストモデル内部の実行プログラムが起動し、USBコントローラに対し接続要求を行う。これにより、接続要求を受けたUSBコントローラから割込み信号が割込みコントローラ303に発行され、割込み要求を待ち続けていた5行目から制御が進む。
【0030】
するとインターフェース302の8行目で待ち続けていたプログラムが9行目に進み、割込みがソフトウエア301に制御が渡り、11行目で待ち続けていた割込み制御から抜け、デバイスドライバソフトウエアはUSBコントローラの制御に移ることが可能となる。
【0031】
【発明の効果】
以上説明したように、本発明によれば、システムLSIの実動作環境の元での論理検証が可能となる。
【図面の簡単な説明】
【図1】 本発明の第一の実施例に係わる、システムLSIの検証方式を表す図である。
【図2】 本発明の第一の実施例に係わる、アルゴリズムの例である。
【図3】 本発明の第二の実施例に係わる、本発明の周辺デバイスインターフェースを利用したプログラム例である。
【符号の説明】
101 システムLSI
102 システムLSI101の回路を検証するソフトウエア
103 CPUビヘイビュアモデル
104 ソフトウエア102のCPU命令とCPUビヘイビュアモデル103の間のCPUインターフェース
105 CPUビヘイビュアモデル103の電気的信号が接続されるCPUバス
106 CPUバス105のバス利用権を調停するバスアービター
107 CPUバス105に接続されるメモリコントローラ
108 メモリコントローラ107により読書きされるメモリ
109 CPUバス105に接続されるDMAコントローラ
110〜112 周辺デバイスのビヘイビュアモデル
113〜115 各周辺デバイス110〜112を制御する周辺デバイスコントローラ
116 周辺デバイス113〜115を起動するプログラム
117 周辺デバイス起動プログラム116と周辺デバイスのビヘイビュアモデルとのインターフェース
118 テスト実行環境であるシミュレータ
119 シミュレータ117と検証ソフトウエア102とのインターフェース
120 シミュレータ117と周辺デバイス起動プログラム116とのインターフェ−ス
201 検証ソフトウエアの実行開始
202 周辺デバイスモデルの起動
203 周辺デバイスビヘイビュアモデルからの要求待ち
204 ソフトウエアからCPUビヘイビュアモデルヘのコマンド発行
205 CPUビヘイビュアモデルの実行結果の応答待ち
206 CPUビヘイビュアモデルからソフトウエアヘの応答
207 シミュレーションの終了確認
301 USBコントローラ制御プログラム
302 CPU割込みとソフトウエアのインターフェース
303 割込みコントローラ
304 USBホストモデルの起動プログラム各々のソースコードの例の抜粋
である。

Claims (1)

  1. 実際のシステムLSIに、CPU動作モデル周辺デバイス動作モデルとを接続し、プログラムを実行することで前記CPU動作モデル及び周辺デバイス動作モデルを制御するシミュレータを備えたシステムにおける、当該システムLSIの論理検証方法であって、
    前記シミュレータが、前記周辺デバイス動作モデルを起動して、該周辺デバイス動作モデルから前記システムLSIに要求を発行させる工程と、
    前記シミュレータが、前記CPU動作モデルに命令を発行し、該命令を当該CPU動作モデルに実行させて前記システムLSIにトランザクションを発生させる工程と
    を備えたことを特徴とするシステムLSIの論理検証方法。
JP2001386242A 2001-12-19 2001-12-19 システムlsiの論理検証方法 Expired - Fee Related JP4100901B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001386242A JP4100901B2 (ja) 2001-12-19 2001-12-19 システムlsiの論理検証方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001386242A JP4100901B2 (ja) 2001-12-19 2001-12-19 システムlsiの論理検証方法

Publications (3)

Publication Number Publication Date
JP2003186937A JP2003186937A (ja) 2003-07-04
JP2003186937A5 JP2003186937A5 (ja) 2005-07-28
JP4100901B2 true JP4100901B2 (ja) 2008-06-11

Family

ID=27595441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001386242A Expired - Fee Related JP4100901B2 (ja) 2001-12-19 2001-12-19 システムlsiの論理検証方法

Country Status (1)

Country Link
JP (1) JP4100901B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100928186B1 (ko) * 2007-11-28 2009-11-25 한국전기연구원 데이터 연결 중재 장치 및 이를 구비한 통신 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100928186B1 (ko) * 2007-11-28 2009-11-25 한국전기연구원 데이터 연결 중재 장치 및 이를 구비한 통신 시스템

Also Published As

Publication number Publication date
JP2003186937A (ja) 2003-07-04

Similar Documents

Publication Publication Date Title
US9311437B2 (en) Modeling a bus for a system design incorporating one or more programmable processors
US6006166A (en) Apparatus for testing a controller with random constraints
US8112263B2 (en) Method for logic checking to check operation of circuit to be connected to bus
JP3302357B2 (ja) Cpuバス制御器
US20070204246A1 (en) Method and system for logic verification using mirror interface
US6571204B1 (en) Bus modeling language generator
US20130211812A1 (en) Conveying data from a hardware device to a circuit simulation
US6076180A (en) Method for testing a controller with random constraints
KR20010080515A (ko) 다수의 가상 직접 메모리 접근 채널들을 지원하기위한직접 메모리 접근 엔진
KR970076291A (ko) 컴퓨터 시스템 버스상에서 슬레이브 dma를 에뮬레이션하는 방법
CN115146568A (zh) 一种基于uvm的芯片验证系统及验证方法
US10409935B2 (en) Modeling a bus for a system design incorporating one or more programmable processors
US20050144436A1 (en) Multitasking system level platform for HW/SW co-verification
JP4100901B2 (ja) システムlsiの論理検証方法
TWI749658B (zh) 具自動更新韌體功能的usb集線裝置及具有該usb集線裝置的主機系統
JP4589255B2 (ja) ハードウェア/ソフトウェア協調検証装置
JP2003178105A (ja) システムlsiの論理検証方式
US9223585B2 (en) Data processing device with serial bus that needs initialization before use
JP2007156728A (ja) 論理検証方法及び論理検証システム
JP2002215418A (ja) 協調シミュレーションによる論理検証装置
JP2004362094A (ja) システムlsiの論理検証方式
CN117349103A (zh) 基于fpga验证soc芯片pcie控制器的系统
US20070234030A1 (en) Controller interface ownership changing system and method
JP2006127380A (ja) untimed記述で設計されたシステムLSIにおけるプログラム開発環境
JP3685288B2 (ja) マイクロプロセッサのエミュレーション方法およびエミュレータ装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20041116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080204

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: 20080311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080318

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

Free format text: PAYMENT UNTIL: 20110328

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120328

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130328

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140328

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees