• 検索結果がありません。

ベイジアンネットワークの機械学習を利用したリグレッション検証の効率改善

N/A
N/A
Protected

Academic year: 2021

シェア "ベイジアンネットワークの機械学習を利用したリグレッション検証の効率改善"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)DAシンポジウム Design Automation Symposium. DAS2016 2016/9/14. ベイジアンネットワークの機械学習を利用した リグレッション検証の効率改善 浜口 清治1,a). 高倉 凌介1,†1. 概要:ハードウェアの設計検証は,依然,設計工程におけるボトルネックとなっている.レジスタトラン ファレベル/ゲートレベル設計に対する検証に関しては,シミュレーション検証が用いられており,各種の カバレッジ指標をターゲットとしたカバレッジ駆動検証が利用されている.本稿では,ランダムシミュレー ションによる結果に対して,ベイジアンネットワークの機械学習を適用することにより,誤り修正後などに 行うリグレッション検証において,より早くカバレッジを増加させる手法について述べる.一般のベンチ マーク回路に適用する実験を行い,2クロックサイクルにおける各信号線の変化パターンに着目すること によって,より少ないシミュレーションコストでトグルカバレッジを上昇させることができることを示す. キーワード:RTL 設計検証,カバレッジ駆動検証,ベイジアンネットワーク,機械学習,自動テストベンチ. Improving Regression Design Verification by Machine Learning based on Bayesian Network Kiyoharu Hamaguchi1,a). Ryosuke Takakura1,†1. Abstract: Design verification of hardware has been a bottleneck yet to be tackled in the process of hardware design. Mainly simulation-based verification has been used for this purpose, and recently, coverage-driven verification has been widely adopted, of which target is improvement of some metric called coverage. In this report, we study the effect of machine learning based on Bayesian networks in the context of regression verification, which is performed after error correction or modification for performance. The experimental results show that, focusing on signal value changes over 2-clock cycles can improve toggle coverage in term of simulation cost. Keywords: RTL verification, coverage-driven verification, Bayesian network, machine learning, automated testbench. 1. はじめに 1.1 背景. ミュレーションパタンを生成して検証カバレッジを向上さ せる手法が採用されている.設計中に種々の条件に基づく カバーポイントを設定し,シミュレーションパタンによっ. SoC,マイコン,FPGA などの設計工程では,設計検証. て各カバーポイントでその条件が満たされるかどうか,す. 工程が 50%-80% と依然大きな比重を占めており効率化が. なわち,カバーポイントがカバーされるかどうかを量的に. 課題である.シミュレーションベースの検証が広く用いら. 評価する.カバレッジを増加させることを目標としてシ. れているが,この工程の自動化を目指して,ランダムにシ. ミュレーションパタンの生成を行う方式はカバレッジ駆動. 1 †1 a). 島根大学総合理工学研究科 Shimane University, Matsue, Simane, 690-8504, Japan 現在,有限会社 クレオ Presently with CLEO Comp. [email protected]. ⓒ 2016 Information Processing Society of Japan. 型検証と呼ばれている.カバレッジの1つであるトグルカ バレッジでは,1つの信号線のトグル (値の 0 から 1 およ び1から 0 への反転) がカバレッジポイントと呼ばれ,シ ミュレーションによって回路内のすべてのカバレッジポイ. 14.

(2) DAシンポジウム Design Automation Symposium. DAS2016 2016/9/14. ントがカバーされた (すべての信号線で反転が起こった) と. は抽象化を利用して入力パタンの生成を行っている.しか. き 100%となる.. し,文献 [7] は実験の対象が組合せ回路に限定されており,. カバレッジ駆動型検証に関しては,機械学習を利用して ランダムパタン生成のパラメータを制御する手法があり,. 文献 [8] は少数のカバーポイントのみをターゲットにして おり,対象がマイクロプロセッサに限られている.. 自動化という点で有効である.ランダムにシミュレーショ. 文献 [1], [2] でも SAT ソルバーを用いており,これらの. ンパタンを生成する場合には,各入力信号線がとる値につ. 研究では複数のシナリオ (入力に対する論理制約) につい. いて,確率分布を定めるパラメータを設定する必要がある.. て,満足する解の個数がシナリオ間で不均等にならないよ. 機械学習を用いてこれらのパラメータを決定する手法は,. う入力生成を行うことにより,カバレッジの改善をはかっ. リグレション検証 (誤り修正後再び行う検証) での利用が考. ている.しかし,ターゲットなるカバーポイントに対する. えられる.まず,誤り修正前に行ったランダムテストの結. カバレッジ解析に基づいて,入力パタン生成を行っている. 果から,パラメータの値と各カバレッジポイントがカバー. わけではない.. される割合を学習しておく.次に,リグレション検証では. 機械学習を用いる方式もいくつか提案されてい. 各カバレッジポイントがカバーされやすいパラメータの最. る [3], [4], [5], [6].機械学習によって入力パタンの持つ. 適値を機械学習の結果から推定し,次々適用することによ. 性質とカバレッジポイントとの関係を学んでおき,これを. り,カバレッジを増加させる.. 利用してカバレッジを改善する.機械学習の枠組みとして. 機械学習の利用については,ベイジアンネットワークを. は,文献 [5], [6] ではベイジアンネットワークが [4] では帰. 用いた手法や帰納的プログラミングを用いた手法が提案さ. 納的論理プログラミングがそれぞれ用いられている.あら. れている.最も成功しているのは Intel 社の A. Ziv らによ. かじめ入力パタンの持つ性質と個別のカバレッジポイント. るベイジアンネットワークの機械学習によるアプローチで. との性質を学んでおき,これを使ってクロスカバレッジ (複. ある [5], [6].ベイジアンネットワークは,複数の確率変数. 数のカバレッジポイントを組み合わせて評価するカバレッ. 間の依存関係を有向グラフで表現したものであり,各ノー. ジ) の改善を行う.文献 [3] では回路のアクティビティを観. ドが確率変数1つに対応する.ランダムパタンからの学習. 測することによりマルコフモデルの学習を行い,入力パタ. では,各ノードにパラメータおよびカバレッジポイントが. ンの生成方法を動的に調節してカバレッジを改善する.こ. 対応づけられる.しかし,既存手法は,マイクロプロセッ. れらはいずれもカバレッジ駆動型検証であるが,対象がマ. サなど限られた設計への適用例しかなく,また,機械学習. イクロプロセッサまたはマイクロアーキテクチャに限られ. のアルゴリズムをそのまま転用しており,設計やカバレッ. ており,さらに,学習の際に注目する入力の性質 (命令の. ジの特性を利用していないため,十分な性能を引き出し切. 種類や出現確率など) の抽出はマイクロプロセッサに特化. れていると言えない.. した形で人手で行われている.. 本報告では,これまで報告のないトグルカバレッジを ターゲットとしたカバレッジ駆動検証について,ベイジア ンネットワークの機械学習を用いた方法を適用する.適用. 2. 準備 2.1 カバレッジとカバレッジ駆動検証. 場面としては,設計を変更後に誤りが発生していないかを. カバレッジ (coverage) には種々の評価指標がある.例え. 確かめるための,リグレッション検証を想定している.本. ば,ステートメントカバレッジ (statement coverage) は,. 報告では,特定の設計に限らず,複数のベンチマーク回路. シミュレーション時に設計記述中のステートメントの集合. に適用した場合の効果について実験を通じて調べる.特に. あるいは部分集合の内,実行されたことがあるステートメ. ターゲットがトグルカバレッジであることから,2クロッ. ントの割合として評価される.本報告では,カバーポイン. クサイクルにわたる信号値の変化に着目して機械学習を行. ト (cover point) は注目している設計記述中または設計の. うことにより,カバレッジ駆動検証におけるカバレッジの. 構成要素 (文や信号線など) と,カバーの条件の対とする.. 改善をより高速に達成できることを示す.. 以下,本報告ではカバレッジとして,トグルカバレッジ. (toggle coverage) に注目する.トグルカバレッジのカバー 1.2 関連研究. ポイントは,設計内の信号線 (あるいは変数),および,2. カバレッジ駆動検証システムの自動化に関しては,SAT. クロックサイクルの間に信号線の値が 0 から 1 へ変化する. ソルバを用いるアプローチと機械学習を用いるアプローチ. という論理条件,または 1 から 0 へ変化するという論理条. が提案されている.. 件の対となる.0 から 1 または 1 から 0 への値の変化をト. SAT ソルバを用いてカバレッジを改善する方式 [7], [8] として,文献 [7] では,ターゲットとなるカバレッジポイ. グルと呼ぶ.ここでは 0 から 1 への変化と 1 から 0 への変 化は異なるものとみなす.. ントのカバー条件について,その解空間を分割することに. 設計が活性化されたかの目安としてトグルカバレッジは. より,効率的な解の生成を行っている.また,文献 [8] で. 用いられる.100% になった場合でも設計の正しさが保証. ⓒ 2016 Information Processing Society of Japan. 15.

(3) DAシンポジウム Design Automation Symposium. DAS2016 2016/9/14. されるわけではないが,0 から 1 または 1 から 0 への変化 が全くない信号線あるいは回路の一部分は,十分テストさ れていない可能性が大きく,さらにシミュレーションパタ ンを増やすか,あるいは値が変化しない理由を調べる必要 があることを示す.. 3. ベイジアンネットワークを用いたカバレッ ジ駆動検証 以下では,リグレッション検証を前提として,トグルカ バレッジに着目したカバレッジ駆動型検証を考える.. カバーポイントの集合 C と (複数サイクルに渡る) 入力 パタン P に対して,トグルカバレッジは,シミュレーショ. 3.1 機械学習を用いたカバレッジ駆動型検証. ンを行った際に 1 度以上カバーされたカバーポイントの集. 機械学習を用いたカバレッジ駆動型検証では,まず,シ. 合 C ′ に対して,|C ′ |/|C| と定義する.入力パタンが複数. ミュレーションパラメータの値の種々の組み合わせについ. ある場合も同様に定義される.. て,シミュレーションを行う.その結果についてカバレッ. 図 1 にカバレッジ駆動検証のフローを示す.. ジ解析を行って,シミュレーションパラメータとカバレッ ジとの関係を機械学習で学習する.次に学習結果から,カ バーポイントをカバーしやすいシミュレーションパラメー タを推定して,これを用いてシミュレーションを行う.こ. 9:%. -./(0 -12%. !"#$%. &'()*! +,%. &'()*! 3456%. の手順を示したものが図 3 である.. 78%. 図 1. カバレッジ駆動検証のフロー. また,本報告で想定する適用場面では,例えば検証対象 となる設計 (design under verification, 以下 DUV) には, 入力に対して正しい出力を与える参照モデル (reference #. model) があり (図 2).同じ入力に対する比較によって検 証を行う.この枠組みでは DUV に対するカバレッジはで. 図 3. 機械学習を用いたカバレッジ駆動型検証. きるかぎり大きい方がよい. 以下,本報告では,カバレッジに言及する際は,DUV の みについて考え,テストベンチや参照モデルに対するカバ. 3.2 ベイジアンネットワーク ベイジアンネットワーク [9], [10] は複数の確率変数間の. レッジは考えないこととする.. 関係をグラフ構造で表し,因果関係を条件付き確率によっ て記述するグラフィカルモデルのひとつである.複数の変 数間の関係は非巡回有向グラフで表される.例を図 4 に示. !"#! , -!. '($ )*+!. す.グラフの構造に応じて,確率変数間に条件付き確率分 布が設定される.. "#$%&!. ./01+2!. 図 2. テストベンチの構成. リグレッション検証 (regression verification) は,設計に 対して誤り修正や性能向上のため,なんらかの変更を行っ た後,ふたたび行う設計検証のことをいう.いったんは検 証が終了している機能について,設計を変更することに !. よって,新たに誤りが導入されて後戻り (リグレッション) が生じていないかどうかを調べることが目的である.リグ. 図 4. ベイジアンネットワークの例. レッション検証では,変更部分がシミュレーションにおよ ぼす影響はあまり大きくないことが多く,最初に用いられ. 非 巡 回 有 向 グ ラ フ の 各 節 点 に は 確 率 変 数 Xi (i =. たシミュレーションパタンのセットを用いる場合もある.. 1, 2, . . . , n) が対応付けられている.Xi に対応する節点. ⓒ 2016 Information Processing Society of Japan. 16.

(4) DAシンポジウム Design Automation Symposium. DAS2016 2016/9/14. の親の集合を Pa(Xi ) と書くことにすると,ベイジアン ネットワークは同時確率分布 P (X) =. ∏n. i=1. Algorithm 1: ランダムシミュレーション. P (Xi |Pa(Xi )). を表現している.ここで,X = {X1 , X2 , . . . , Xn } とする.. P (Xi |Pa(Xi )) は Pa(Xi ) に対する Xi の条件付き確率で あり,Pa(Xi ) が空集合の場合は,P (Xi ) に等しいとする. ベイジアンネットワークの学習では,各確率変数に対応. 1. Data: T D:テストベンチおよび DUV,N :データセットの大き さ (シミュレーション回数),Cc:ランダムシミュレー ションのサイクル数,I: 入力信号線の集合,P : 信号線 に対する確率分布の集合 Result: D: データセット begin. する観測値データ di (i = 1, 2, . . . , m) を集めたデータセッ. 2. D = ∅;. ト D を与えて,このデータセットに対する学習スコアを. 3. for N times do. 最適にするようなベイジアンネットワークの構造と条件付. 4. IP = ∅;. き確率分布を求めることになる.学習スコアとしては,ベ. 5. for i ∈ I do. イジアンスコアや尤度などが用いられる.本報告の実験で は,特定の構造と条件付き確率の組み合わせ S の下で D. 6. p ∈ P をランダムに選択;. 7. IP = IP ∪ {(i, p)}; // 選択した確率分布によるシミュレーション. が生成される確率 (の対数) log P (D|S),すなわち尤度を用 いている.. 8. d = RandSim(T D, IP, Cc);. 9. D = D ∪ {d};. 一部の確率変数が特定の値をとったとき,その他の確率 変数の確率分布を求めることを確率推論という.ここで は,周辺分布の計算をもって確率推論とする.e は確率変. どうかを観測する.図 5 では,カバーポイント c1, c2, c3. 数の集合 E ⊆ X に対する値の割当て (インスタンス化) を. のうち,c1 がカバーされている.このとき,データとして. 表すものとする.e はエビデンスとも呼ばれる.また,Pe. 図 6 を得ることになる.. は e のもとでの確率分布を表すとする.確率変数の集合. 以上のシミュレーションを複数回繰り返して,機械学習. Y ⊆ X に対する e のもとでの周辺分布 Pe (Y) は次のよう. のためのデータセットを得る.このデータセットに対し. に定義される.. て,ベイジアンネットワークの学習を行う.. Pe (Y) =. ∑ X/Y Pe (X). データセット生成の概要をアルゴリズム 1 に示す.この アルゴリズム中 RandSim は,テストベンチおよび DUV T. 3.3 カバレッジ駆動検証への適用 ベイジアンネットワークによる機械学習をカバレッジ駆 動検証におけるシミュレーションパラメータの調整に利用. に対して,Cc サイクル分のシミュレーションを,IP の確 率分布のもとで行って,図 6 の形式のデータを出力する. !"#$%&'(. する手順を説明する.. 3.3.1 ベイジアンネットワークの学習 まず,確率分布を数種類準備して,信号線ごとに確率分. A. P(A). A. P(A). 0. 0.65. 0. 0.35. 1. 0.35. 1. 0.65. 布を選択し,それに基づいてシミュレーションを行う.そ. i1=0. )))A. i1=1. の際カバーされたカバーポイントを調べて,データセット を作成する.図 5 のシミュレーションフローの例を示して いる.この例では,3つの信号線 A, B, C に対して,それ. *+,- X B. P(B). B. P(B). 0. 0.40. 0. 0.60. 1. 0.60. 1. 0.40. ぞれ2つの確率分布を用意している.例えば A について. c1=0.1. )))B. c2=0.0 c3=0.0. i2=1. i2=0. は,i1 = 0 の場合は A が 0 (1) になる確率が 0.65 (0.35) であり,i1 = 1 の場合は,0 (1) になる確率が 0.35 (0.65) である. ランダムシミュレーションでは,各信号線について用. C. P(C). C. P(C). 0. 0.10. 0. 0.90. 1. 0.90. 1. 0.10. i3=0. )))C. i3=1. 意した確率分布の中からランダムに一つの確率分布を選 ぶ.この例では A,B,C に対してそれぞれ,i1 = 1,i2 = 0,. i3 = 1 の確率分布を選んでいる.次に選んだ確率分布にし. 図 5 シミュレーションフロー. たがって,与えられたクロックサイクル数だけ,値を生成 してシミュレーションパタンとする.以下の実験では,1 回のシミュレーションはすべて,リセット直後の状態から. !. のシミュレーションを意味している. シミュレーションでは,カバーポイントの集合を与えて,. 図 6 データセット (1行分). それぞれのカバーポイントについて,カバーされているか. ⓒ 2016 Information Processing Society of Japan. 17.

(5) DAシンポジウム Design Automation Symposium. DAS2016 2016/9/14. 3.3.2 確率推論による入力パラメータの調整. Algorithm 2: 確率推論を利用したシミュレーション. 次に得られたベイジアンネットワークに対して確率推論 を適用しながら,シミュレーションを繰り返す.まず,カ バーすべきカバーポイントの集合を定める.このカバーポ イントは,データセット生成時の複数回のシミュレーショ ンにおいて,ある回数以上 (たとえば全回数の 10%以上) か. 1. Data: T D:テストベンチおよび DUV,Cc:ランダムシミュレー ションのサイクル数,Cov:ターゲットとなるカバーポイ ントの集合,BN :学習後のベイジアンネットワーク,I: 入力信号線の集合,P : 信号線に対する確率分布の集合 Result: N : シミュレーションの回数 begin. つある回数以下 (たとえば全回数の 80%以下) カバーされて. 2. N = 0;. いるポイントとする.このように設定している理由は,ほ. 3. while Cov ̸= ∅ do. とんどカバーされていないカバーポイントは,偶然カバー. 4. cp ∈ Cov をランダムに選ぶ.;. されただけであり,確率分布の選択によってはカバーを再. 5. IP = ∅;. 現できない可能性が高いこと,およびカバー回数が多いカ. 6. for i ∈ I do. バーポイントは,どのような確率分布でもカバーできると 考えられるためである. シミュレーションを複数回繰り返すため,カバーすべき. // cp の下での入力 i に対する周辺確率 cd を計算 7. cd = MargDist(BN, cp, i);. 8. p ∈ P を cd に従って選択;. 9. IP = IP ∪ {(i, p)};. ポイントの数は一般に減少していく.カバーすべきカバー ポイントの中から,ランダムに1つカバーポイントを選択. // 選択した確率分布によるシミュレーション 10. d = RandSim(T D, IP, Cc);. する.対応する確率変数の値を 1 として,各信号線に対す. 11. N = N + 1;. る周辺確率をそれぞれ求める.図 7 に例を示す.A に対. 12. Cov = Cov\{cp | d でカバーされる };. する確率分布の選択が,確率変数 i1 に対する周辺分布に よって決定される様子を示している. 確率推論を利用したシミュレーションの手順をアルゴリ ズム 2 に示す.このアルゴリズムの関数 MargDist は,指 定されたカバーポイント cp に対する確率変数の値を 1 と した上で,指定された入力信号線 i に対して,周辺確率分 布を計算する.. P(A). A. P(A). 0. 0.65. 0. 0.35. 1. 0.35. 1. 0.65. i1. P(i1). 0. 0.35. 1. 0.65. &'()*+, !"#$ X. B. &'-. i1 /01*234. 表 1 設計記述 #FF #Logic. #CovPnt. fifo. 283. 1463. uart. 28. 181. 56. 132. 895. 264. simple spi usb phy. A. A. DUV. 566. 98. 503. 196. tv80 core. 347. 9278. 694. s5378.v. 163. 1832. 326. 論については,サンプリング法により計算している.. 4.1 実験対象と諸パラメータ. c1=0%1. IWLS2005 のベンチマークから表 1 に示す DUV に対し. c2=0%0. て実験を行った.全て Verilog で記述されている.フリッ. c3=0%0. プフロップ数 (#FF) と論理素子数 (#Logic) は,Yosys[11]. C. によって得られたゲートレベル記述における値である.そ 図 7 確率推論によるパラメータの設定. れぞれリセット系列を与えるテストベンチを作成して,リ セット後の状態を初期状態として,1回のシミュレーショ. 以上がベイジアンネットワークを用いたカバレッジ駆動. ンを行っている.. 型検証の流れとなる.. 4. 評価実験. 4.2 結果 トグルカバレッジが対象であることから,1 サイクルに. 実験は Intel Core-i5 2.7GHz, 1GB のマシンを Linux. 対する確率分布の他に,2 サイクルに対する確率分布を導. Ubuntu 15.04 のもとで利用した.ベイジアンネットワーク. 入して比較実験を行った.図 8 と図 9 に使用した 1 サイク. の学習と確率推論には R のパッケージである bnlearn[13]. ル系列と 2 サイクル系列に対する確率分布をそれぞれ示す.. を,シミュレータは Icarus Verilog[12] を使用した.. P 0,P 1,P 2,P 3 がそれぞれ異なる確率分布となっている.. bnlearn の学習アルゴリズムとしては,単純なヒルクラ. 1 回のシミュレーションは 250 サイクルとし,データセッ. イム法 (グリーディヒューリスティック) による構造探索. トを 100 個生成し,学習を行った.カバーポイントとして. を採用し,スコアは対数尤度によっている.また,確率推. は,まず,Yosys によりゲートレベル記述の生成を行った. ⓒ 2016 Information Processing Society of Japan. 18.

(6) DAシンポジウム Design Automation Symposium. 図 8. DAS2016 2016/9/14. 1 サイクル系列に対する確率分布. 用いたが,いずれも最も単純な手法である.回路記述から の構造情報の反映,異なるアルゴリズムの適用,複数の信 号線に対する周辺分布の利用などが検討課題となっている. また,ランダムシミュレーションではカバーすることが 難しいカバーポイントは学習に反映させることが難しいあ. !. るいは不可能であるため,本報告の手法ではカバーするこ とが難しい.SAT ベースの手法を組み合わせるなどのアプ. 図 9. 2 サイクル系列に対する確率分布. ローチを検討する必要がある. 参考文献. 1!. [1]. 0! 0! 1!. 0! 1! [2]. 1! 0!. 後,残った状態変数 (フリップフロップの出力) すべてを. [3]. 考え,さらにランダムシミュレーションによるカバー率が. 10%から 80% のカバーポイントをターゲットとしている. 選択したカバーポイント全てについて 1 回以上カバーする. [4]. までのシミュレーションの回数 (1 回のシミュレーション は 250 サイクル) を比較した.結果を表 2 にまとめる.5 回繰り返して得られた回数の平均を示している. 表 2. カバーポイントをカバーするまでのシミュレーション回数 !"#. $%&'#. ()*+,-.#. [5]. [6]. /)*+,-.#. fifo#. 85#. 2#. 2#. uart#. 100#. 1#. 2#. simple-spi-top#. 8#. 8.3#. 12.4#. usb_phy#. 4#. 3#. 14#. tv80_core#. 20#. 18.9#. 34.1#. s5378#. 8#. 6#. 57.6#. [7]. [8]. [9]. この実験結果は,トグルカバレッジに関する限り,2 サ イクル系列を用いた場合がシミュレーション回数の点で有 利であることを示唆している.. 5. おわりに. [10] [11] [12] [13]. S. Yang, R. Wille, and R. Drechsler, “Determining cases of scenarios to improve coverage in simulation-based verification,” Symp. on Integrated Circuits and System Design, 2014. S. Yang, R. Wille, D. Große, and R. Drechsler,“Coverage-driven stimuli generation,” EUROMICRO Symp. on Digital System Design, pp. 525-528, 2012. I. Wagner, V. Bertacco, T. Austin, “Microprocessor Verification via Feedback-Adjusted Markov Models”, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol.26, no.6, pp.1126-1138, 2007. C. Ioannides, K. Eder, “Coverage directed test generation automated by machine learning - a review,”, ACM Trans. on Design Automation of Electronic Systems, vol. 17, no. 1, pp. 7:1-7:21, 2012. S. Fine and A. Ziv, “Coverage directed test generation for functional verification using bayesian networks,” Design Automation Conference, pp. 286-291, 2003. Y. Katz, M. Rimon, A. Ziv, and G. Shaked, “Learning microarchitectural behavious to improve stimuli generation quality,” Design Automation Conference, pp. 848853, 2011. S. M. Plaza, I. L. Markov, and V. Bertacco, “Toggle: A coverage-guided random stimulus generator,” Int’l Workshop on Logic Synthesis, pp. 35-1357, 2007. S. Shyam, V Bertacco, “Distance-Guided Hybrid Verification with GUIDO”, Proceedings of the conference on Design, automation and test in Europe, p. 1211-1216, 2006. T. Koski and J. M. Noble, ”Bayesian Networks An Introduction”, John Wiley & Sons, 2009. M. Scutari and J-B. Denis, ”Bayesian Networks with Examples in R”, CRC Press, 2015. Yosys, http://www.clifford.at/yosys/about.html. Icarus Verilog, http://iverilog.icarus.com/. bnlearn, https://cran.r-project.org/web/packages/ bnlearn/index.html. 本報告では,ベイジアンネットワークの機械学習をカバ レッジ駆動検証に利用する手法について検討した.設計対 象をマイクロプロセッサなどに限定せず,トグルカバレッ ジを対象として,リグレッション検証での利用を想定して 実験を行った.特に,入力信号線に確率分布を設定する際, 2サイクルにわたる信号値の変化に着目して,機械学習を 適用した.この結果,トグルカバレッジに関しては一般的 に効果があるという示唆が得られた. 本報告では機械学習のアルゴリズムにはヒルクライム法 を用い,確率分布の (周辺分布) 算出にはサンプリング法を. ⓒ 2016 Information Processing Society of Japan. 19.

(7)

図 8 1 サイクル系列に対する確率分布 ! 図 9 2 サイクル系列に対する確率分布 0! 0!0! 0!1!1!1!1! 後,残った状態変数 ( フリップフロップの出力 ) すべてを 考え,さらにランダムシミュレーションによるカバー率が 10% から 80% のカバーポイントをターゲットとしている. 選択したカバーポイント全てについて 1 回以上カバーする までのシミュレーションの回数 (1 回のシミュレーション は 250 サイクル ) を比較した.結果を表 2 にまとめる. 5 回繰り返して得られた

参照

関連したドキュメント

機械物理研究室では,光などの自然現象を 活用した高速・知的情報処理の創成を目指 した研究に取り組んでいます。応用物理学 会の「光

「特定温室効果ガス年度排出量等(特定ガス・基準量)」 省エネ診断、ISO14001 審査、CDM CDM有効化審査などの業務を 有効化審査などの業務を

・患者毎のリネン交換の検討 検討済み(基準を設けて、リネンを交換している) 改善 [微生物検査]. 未実施

建設機械器具等を保持するための費用その他の工事

の改善に加え,歩行効率にも大きな改善が見られた。脳

高効率熱源機器の導入(1.1) 高効率照明器具の導入(3.1) 高効率冷却塔の導入(1.2) 高輝度型誘導灯の導入(3.2)

• 熱負荷密度の高い地域において、 開発の早い段階 から、再エネや未利用エネルギーの利活用、高効率設 備の導入を促す。.

具体的な取組の 状況とその効果 に対する評価.