JP7435951B2 - 集積回路チップ検証のための浮動小数点数生成方法、装置、電子デバイス、記憶媒体及びコンピュータプログラム - Google Patents
集積回路チップ検証のための浮動小数点数生成方法、装置、電子デバイス、記憶媒体及びコンピュータプログラム Download PDFInfo
- Publication number
- JP7435951B2 JP7435951B2 JP2022130796A JP2022130796A JP7435951B2 JP 7435951 B2 JP7435951 B2 JP 7435951B2 JP 2022130796 A JP2022130796 A JP 2022130796A JP 2022130796 A JP2022130796 A JP 2022130796A JP 7435951 B2 JP7435951 B2 JP 7435951B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- exponent
- floating point
- fractional
- sign
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 197
- 238000007667 floating Methods 0.000 title claims description 188
- 238000012795 verification Methods 0.000 title claims description 86
- 238000004590 computer program Methods 0.000 title claims description 11
- 239000013598 vector Substances 0.000 claims description 60
- 238000003491 array Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 45
- 238000010586 diagram Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 238000013473 artificial intelligence Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 101000579490 Solanum lycopersicum Suberization-associated anionic peroxidase 1 Proteins 0.000 description 1
- 101001073211 Solanum lycopersicum Suberization-associated anionic peroxidase 2 Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/76—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Evolutionary Computation (AREA)
- Nonlinear Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Complex Calculations (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
本開示の一実施形態では、第1生成方法に従って第1符号ビット、第1指数ビット、及び第1小数ビットを生成する方法は、第2指数ビットが第3指数ビットに等しく、第2小数ビットが第3小数ビット以上である場合に、0を第1符号ビットとし、第2指数ビット又は第3指数ビットを第1指数ビットとし、[第3小数ビット:第2小数ビット]の範囲内にあるランダム値を第1小数ビットとすることを含むことができる。
exp_result=exp_max又はexp_min;
frac_result=random([frac_min:frac_max])。
exp_result=exp_min;
frac_result=random([frac_min:'h7F_FFFF])。
exp_result=exp_max;
frac_result=random(['h0:frac_max])。
exp_result=tmp 1;
frac_result=random(['h0:'h7F_FFFF」))。
本開示の一実施形態では、第2生成方法に従って第1符号ビット、第1指数ビット、及び第1小数ビットを生成する方法は、第2中間変数として[0:1]の範囲内にあるランダム値を生成し、第2中間変数が0に等しい場合に、第3中間変数として[0:第2指数ビット]の範囲内にあるランダム値を生成し、第3中間変数が第2指数ビットに等しい場合に、0を第1符号ビットとし、第2指数ビットを第1指数ビットとし、[第2所定値:第2小数ビット]の範囲内にあるランダム値を第1小数ビットとし、第3中間変数が第2指数ビットに等しくない場合に、0を第1符号ビットとし、第3中間変数を第1指数ビットとし、[第2所定値:第1所定値]の範囲内にあるランダム値を第1小数ビットとすることを含んでよい。
ここで、system verilogプラットフォームにより提供されるランダム化方法を使用して[0:exp_max]の範囲内にあるランダム値を生成して良い。
exp_result=exp_max;
frac_result=random(['h0:frac_max])。
exp_result=tmp3;
frac_result=random(['h0:'h7F_FFFF」))。
exp_result=exp_min;
frac_result=random(['h0:frac_min])。
exp_result=tmp4;
frac_result=random(['h0:'h7F_FFFF」))。
本開示の一実施形態では、第3生成方法に従って第1符号ビット、第1指数ビット、及び第1小数ビットを生成する方法は、第2指数ビットが第3指数ビットに等しく、且つ第2小数ビットが第3小数ビット以下である場合に、1を第1符号ビットとし、第2指数ビット又は第3指数ビットを第1指数ビットとし、[第2小数ビット:第3小数ビット]の範囲内にあるランダム値を第1小数ビットとすることを含んでよい。
exp_result=exp_max又はexp_min;
frac_result=random([frac_max:frac_min])。
exp_result=exp_min;
frac_result=random(['h0:frac_min])。
exp_result=exp_max;
frac_result=random([frac_max:'h7F_FFFF」)。
exp_result=tmp5;
frac_result=random(['h0:'h7F_FFFF」))。
tmp6=F_tmp*factor1。
tmp7=F_tmp*factor2。
Claims (33)
- コンピュータにより実行される、集積回路チップ検証のための浮動小数点数生成方法であって、
要求された浮動小数点数の上限値である第1パラメータと、要求された浮動小数点数の下限値である第2パラメータとを取得することと、
前記第1パラメータ及び前記第2パラメータに基づいて、ランダム化の浮動小数点数の第1符号ビット、第1指数ビット、及び第1小数ビットをそれぞれ生成することと、
前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットに基づいて前記浮動小数点数を生成することと、
前記浮動小数点数を用いて集積回路チップ検証を行うことと、を含み、
前記第1パラメータ及び前記第2パラメータに基づいてランダム化の浮動小数点数の第1符号ビット、第1指数ビット、及び第1小数ビットをそれぞれ生成することは、
前記第1パラメータの第2符号ビット、第2指数ビット及び第2小数ビットをそれぞれ取得し、前記第2パラメータの第3符号ビット、第3指数ビット及び第3小数ビットをそれぞれ取得することと、
取得された前記第2符号ビット、前記第2指数ビット、前記第2小数ビット、前記第3符号ビット、前記第3指数ビット、及び前記第3小数ビットに基づいて、前記浮動小数点数の前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成することと、を含む、
集積回路チップ検証のための浮動小数点数生成方法。 - 前記浮動小数点数の前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成することは、
前記第2符号ビット及び前記第3符号ビットが何れも0に等しい場合に、第1生成方法に従って前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成することと、
前記第2符号ビットが0に等しく、前記第3符号ビットが1に等しい場合に、第2生成方法に従って前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成することと、
前記第2符号ビットが1に等しく、前記第3符号ビットが1に等しい場合に、第3生成方法に従って前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成することと、を含む、
請求項1に記載の集積回路チップ検証のための浮動小数点数生成方法。 - 前記第1生成方法に従って前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成することは、
前記第2指数ビットが前記第3指数ビットに等しく、且つ前記第2小数ビットが前記第3小数ビット以上である場合、0を前記第1符号ビットとし、
前記第2指数ビット又は前記第3指数ビットを前記第1指数ビットとし、
[前記第3小数ビット:前記第2小数ビット]の範囲内にあるランダム値を前記第1小数ビットとすることを含む、
請求項2に記載の集積回路チップ検証のための浮動小数点数生成方法。 - 前記第1生成方法に従って前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成することは、さらに、
前記第2指数ビットが前記第3指数ビットよりも大きい場合、[前記第3指数ビット:前記第2指数ビット]の範囲内にあるランダム値を第1中間変数として生成することと、
前記第1中間変数が前記第3指数ビットに等しい場合、0を前記第1符号ビットとし、前記第3指数ビットを前記第1指数ビットとし、[前記第3小数ビット:第1所定値]の範囲内にあるランダム値を前記第1小数ビットとすることと、
前記第1中間変数が前記第2指数ビットに等しい場合、0を前記第1符号ビットとし、前記第2指数ビットを前記第1指数ビットとし、[第2所定値:前記第2小数ビット]の範囲内にあるランダム値を前記第1小数ビットとすることと、
前記第1中間変数が前記第3指数ビット及び前記第2指数ビットのいずれにも等しくない場合、0を前記第1符号ビットとし、前記第1中間変数を前記第1指数ビットとし、[前記第2所定値:前記第1所定値]の範囲内にあるランダム値を前記第1小数ビットとすることと、を含む、
請求項3に記載の集積回路チップ検証のための浮動小数点数生成方法。 - 前記第2生成方法に従って前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成することは、
第2中間変数として[0:1]の範囲にあるランダム値を生成することと、
前記第2中間変数が0に等しい場合、第3中間変数として[0:前記第2指数ビット]の範囲内にあるランダム値を生成することと、
前記第3中間変数が前記第2指数ビットに等しい場合、0を前記第1符号ビットとし、前記第2指数ビットを前記第1指数ビットとし、[第2所定値:前記第2小数ビット]の範囲内にあるランダム値を前記第1小数ビットとすることと、
前記第3中間変数が前記第2指数ビットに等しくない場合、0を前記第1符号ビットとし、前記第3中間変数を前記第1指数ビットとし、[前記第2所定値:第1所定値]の範囲内にあるランダム値を前記第1小数ビットとすることと、を含む、
請求項2に記載の集積回路チップ検証のための浮動小数点数生成方法。 - 前記第2生成方法に従って前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成することは、さらに、
前記第2中間変数が0に等しくない場合、第4中間変数として[0:前記第3指数ビット]の範囲内にあるランダム値を生成することと、
前記第4中間変数が前記第3指数ビットに等しい場合、1を前記第1符号ビットとし、前記第3指数ビットを前記第1指数ビットとし、[第2所定値:前記第3小数ビット]の範囲内にあるランダム値を前記第1小数ビットとすることと、
前記第4中間変数が前記第3指数ビットに等しくない場合、1を前記第1符号ビットとし、前記第4中間変数を前記第1指数ビットとし、[前記第2所定値:前記第1所定値]の範囲内にあるランダム値を前記第1小数ビットとすることと、を含む、
請求項5に記載の集積回路チップ検証のための浮動小数点数生成方法。 - 前記第3生成方法に従って前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成することは、
前記第2指数ビットが前記第3指数ビットに等しく、且つ前記第2小数ビットが前記第3小数ビット以下である場合、1を前記第1符号ビットとし、
前記第2指数ビット又は前記第3指数ビットを前記第1指数ビットとし、
[前記第2小数ビット:前記第3小数ビット]の範囲内にあるランダム値を前記第1小数ビットとすることを含む、
請求項2に記載の集積回路チップ検証のための浮動小数点数生成方法。 - 前記第3生成方法に従って前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成することは、さらに、
前記第2指数ビットが前記第3指数ビットよりも大きい場合、第5中間変数として[前記第2指数ビット:前記第3指数ビット]の範囲内にあるランダム値を生成することと、
前記第5中間変数が前記第3指数ビットに等しい場合、1を前記第1符号ビットとし、前記第3指数ビットを前記第1指数ビットとし、[第2所定値:前記第3小数ビット]の範囲内にあるランダム値を前記第1小数ビットとすることと、
前記第5中間変数が前記第2指数ビットに等しい場合、1を前記第1符号ビットとし、前記第2指数ビットを前記第1指数ビットとし、[前記第2小数ビット:第1所定値]の範囲内にあるランダム値を前記第1小数ビットとすることと、
前記第5中間変数が前記第3指数ビット及び前記第2指数ビットのいずれにも等しくない場合、1を前記第1符号ビットとし、前記第5中間変数を前記第1指数ビットとし、[前記第2所定値:前記第1所定値]の範囲内にあるランダム値を前記第1小数ビットとすることと、を含む、
請求項7に記載の集積回路チップ検証のための浮動小数点数生成方法。 - 前記浮動小数点数に基づいて指定サイズのランダム化の浮動小数点数ベクトルを生成し、前記浮動小数点数ベクトルを用いて集積回路チップ検証を行うことをさらに含む、
請求項1から8のいずれか一項に記載の集積回路チップ検証のための浮動小数点数生成方法。 - 前記浮動小数点数に基づいて指定サイズのランダム化の浮動小数点数ベクトルを生成することは、
前記第1指数ビットが0に等しい場合、前記浮動小数点数と所定の第1係数との積を取得して第6中間変数を得ることと、
ランダム化の整数データの第1配列であって、サイズが前記指定サイズに等しく、且つ所定の線形演算が行われた結果が前記第6中間変数である第1配列を取得することと、
前記第1係数を前記第1配列内の各要素に均等に割り当て、前記線形演算の種類と合わせて前記浮動小数点数ベクトルを決定することと、を含む、
請求項9に記載の集積回路チップ検証のための浮動小数点数生成方法。 - 前記線形演算の種類と合わせて前記浮動小数点数ベクトルを決定することは、
前記線形演算が加算演算である場合、前記第1配列内の各要素をそれぞれ前記第1係数で除算して前記浮動小数点数ベクトルを得ることと、
前記線形演算が乗算演算である場合、前記第1配列からランダムにM個の要素を選択し、選択された各要素をそれぞれ2で除算し、2で除算されたM個の要素を用いて第2配列を構成し、前記第2配列内の各要素をそれぞれ2のN乗で除算して前記浮動小数点数ベクトルを得ることと、を含み、
前記Nは第3所定値を前記指定サイズで除算した商であり、前記Mは前記第3所定値を前記指定サイズで除算した剰余である、
請求項10に記載の集積回路チップ検証のための浮動小数点数生成方法。 - 前記第1係数は、2の149乗であり、
前記第3所定値は149である、
請求項11に記載の集積回路チップ検証のための浮動小数点数生成方法。 - 前記浮動小数点数に基づいて指定サイズのランダム化の浮動小数点数ベクトルを生成することは、さらに、
前記第1指数ビットが0に等しくない場合、前記第1指数ビットに基づいて第2係数を決定し、前記浮動小数点数と前記第2係数との積を取得して第7中間変数を得ることと、
ランダム化の整数データの第3配列であって、サイズが前記指定サイズに等しく、且つ所定の線形演算が行われた結果が前記第7中間変数である第3配列を取得することと、
前記第2係数を前記第3配列内の各要素に均等に割り当て、前記線形演算の種類と合わせて前記浮動小数点数ベクトルを決定することと、を含む、
請求項10に記載の集積回路チップ検証のための浮動小数点数生成方法。 - 前記線形演算の種類と合わせて前記浮動小数点数ベクトルを決定することは、
前記線形演算が加算演算である場合、前記第3配列内の各要素をそれぞれ前記第2係数で除算して前記浮動小数点数ベクトルを得ることと、
前記線形演算が乗算演算である場合、前記第3配列からランダムにM'個の要素を選択し、選択された各要素をそれぞれ2で除算し、2で除算されたM'個の要素を用いて第4配列を構成し、前記第4配列内の各要素をそれぞれ2のN'乗で除算して前記浮動小数点数ベクトルを得ることと、を含み、
前記N'は、第4所定値を前記指定サイズで除算した商であり、
前記M'は、前記第4所定値を前記指定サイズで除算した剰余である、
請求項13に記載の集積回路チップ検証のための浮動小数点数生成方法。 - 前記第2係数は2のP乗であり、Pは前記第4所定値であり、且つ149と前記第1指数ビットとの差である、
請求項14に記載の集積回路チップ検証のための浮動小数点数生成方法。 - パラメータ取得モジュールと、第1生成モジュールと、第2生成モジュールと、検証モジュールとを備える集積回路チップ検証のための浮動小数点数生成装置であって、
前記パラメータ取得モジュールは、要求された浮動小数点数の上限値である第1パラメータと、要求された浮動小数点数の下限値である第2パラメータとを取得し、
前記第1生成モジュールは、前記第1パラメータ及び前記第2パラメータに基づいて、ランダム化の浮動小数点数の第1符号ビット、第1指数ビット及び第1小数ビットをそれぞれ生成し、
前記第2生成モジュールは、前記第1符号ビット、前記第1指数ビット及び前記第1小数ビットに基づいて前記浮動小数点数を生成し、
前記検証モジュールは、前記浮動小数点数を利用して集積回路チップ検証を行い、
前記第1生成モジュールは、前記第1パラメータの第2符号ビット、第2指数ビット、及び第2小数ビットをそれぞれ取得し、
前記第2パラメータの第3符号ビット、第3指数ビット、及び第3小数ビットをそれぞれ取得し、
取得された前記第2符号ビット、前記第2指数ビット、前記第2小数ビット、前記第3符号ビット、前記第3指数ビット、及び前記第3小数ビットに基づいて、前記浮動小数点数の前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成する、
集積回路チップ検証のための浮動小数点数生成装置。 - 前記第1生成モジュールは、
前記第2符号ビット及び前記第3符号ビットが何れも0に等しい場合に、第1生成方法に従って前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成し、
前記第2符号ビットが0に等しく、且つ前記第3符号ビットが1に等しい場合に、第2生成方法に従って前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成し、
前記第2符号ビットが1に等しく、且つ第3符号ビットが1に等しい場合に、第3生成方法に従って前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成する、
請求項16に記載の集積回路チップ検証のための浮動小数点数生成装置。 - 前記第1生成モジュールは、第1生成方法に従って前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成することは、
前記第2指数ビットが第3指数ビットに等しく、且つ前記第2小数ビットが前記第3小数ビット以上である場合、0を前記第1符号ビットとし、
前記第2指数ビット又は前記第3指数ビットを前記第1指数ビットとし、
[前記第3小数ビット:前記第2小数ビット]の範囲内にあるランダム値を前記第1小数ビットとすること、を含む、
請求項17に記載の集積回路チップ検証のための浮動小数点数生成装置。 - 前記第1生成モジュールは、第1生成方法に従って前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成することは、さらに、
前記第2指数ビットが前記第3指数ビットよりも大きい場合、[前記第3指数ビット:前記第2指数ビット]の範囲内にあるランダム値を第1中間変数として生成し、
前記第1中間変数が前記第3指数ビットに等しい場合、0を前記第1符号ビットとし、前記第3指数ビットを前記第1指数ビットとし、[前記第3小数ビット:第1所定値]の範囲内にあるランダム値を前記第1小数ビットとし、
前記第1中間変数が前記第2指数ビットに等しい場合、0を前記第1符号ビットとし、前記第2指数ビットを前記第1指数ビットとし、[第2所定値:前記第2小数ビット]の範囲内にあるランダム値を前記第1小数ビットとし、
前記第1中間変数が前記第3指数ビット及び前記第2指数ビットのいずれにも等しくない場合、0を前記第1符号ビットとし、前記第1中間変数を前記第1指数ビットとし、[前記第2所定値:前記第1所定値]の範囲内にあるランダム値を前記第1小数ビットとすることを含む、
請求項18に記載の集積回路チップ検証のための浮動小数点数生成装置。 - 前記第1生成モジュールは、第2生成方法に従って前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成することは、
第2中間変数として[0:1]の範囲内にあるランダム値を生成し、
前記第2中間変数が0に等しい場合、第3中間変数として[0:前記第2指数ビット]の範囲内にあるランダム値を生成し、
前記第3中間変数が前記第2指数ビットに等しい場合、0を前記第1符号ビットとし、前記第2指数ビットを前記第1指数ビットとし、[第2所定値:前記第2小数ビット]の範囲内にあるランダム値を前記第1小数ビットとし、
前記第3中間変数が前記第2指数ビットに等しくない場合、0を前記第1符号ビットとし、前記第3中間変数を前記第1指数ビットとし、[前記第2所定値:第1所定値]の範囲内にあるランダム値を前記第1小数ビットとすることを含む、
請求項17に記載の集積回路チップ検証のための浮動小数点数生成装置。 - 前記第1生成モジュールは、第2生成方法に従って前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成することは、さらに、
前記第2中間変数が0に等しくない場合、第4中間変数として[0:前記第3指数ビット]の範囲内にあるランダム値を生成し、
前記第4中間変数が前記第3指数ビットに等しい場合、1を前記第1符号ビットとし、前記第3指数ビットを前記第1指数ビットとし、[第2所定値:前記第3小数ビット]の範囲内にあるランダム値を前記第1小数ビットとし、
前記第4中間変数が前記第3指数ビットに等しくない場合、1を前記第1符号ビットとし、前記第4中間変数を前記第1指数ビットとし、[前記第2所定値:前記第1所定値]の範囲内にあるランダム値を前記第1小数ビットとすることを含む、
請求項20に記載の集積回路チップ検証のための浮動小数点数生成装置。 - 前記第1生成モジュールは、第3生成方法に従って前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成することは、
前記第2指数ビットが前記第3指数ビットに等しく、前記第2小数ビットが前記第3小数ビット以下である場合、1を前記第1符号ビットとし、
前記第2指数ビット又は前記第3指数ビットを前記第1指数ビットとし、
[前記第2小数ビット:前記第3小数ビット]の範囲内にあるランダム値を前記第1小数ビットとすることを含む、
請求項17に記載の集積回路チップ検証のための浮動小数点数生成装置。 - 前記第1生成モジュールは、第3生成方法に従って前記第1符号ビット、前記第1指数ビット、及び前記第1小数ビットを生成することは、さらに、
前記第2指数ビットが前記第3指数ビットよりも大きい場合、[前記第2指数ビット:前記第3指数ビット]の範囲内にあるランダム値を第5中間変数として生成し、
前記第5中間変数が前記第3指数ビットに等しい場合、1を前記第1符号ビットとし、前記第3指数ビットを前記第1指数ビットとし、[第2所定値:前記第3小数ビット]の範囲内にあるランダム値を前記第1小数ビットとし、
前記第5中間変数が前記第2指数ビットに等しい場合、1を前記第1符号ビットとし、前記第2指数ビットを前記第1指数ビットとし、[前記第2小数ビット:第1所定値]の範囲内にあるランダム値を前記第1小数ビットとし、
前記第5中間変数が前記第3指数ビット及び前記第2指数ビットのいずれにも等しくない場合、1を前記第1符号ビットとし、前記第5中間変数を前記第1指数ビットとし、[前記第2所定値:前記第1所定値]の範囲内にあるランダム値を前記第1小数ビットとすることを含む、
請求項22に記載の集積回路チップ検証のための浮動小数点数生成装置。 - 前記浮動小数点数に基づいて指定サイズのランダム化の浮動小数点数ベクトルを生成する第3生成モジュールを更に備え、
前記検証モジュールはさらに、前記浮動小数点数ベクトルを用いて集積回路チップ検証を行う、
請求項16から23のいずれか1項に記載の集積回路チップ検証のための浮動小数点数生成装置。 - 前記第3生成モジュールは、前記第1指数ビットが0に等しい場合、前記浮動小数点数と所定の第1係数との積を取得して第6中間変数を得、
ランダム化の整数データの第1配列であって、サイズが前記指定サイズに等しく、且つ所定の線形演算が行われた結果が前記第6中間変数である第1配列を取得し、
前記第1係数を前記第1配列内の各要素に均等に割り当て、
前記線形演算の種類と合わせて前記浮動小数点数ベクトルを決定する、
請求項24に記載の集積回路チップ検証のための浮動小数点数生成装置。 - 前記第3生成モジュールは、
前記線形演算が加算演算である場合、前記第1配列内の各要素を前記第1係数でそれぞれ除算して浮動小数点ベクトルを得、
前記線形演算が乗算演算である場合、前記第1配列からM個の要素をランダムに選択し、選択された各要素を2で除算し、2で除算されたM個の要素を用いて第2配列を構成し、前記第2配列内の各要素をそれぞれ2のN乗で除算して前記浮動小数点数ベクトルを得、前記Nは第3所定値を前記指定サイズで除算した商であり、前記Mは前記第3所定値を前記指定サイズで除算した剰余である、
請求項25に記載の集積回路チップ検証のための浮動小数点数生成装置。 - 前記第1係数は、2の149乗であり、
前記第3所定値は149である、
請求項26に記載の集積回路チップ検証のための浮動小数点数生成装置。 - 前記第3生成モジュールは、前記第1指数ビットが0に等しくない場合に、前記第1指数ビットに基づいて第2係数を決定し、
前記浮動小数点数と前記第2係数との積を取得して第7中間変数を得、
ランダム化の整数データの第3配列であって、サイズが前記指定サイズに等しく、且つ所定の線形演算が行われた結果が前記第7中間変数である第3配列を取得し、
前記第2係数を前記第3配列内の各要素に均等に割り当て、
前記線形演算の種類と合わせて前記浮動小数点数ベクトルを決定する、
請求項25に記載の集積回路チップ検証のための浮動小数点数生成装置。 - 前記第3生成モジュールは、
前記線形演算が加算演算である場合、前記第3配列内の各要素をそれぞれ前記第2係数で除算して前記浮動小数点数ベクトルを得、
前記線形演算が乗算演算である場合、前記第3配列からM'個の要素をランダムに選択し、選択された各要素をそれぞれ2で除算し、2で除算されたM'個の要素を用いて第4配列を構成し、前記第4配列内の各要素をそれぞれ2のN'乗で除算して前記浮動小数点数ベクトルを得、
前記N'は第4所定値を前記指定サイズで除算した商であり、
前記M'は前記第4所定値を前記指定サイズで除算した剰余である、
請求項28に記載の集積回路チップ検証のための浮動小数点数生成装置。 - 前記第2係数は2のP乗であり、Pは前記第4所定値であり、149と前記第1指数ビットとの差である、
請求項29に記載の集積回路チップ検証のための浮動小数点数生成装置。 - 少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信可能に接続されたメモリとを備え、
前記メモリに前記少なくとも1つのプロセッサにより実行可能なコマンドが記憶されており、前記コマンドが前記少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに請求項1から8のいずれか1項に記載の集積回路チップ検証のための浮動小数点数生成方法を実行させる電子デバイス。 - コンピュータに請求項1から8のいずれか1項に記載の集積回路チップ検証のための浮動小数点数生成方法を実行させるためのコンピュータコマンドを記憶する非一時的なコンピュータ可読記憶媒体。
- プロセッサにより実行されると、請求項1から8のいずれか1項に記載の集積回路チップ検証のための浮動小数点数生成方法を実現するコンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111571211.7 | 2021-12-21 | ||
CN202111571211.7A CN114462350B (zh) | 2021-12-21 | 2021-12-21 | 集成电路芯片验证方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023092442A JP2023092442A (ja) | 2023-07-03 |
JP7435951B2 true JP7435951B2 (ja) | 2024-02-21 |
Family
ID=81406468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022130796A Active JP7435951B2 (ja) | 2021-12-21 | 2022-08-18 | 集積回路チップ検証のための浮動小数点数生成方法、装置、電子デバイス、記憶媒体及びコンピュータプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230195945A1 (ja) |
EP (1) | EP4202637A1 (ja) |
JP (1) | JP7435951B2 (ja) |
CN (1) | CN114462350B (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114968170B (zh) * | 2022-06-24 | 2024-05-14 | 北京百度网讯科技有限公司 | 浮点数的定和生成方法、相关装置及计算机程序产品 |
CN116719747B (zh) * | 2023-08-07 | 2023-11-03 | 上海类比半导体技术有限公司 | 一种芯片多版本的验证方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007017962A1 (ja) | 2005-08-08 | 2007-02-15 | Fujitsu Limited | プロセッサの動作を検証する動作検証方法及び動作検証プログラム |
JP2017224060A (ja) | 2016-06-14 | 2017-12-21 | 株式会社日立製作所 | アプリロジックおよびその検証方法および構成方法 |
JP2019185301A (ja) | 2018-04-06 | 2019-10-24 | 株式会社日立製作所 | 演算器の検証装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4845659A (en) * | 1986-08-15 | 1989-07-04 | International Business Machines Corporation | Accelerated validity response permitting early issue of instructions dependent upon outcome of floating point operations |
US4996660A (en) * | 1989-04-17 | 1991-02-26 | International Business Machines Corporation | Selection of divisor multipliers in a floating point divide circuit |
JPH05120052A (ja) * | 1991-10-30 | 1993-05-18 | Mitsubishi Electric Corp | セルフテスト機能付マイクロプロセツサ |
EP0685794A1 (en) * | 1994-06-01 | 1995-12-06 | Advanced Micro Devices, Inc. | System for generating floating point test vectors |
EP1061436B1 (en) * | 1997-10-23 | 2007-12-19 | Advanced Micro Devices, Inc. | Multifunction floating point addition/subtraction pipeline |
US7028067B2 (en) * | 2002-02-20 | 2006-04-11 | International Business Machines Corporation | Generation of mask-constrained floating-point addition and subtraction test cases, and method and system therefor |
GB0407208D0 (en) * | 2004-03-31 | 2004-05-05 | Ibm | Generation of test cases with range constraints for floating point add and subtract instructions |
JP4762166B2 (ja) * | 2007-02-09 | 2011-08-31 | 株式会社東芝 | 乱数検査装置およびその検査方法 |
CN101840367A (zh) * | 2009-12-23 | 2010-09-22 | 上海高性能集成电路设计中心 | 一种微处理器浮点部件验证装置 |
US8909690B2 (en) * | 2011-12-13 | 2014-12-09 | International Business Machines Corporation | Performing arithmetic operations using both large and small floating point values |
CN102981799A (zh) * | 2012-11-06 | 2013-03-20 | 无锡江南计算技术研究所 | 一种浮点随机数的生成方法及*** |
CN107193530B (zh) * | 2017-04-28 | 2020-04-24 | 广州酷狗计算机科技有限公司 | 一种生成随机数的方法和装置 |
GB2580160B (en) * | 2018-12-21 | 2021-01-06 | Graphcore Ltd | Hardware module for converting numbers |
CN112433931A (zh) * | 2019-08-26 | 2021-03-02 | 无锡江南计算技术研究所 | 基于指数约束的浮点验证数据生成方法 |
-
2021
- 2021-12-21 CN CN202111571211.7A patent/CN114462350B/zh active Active
-
2022
- 2022-07-13 EP EP22184596.9A patent/EP4202637A1/en not_active Withdrawn
- 2022-07-14 US US17/864,714 patent/US20230195945A1/en not_active Abandoned
- 2022-08-18 JP JP2022130796A patent/JP7435951B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007017962A1 (ja) | 2005-08-08 | 2007-02-15 | Fujitsu Limited | プロセッサの動作を検証する動作検証方法及び動作検証プログラム |
JP2017224060A (ja) | 2016-06-14 | 2017-12-21 | 株式会社日立製作所 | アプリロジックおよびその検証方法および構成方法 |
JP2019185301A (ja) | 2018-04-06 | 2019-10-24 | 株式会社日立製作所 | 演算器の検証装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114462350A (zh) | 2022-05-10 |
JP2023092442A (ja) | 2023-07-03 |
EP4202637A1 (en) | 2023-06-28 |
CN114462350B (zh) | 2022-11-15 |
US20230195945A1 (en) | 2023-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7435951B2 (ja) | 集積回路チップ検証のための浮動小数点数生成方法、装置、電子デバイス、記憶媒体及びコンピュータプログラム | |
CN112507040B (zh) | 多元关系生成模型的训练方法、装置、电子设备及介质 | |
JP7507788B2 (ja) | ランダム化された意図ベクトル近接性からの意図認識モデルの作成 | |
US20130187922A1 (en) | Systems and Methods for Graphical Layout | |
CN110335141A (zh) | 一种基于多模型的授信额度确定方法、装置和电子设备 | |
CN108027809B (zh) | 基于深度学习的体设计的功能相关 | |
KR102635800B1 (ko) | 신경망 모델의 사전 훈련 방법, 장치, 전자 기기 및 매체 | |
CN112749809B (zh) | 构造量子仿真***的方法和装置 | |
JP2023533404A (ja) | 駆動可能3dキャラクター生成方法、装置、電子機器、及び記憶媒体 | |
JP2023007366A (ja) | 分子構造取得方法、装置、電子デバイス及び記憶媒体 | |
JP2023076820A (ja) | 画像処理方法、装置、電子機器、及び記憶媒体 | |
CN113965313B (zh) | 基于同态加密的模型训练方法、装置、设备以及存储介质 | |
JP2022166215A (ja) | 文字位置決めモデルのトレーニング方法及び文字位置決め方法 | |
US7110929B1 (en) | System and method of providing additional circuit analysis using simulation templates | |
CN113344213A (zh) | 知识蒸馏方法、装置、电子设备及计算机可读存储介质 | |
EP4155670A1 (en) | Intersection vertex height value acquisition method and apparatus, electronic device and storage medium | |
CN111046516B (zh) | 一种复杂网络拓扑三维布局方法、装置及存储设备 | |
WO2023221407A1 (zh) | 模型生成方法、装置和电子设备 | |
CN116542178A (zh) | 定常流动数值模拟方法、装置、设备及介质 | |
CN113408304B (zh) | 文本翻译方法、装置、电子设备及存储介质 | |
CN113408702B (zh) | 音乐神经网络模型预训练方法及电子设备和存储介质 | |
CN113112311B (zh) | 训练因果推断模型的方法、信息提示方法以装置 | |
CN113570067A (zh) | 分布式***的同步方法、装置及程序产品 | |
CN107562715A (zh) | 词向量处理方法、装置以及电子设备 | |
CN113408638A (zh) | 模型训练方法、装置、设备和计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220818 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230808 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231102 |
|
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: 20240109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240125 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7435951 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |