JP6615786B2 - 電子的設計の検証コマンドの翻訳のコンピュータ実装される方法および記録媒体 - Google Patents
電子的設計の検証コマンドの翻訳のコンピュータ実装される方法および記録媒体 Download PDFInfo
- Publication number
- JP6615786B2 JP6615786B2 JP2016567175A JP2016567175A JP6615786B2 JP 6615786 B2 JP6615786 B2 JP 6615786B2 JP 2016567175 A JP2016567175 A JP 2016567175A JP 2016567175 A JP2016567175 A JP 2016567175A JP 6615786 B2 JP6615786 B2 JP 6615786B2
- Authority
- JP
- Japan
- Prior art keywords
- electronic design
- computer
- verification
- analog
- command
- 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
- 238000000034 method Methods 0.000 title claims description 70
- 238000013519 translation Methods 0.000 title claims description 53
- 238000012942 design verification Methods 0.000 title claims description 32
- 238000013461 design Methods 0.000 claims description 144
- 238000012795 verification Methods 0.000 claims description 116
- 238000012360 testing method Methods 0.000 claims description 113
- 238000004088 simulation Methods 0.000 claims description 49
- 238000005259 measurement Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 20
- 230000003542 behavioural effect Effects 0.000 claims description 19
- 230000003071 parasitic effect Effects 0.000 claims description 5
- 238000013501 data transformation Methods 0.000 claims 1
- 235000013599 spices Nutrition 0.000 description 16
- 238000007726 management method Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 10
- 238000005192 partition Methods 0.000 description 10
- 230000006399 behavior Effects 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000012552 review Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 238000010200 validation analysis Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000000875 corresponding effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 101100350613 Arabidopsis thaliana PLL1 gene Proteins 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000012419 revalidation Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000004936 stimulating effect Effects 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/38—Circuit design at the mixed level of analogue and digital signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/323—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
本願は、米国特許出願第14/707,689号明細書(2015年5月8日に出願され、「COMPUTER IMPLEMENTED SYSTEM AND METHOD OF TRANSLATION OF VERIFICATION COMMANDS OF AN ELECTRONIC DESIGN」と題するもの。代理人整理番号ZPLG-31865)および米国仮出願第61/991,072号明細書(2014年5月9日に出願され、「COMPUTER IMPLEMENTED SYSTEM AND METHOD OF TRANSLATION OF VERIFICATION COMMANDS OF AN ELECTRONIC DESIGN」と題するもの。代理人整理番号ZPLG-32198)の優先権および/または利益を主張する。これらの出願の明細書は、その全体が参照により本明細書に援用される。
本方法およびシステムは、概して、アナログおよび混合信号集積回路の検証に関し、より具体的には、検証サブルーチンコマンドを翻訳する方法およびシステムに関する。
本開示の電子的設計の検証コマンドの翻訳のコンピュータ実装されるシステムおよび方法の単なる一例およびその態様によれば、電子的設計を受信するステップと、少なくとも1つの間接分岐貢献ステートメントを有する少なくとも1つのアナログテストハーネスモデルを受信するステップと、前記少なくとも1つの間接分岐貢献ステートメントを、前記少なくとも1つのアナログテストハーネスモデルに少なくとも部分的に基づいて複数の直接分岐貢献演算子へと翻訳するステップと、前記翻訳に少なくとも部分的に基づいてネットリストを生成することとを備えるが提供される。
本開示の特徴および他の詳細は、以下に、添付図面への参照とともにより詳細に記載される。添付図面には、開示される事項の様々な例示が示されおよび/または記載される。本明細書に記載される特定の例は、本開示の限定としてではなく、例として示されるということが理解される。さらに、開示される事項は、本明細書に記載されるいずれかの例に限定されると考えるべきではない。これらの例は、本開示が完全かつ完結したものとなり、開示される事項の範囲を当業者に十分に伝えるように提供される。本開示の本質的特徴は、本開示の範囲から逸脱することなく、様々な例において採用し得る。
1)コンポーネントの記述(たとえば、トランジスタ、抵抗器、コンデンサ、行動的モデル、AMST、デジタルゲート)および設計を組み立てるコンポーネントの属性(たとえばPMOS2はW=1umを有する)
2)設計の接続性(たとえば、PMOS1のドレインはNMOS2のゲートへの接続である)
3)特定のシミュレーションタスクに対する設計の階層構造の構成(たとえば、PLL1はモデルとして表現され、LDO3はトランジスタレベルで表現される)
4)シミュレーションタスクの構成(シミュレーションタイプ(たとえば過渡シミュレーション)、持続時間(たとえば2ms)、許容度設定(たとえばiabstol<10e−10)、デジタルパーティションとアナログパーティションとの間のインタフェース要素の構成、および、出力信号選択を含む)
5)検証データベースにおける任意の情報(予測性能値、信号遷移、信号形状、デューティサイクル、等)(検証活動に関する任意の信号または要素のもの)
を含むがこれらに限定されないシミュレーションタスクおよび検証プロジェクトに関する情報を含む1つ以上のデータベースの表現である。
1)ネット電圧および端子電流の連続時間/連続値波形
2)論理ネット出力の離散時間/離散値デジタル波形
3)ネットリストに含まれていた任意のAMSTモジュールを含む任意の行動的モデルによって書かれた任意のデータ
4)主張違反メッセージ
5)モデル行動についてのデバッグ情報、回路収束困難度、等
1.任意の数のピンを伴うバス(たとえば基準電流バス)をサポートする間接分岐貢献ステートメントを書く。バスのサイズが設計者によって変更されると、実際の直接分岐貢献ステートメントの数が動的に再構成される。
2.ネット名または回路接続性からスペック制限を抽出する間接分岐貢献ステートメントを書く(これによって供給接続性チェックの実装が可能になる)。
3.以前のシミュレーション結果に基づき、制限を設定する間接分岐貢献ステートメントを書く。
4.追加のチェックを、ブロックのトランジスタレベルの実装についてのみ追加する間接分岐貢献ステートメントを書く。
・動作機能‐増幅器およびマルチプレクサがそれぞれの機能的要件に適合するか
‐マルチプレクサが選択された入力信号を正しくマルチプレクサ出力に通過させるか
‐増幅器がその期待される動作に適合するか(利得、スルーレート(slew rate)、入力範囲、出力範囲、等)
・電源供給およびバイアス
‐ブロックが適切な電源供給に接続され、正しいバイアスを受けるか
‐供給およびバイアスは、期待される時に利用可能なであり、期待される範囲内で動作するか
・制御信号
‐制御信号の全設定について、正しい行動が観測されるか
・障害状況
‐ブロックピンのいずれかが許容または期待される範囲外の態様で行動した時に、ブロックが適切に動作するか、または、その状況があり得ない(他の部分で防止されている)か、処置することを期待されていないか
my $glSupplyRampStartObj = $glAMSTObj->create_variable("glSupplyRampStartDbl", 50e-9);
# 供給終了ランプ時刻
my $glSupplyRampEndObj = $glAMSTObj->create_variable("glSupplyRampEndDbl", 100e-9);
# 供給電圧値
my $glAvddValObj = $glAMSTObj->create_variable("glAvddValDbl", 5);
# 供給用のPWLを生成
$glAMSTObj->create_vpwl(
"arP0" => "AVDD",
"arP1" => "AVSS",
"arPwlRef" => [
0, 0,
$glSupplyRampStartObj, 0,
$glSupplyRampEndObj,
$glAvddValObj
]
);
$glAMSTObj->add_module_instance(
"arModuleName" => "resistor",
"arModuleFilename" => "behav_resistor.va",
"arParameterValueMap" => {
"r" => $glOutputLoadObj
},
"arNodeNetMap" => {
"IN_NODE0" => "VBG",
"OUT_NODE1" => "AVSS",
}
);
# デジタル入力の可能な組み合わせをすべてテスト
$glAMSTObj->create_voltage_full_factorial(
"arFactDelay" => $glSupplyRampEndObj,
"arFactStateValRef" => [0, $glAvddValObj],
"arFactStateDurRef" => [0.50, 0.50],
"arFactChgTimeRef" => [2e-9, 2e-9],
"arFactMinPeriod" => 10e-6,
"arFactSignalRef" => [
{ "arP0"=>"DTRIM[0:2]",
"arP1"=>"AVSS"}
]
);
output [2:0] DTRIM;
electrical [2:0] DTRIM;
output AVSS;
electrical AVSS;
parameter real glSupplyRampEndDbl = 1e-07;
parameter real glAvddValDbl = 5;
real loDtrimVal2loAvssValBit0;
real loDtrimVal2loAvssValBit1;
real loDtrimVal2loAvssValBit2;
analog begin
@ (initial_step) begin
loDtrimVal2loAvssValBit0 = 0;
loDtrimVal2loAvssValBit1 = 0;
loDtrimVal2loAvssValBit2 = 0;
end
...
// DTRIM[0]
@(timer(glSupplyRampEndDbl, 1e-05, 1p))
loDtrimVal2loAvssValBit0 = 0;
@(timer((glSupplyRampEndDbl + 0.5 * 1e-05), 1e-05, 1p))
loDtrimVal2loAvssValBit0 = glAvddValDbl;
V(DTRIM[0], AVSS) <+ transition(loDtrimVal2loAvssValBit0, 0, 2e-09, 2e-09);
// DTRIM[1]
@(timer(glSupplyRampEndDbl, (1e-05 * 2), 1p))
loDtrimVal2loAvssValBit1 = 0;
@(timer((glSupplyRampEndDbl + (0.5 * 1e-05 * 2)), (1e-05 * 2), 1p))
loDtrimVal2loAvssValBit1 = glAvddValDbl;
V(DTRIM[1], AVSS) <+ transition(loDtrimVal2loAvssValBit1, 0, 2e-09, 2e-09);
// DTRIM[2]
@(timer(glSupplyRampEndDbl, (1e-05 * 4), 1p))
loDtrimVal2loAvssValBit2 = 0;
@(timer((glSupplyRampEndDbl + (0.5 * 1e-05 * 4)), (1e-05 * 4), 1p))
loDtrimVal2loAvssValBit2 = glAvddValDbl;
V(DTRIM[2], AVSS) <+ transition(loDtrimVal2loAvssValBit2, 0, 2e-09, 2e-09);
...
endmodule
"arMeasureNet" => "VBG",
"arRefNet" => "AVSS",
"arMinVal" => 0.850,
"arMaxVal" => 0.900
);
$glAMSTObj->create_conditional_assert(
"arAssertNameStr" => 'when DTRIM=\"000\" => VBG=0.9',
"arCondition" => assert_and(
$glVddAboveMin,
assert_not($glDtrim0MeasObj),
assert_not($glDtrim1MeasObj),
assert_not($glDtrim2MeasObj)
),
"arAssertDelay" => $loMeasureDelayDbl,
"arAssert" => assert_and(
$glVbgTrim0MeasObj,
$glPgoodMeasObj
),
"arAssertAtLeastOnce" => 1
);
50e-09, 100e-09,
[
["Ib_750n_AMST_IN[0:15]", "Ib_750n_AMST_OUT[0:15]", 0]
]
);
zip_assert_output_currents(
0.9, 1.1, 1e-06,
{
"Ib_750n_AMST_IN[0:15]" => 750e-09
}
);
…
parameter real loSupplyRampStartDbl = 5e-08;
parameter real loSupplyRampEndDbl = 1e-07;
parameter real loIb_750n_AMST_INValDbl = 0;
parameter real arVolEnGndMin1 = 2.85;
parameter real arVolEnGndMax1 = 3.15;
parameter real arCurIb_750n_amst_in0Min1 = 6.75e-07;
parameter real arCurIb_750n_amst_in0Max1 = 8.25e-07;
real loChangeTimeV1;
real loIb_750n_amst_inValBit0;
// create analog conditional assert 1
integer loVolEnGndAboveMin1;
integer loVolEnGndAboveMax1;
integer loCurIb_750n_amst_in0AboveMin1;
integer loCurIb_750n_amst_in0AboveMax1;
integer loCondition1;
integer loOldCondition1;
integer loSat1;
integer loFail1;
integer loDisplay1;
integer loAssert1;
integer loMeasure1;
real loCheckTime1;
integer loAssertOutOn1;
analog begin
@ (initial_step) begin
loChangeTimeV1 = 0;
loIb_750n_amst_inValBit0 = 0;
// create analog conditional assert 1
loVolEnGndAboveMin1 = 0;
loVolEnGndAboveMax1 = 0;
loCurIb_750n_amst_in0AboveMin1 = 0;
loCurIb_750n_amst_in0AboveMax1 = 0;
loCondition1 = 0;
loOldCondition1 = 0;
loSat1 = 0;
loFail1 = 0;
loDisplay1 = 0;
loAssert1 = 0;
loMeasure1 = 0;
loCheckTime1 = 0;
loAssertOutOn1 = 0;
end
V(NEG_Ib_750n_amst_in0, Ib_750n_AMST_OUT[0]) <+ transition(loIb_750n_amst_inValBit0, 0, loChangeTimeV1, loChangeTimeV1);
V(Ib_750n_AMST_IN[0], NEG_Ib_750n_amst_in0) <+ 0;
// CURRENT: when 2.85<EN<3.15 ==> 6.75e-07 < Ib_750n_AMST_IN[0] < 8.25e-07
loDisplay1 = 1;
`ZIP_VCROSS_TO_BLN(EN, GND, arVolEnGndMin1, loVolEnGndAboveMin1);
`ZIP_VCROSS_TO_BLN(EN, GND, arVolEnGndMax1, loVolEnGndAboveMax1);
`ZIP_ICROSS_TO_BLN(Ib_750n_AMST_IN[0], NEG_Ib_750n_amst_in0, arCurIb_750n_amst_in0Min1, loCurIb_750n_amst_in0AboveMin1);
`ZIP_ICROSS_TO_BLN(Ib_750n_AMST_IN[0], NEG_Ib_750n_amst_in0, arCurIb_750n_amst_in0Max1, loCurIb_750n_amst_in0AboveMax1);
loCondition1 = (loVolEnGndAboveMin1 && !loVolEnGndAboveMax1);
if (loCondition1 && !loOldCondition1) begin
loAssertOutOn1 = 0;
loCheckTime1 = $abstime + 1e-06;
end
@(timer(loCheckTime1)) begin
loAssertOutOn1 = 1;
end
loAssert1 = (loCurIb_750n_amst_in0AboveMin1 && !loCurIb_750n_amst_in0AboveMax1);
if (loCondition1 && loAssertOutOn1) begin
loMeasure1 = loAssert1;
if ((loSat1 && !loFail1 && loMeasure1) || (!loSat1 && loFail1 && !loMeasure1)) begin
loDisplay1 = 0;
end
if (loDisplay1) begin
if (loMeasure1) begin
loSat1 = 1;
loFail1 = 0;
$fdisplay(fileDescriptor, "CURRENT: when 2.85<EN<3.15 ==> 6.75e-07 < Ib_750n_AMST_IN[0] < 8.25e-07 succeeds %e", $abstime);
end else begin
loSat1 = 0;
loFail1 = 1;
$fdisplay(fileDescriptor, "CURRENT: when 2.85<EN<3.15 ==> 6.75e-07 < Ib_750n_AMST_IN[0] < 8.25e-07 fails %e", $abstime);
end
end
end
loOldCondition1 = loCondition1;
end
Claims (38)
- 電子的設計の検証コマンドの翻訳のコンピュータ実装される方法であって、
前記電子的設計を受信するステップと、
少なくとも1つの間接分岐貢献ステートメントを有する少なくとも1つのアナログテストハーネスモデルを受信するステップと、
前記少なくとも1つのアナログテストハーネスモデルに少なくとも部分的に基づいて、前記少なくとも1つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子へと翻訳するステップと、
前記翻訳に少なくとも部分的に基づいてネットリストを生成するステップと、
を備える、方法。 - 前記翻訳は、標準化されたアナログハードウェア記述言語に従って記述される、請求項1に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
- 前記標準化されたアナログハードウェア記述言語は、Verilog−ATM文法およびVerilog−AMSTM文法のうち少なくとも一方を少なくとも備える、請求項2に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
- 電子的設計の検証コマンドの翻訳のコンピュータ実装される方法であって、
前記電子的設計の表現を受信するステップと、
前記電子的設計の前記表現とともに、少なくとも1つの間接分岐貢献ステートメントを有する少なくとも1つのアナログテストハーネスモデルを受信するステップと、
前記少なくとも1つのアナログテストハーネスモデルおよび前記電子的設計に少なくとも部分的に基づいて、前記少なくとも1つの間接分岐貢献ステートメントを複数の直接分岐貢献演算子へと翻訳するステップと、
前記翻訳に少なくとも部分的に基づいてネットリストを生成するステップと、
を備える、方法。 - 前記少なくとも1つのアナログテストハーネスモデルは、少なくとも1つのスティミュラスを有する、請求項4に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
- 前記少なくとも1つのアナログテストハーネスモデルは、少なくとも1つのスティミュラスアサーションを有する、請求項4に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
- 前記少なくとも1つのアナログテストハーネスモデルは、少なくとも1つの出力アサーションを有する、請求項4に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
- 前記少なくとも1つのアナログテストハーネスモデルは、少なくとも1つの出力測定値を有する、請求項4に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
- 前記電子的設計の前記表現はアナログ回路を表すものである、請求項4に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
- 前記電子的設計の前記表現はデジタルとアナログとの混合信号を表すものである、請求項4に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
- 前記電子的設計の前記表現は、少なくとも1つのトランジスタレベル回路部を有する、請求項4に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
- 前記電子的設計の前記表現は、少なくとも1つのビヘイビアモデルで表された回路部を有する、請求項4に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
- 前記電子的設計の前記表現は、物理設計に少なくとも部分的に基づく少なくとも1つの寄生モデルに基づく少なくとも1つの回路を有する、請求項4に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
- 前記電子的設計の前記表現は、少なくとも1つのビヘイビアモデルで表された回路を有する、請求項4に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
- 電子的設計の検証コマンドの翻訳のコンピュータ実装される方法であって、
前記電子的設計の表現を受信するステップと、
少なくとも1つのスティミュラスおよび少なくとも1つのスティミュラスアサーションのうち少なくとも一方を有する少なくとも1つのアナログテストハーネスモデルを受信するステップと、
前記電子的設計に対する少なくとも1つの検証サブルーチンコマンドを受信するステップであって、前記検証サブルーチンコマンドは、少なくとも1つの間接分岐貢献ステートメントを有する、少なくとも1つの検証サブルーチンコマンドを受信するステップと、
前記少なくとも1つの検証サブルーチンコマンドと、前記少なくとも1つのアナログテストハーネスモデルと、前記電子的設計とに少なくとも部分的に基づいて、前記少なくとも1つの検証サブルーチンコマンドを、対応する標準化されたアナログハードウェア記述言語へと翻訳するステップと、
前記翻訳に少なくとも部分的に基づいて、ネットリストを生成するステップと、
を備える、方法。 - 前記標準化されたアナログハードウェア記述言語は、Verilog−ATM文法およびVerilog−AMSTM文法のうち少なくとも一方を少なくとも備える、請求項15に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
- 前記少なくとも1つのアナログテストハーネスモデルは、少なくとも1つの出力アサーションおよび少なくとも1つの出力測定値のうち少なくとも一方を有する、請求項15に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
- 電子的設計の検証コマンドの翻訳のコンピュータ実装される方法であって、
前記電子的設計の表現を受信するステップと、
少なくとも1つの出力アサーションおよび少なくとも1つの出力測定値のうち少なくとも一方を有する少なくとも1つのアナログテストハーネスモデルを受信するステップと、
前記電子的設計に対する少なくとも1つの検証サブルーチンコマンドを受信するステップであって、前記少なくとも1つの検証サブルーチンコマンドは、少なくとも1つの間接分岐貢献ステートメントを有する、少なくとも1つの検証サブルーチンコマンドを受信するステップと、
前記少なくとも1つの検証サブルーチンコマンドと、前記少なくとも1つのアナログテストハーネスモデルと、前記電子的設計とに少なくとも部分的に基づいて、前記少なくとも1つの検証サブルーチンコマンドを、対応する少なくとも1つの標準化されたアナログハードウェア記述言語へと翻訳するステップと、
前記翻訳に少なくとも部分的に基づいて、ネットリストを生成するステップと、
を備える、方法。 - 前記標準化されたアナログハードウェア記述言語は、Verilog−ATM文法およびVerilog−AMSTM文法のうち少なくとも一方を備える、請求項18に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
- 前記少なくとも1つの検証サブルーチンコマンドは、少なくとも1つの仕様サブセットを有する、請求項18に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
- 前記少なくとも1つのアナログハーネスモデルは、少なくとも1つの出力アサーションおよび少なくとも1つの出力測定値のうち前記少なくとも一方に少なくとも部分的に基づいて、前記少なくとも1つの仕様サブセットを確認する、請求項20に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
- 前記少なくとも1つの仕様サブセットはデータ変換を受ける、請求項20に記載の電子的設計の検証コマンドの翻訳のコンピュータ実装される方法。
- コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記記録媒体は、命令の列を記憶しており、
前記命令の列がプロセッサによって実行されると、前記命令の列は、前記プロセッサに電子的設計の検証コマンドの翻訳の方法を実行させ、
前記方法は、
少なくとも1つのアナログテストハーネスモデルを受信するステップであって、前記少なくとも1つのアナログテストハーネスモデルは、少なくとも1つのスティミュラスおよび少なくとも1つのスティミュラスアサーションのうち少なくとも一方を有し、前記少なくとも1つのアナログテストハーネスモデルは、少なくとも1つのパラメータ化された変数を有する、少なくとも1つのアナログテストハーネスモデルを受信するステップと、
前記電子的設計に対する少なくとも1つの検証サブルーチンコマンドを受信するステップであって、前記少なくとも1つの検証サブルーチンコマンドは、少なくとも1つの間接分岐貢献ステートメントを有する、少なくとも1つの検証サブルーチンコマンドを受信するステップと、
前記少なくとも1つのアナログテストハーネスおよび前記少なくとも1つの検証サブルーチンコマンドに少なくとも部分的に基づいて、少なくとも1つの規則を検索するステップと、
前記少なくとも1つの検証サブルーチンコマンドと、前記検索された少なくとも1つの規則と、前記少なくとも1つのアナログテストハーネスモデルと、前記電子的設計とに少なくとも部分的に基づいて、前記少なくとも1つの検証サブルーチンコマンドを、対応する少なくとも1つの標準化されたアナログハードウェア記述言語へと翻訳するステップと、
前記翻訳に少なくとも部分的に基づいて、ネットリストを生成するステップと、
前記少なくとも1つのアナログテストハーネスモデルを少なくとも部分的に利用して、少なくとも1つのサブコンポーネントを電気的にシミュレーションするステップと、
前記電気的に前記シミュレーションを受ける前記電子的設計の、少なくとも1つの性能属性を抽出するステップと、
前記抽出された少なくとも1つの性能属性と、少なくとも1つの出力測定値とを比較するステップと
を備える、コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。 - 前記少なくとも1つのパラメータ化された変数を固定するステップをさらに備える、請求項23に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 少なくとも1つの分離したシミュレーション実行において、前記少なくとも1つのパラメータ化された変数を変化させるステップをさらに備える、請求項23に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 少なくとも1つのシミュレーション実行において、前記少なくとも1つのパラメータ化された変数を変化させるステップをさらに備える、請求項23に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 前記シミュレーションの間に前記少なくとも1つの性能属性が抽出される、請求項23に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 前記シミュレーションの後に前記少なくとも1つの性能属性が抽出される、請求項23に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 前記少なくとも1つのアナログテストハーネスモデルは、少なくとも1つの出力アサーションおよび少なくとも1つの出力測定値のうち少なくとも一方を有する、請求項23に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記記録媒体は、命令の列を記憶しており、
前記命令の列がプロセッサによって実行されると、前記命令の列は、前記プロセッサに電子的設計の検証コマンドの翻訳の方法を実行させ、
前記方法は、
少なくとも1つのアナログテストハーネスモデルを受信するステップであって、前記少なくとも1つのアナログテストハーネスモデルは、少なくとも1つの出力アサーションおよび少なくとも1つの出力測定値のうち少なくとも一方を有し、前記少なくとも1つのアナログテストハーネスモデルは、少なくとも1つのパラメータ化された変数を有する、少なくとも1つのアナログテストハーネスモデルを受信するステップと、
前記電子的設計に対する少なくとも1つの検証サブルーチンコマンドを受信するステップであって、前記少なくとも1つの検証サブルーチンコマンドは、少なくとも1つの間接分岐貢献ステートメントを有する、少なくとも1つの検証サブルーチンコマンドを受信するステップと、
前記少なくとも1つのアナログテストハーネスおよび前記少なくとも1つの検証サブルーチンコマンドに少なくとも部分的に基づいて、少なくとも1つの規則を検索するステップと、
前記少なくとも1つの検証サブルーチンコマンドと、前記検索された少なくとも1つの規則と、前記少なくとも1つのアナログテストハーネスモデルと、前記電子的設計とに少なくとも部分的に基づいて、前記少なくとも1つの検証サブルーチンコマンドを、対応する少なくとも1つの標準化されたアナログハードウェア記述言語へと翻訳するステップと、
前記翻訳に少なくとも部分的に基づいて、ネットリストを生成するステップと、
前記少なくとも1つのアナログテストハーネスモデルを少なくとも部分的に利用して、少なくとも1つのサブコンポーネントを電気的にシミュレーションするステップと、
前記電気的に前記シミュレーションを受ける前記電子的設計の、少なくとも1つの性能属性を抽出するステップと、
前記抽出された少なくとも1つの性能属性と、少なくとも1つの出力アサーションおよび少なくとも1つの出力測定値のうち前記少なくとも一方とを比較するステップと
を備える、コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。 - 前記標準化されたアナログハードウェア記述言語は、Verilog−ATMおよびVerilog−AMSのうち少なくとも一方を備える、
請求項30に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。 - 指定される結果に少なくとも部分的に基づいて、前記少なくとも1つのアナログテストハーネスモデルを修正するステップをさらに備える、請求項30に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 指定される結果に少なくとも部分的に基づいて、前記少なくとも1つの検証サブルーチンコマンドを修正するステップをさらに備える、請求項30に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 前記少なくとも1つのパラメータ化された変数を修正するステップをさらに備える、請求項30に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 前記電子的設計は、結果として、少なくとも1つの能動回路および少なくとも1つの受動回路のうち少なくとも一方を生じる、請求項30に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 前記電子的設計は、結果として少なくとも1つの能動回路を生じ、前記少なくとも1つの能動回路は、少なくとも1つの利得と、なくとも1つの電気的信号の少なくとも1つの方向とのうち少なくとも一方を調整する、請求項30に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 前記少なくとも1つの検証サブルーチンコマンドは、少なくとも1つの仕様サブセットを有する、請求項30に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 前記少なくとも1つのアナログハーネスモデルは、少なくとも1つの出力アサーションおよび少なくとも1つの出力測定値のうち少なくとも一方に少なくとも部分的に基づいて、前記少なくとも1つの仕様サブセットを確認する、請求項37に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019201292A JP6893232B2 (ja) | 2014-05-09 | 2019-11-06 | 電子的設計の検証コマンドの翻訳のコンピュータ実装される方法および記録媒体 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461991072P | 2014-05-09 | 2014-05-09 | |
US61/991,072 | 2014-05-09 | ||
US14/707,689 US9715566B2 (en) | 2014-05-09 | 2015-05-08 | Computer implemented system and method of translation of verification commands of an electronic design |
US14/707,689 | 2015-05-08 | ||
PCT/US2015/030133 WO2015172139A1 (en) | 2014-05-09 | 2015-05-11 | Computer implemented system and and method of translation of verification commands of an electronic design |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019201292A Division JP6893232B2 (ja) | 2014-05-09 | 2019-11-06 | 電子的設計の検証コマンドの翻訳のコンピュータ実装される方法および記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017516223A JP2017516223A (ja) | 2017-06-15 |
JP6615786B2 true JP6615786B2 (ja) | 2019-12-04 |
Family
ID=54368048
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016567175A Expired - Fee Related JP6615786B2 (ja) | 2014-05-09 | 2015-05-11 | 電子的設計の検証コマンドの翻訳のコンピュータ実装される方法および記録媒体 |
JP2019201292A Active JP6893232B2 (ja) | 2014-05-09 | 2019-11-06 | 電子的設計の検証コマンドの翻訳のコンピュータ実装される方法および記録媒体 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019201292A Active JP6893232B2 (ja) | 2014-05-09 | 2019-11-06 | 電子的設計の検証コマンドの翻訳のコンピュータ実装される方法および記録媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9715566B2 (ja) |
JP (2) | JP6615786B2 (ja) |
DE (1) | DE112015002183T5 (ja) |
WO (1) | WO2015172139A1 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9875325B2 (en) | 2014-05-09 | 2018-01-23 | Zipalog, Inc. | Computer implemented system and method of identification of useful untested states of an electronic design |
US10402505B2 (en) * | 2014-05-09 | 2019-09-03 | Zipalog, Inc. | Computer implemented system and method of translation of verification commands of an electronic design |
CN105653744A (zh) * | 2014-11-13 | 2016-06-08 | 中芯国际集成电路制造(上海)有限公司 | 版图布局的设计方法及装置 |
US9679098B2 (en) * | 2015-01-29 | 2017-06-13 | Mentor Graphics Corporation | Protocol probes |
US10360328B2 (en) * | 2015-02-26 | 2019-07-23 | Texas Instruments Incorporated | Methods for converting circuits in circuit simulation programs |
US9886536B2 (en) * | 2015-04-27 | 2018-02-06 | Zipalog, Inc. | System and method for passive verification |
CN106021044B (zh) * | 2016-05-10 | 2019-05-31 | 中国电子科技集团公司第三十八研究所 | 可重用spi总线协议模块验证环境平台及其验证方法 |
US10235485B1 (en) * | 2016-09-27 | 2019-03-19 | Altera Corporation | Partial reconfiguration debugging using hybrid models |
US20180276321A1 (en) * | 2017-03-24 | 2018-09-27 | The Boeing Company | Method and apparatus for testing design of satellite wiring harness and signal processing units |
WO2019018589A1 (en) * | 2017-07-19 | 2019-01-24 | Zipalog, Inc. | COMPUTERIZED SYSTEM AND METHOD FOR TRANSLATION OF VERIFICATION INSTRUCTIONS OF AN ELECTRONIC DESIGN |
US11574099B2 (en) * | 2020-08-13 | 2023-02-07 | Texas Instruments Incorporated | Simulation framework |
CN114218880B (zh) * | 2022-02-23 | 2022-05-03 | 飞腾信息技术有限公司 | 通用验证方法学环境搭建方法、芯片验证方法及验证系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5025402A (en) * | 1989-04-07 | 1991-06-18 | Northern Telecom Limited | Method of transient simulation of transmission line networks using a circuit simulator |
JP3848157B2 (ja) * | 2001-12-27 | 2006-11-22 | 株式会社東芝 | Lsi設計検証装置、lsi設計検証方法、及びlsi設計検証プログラム |
US6898767B2 (en) | 2002-05-09 | 2005-05-24 | Lsi Logic Corporation | Method and apparatus for custom design in a standard cell design environment |
US7131098B2 (en) | 2003-11-17 | 2006-10-31 | International Business Machines Corporation | Computer program product for implementing uncertainty in integrated circuit designs with programmable logic |
JP2006113796A (ja) * | 2004-10-14 | 2006-04-27 | Matsushita Electric Ind Co Ltd | シミュレーション方法 |
US7725851B2 (en) * | 2007-08-27 | 2010-05-25 | International Business Machines Corporation | Device, system and method for formal verification |
JP2009116627A (ja) * | 2007-11-06 | 2009-05-28 | Seiko Epson Corp | 集積回路装置の設計方法、集積回路装置の設計支援システム、集積回路装置の設計支援プログラム、集積回路装置及び電子機器 |
US8229723B2 (en) | 2007-12-07 | 2012-07-24 | Sonics, Inc. | Performance software instrumentation and analysis for electronic design automation |
US8201137B1 (en) * | 2009-03-06 | 2012-06-12 | Cadence Design Systems, Inc. | Method and apparatus for AMS simulation of integrated circuit design |
US8296699B1 (en) | 2010-02-26 | 2012-10-23 | Cadence Design Systems, Inc. | Method and system for supporting both analog and digital signal traffic on a single hierarchical connection for mixed-signal verification |
US8612908B2 (en) | 2011-11-08 | 2013-12-17 | Solido Design Automation Inc. | Method and system for verification of electrical circuit designs at process, voltage, and temperature corners |
US20140126665A1 (en) | 2012-11-06 | 2014-05-08 | Ati Technologies Ulc | Output driver with adjustable voltage swing |
-
2015
- 2015-05-08 US US14/707,689 patent/US9715566B2/en active Active
- 2015-05-11 DE DE112015002183.3T patent/DE112015002183T5/de active Pending
- 2015-05-11 JP JP2016567175A patent/JP6615786B2/ja not_active Expired - Fee Related
- 2015-05-11 WO PCT/US2015/030133 patent/WO2015172139A1/en active Application Filing
-
2019
- 2019-11-06 JP JP2019201292A patent/JP6893232B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017516223A (ja) | 2017-06-15 |
WO2015172139A1 (en) | 2015-11-12 |
US20150324505A1 (en) | 2015-11-12 |
JP2020038693A (ja) | 2020-03-12 |
JP6893232B2 (ja) | 2021-06-23 |
US9715566B2 (en) | 2017-07-25 |
DE112015002183T5 (de) | 2017-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6893232B2 (ja) | 電子的設計の検証コマンドの翻訳のコンピュータ実装される方法および記録媒体 | |
US11657201B2 (en) | Computer implemented system and method of identification of useful untested states of an electronic design | |
US10599793B2 (en) | System and method for passive verification | |
US9147026B2 (en) | Method and system of change evaluation of an electronic design for verification confirmation | |
US11704448B2 (en) | Computer implemented system and method of translation of verification commands of an electronic design | |
JP2020528181A (ja) | 電子的設計の検証コマンドの翻訳のコンピュータ実装されるシステム及び方法 | |
JP2017516224A (ja) | 電子的設計の有用な未テスト状態を特定するコンピュータ実装されるシステムおよび方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180420 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190212 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20190513 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190712 |
|
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: 20191008 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191106 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6615786 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |