JP2022084921A - 多重プロセッサシステムのためのリアルタイム分析及び制御 - Google Patents
多重プロセッサシステムのためのリアルタイム分析及び制御 Download PDFInfo
- Publication number
- JP2022084921A JP2022084921A JP2022058455A JP2022058455A JP2022084921A JP 2022084921 A JP2022084921 A JP 2022084921A JP 2022058455 A JP2022058455 A JP 2022058455A JP 2022058455 A JP2022058455 A JP 2022058455A JP 2022084921 A JP2022084921 A JP 2022084921A
- Authority
- JP
- Japan
- Prior art keywords
- application software
- data
- hardware resource
- software
- mpa
- 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.)
- Granted
Links
- 238000010223 real-time analysis Methods 0.000 title description 23
- 238000000034 method Methods 0.000 claims abstract description 93
- 230000004044 response Effects 0.000 claims abstract description 14
- 230000015654 memory Effects 0.000 claims description 148
- 239000000523 sample Substances 0.000 claims description 104
- 238000012545 processing Methods 0.000 claims description 76
- 238000004458 analytical method Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 21
- 238000003860 storage Methods 0.000 claims description 16
- 238000012546 transfer Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 abstract description 198
- 230000005540 biological transmission Effects 0.000 abstract description 69
- 238000004891 communication Methods 0.000 description 56
- 230000018109 developmental process Effects 0.000 description 47
- 238000013461 design Methods 0.000 description 46
- 230000006870 function Effects 0.000 description 29
- 208000032370 Secondary transmission Diseases 0.000 description 27
- 238000011161 development Methods 0.000 description 24
- 239000000047 product Substances 0.000 description 22
- 239000013598 vector Substances 0.000 description 12
- 239000004744 fabric Substances 0.000 description 11
- 238000005070 sampling Methods 0.000 description 11
- 238000005259 measurement Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 238000001914 filtration Methods 0.000 description 9
- 238000005457 optimization Methods 0.000 description 9
- 230000006399 behavior Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000003491 array Methods 0.000 description 7
- 238000013468 resource allocation Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 6
- 230000000903 blocking effect Effects 0.000 description 6
- 238000012512 characterization method Methods 0.000 description 6
- 239000012467 final product Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000003362 replicative effect Effects 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 239000000654 additive Substances 0.000 description 3
- 230000000996 additive effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000011068 loading method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 102000015779 HDL Lipoproteins Human genes 0.000 description 1
- 108010010234 HDL Lipoproteins Proteins 0.000 description 1
- 240000007643 Phytolacca americana Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000011049 filling Methods 0.000 description 1
- 239000010419 fine particle Substances 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
- G06F11/2242—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/343—Logical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
- Architecture (AREA)
- Software Systems (AREA)
Abstract
Description
以下の特許は、その全体を参照することにより、本明細書においてその全体が完全に論述されているかのように、本明細書に援用されるものとする:
米国仮特許出願第61/724493号(2012年9月9日出願、発明の名称「Real Time Analysis and Control for a Multiprocessor System」);
米国特許第7415594号(2003年6月24日出願、発明の名称「Processing System With Interspersed Stall Propagating Processors And Communication Elements」、発明者Michael B.Doerr、William H.Hallidy、David A.Gibson、Craig M.Chase);
米国特許出願第13/274138号(2011年10月14日出願、発明の名称「Disabling Communication in a Multiprocessor System」、発明者Michael B.Doerr、Carl S.Dobbs、Michael B.Solka、Michael R Trocino、David A.Gibson)。
以下は、本出願で使用する用語の解説である。
これより、試験インストルメンテーションがデータ処理デバイス(特に多重処理デバイス)及びこれらに関連するソフトウェア開発システム内に構築される、リアルタイム分析及び制御(real time analysis and control:RTAC)のためのシステムの様々な実施形態について説明する。RTACは、データ処理デバイスが製品アプリケーションを最高速度で実行している間に、保護されていないデバイスのいずれの内部状態にアクセス(読み出し又は書き込み)し、データ処理デバイスが製品アプリケーションを実行している間に、デバイス内の保護されていないいずれの場所にデジタル信号ストリームを接続し、デジタル信号ストリームを様々な標準的方法(間引き、補間、フィルタリング、ノイズ付加、パターン又は閾値に対するトリガ、フーリエ変換等)で処理し、試験信号を生成して比較を行って信号を処理し、自律的に高速で動作し、ソフトウェア部品(「ビュー(view)」と呼ばれる)を用いて比較的容易に設定できるように構成できる。
いくつかの実施形態では、リアルタイム制御(Real-Time Control:RTC)の基本的な考え方は、リンカが、ランタイムソフトウェアが使用する変数及びパラメータの、SM内での絶対位置を含むテーブルを生成するというものである。このリンカテーブルは、アプリケーションソフトウェアの動作中に特定のアドレスに対して個々の値を「ピーク(peek)」及び「ポーク(poke)」するために、例えばシリアルバスである二次相互接続ネットワークと共に使用してよく、これ以外の点で二次相互接続ネットワークに干渉することはない。MPAがそのハードウェア内に、一次相互接続ネットワーク(PIN)とは独立したシリアルバス等の二次相互接続ネットワーク(SIN)を有する場合、無干渉とすることもできる。SINは典型的には、高帯域幅PINよりも大幅に低い帯域幅を有し、従ってSINはアプリケーションソフトウェアによって使用されない。
いくつかの実施形態では、リアルタイム分析(real‐time analysis:RTA)ツール(これはRTACツールの一部であってよい)を提供してよく、これは、ワークステーション、即ち例えばPC/ラップトップコンピュータ又は他のいずれのタイプの所望のコンピュータであるホストコンピュータ上で実行される全体制御プログラムを含み、これは、試験中のデバイス(DUT)及び最終的な用途に適切であるクロック速度でMPA上で動作するそのプリケーションソフトウェアを動作させるソフトウェア定義テストベンチ(SDTB)を管理する(及びいくつかの実施形態ではその一部と考えることもできる)。
図9は、一実施形態による、アプリケーションソフトウェアを実行するMPAを含むDUTを試験するためのシステムを示す。図示したように、この例示的実施形態では、このシステムは、ホストコンピュータ、開発システムとDUTを試験するために構成されたテストベンチとを試験設備と共に含む開発ボード、そしてこの特定の場合においてはプロセッサIC(集積回路)、並びに例えば論理アナライザ又はオシロスコープ及び外部信号ソース(例えばビデオカメラ)といった機器を含む。いくつかの実施形態では、ホストコンピュータ、開発ボード及び上記機器は、本記述の実施形態を実装できるソフトウェア定義テストベンチを構成できる。
上述のRTAシステムのコンセプトの1つの有用な特徴は、アプリケーションの性能に対して影響を無視できる程度にしか、又は全く及ぼすことなく、DTU内の高帯域幅データフローを精査できる点である。これは、ソフトウェア開発ツールのために開発されたソフトウェアプローブが、DUTに対してコード及び実行サイクルをごくわずかにしか(典型的には1%未満しか)追加しないことによって可能となる。アプリケーションソフトウェアは典型的には、全ての利用可能なMPAリソースを消費するわけではなく、またデータのブロックを処理するために割り振られた時間全てを消費するわけではないため、サイクル、電力放散及び/又はメモリの使用が1%増大してもほとんど感知できない。
これより、ここで開示する技術の様々な例示的実施形態及び実装形態について説明する。しかしながら、説明される特定の実施形態及び技術は、本発明をいずれの特定の形態、機能又は外観に限定するものではないことに留意されたい。例えばこれらの実施形態のうちのいくつかについては、具体的な用語、構文又は要素を用いて説明するが、記載される用語、構文又は特定の要素は例示のみを目的としたものであり、考察されている実施形態をいずれの特定の名称、構文、形態、構造又は外観のセットに限定することを意図したものではない。
図11は、一実施形態による、多重プロセッサシステム用のソフトウェアを開発するための例示的な方法のフローチャートである。より具体的には、図9は、フローにおいてプローブを挿入できる例示的な場所を示す。上述のように、ここで開示する技術はツールによって実装でき、このツール自体は多数のツール又はモジュールを含んでよい。いくつかの実施形態では、このツールはISDEから又はISDE内で発動してよく、他の実施形態ではこのツールはスタンドアロン型ツールとして動作してよい。いくつかの実施形態では、このツールは呼び出し可能な機能及び/若しくは定義された構造のツールキットとして、又はソフトウェアスイートとして実装してよい。
いくつかの実施形態では、リアルタイムデバッグは、アプリケーションランタイムソフトウェアを実行しているハードウェアDUTに「デバッグプローブ」を挿入することによって実装してよく、これにより内部信号を監視する。理想的には、デバッグプローブは完全に非侵襲性であり、即ちユーザのアプリケーションソフトウェアの動作に対して一切の影響を及ぼさない。いくつかの状況ではこれが成立し得るが、ほとんどの状況では、上記影響は無視できる程度のものとなり、いくつかの状況では、プローブの挿入に十分なリソースが存在しない場合があるか、又はプローブの挿入に対するセキュリティ障壁が存在する場合がある。なお、用語「無視できる程度の影響(negligible effects)」、「リアルタイム(real time)」は、特定の応用分野又は考慮される使用法に応じて異なる許容誤差レベルを示してよい。例えばいくつかの実施形態では、これらの用語は、試験がDUT及び/又はアプリケーションの性能に1%未満の影響を及ぼす状態で実施されることを意味してよい。同様に他の様々な例示的実施形態では、許容誤差は、例えば指定された要件に対して0.1%未満、0.5%未満、1%未満、2%未満、3%未満、4%未満、5%未満等であってよい。より一般には、様々な異なる実施形態において、許容誤差(即ち「無視できる程度の(negligible)及び「リアルタイムに最高動作速度で(real time at full operational speed)」の意味)は、いずれの所望の値となるように適宜指定してよい。
プローブのサンプリング部分を実装するための1つの例示的な方法は、PEタスク内において、対象の信号に関する第1の「送信」命令文を探し、第1の送信の後に第2の(副次的)送信命令文を挿入することであり、この第2の(副次的)送信命令文は同一の信号に対するものであるが、関連する通信経路がDMRを異なる方向から出るようにし、この経路を自由経路に沿ってチップI/Oポートへと配向するものである。これら送信命令文を両方とも含むタスクを再コンパイルし、アプリケーションソフトウェアの残りの部分とリンクさせて、試験及び分析のための単一のタップを有するバイナリイメージを生成してよい。続いて、送信タスクが対象の信号のデータのブロックを送信するたびに、これは同一のデータのブロックをプローブにも送信する。これは、プローブが非侵襲性であるという要件に完全には適合しない。というのは、送信タスクは第2の送信を実行しなければならず、これはタスクを実行するためのサイクルを追加するからである。しかしながら、第2の送信が、アプリケーションソフトウェアが使用していないハードウェアリソースを利用する場合、上述のコストを緩和できる。例えば第2の(副次的)送信命令文がDMAエンジンを使用する場合、PEはDMA制御レジスタの書き込みに対して数PEクロックサイクル分しか遅延しないものとなり得、そしてPEはアプリケーションタスクと共に継続できる。通常これらの追加のサイクルは、タスクに割り振られた時間に比べて無視できる程度のものである。別の例として、いくつかの実施形態では、第2の又は副次的送信命令文は、オンチップネットワークを利用して、プローブデータをMPAのエッジに供給してよい。
図13は、例えば図12の副次的送信命令文の使用とは対照的に、MPAから目標のデータ又は信号を複製及び抽出するために、アプリケーションソフトウェアの外部の試験用コード(試験プログラムコードとも呼ばれる)を使用する、DUTを試験するための例示的な一実施形態による方法のハイレベルフローチャートである。図12の方法と同様に、DUTは多重プロセッサアレイ(MPA)を含んでおり、MPAの様々な実施形態は上述した通りである。図12に示す方法は、特にこれまでに図示したコンピュータシステム又はデバイスのいずれと組み合わせて使用してよい。様々な実施形態では、図示した方法要素は、同時に若しくは図示したものと異なる順序で実施してよく、又は省略してよい。また必要に応じて追加の方法要素を実施してもよい。図示したように、この方法は以下のように動作できる。
目標のデータ又は信号を複製/抽出するための、より侵襲性が低いがより複雑である別の方法は、近隣のPEを利用して、特定のDMA伝送と関連する複数のレジスタのセットをポーリングする。上記近隣のPEが伝送の開始を検出すると、上記PEは同一のデータを読み出してこれをチップから送出できる。これは非侵襲性の方法で実施できる。というのは、上記近隣のPEが最低の優先度を有し、従って上記アプリケーションソフトウェアの動作に一切干渉しないように、DMAレジスタ上に優先度を設定できるためである。従って、データを送信している間に、DMAエンジンの背後でプローブはゆっくりと継続されてよく、また時折、上記エンジンによって、又は同一のDMRにアクセスしているアプリケーション内の他の近隣のPEによって機能停止し得る。これにより、DMAエンジンが終了しアプリケーションの送信PEに通知を行ってから数サイクル後に、上記近隣のPEによるデータの読み出しを終了させる。その短いタイムウィンドウの間に、送信PEはデータの修正を始めることができる。しかしながら、DMA伝送のバースト間に比較的長いインターバルを有するのがより一般的であり、従って有効でないデータを読み出してしまう蓋然性は小さい。
更に非侵襲性のプローブを、いくつかのMPAが提供するオンボードDMA‐FIFO機能、例えばhx3100B HyperX[MPA]プロセッサチップのDMA‐FIFO能力を用いて実装してよい。このアプローチでは、図15に示すように、3つのDMAエンジンを先入れ先出し(first‐in first‐out:FIFO)制御ブロックに連結し、データのストリームを一次又はオリジナルデータストリームと、精査された又は副次的データストリームとに分割してよい。
図17は、一実施形態によるMPAのDMRの例示的実施形態を示す。上述のように、MPA内のDMRは、MPAの隣接する処理要素のためのローカルメモリ及びルーティングリソースを提供し、また実行中のアプリケーションソフトウェアへのデータ書き込み、上記アプリケーションソフトウェアからのデータ読み出し、上記アプリケーションソフトウェア内でのデータ読み出し及び書き込みのためのDMAエンジンを実装してよい。例えば図17の例示的なDMRは4ペアのDMRエンジンを含み、各ペアは、DMRの中央に示したデータメモリからデータを読み出すためのDMA読み出しエンジンと、上記データメモリにデータを書き込むためのDMA書き込みエンジンとを含み、各DMAエンジンは、「DMAW Engine」(DMA書き込みエンジン)、「DMAR Engine」(DMA 読み出しエンジン)と記されているDMR内の最も右側の2つの正方形が示すように、図面ではそれぞれ正方形で表されており、ここでDMA書き込みエンジンはデータ(図におけるWData)をデータメモリに書き込むよう動作し、DMA読み出しエンジンはデータ(図におけるRData)をデータメモリから読み出すよう動作する。
試験中のアプリケーションからソフトウェア通信プローブを連結解除すると有益であり得る。これを行う1つの動機は、アプリケーションのソースコードが利用可能ではなく、従って含まれている通信プローブによって再リンク(再構築)できないことである。しかしながらはるかに重要なことは、修正が、それがどれほど小さなものであろうと(即ちプローブ)アプリケーションに導入されることがないように、試験中のアプリケーションの完全な整合性を維持することである。これはまた、含まれているプローブを用いてアプリケーションを再構築(再リンク)する必要を省く(防ぐ)。
論理アナライザ(LA)等の試験機器は、多数のバイナリデジタル信号をサンプリングしてこれらを高速メモリに記憶させることにより、デジタル信号をキャプチャする。その後、メモリのコンテンツを、バイナリ信号のセットとして、又は何らかの等価の数値としてスクリーン上に表示してよい。論理アナライザ(LA)のタイムベースは、トリがイベントにおいてストレージアドレスの一括処理を開始する。トリがイベントは、一次信号のサブセット内のバイナリ信号の、及び試験中のデバイス又はDUTに信号を供給するデジタルパターン生成器からの他のバイナリ信号の、特定のパターンであってよい。
デバッグ用プローブを用いて、ユーザ設計の内部である信号を監視する(既に詳細に説明されている)。The MathWorks,Inc.が提供するSimulink(商標)は、デバッグ目的で使用される多数のブロックを提供する。特に内部信号のサンプリングのために複数のブロックが存在する。いくつかの実施形態では、これらの内蔵型Simulinkブロックを、HyperXハードウェア上で実現されることになる設計にデバッグ用プローブを挿入するために使用してよい。このようなブロックは、例えばC-コードを用いて翻訳でき、これによってデータのキャプチャ及びチップ外への送信を実装できる。トランスレータはまた、信号をホストマシンへルーティングしてこのデータを適切な様式で表示するために必要なインフラストラクチャを設定できる。
デバッグに必要なプローブの数は、MPA上で利用可能なデータポートの数より多くなる場合が多い。これらの場合、データプローブは(帯域幅要件を低減するために必要である場合は)サブサンプリングしてよく、続いて複数のプローブからのデータパケットを統合して1つのデータストリームを形成してよく、このデータストリームはチップ上の単一のI/Oポートを使用できる。
これより、通信経路の設定及び切断のための例示的なプログラミングについて説明する。しかしながら、ここで説明する特定の実装形態は単なる例であり、考えられる実装形態をいずれの特定の形態、機能、名称又は外観に限定することを意図したものではないことに留意されたい。一般に1つ又は複数のPEは、DMAを用いてメモリから経路を通してデータを実際にポンピングする間に、上述の設定及び切断機能を実施してよい。またいくつかの実施形態では、メモリをバイパスする「クイックポート」を用いて、PEがデータを経路に直接ポンピングしてよい。
・汎用:システムが最適な通信(memcpy、DMA伝送を用いたメッセージ受け渡し、又はクイックポート伝送)を選択する;
・DMA伝送:メッセージ受け渡し;及び
・クイックポート:PEがDMRクイックポートレジスタに書き込みを行う、単一語のメッセージ受け渡し(DMR内のデータメモリを使用せず、DMAを設定する必要がない)
をサポートしてよい。
・ブロッキング:データがバッファから完全に送信されるまで送信PEの実行を停止; ・非ブロッキング:送信PEの実行を即座に継続;
・InitRoute:DMAルートを設定;
・EndRoute:DMAルートを切断(なお、非ブロッキング機能はルートを切断しない);
・Express(送信):ルートの設定又は切断を行わず、既に設定された明らかなルートに対して多数の高速のコールを可能とする;
・促進された機能:不変値レジスタを一度プリセットできるため、使用するコードが少ない;
・単一の二地点間通信;及び
・一対多(ファンアウト)及び多対一(ファンイン)通信。
MPX_Sendは、特定の数の要素(メモリ語の値)を別のタスクに伝送できる。通信手段は、1つ又は複数の伝送オプションのパラメータ、例えばMPX_CommOptions_tによって与えることができる。以下は、関数及び引数の種類を示す例示的な関数プロトタイプである。
int16_t MPX_Send (void *buf,
uint16_t numElts,
MPX_Datatype_t datatype,
MPX_Comm_t commID,
MPX_CommOptions_t transferOpt)
MPX「送信及び受信機能」の説明において、汎用、DMA及びクイックポート伝送に関する上の説明を参照されたい。なお受信関数はルートを設定又は切断することはできない。
制約は、リソースの割り振りをガイドするために物理的設計段階中に使用できる形式である。制約を用いて例えばIN内の1つ又は複数の通信経路及び他の通信パラメータの形成をガイドする。制約を用いて特に、経路の重複を防止でき、経路に特定のリソースを使用させることができ、また立入禁止領域を確立できる。プローブの制約は、以下に定義する特定のタイプの制約である:
//デザインビューにおいてデータ精査の制約を生成する。
constraint create -type probe[-raw]
-name constraintname
-comm comm_id
-port{PARALLELPORT|PCIE}
[-sample‘{’offset stride count‘}’]
{viewname|viewpath}
データプローブは、アプリケーションからISDE内のリアルタイム分析(RTA)ビューへのデータの抽出を促進できる。
プローブは、構成プロセスのリソースマッピング段階中に生成してよい。例えば「C」コードであるソースコードに対する変更はない。
constraint create -type probe-name probe99\
-comm 99-port PARALLELPORT/work/top/topv
constraint create -type probe-name probe99\
-comm 99-port PARALLELPORT\
-sample{2 3 4}/work/top/topv
place ioport -location{11 9}/work/top/topv/probe99
多重チップ設計では、プローブはグルーピングの前又は後に確立できる。設計のグルーピングは、設計の部品をグループに割り当て、得られたグループを特定のチップ上に配置されるように割り当てるプロセスである。プローブをグルーピングの後に確立する場合、「センダ側(sender side)」グループ名を使用してよい。
group create -name grpO-task/work/root/root/0
group bind-chip/clxlib/XHx/v/Ul grp0
constraint create-type probe\
-name probe273-port PARALLELPORT\
-comm/work/root/root/273 /work/root/root/grp0
リアルタイム分析(RTA)を使用して、製品アプリケーションの挙動及び性能を、HyperX(商標)ハードウェア上での動作中にリアルタイムに制御及び監視してよい。
例示的な一実施形態では、HyperX(商標)ハードウェア用のリアルタイム分析(RTA)ツールは、例えばHyperX(商標)リアルタイム分析パースペクティブにおいて6つのビューを含み、これらは3ペアのビューとして動作する。
図18に示すようにソフトウェア無線の例から始めるが、ここではパケットは、レシーバに連結されたトランスミッタへの入力として受信され、レシーバはパケットを出力し、トランスミッタ及びレシーバはそれぞれ1つ又は複数のPEを利用する。トランスミッタは固定サイズのパケットを受け取り、伝送のためにこれらを符号化し、これらをレシーバに送信し、これらはレシーバにおいて復号化される。実環境での応用では、トランスミッタからのデータはRF(無線周波数)トランスミッタ回路に送信され、レシーバに供給されるデータはRFレシーバ回路から来るものとなる。
いくつかの実施形態では、AWGNビューはHyperX(商標)加法性ホワイトガウスノイズ(AWGN)生成器構成要素を制御してよい。AWGN構成要素はエグザンプルコートを供給されてよく、また調整可能な量のノイズをトランスミッタの出力に付加するために使用してよい。
MPX_SetupWake(controlIn);//commID=controlInに対するウェイクアップ信号を有効とする
MPX_SetupWake(dataIn);//commID=dataInに対するウェイクアップ信号を有効とする
MPX_Recv(&control,sizeof(control),ΜΡΧ_IΝΤ,controlIn,MPX_NONBLOCKING);//制御パケットの受信を開始、ここでは完了を待たない
MPX_Recv(&data,2,MPX_INT,dataIn,MPX_NONBLOCKING);//データブロック(目標の信号)の受信を開始、ここでは完了を待たない
while(1){//無制限にループ
MPX_Wait();//いずれの利用可能なポートにおけるいずれの到着に対するウェイクアップ信号を待機
if(MPX_Rtest(controlIn)==DMA_DONE){//データブロックの受信の完了に対する試験
snr=control.snr;//パケットから現在のS/N比値を抽出 average_noise=computeAverageNoiseFromSignalPower(control.averageSignalPower);
MPX_Recv(&control,sizeof(control),MPX_INT,controlIn,MPX_NONBLOCKING);//別の制御パケットの受信を開始、ここでは完了を待たない
}
if(MPX_Rtest(dataIn)==DMA_DONE){//コントロールパケットの受信の完了に対する試験
addNoise(data,2);//データブロックに対するノイズ付加のための機能の呼び出し
MPX_Send(data,2,MPX_INT,dataOut,MPX_DMA);//データブロックをレシーバに送信
MPX_Recv(data,2,MPX_INT,dataIn,MPX_NONBLOCKING);//別のデータブロックの受信を開始
}
}
}
図21は、一実施形態による例示的な信号空間ダイヤグラムである。信号空間ダイヤグラムは、直交振幅変調(QAM)信号を復号化することの効果を図式的に示してよい。IQデータは、信号空間プロット(散布図としても知られる)として、又は2D若しくは3Dヒートマップとして示してよい。図示したように、グラフのタイプの選択は、コンステレーションビューの底部のタブのセットによって実施できる。
これより、ビデオソースが画像フレームをチップに送信する単純な例について説明する。図22は、例えばファイルの数(「ファイル」)、メッセージの数(「メッセージ」)、データレート(「バイトレート」)、フレームレート(「フレームレート」)といった様々なパラメータ又は属性を構成及び/又は表示できるビデオソースビュー(GUI)を示す。これもまた図22に示すように、画像のオーバレイを特定するためのフィールド、具体的にはこの例では「Overlay」である画像オーバレイテキストも提供される。
1.ファイルからの読み出し;
2.画像への復号化;
3.ファイルに画像オーバレイテキストを書き込み;
4.画像をJPEGに再符号化;
5.画像をチップに送信
である。
以下は、ここで開示した技術の可能な便益のリストであるが、ここに列挙した便益は単なる例であり、ここで開示した技術の実際の便益をいずれの特定の便益のセットに制限することを意図したものではないことに留意されたい:
ユーザが試験点を選択した場合の、プローブ及びオフチップ通信経路の自動的な設定; メモリ位置及び信号の自動的な精査;
変化する信号対ノイズ比に対して適合するための、ランタイムのインテリジェントな変動;
信号測定の帯域幅の上昇;
測定を行う速度の上昇;
測定データがチップを離れる前の、測定データのより良好な圧縮;
試験完了速度の上昇;
アプリケーションソフトウェアのより完全な試験及び特性決定;
必要な試験設備の数及びタイプの可能な限りの削減;並びに
オリジナル設計の動作、機能又は性能を観察が妨害しないこと。
Claims (15)
- アプリケーションソフトウェアを分析するステップと、
前記アプリケーションソフトウェアを分析するステップの結果に少なくとも部分的に基づいて、テストソフトウェアを展開するステップと、
前記アプリケーションソフトウェアを、多重プロセッサアレイ(MPA)の第1のハードウェアリソース上で展開するステップであって、前記MPAは、複数の処理要素と、複数のメモリと、前記複数の処理要素を前記複数のメモリに通信可能に連結する相互接続ネットワークとを含み、前記第1のハードウェアリソースは、前記複数の処理要素の少なくとも第1のサブセットを含むステップと、
前記テストソフトウェアを、前記MPAの第2のハードウェアリソース上で展開するステップであって、前記第2のハードウェアリソースは、前記複数の処理要素の前記第1のサブセットとは異なる前記複数の処理要素の少なくとも第2のサブセットを含むステップと、
前記アプリケーションソフトウェアを前記第1のハードウェアリソース上で実行するステップと、
前記テストソフトウェアを前記第2のハードウェアリソース上で実行するステップであって、前記テストソフトウェアを実行するステップは、
前記第2のハードウェアリソースに含まれている第1の処理要素によって、前記アプリケーションソフトウェアに含まれる一つ以上のプログラムコマンドを実行することから生じる前記第1のハードウェアリソース内でのダイレクトメモリアクセス(DMA)転送に関連する一つ以上のレジスタをポーリングすることと、
前記第1の処理要素によって、前記一つ以上のレジスタから検索されたデータを、分析のための記憶場所へ送信すること、
とを含むステップと、
を含む方法。 - 前記第1の処理要素のポーリングの優先度は、前記第1のハードウェアリソース内で前記DMAを実行することに関連する優先度よりも小さい、請求項1に記載の方法。
- 前記アプリケーションソフトウェアを、少なくとも一つのプローブコマンドを含むように修正するステップをさらに含み、前記アプリケーションソフトウェアを前記第1のハードウェアリソース上で実行するステップは、前記少なくとも一つのプローブコマンドを実行することに応答してプローブデータを生成することを含む、請求項1に記載の方法。
- 前記アプリケーションソフトウェアを前記第1のハードウェアリソース上で実行するステップは、
複数のDMAエンジンの第1のDMAエンジンによって、前記アプリケーションソフトウェアおよび前記プローブデータを実行することから生じるデータを、前記複数のメモリのうちの特定のメモリにストリーミングすることと、
前記複数のDMAエンジンの第2のDMAエンジンによって、前記アプリケーションソフトウェアを実行することから生じるデータを、前記複数のメモリ内の対象の記憶場所にストリーミングすることと、
を含む、請求項3に記載の方法。 - 前記テストソフトウェアを前記第2のハードウェアリソース上で実行するステップは、前記複数のDMAエンジンの第3のDMAエンジンによって、前記分析のための記憶場所にストリーミングすることを含む、請求項4に記載の方法。
- 多重プロセッサシステムによる実行に応答して、前記多重プロセッサシステムに、
アプリケーションソフトウェアを分析することと、
前記アプリケーションソフトウェアを分析することの結果に少なくとも部分的に基づいて、テストソフトウェアを展開することと、
多重プロセッサアレイ(MPA)の第1のハードウェアリソース上で前記アプリケーションソフトウェアを展開することであって、前記MPAは、複数の処理要素と、複数のメモリと、前記複数の処理要素を前記複数のメモリに通信可能に連結する相互接続ネットワークとを含み、前記第1のハードウェアリソースは、前記複数の処理要素の少なくとも第1のサブセットを含むことと、
前記テストソフトウェアを、前記MPAの第2のハードウェアリソース上で展開することであって、前記第2のハードウェアリソースは、前記複数の処理要素の前記第1のサブセットとは異なる前記複数の処理要素の少なくとも第2のサブセットを含むことと、
前記アプリケーションソフトウェアを前記第1のハードウェアリソース上で実行することと、
前記テストソフトウェアを前記第2のハードウェアリソース上で実行することであって、前記テストソフトウェアを実行するステップは、
前記第2のハードウェアリソースに含まれている第1の処理要素によって、前記アプリケーションソフトウェアに含まれる一つ以上のプログラムコマンドを実行することから生じる前記第1のハードウェアリソース内でのダイレクトメモリアクセス(DMA)転送に関連する一つ以上のレジスタをポーリングすることと、
前記第1の処理要素によって、前記一つ以上のレジスタから検索されたデータを、分析のための記憶場所へ送信すること、
とを含むことと、
を含む動作を実行させるプログラム命令を中に格納した、非一時的なコンピュータ可読メモリ媒体。 - 前記動作は、少なくとも一つのプローブコマンドを含むように前記アプリケーションソフトウェアを修正することをさらに含み、前記アプリケーションソフトウェアを前記第1のハードウェアリソース上で実行するステップは、前記少なくとも一つのプローブコマンドを実行することに応答して、プローブデータを生成することを含む、請求項6に記載の非一時的なコンピュータ可読メモリ媒体。
- 前記アプリケーションソフトウェアを前記第1のハードウェアリソース上で実行するステップは、
複数のDMAエンジンの第1のDMAエンジンによって、前記アプリケーションソフトウェアおよび前記プローブデータを実行することから生じるデータを、前記複数のメモリのうちの特定のメモリにストリーミングすることと、
前記複数のDMAエンジンの第2のDMAエンジンによって、前記アプリケーションソフトウェアを実行することから生じるデータを、前記複数のメモリ内の対象の記憶場所にストリーミングすることと、
を含む、請求項7に記載の非一時的なコンピュータ可読メモリ媒体。 - 前記テストソフトウェアを前記第2のハードウェアリソース上で実行するステップは、前記複数のDMAエンジンの第3のDMAエンジンによって、前記分析のための記憶場所にストリーミングすることを含む、請求項8に記載の非一時的なコンピュータ可読メモリ媒体。
- 前記動作は、
前記第1のDMAエンジンによって、前記アプリケーションソフトウェアを実行することから生じるデータを、前記アプリケーションソフトウェアのために定義されたルートのセットに含まれる第1の一つ以上のルートを介してストリーミングすることと、
前記第2のDMAエンジンによって、前記アプリケーションソフトウェアを実行することから生じるデータを、前記アプリケーションソフトウェアのために定義された前記ルートのセットに含まれる第2の一つ以上のルートを介してストリーミングすることと、
前記第3のDMAエンジンによって、前記プローブデータを、前記アプリケーションソフトウェアのために定義された前記ルートのセットから除外される第3の一つ以上のルートを介してストリーミングすることと、
をさらに含む、請求項9に記載の非一時的なコンピュータ可読メモリ媒体。 - 命令を格納するように構成された一つ以上のメモリと、
前記一つ以上のメモリから命令を受け取り、およびシステムに、
アプリケーションソフトウェアを分析させるように、
前記アプリケーションソフトウェアを分析することの結果に少なくとも部分的に基づいて、テストソフトウェアを展開させるように、
前記アプリケーションソフトウェアを、多重プロセッサアレイ(MPA)の第1のハードウェアリソース上で展開させるように、この場合、前記MPAは、複数の処理要素と、命令および/またはデータを格納する複数のメモリと、前記複数の処理要素を前記複数のメモリに通信可能に連結する相互接続ネットワークとを含み、前記第1のハードウェアリソースは、前記複数の処理要素の少なくとも第1のサブセットを含み、
前記テストソフトウェアを、前記MPAの第2のハードウェアリソース上で展開させるように、この場合、前記第2のハードウェアリソースは、前記複数の処理要素の前記第1のサブセットとは異なる、前記複数の処理要素の少なくとも第2のサブセットを含み、 前記アプリケーションソフトウェアを前記第1のハードウェアリソース上で実行させるように、および
前記テストソフトウェアを前記第2のハードウェアリソース上で実行させるように、この場合、前記テストソフトウェアの実行は、
前記第2のハードウェアリソースに含まれている第1の処理要素によって、前記アプリケーションソフトウェアに含まれる一つ以上のプログラムコマンドを実行することから生じる前記第1のハードウェアリソース内でのダイレクトメモリアクセス(DMA)転送に関連する一つ以上のレジスタをポーリングすることと、
前記第1の処理要素によって、前記一つ以上のレジスタから検索されたデータを、分析のための記憶場所へ送信すること、
とを含むように、
前記命令を実行させるように構成された、一つ以上のプロセッサと、
を備えるシステム。 - 前記命令の実行はさらに、前記システムに、少なくとも一つのプローブコマンドを含むように前記アプリケーションソフトウェアを修正させ、前記第1のハードウェアリソース上での前記アプリケーションソフトウェアの実行は、前記少なくとも一つのプローブコマンドを実行することに応答したプローブデータの生成を含む、請求項11に記載のシステム。
- 前記第1のハードウェアリソース上での前記アプリケーションソフトウェアの実行は、 複数のDMAエンジンの第1のDMAエンジンによって、前記アプリケーションソフトウェアおよび前記プローブデータを実行することから生じるデータを、前記複数のメモリのうちの特定のメモリにストリーミングすることと、
前記複数のDMAエンジンの第2のDMAエンジンによって、前記アプリケーションソフトウェアを実行することから生じるデータを、前記複数のメモリ内の対象の記憶場所にストリーミングすることと、
を含む、請求項12に記載のシステム。 - 前記第2のハードウェアリソース上での前記テストソフトウェアの実行は、前記複数のDMAエンジンの第3のDMAエンジンによって、前記分析のための記憶場所にストリーミングすることを含む、請求項13に記載のシステム。
- 前記命令の実行はさらに、前記システムに、
前記第1のDMAエンジンによって、前記アプリケーションソフトウェアを実行することから生じるデータを、前記アプリケーションソフトウェアのために定義されたルートのセットに含まれる第1の一つ以上のルートを介してストリーミングさせ、
前記第2のDMAエンジンによって、前記アプリケーションソフトウェアを実行することから生じるデータを、前記アプリケーションソフトウェアのために定義された前記ルートのセットに含まれる第2の一つ以上のルートを介してストリーミングさせ、
前記第3のDMAエンジンによって、前記プローブデータを、前記アプリケーションソフトウェアのために定義された前記ルートのセットから除外される第3の一つ以上のルートを介してストリーミングさせる、
請求項14に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261724493P | 2012-11-09 | 2012-11-09 | |
US61/724,493 | 2012-11-09 | ||
JP2020009082A JP7053691B2 (ja) | 2012-11-09 | 2020-01-23 | 多重プロセッサシステムのためのリアルタイム分析及び制御 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020009082A Division JP7053691B2 (ja) | 2012-11-09 | 2020-01-23 | 多重プロセッサシステムのためのリアルタイム分析及び制御 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2022084921A true JP2022084921A (ja) | 2022-06-07 |
JP2022084921A5 JP2022084921A5 (ja) | 2022-08-03 |
JP7335387B2 JP7335387B2 (ja) | 2023-08-29 |
Family
ID=49640202
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015541913A Active JP6290913B2 (ja) | 2012-11-09 | 2013-11-08 | 多重プロセッサシステムのためのリアルタイム分析及び制御 |
JP2018021127A Active JP6652581B2 (ja) | 2012-11-09 | 2018-02-08 | 多重プロセッサシステムのためのリアルタイム分析及び制御 |
JP2020009082A Active JP7053691B2 (ja) | 2012-11-09 | 2020-01-23 | 多重プロセッサシステムのためのリアルタイム分析及び制御 |
JP2022058455A Active JP7335387B2 (ja) | 2012-11-09 | 2022-03-31 | 多重プロセッサシステムのためのリアルタイム分析及び制御 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015541913A Active JP6290913B2 (ja) | 2012-11-09 | 2013-11-08 | 多重プロセッサシステムのためのリアルタイム分析及び制御 |
JP2018021127A Active JP6652581B2 (ja) | 2012-11-09 | 2018-02-08 | 多重プロセッサシステムのためのリアルタイム分析及び制御 |
JP2020009082A Active JP7053691B2 (ja) | 2012-11-09 | 2020-01-23 | 多重プロセッサシステムのためのリアルタイム分析及び制御 |
Country Status (5)
Country | Link |
---|---|
US (4) | US9477585B2 (ja) |
EP (3) | EP2917837B1 (ja) |
JP (4) | JP6290913B2 (ja) |
CN (3) | CN108717387B (ja) |
WO (1) | WO2014074783A2 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101796794B1 (ko) * | 2010-12-24 | 2017-11-13 | 한양대학교 산학협력단 | 소프트웨어 정의 라디오 단말 장치 및 라디오 어플리케이션의 배포 및 설치 방법 |
US20130174113A1 (en) * | 2011-12-30 | 2013-07-04 | Arteris SAS | Floorplan estimation |
WO2014074251A1 (en) | 2012-11-06 | 2014-05-15 | Coherent Logix, Incorporated | Multiprocessor programming toolkit for design reuse |
US9459978B2 (en) * | 2013-01-24 | 2016-10-04 | Xcerra Corporation | Automated test platform utilizing segmented data sequencers to provide time controlled test sequences to device under test |
US9430349B2 (en) * | 2013-01-24 | 2016-08-30 | Xcerra Corporation | Scalable test platform in a PCI express environment with direct memory access |
US9430348B2 (en) * | 2013-01-24 | 2016-08-30 | Xcerra Corporation | Scalable test platform in a PCI express environment with direct memory access |
US9336108B2 (en) | 2013-01-24 | 2016-05-10 | Xcerra Corporation | Scalable test platform |
US9311444B1 (en) * | 2014-07-10 | 2016-04-12 | Sandia Corporation | Integrated circuit test-port architecture and method and apparatus of test-port generation |
CN106130961B (zh) * | 2016-06-14 | 2019-05-14 | 哈尔滨工业大学 | 用于软件无线电系统的安全检测方法和软件无线电设备 |
US10132862B1 (en) * | 2016-07-21 | 2018-11-20 | Cadence Design Systems, Inc. | Code coverage mapping |
WO2018162048A1 (en) * | 2017-03-07 | 2018-09-13 | Advantest Corporation | Test apparatus and method for characterizing a device under test |
US20180316626A1 (en) * | 2017-04-28 | 2018-11-01 | Futurewei Technologies, Inc. | Guided Optimistic Resource Scheduling |
US10326540B2 (en) * | 2017-06-12 | 2019-06-18 | Litepoint Corporation | Method for controlling wireless device under test using non-link testing resources |
CN107391149A (zh) * | 2017-07-28 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种硬件平台的代码生成方法及装置 |
CN111480150B (zh) * | 2017-11-02 | 2024-07-16 | 芯力能简易股份公司 | 用于控制引擎调试、测试、校准和调节的软件环境 |
CN108038058A (zh) * | 2017-12-21 | 2018-05-15 | 北京星河星云信息技术有限公司 | 应用软件性能的监控方法、系统、存储器和服务器 |
KR102131982B1 (ko) | 2018-05-31 | 2020-07-08 | 현대오트론 주식회사 | 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법 |
US11727021B2 (en) * | 2018-12-14 | 2023-08-15 | Tibco Software Inc. | Process control tool for processing big and wide data |
CN109799373A (zh) * | 2019-02-18 | 2019-05-24 | 杭州长川科技股份有限公司 | 具备多通道同步功能的任意波形发生器 |
US12021727B2 (en) * | 2019-12-10 | 2024-06-25 | Jpmorgan Chase Bank, N.A. | Systems and methods for dynamic network traffic manipulation |
CN113079524B (zh) * | 2020-01-06 | 2022-04-22 | 大唐移动通信设备有限公司 | 一种基于信令软采的信令跟踪方法、基站及可读存储介质 |
CN118093206B (zh) * | 2024-04-26 | 2024-07-02 | 北京中关村科金技术有限公司 | 面向企业应用服务的信息处理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003505922A (ja) * | 1999-07-16 | 2003-02-12 | ノキア モービル フォーンズ リミテッド | Rf受信機用試験装置 |
JP2004110824A (ja) * | 2002-09-17 | 2004-04-08 | Internatl Business Mach Corp <Ibm> | マルチプロセッシング環境における透過動的最適化のための方法およびシステム |
WO2008075485A1 (ja) * | 2006-12-21 | 2008-06-26 | Leader Electronics Corp. | チューナのビットエラーレート測定の方法及び装置 |
JP2010505200A (ja) * | 2006-09-28 | 2010-02-18 | サンディスク コーポレイション | ソフト入力ソフト出力(siso)復号器を有する不揮発性メモリにおける統計ユニットおよび適応操作 |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6134705A (en) | 1996-10-28 | 2000-10-17 | Altera Corporation | Generation of sub-netlists for use in incremental compilation |
US6571206B1 (en) * | 1998-01-15 | 2003-05-27 | Phoenix Technologies Ltd. | Apparatus and method for emulating an I/O instruction for the correct processor and for servicing software SMI's in a multi-processor environment |
JP2000284945A (ja) | 1999-03-29 | 2000-10-13 | Sharp Corp | デジタル機器及びその開発方法 |
JP2000298599A (ja) | 1999-04-13 | 2000-10-24 | Nec Commun Syst Ltd | 交換ソフトウェアの自動試験システム |
US6681351B1 (en) * | 1999-10-12 | 2004-01-20 | Teradyne, Inc. | Easy to program automatic test equipment |
US6952439B1 (en) * | 2000-10-13 | 2005-10-04 | The Titan Corporation | System for, and method of, transmitting data from a transmitter to a receiver and recovering the data at the receiver |
US6880074B2 (en) * | 2000-12-22 | 2005-04-12 | International Business Machines Corporation | In-line code suppression |
US20040078674A1 (en) * | 2001-04-04 | 2004-04-22 | Bops, Inc. | Methods and apparatus for generating functional test programs by traversing a finite state model of an instruction set architecture |
DE60131149T2 (de) * | 2001-06-13 | 2008-08-14 | Freescale Semiconductor, Inc., Austin | Passives Kommunikationsgerät und passives Zugangskontrollsystem |
EP1410191A2 (en) * | 2001-07-26 | 2004-04-21 | Kyocera Wireless Corporation | System and method for the management of wireless communications device system software downloads in the field |
US7543303B2 (en) * | 2002-03-29 | 2009-06-02 | International Business Machines Corporation | Use of multiple queues in coupling facility to provide zoning capability in a parallel sysplex environment |
US6983398B2 (en) * | 2002-04-24 | 2006-01-03 | Hewlett-Packard Development Company, L.P. | Testing processors |
US7415594B2 (en) | 2002-06-26 | 2008-08-19 | Coherent Logix, Incorporated | Processing system with interspersed stall propagating processors and communication elements |
US6701412B1 (en) * | 2003-01-27 | 2004-03-02 | Sun Microsystems, Inc. | Method and apparatus for performing software sampling on a microprocessor cache |
GB2412043B (en) * | 2003-02-27 | 2006-02-15 | Toshiba Res Europ Ltd | Signal processing apparatus and methods |
US7406686B2 (en) * | 2003-06-09 | 2008-07-29 | Sun Microsystems, Inc. | Systems and methods for software performance tuning |
US7805638B2 (en) * | 2003-06-18 | 2010-09-28 | Nethra Imaging, Inc. | Multi-frequency debug network for a multiprocessor array |
US7475303B1 (en) * | 2003-12-29 | 2009-01-06 | Mips Technologies, Inc. | HyperJTAG system including debug probe, on-chip instrumentation, and protocol |
US7506311B2 (en) * | 2004-02-19 | 2009-03-17 | Oracle International Corporation | Test tool for application programming interfaces |
US7415635B1 (en) * | 2004-12-15 | 2008-08-19 | Microsoft Corporation | Integrated software test framework for performance testing of a software application |
US7814466B2 (en) * | 2006-05-05 | 2010-10-12 | International Business Machines Corporation | Method and apparatus for graphically marking instructions for instrumentation with hardware assistance |
GB2443277B (en) * | 2006-10-24 | 2011-05-18 | Advanced Risc Mach Ltd | Performing diagnostics operations upon an asymmetric multiprocessor apparatus |
US8370806B2 (en) * | 2006-11-15 | 2013-02-05 | Qualcomm Incorporated | Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor |
JP4633073B2 (ja) | 2007-02-26 | 2011-02-16 | 日本電気株式会社 | データ処理システム |
US8433953B1 (en) * | 2007-08-13 | 2013-04-30 | The Mathworks, Inc. | Automatic configuration of a test environment |
WO2009039462A1 (en) * | 2007-09-19 | 2009-03-26 | Tabula, Inc. | Method and system for reporting on a primary circuit structure of an integrated circuit (ic) using a secondary circuit structure of the ic |
US8028150B2 (en) * | 2007-11-16 | 2011-09-27 | Shlomo Selim Rakib | Runtime instruction decoding modification in a multi-processing array |
US20090254886A1 (en) * | 2008-04-03 | 2009-10-08 | Elliot Gibson D | Virtual debug port in single-chip computer system |
US7904870B2 (en) * | 2008-04-30 | 2011-03-08 | International Business Machines Corporation | Method and apparatus for integrated circuit design model performance evaluation using basic block vector clustering and fly-by vector clustering |
KR101522444B1 (ko) * | 2008-10-24 | 2015-05-21 | 인터내셔널 비지네스 머신즈 코포레이션 | 소스 코드 처리 방법, 시스템, 및 프로그램 |
US8930912B2 (en) * | 2008-12-16 | 2015-01-06 | Cadence Design Systems, Inc. | Method and system for performing software verification |
US8407167B1 (en) * | 2009-06-19 | 2013-03-26 | Google Inc. | Method for optimizing memory controller configuration in multi-core processors using fitness metrics and channel loads |
US20110113290A1 (en) * | 2009-11-09 | 2011-05-12 | International Business Machines Corporation | Method and system for testing configuration of environments |
CN101826913A (zh) * | 2010-01-28 | 2010-09-08 | 陈清尧 | 电视红外音频信号发射和接收器 |
US8489787B2 (en) * | 2010-10-12 | 2013-07-16 | International Business Machines Corporation | Sharing sampled instruction address registers for efficient instruction sampling in massively multithreaded processors |
US20120124558A1 (en) * | 2010-11-17 | 2012-05-17 | Microsoft Corporation | Scenario testing composability across multiple components |
US8818787B2 (en) * | 2011-01-31 | 2014-08-26 | Yahoo! Inc. | Method and system for predicting performance of software applications on prospective hardware architecture |
JP2012181666A (ja) | 2011-03-01 | 2012-09-20 | Nec Corp | 情報処理装置、情報処理方法及び情報処理プログラム |
US20130104105A1 (en) * | 2011-04-18 | 2013-04-25 | Julian M. Brown | Test data supply chain manager for an integrated testing platform |
US8898408B2 (en) * | 2011-12-12 | 2014-11-25 | Dell Products L.P. | Memory controller-independent memory mirroring |
US9362003B2 (en) * | 2012-03-09 | 2016-06-07 | Sandisk Technologies Inc. | System and method to decode data subject to a disturb condition |
CN102662841B (zh) * | 2012-04-01 | 2014-11-05 | 北京航空航天大学 | 一种软硬件结合的可靠性综合试验剖面构造方法 |
JP2017049742A (ja) * | 2015-09-01 | 2017-03-09 | キヤノン株式会社 | 画像処理方法、画像処理装置、ロボット装置、プログラム、及び記録媒体 |
-
2013
- 2013-11-08 EP EP13795381.6A patent/EP2917837B1/en active Active
- 2013-11-08 EP EP18211655.8A patent/EP3499371B1/en active Active
- 2013-11-08 EP EP23176411.9A patent/EP4235444A3/en active Pending
- 2013-11-08 CN CN201810480764.3A patent/CN108717387B/zh active Active
- 2013-11-08 CN CN202110934466.9A patent/CN113626269A/zh active Pending
- 2013-11-08 CN CN201380065983.0A patent/CN104871140B/zh active Active
- 2013-11-08 US US14/074,925 patent/US9477585B2/en active Active
- 2013-11-08 WO PCT/US2013/069075 patent/WO2014074783A2/en active Application Filing
- 2013-11-08 JP JP2015541913A patent/JP6290913B2/ja active Active
-
2016
- 2016-09-26 US US15/276,370 patent/US10114739B2/en active Active
-
2018
- 2018-02-08 JP JP2018021127A patent/JP6652581B2/ja active Active
- 2018-10-17 US US16/162,558 patent/US11720479B2/en active Active
-
2020
- 2020-01-23 JP JP2020009082A patent/JP7053691B2/ja active Active
-
2022
- 2022-03-31 JP JP2022058455A patent/JP7335387B2/ja active Active
-
2023
- 2023-06-15 US US18/210,192 patent/US20230359548A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003505922A (ja) * | 1999-07-16 | 2003-02-12 | ノキア モービル フォーンズ リミテッド | Rf受信機用試験装置 |
JP2004110824A (ja) * | 2002-09-17 | 2004-04-08 | Internatl Business Mach Corp <Ibm> | マルチプロセッシング環境における透過動的最適化のための方法およびシステム |
JP2010505200A (ja) * | 2006-09-28 | 2010-02-18 | サンディスク コーポレイション | ソフト入力ソフト出力(siso)復号器を有する不揮発性メモリにおける統計ユニットおよび適応操作 |
WO2008075485A1 (ja) * | 2006-12-21 | 2008-06-26 | Leader Electronics Corp. | チューナのビットエラーレート測定の方法及び装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2014074783A2 (en) | 2014-05-15 |
US20140137082A1 (en) | 2014-05-15 |
EP2917837A2 (en) | 2015-09-16 |
EP2917837B1 (en) | 2019-01-02 |
US20190050324A1 (en) | 2019-02-14 |
EP3499371B1 (en) | 2023-06-07 |
EP4235444A3 (en) | 2024-01-03 |
JP2018106733A (ja) | 2018-07-05 |
US11720479B2 (en) | 2023-08-08 |
CN108717387A (zh) | 2018-10-30 |
JP2015535621A (ja) | 2015-12-14 |
JP6290913B2 (ja) | 2018-03-07 |
US20230359548A1 (en) | 2023-11-09 |
EP4235444A2 (en) | 2023-08-30 |
JP2020074192A (ja) | 2020-05-14 |
JP7053691B2 (ja) | 2022-04-12 |
US20170010958A1 (en) | 2017-01-12 |
CN108717387B (zh) | 2021-09-07 |
US9477585B2 (en) | 2016-10-25 |
JP7335387B2 (ja) | 2023-08-29 |
JP6652581B2 (ja) | 2020-02-26 |
EP3499371A3 (en) | 2019-09-18 |
CN113626269A (zh) | 2021-11-09 |
EP3499371A2 (en) | 2019-06-19 |
CN104871140B (zh) | 2018-06-19 |
US10114739B2 (en) | 2018-10-30 |
CN104871140A (zh) | 2015-08-26 |
WO2014074783A3 (en) | 2014-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7053691B2 (ja) | 多重プロセッサシステムのためのリアルタイム分析及び制御 | |
US10288681B2 (en) | Test architecture with a small form factor test board for rapid prototyping | |
US11385285B2 (en) | Automated test equipment using an on-chip-system test controller | |
US10521544B2 (en) | Traffic shaping in networking system-on-chip verification | |
Panesar et al. | Deterministic parallel processing | |
US20100161306A1 (en) | Method and system for emulating a design under test associated with a test environment | |
US10180850B1 (en) | Emulating applications that use hardware acceleration | |
CN108957301B (zh) | 用于可测试芯片的测试方法、装置及可测试芯片内置电路 | |
CN112162879A (zh) | 一种实时多核dsp软件的日志系统 | |
US10635769B1 (en) | Hardware and software event tracing for a system-on-chip | |
Panesar et al. | Multi-Core System-on-Chip in Real World Products | |
WO2005041074A1 (en) | System and method for functional verification of an electronic integrated circuit design | |
Pottem et al. | Netlist Enabled Emulation Platform for Accelerated Gate Level Verification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220415 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220415 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220720 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230329 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230404 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230704 |
|
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: 20230718 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230817 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7335387 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |