SlideShare a Scribd company logo
1 of 56
STARC
RTL設計スタイルガイド
を「こう使おう」
Verilog-HDL版
VER4.0 2011年版改定に対応
技術士(情報工学)・博士(工学)
小川清
20150327 1(c) @kaizen_nagoya, kaizen@wh.commufa.jp
概要
背景
1. 振る舞い言語の標準化
2. STARC RTL設計スタイルガイド
3. 教育のための準備
4. 業務利用のための準備
5. 逸脱の手続きと事例
まとめ と 付録
20150327
(c) @kaizen_nagoya, kaizen@wh.commufa.jp
背景
HDL言語の標準化をIEEEで決めた。標準に適合する
だけの書き方では適切な動作をしない可能性あり。
同じ記述でも,言語処理系,物理的な回路によって,
同じ振る舞いをしない可能性あり。
可読性,保守性の高い振舞設計記述。
ASIC設計とFPGA設計で違いあり。
ここでは主にFPGAに着目。
Verilog HDLはシミュレーションのために文法が緩い。
よりよい実装のためには強い規約が必要。
C言語とMISRA-C等のコーディング標準の関係と相似:
MISRA-C等はソフトウェアの空間的な部分集合で、時間
の指針が弱い。
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
FPGAを利用する理由
すばやい設計すばやい実装すばやい物理実験。
FPGA(flexible programmable gate array)は入
出力、RAMなどの機能ブロックが事前に決まって
いる。
構成要素として、LUT(look up table)、FF(flip
flop)などの配置, クロック配線
場合によってはCPU, DSP, ネットワークなどを
ハードウェアまたはソフトウェアで導入
道具が完備。書いてすぐに模擬試験
(simulation)。すぐに実装可能。
最終顧客がFPGAで実装試験を実施
発注時の仕様の打ち合わせ
FPGAの開発競争激しい
低消費電流化
高速度化
CPLD(小規模)から大規模FPGAまでの製品展開
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
FPGA ASIC
消費電
流 大
小にでき
る
処理速
度 遅
速くでき
る
IC面積 大
小にでき
る
設計から
実装
短くでき
る 長
1個作成
費用
安くでき
る 高
供給
主要2者
の競争
製造者
による
RTL設計スタイルガイド
言語の部分集合を定義し、HDLの曖昧さを排除(時間
的にも)
Verilog-HDLは特に。
ASIC向けのガイドが基本。
Verilog-HDLでは,第二版でFPGA向けの節を追加。
Verilog-HDLの第二版は本では日本語。System-
Verilogに対応した第三版。
CSVなど古典的ソフトでの記述だった。
定量的な記述は当時の制約の影響。
FPGAの場合の詳細が未整備。
Xilinx, Alteraのガイドを参考に対応付けがあるとよい
規則を守ることよりも、守らないときの理由が大事(規
則を守るよりも価値があることがあるかも)
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
1. 振舞言語
設計自動化(Design automation)/振舞言語(Behavioural
languages)
 IEEEで設計自動化として標準化、順次IECで振る舞い言語国際規
格化
 VHDLはAda(modula-2/pascal)から, Verilog-HDLはCとmodula-
2/pascalから
RTL設計スタイルガイド
㈱半導体理工学研究センター(STARC:Semiconductor
Technology Academic Research Center)
FPGAベンダによるガイド
Xilinx合成シミュレーション設計ガイド
Altera ハンドブック第1巻推奨HDLコーディング構文など
(c) @kaizen_nagoya, kaizen@wh.commufa.jp20150327
HDL:Hardware Description Language
設計自動化(Design automation)/HDLハードウェア記述言語
VHDL:VHSIC Hardware Description Language
VHSIC: Very High Speed Integrated Circuits
Verilog-HDL
振る舞い言語(Behavioural languages)
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
Pascal -> Modula-2
-> Ada -> VHDL
->Verilog-HDL -> System Verilog
-> System C
-> C#
-> C -> C++ -> JAVA
言語の関連
2. STARC
RTL設計スタイルガイド
論理回路の振る舞いを記述する手引き
 規則に沿った書き方をすると、間違が少ない
VHDL版とVerilog-HDL
版がある
それぞれ日本語版と
英語版がある
約600個の規則を3つ
(5つ)に分類
 必須。守らないときには、理由を文書化するとよい
 推奨。推奨には1,2,3の区分あり
 参考。自社の規則を作る際に検討
(c) @kaizen_nagoya, kaizen@wh.commufa.jp20150327
VHDL Verilog-HLD
日本語 初版
第2版(追加、
改定あり)
英語 初版 初版(pdfは第2版)
スタイルガイドの主な章構成
 1章 基本設計制約
 命名規則,設計スタイル,クロック,(非)同期設計,階層設計
 設計を開始時に考慮する設計制約
 2章 RTL記述テクニック
 組合せ回路,順序回路の記述スタイル, ステートマシン記述
 always文, function文, if文, case文, for文
 3章 RTL設計手法
 分割設計,機能ライブラリ,設計資産のパラメータ化、テスト
容易化設計、低消費電力設計、設計データの管理
 4章 検証のテクニック
 テストベンチのパラメータ化、タスクの使用、検証の進め方
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
利用処理系によるガイドの使い方
Verilog-HDL利用
System Verilog編以外を利用
Verilog -2001利用時は、Verilog-2001と特記部分も利用
System-Verilog利用
System Verilog編と記載の部分を合わせて利用
Design Compiler利用
付録 A-5 (この資料では省略)
Encounter RTL Compiler利用
付録 A-6 (この資料では省略)
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
3. 利用の準備
ルールの体系の確認
優先順位をつけてみる
現場の言葉を使った愛称(nick name)
現場の理解に合った番号の振りなおし
教育の順番を設定(以下は例です)
 <1>:実習前に
 <2>:実習中に
 <3>:進んでいる人が自習
 <4>:教育の作業の範囲外
(c) @kaizen_nagoya, kaizen@wh.commufa.jp20150327
次頁以降の検討成果記述汎例
<1>,<2>,<3>,<4>と教育順序を設定。
青文字の項目:RTL設計スタイルガイドで省略している
注記
<小川清による補足>
赤茶字:初学者のうちから習慣付けするとよい項目
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
1章 基本設計制約
(静的規則)
1.1 命名規則 <1>
<プログラムを書く際に、名前は必ず使う>
(動的規則) <2>
1.2 同期設計
1.3初期リセット
1.4 クロック
1.5 非同期設計
(構造設計) <4>
1.6 階層設計
1.7 FPGA<Verilog-HDL版ver.2以降>
(c) @kaizen_nagoya, kaizen@wh.commufa.jp20150327
2章 RTL記述技法(1/2)
(always文) <2>
2.1組み合わせ回路
2.2組み合わせ回路のalways文記述
2.3 FFの推定
2.4 ラッチ記述
2.5 トライステート・バッファ
2.6 回路構造を意識した always文記述
(制御文と演算) <2>
2.7 if文記述
2.8 case文記述
2.9 for文記述
2.10 演算子と代入文の記述
2.11 ステートマシン記述 <3>
(c) @kaizen_nagoya, kaizen@wh.commufa.jp20150327
2章 RTL記述技法(2/2)
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
(system Verilog編) <4>
2.12 データタイプの拡張
2.13 新しいalways文
2.14 if文とcase文の拡張
2.15 モジュール、ファンクション宣言と接続(verilog-2001)
2.16 インターフェース
3章 RTL設計手法
(機能ライブラリ) <3>
3.1 機能ライブラリの作成
3.2 機能ライブラリの使用
3.3 試験容易化設計(DFT) <4>
3.4 低消費電力設計 <3>
3.5 ソースコード, 設計データの管理 <1>
<ソースコードを必ず扱うため>
(c) @kaizen_nagoya, kaizen@wh.commufa.jp20150327
4章 検証技術
(Verification Techniques )
(試験台(test bench))
4.1 試験台記述 <2>
4.2 手続記述(Task description) <3>
4.3 検証の進め方(Verification process ) <3>
4.4 アサーションベース検証
4.5 アサーション記述テクニック(System Verilog編)
4.6 機能カバレッジ
4.7 ゲート水準模擬試験(simulation) <4>
4.8 静的刻時解析(static timing analysis) <3>
(c) @kaizen_nagoya, kaizen@wh.commufa.jp20150327
1章 基本設計制約
1.1. 命名規則
1.1.1. 基本命名規則を守る
1.1.2. 回路名や端子名は階層構造を意識し
た命名規則に従う
1.1.3. 信号名には意味のある名前を付ける
1.1.4. includeファイル、パラメータ、defineの
命名規則
1.1.5. クロック系を意識した命名をする
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
1.1.1. 基本命名規則を守る
① ファイル名は、”<モジュール名>.v” または”<モジュール名>.sv”とする [推奨2] <
推奨なのは過去の道具、遺産があるため。System verilogの拡張子sv追加>
② 使用文字は、英数字と’_’、最初の文字は英字のみ[必須]
③ Verilog HDL, SystemVerilog, VHDLの予約語は、使用しない [必 須] <他の言語
と連動して使う場合に困る>
④ ”VDD”, ”VSS”, ”VCC”, ”GND”, ”VREF” で始まる名前は、使用しない(大小文字
とも) [必須] <回路シミュレータと連動して使う場合に困る>
⑤ 英字の大文字/ 小文字で、名称を区別しない(Abc,abc など) [必須] <可読性が良
くないし、OSや道具によっては混同するため>
⑥ 最上位のポート名・モジュール名は ‘_’ を最後に使用及び連続使用しない[推奨1]
⑦ 負論理信号は極性がわかるように末尾に識別記号(”_X”, ”_N” など) を付ける
[推奨2]<_Xよりは_Nの方がよい。>
⑧ インスタンス名はモジュール名を基本とし、複数使用されるインスタンス名は”<モ
ジュール名>_< 数値>” とする [推奨3]
⑨ 最上位のモジュール名・ポート名は16 文字以内で大文字/ 小文字
を混在させない[推奨1]
⑩ 使用するASIC ライブラリと同じインスタンス名、セル名を使用しない[必須]
(c) @kaizen_nagoya, kaizen@wh.commufa.jp20150327
1.1.2. 回路名や端子名は階層構造を
意識した命名規則に従う
① モジュール名、インスタンス名は、2 文字以上、32 文字以下とする[必須]
<解説:1文字の名前は一覧を作り、目的を記載する(逸脱文書)。それ以外の目的
では使わない事、今後、1文字の名前を作らないことを徹底する>
・16 文字以下を推奨する(推奨2)
・階層を含んだインスタンス名は128 文字以内とする(推奨3)
② 最上位(TOP) にある階層(ブロック名)の先頭には、階層識別文字を付加する
[推奨3]
③ サブ階層の階層識別文字には、上位階層の階層識別文字を付加する[推奨3]
④ 各ブロック出力端子名の先頭文字は、”< 階層識別文字>”+”_” とする[推奨3]
⑤ ブロックの入力信号名・出力信号名は、内部の信号とは別の命名規則がある
とよい [参考]
⑥ 出力端子名と接続されるネット名は同一とする[推奨2]
・上位階層のネット名と入力端子名を同一とする(推奨2)
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
1.1.3. 信号名には意味のある
名前を付ける
① ブロック内部の信号名は、入出力信号名とは別の命名規則が
あるとよい [参考]
② 階層内部は、意味のある理解しやすい信号名を付ける [参考]
③ 信号名、ポート名、パラメータ名、define 名、ファンクション名は、
2 文字以上、40 文字以下とする [必須]
<1文字の名前は一覧を作り、目的を記載する(逸脱文書)。それ
以外の目的では使わない事、今後、1文字の名前を作らないこ
とを徹底する>
・24 文字以下を推奨する(推奨2)
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
1.1.4.include ファイル,パラメータ,defineの命名規則
① include ファイルは、RTL 記述に対しては ”.h”, ”.vh”, ”.inc”、テストベンチ
に対しては ”.h”, ”.inc”, ”.ht”, ”.tsk”とする [推奨2]
② パラメータ名は、異なる命名規則があるとよい [推奨3]
③ 同一名称のパラメータを、異なるモジュールで使用しない [推奨3]
④ defineは、同一モジュール内で宣言されたもののみを使用する [推奨1]
⑤ 1 つの階層内だけで使用するパラメータは、階層識別文字を付加すると
よい[参考]
⑥ 定数を出力ポートに直接出力しない [推奨1]
・入力ポートにも定数を入力しないほうがよい(参考)
⑦ 再利用を考えた回路は、必要なポートのビット幅をパラメータ化する [推
奨3]
⑧ パラメータも<数値>’b,’h,’d,’oの指定を明確化する [推奨1]
⑨ 32ビット幅以上の場合は、ビット幅を指定する [必須]
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
1.1.5. クロック系を意識した命名をする
① レジスタの出力信号名にはクロック系やレジスタ
を意識した命名をする [推奨3]
② クロック信号名はCLK またはCK、リセット信号
はRST_X またはRESET_X、イネーブル信号は
EN を基本とし、末尾に種別を付加する[推奨3]
③ クロック系を意識した命名 [参考]
④ レジスタを意識した命名 [参考]
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
1.7. FPGA
1.7.1. ASICとFPGAの両方を使用する場
合の注意点
①FPGA固有のクロックライン生成方法に従う
<改定> [参考]
② FPGA とASIC で異なる部分はCORE の記
述から除外する [参考]
③ FPGA, ASIC で異なる記述は`ifdef で切り
替える [参考]
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
3章 RTL設計手法
3.5. ソースコード、設計データの管理
3.5.1. ディレクトリを目的ごとに作成する
3.5.2. ファイルのサフィックス名
3.5.3. ファイルヘッダに必要な情報を定義する
3.5.4. ファイルのバージョンを管理する
3.5.5. ファイルのバックアップは定期的に
3.5.6. コメントを多用する
3.5.7. バージョン管理にCVSを使用する<CVS用>
3.5.8. CVSの基本操作<CVS用>
3.5.9. CVSの高度な使い方<CVS用>)
3.5.10. CVSの履歴によって変更内容を確認する<CVS用>
3.5.11. バグトラッキングシステムを構築する
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
3.5.1. ディレクトリを
目的ごとに作成する
① RTL 記述、合成スクリプト、論理合成結果、Sim
結果は、異なるディレクトリに保管する [必須]
② RTL 記述のディレクトリにはテストパターンを置
かない [推奨1]
③ データのバージョン管理はディレクトリをコピーし
て、いらないファイルを消去する [推奨2]
④ ファイル名は相対パスで参照する [推奨1]
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
3.5.2. ファイルのサフィックス名
① 各ファイルの参照は相対パスで指定(1 度master 階層まで戻る) [推奨1]
② RTL 記述は、”< モジュール名>” + ”.v” または”<モジュール名>”+.”sv” [推奨1]
③ テストベンチは、”_tb.v”,”_test.v”, ”.vt” [推奨3]
④ ゲート記述は、”< モジュール名>” + ”.v” あるいは、”.vnet” [推奨3]
⑤ include ファイルは、RTL 記述に対しては “.h”,“.vh”,“.inc”、テストベンチに対して
は“.h”,“.inc”,“.ht”,“.tsk” にする [推奨2]
⑥ Unix 上の実行ファイルは、”.run” [推奨3]
⑦ シミュレーション用(Verilog HDL)スクリプトファイルは、”.v_scr” [推奨3]
⑧ lint 用スクリプトファイルは、”.l_scr” [推奨3]
⑨ 合成スクリプトは、”.scr” [推奨3]
⑩ 合成、シミュレーション、レイアウトのlog はすべて、”.log” [推奨3]
⑪ lint のlog は、”.l_log” [推奨3]
⑫ 論理合成のレポートファイルは、”.rep” あるいは、”.tim” あるいは”.ara” [推奨3]
⑬ SDF ファイルは、”.sdf” [推奨1]
⑭ EDIF ファイルは、”.edif” または”.edf” [推奨1]
⑮ 合成データベースは、”.db” [推奨1]
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
3.5.3. ファイルヘッダに必要
な情報を定義する
① ファイルヘッダに回路名、回路機能、作成者、作
成日などを示す [推奨1]
② 再利用の場合には修正者や修正項目を示す [推
奨1]
③ ファイルヘッダを共通化する [推奨1]
④ 必要があればCVS を使用する [推奨3] <当時も
RCSなどの別の版管理の道具はあった。現在は
Subversion, redmineなどを使うことがある。CVS固有
の記述は他の道具に変換する。>
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
3.5.4. ファイルのバージョンを
管理する
① 複数メンバーでの開発ではマスターデータ
と個人用データを分離する [推奨1]
② CVS でファイルのバージョンを管理すること
ができる [参考]<当時もRCSなどの別の版
管理の道具はあった。現在はSubversion,
redmineなどを使うことがある。CVS固有の
記述は他の道具に変換する。>
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
3.5.5. ファイルの
バックアップは定期的に
① ファイルのバックアップを行なう [推奨2]
② 設計ディレクトリ全てを定期的にバックアップす
る[推奨2]
<版管理の道具を使ったり,ディスクごとバックアッ
プを取ったり,バックアップを常時取っているネッ
トワークディスクを使ったり,方法は様々。>
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
3.5.6. コメントを多用する
① コメントの多用によりソースコードの可読性が向上する [推奨2]
② 記述内の演算子などに、その目的や内容を示すコメントを付ける
[推奨2]
③ 入出力ポート、宣言は1 行で記述し必ずコメントを付ける [推奨2]
④ コメントはできるだけ英語で記述する [推奨2]
⑤ 日本語のコメントはEDA ツールによっては読めないことがある [参
考]
⑥ もっともトラブルの少ない日本語コードEUC を使用する [推奨1]
⑦ コメントは、// で始める [推奨3]
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
コメントに関する補足(小川清)
コメントを多用するとよくない場合
言語記述と矛盾したり,意味が不明になることがある
言語記述を改訂する際に,コメントも変更しないといけ
ない。
コメントの自動生成部分以外は多用しない方がよい場
合もある
//コメントの方がよい理由
/* */の間に入るコード例えば /* など,/* を利用してい
るとMISRA-Cのように関連ルールが必要
/* */だと,どこからどこまでがコメントかを理解するのに
タブなどが必要
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
3.5.11. バグトラッキングシス
テムを構築する
① 登録、アサイン、解決、検証の段階を明記す
る [参考]
② 状況をメールで送信するとともに表で表示す
る [参考]
<TRAC, Redmineなどの単独ソフトウェアを使う
場合と統合設計環境に組込み可能な機能を
使う場合がある。メール,表での表示はソフト
ウェアの機能にあるかを確認するとよい>
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
4. 業務利用の準備
 優先順位のつけ直し
 個々人に優先順位をつける
 班構成の会合で上位10個を確認(班に一人は
専門家)して班での合意を作成
 過去に公開講座で数度実施(SWEST2008を含む)
 累計上位10を紹介
 関連項目の中で再掲載(KWIC:key word in
context)
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
優先順位上位10(ver2当時)
1.4.3の推奨は、より詳細な必須ルールに改定
1.2.1 必須 ② AND,OR などのプリミティブセルでRS ラッチ、FF を作成しない
1.2.1 必須 ③ 組み合わせ回路のフィードバックは使用しない
1.3.1 必須 ⑥ 同一リセットラインで非同期リセットと同期リセットを混在させない
1.4.3 推奨1 ④ クロック信号は、FF のクロック入力端子以外(D 入力等)には供給しない
1.4.3 推奨3 ⑤ クロック信号は、ブラックボックスや双方向端子、リセットラインに接続しない
1.5.1 必須 ③ 非同期間転送後、1 段目のFF でフィードバックループをしない
2.1.2 必須 ③ 引数はすべてfunction文の入力として定義する
2.1.3 必須 ① 引数のビット幅とfunction文の入力宣言のビット幅を合わせる(Verilog HDL only)
2.1.3 必須 ⑤ function文内では、グローバル信号に代入を行なわない(Verilog HDL only)
2.1.5 必須 ・(?)は最大でも10 回までにする
20150327(c) @kaizen_nagoya, kaizen@wh.commufa.jp
RTL1.2同期設計
(c) @kaizen_nagoya, kaizen@wh.commufa.jp20150327 36
RTL1.3 初期化リセット
(c) @kaizen_nagoya, kaizen@wh.commufa.jp20150327
RTL1.4.3 ゲーティッドクロック
の使用は注意(ver2当時)
(c) @kaizen_nagoya, kaizen@wh.commufa.jp20150327 38
推奨2
① 同一クロックライン上での反転、ゲーティッドクロックの使用、エッジの異なる
FF の使用は避ける
推奨1 ② FF の出力ピンを他のFF のクロックピンに入力しない
参考 ③ ゲーティッドクロックは、消費電力を抑えるためにはよい方法
推奨1 ④ クロック信号は、FF のクロック入力端子以外(D 入力等)には供給しない
推奨3 ⑤ クロック信号は、ブラックボックスや双方向端子、リセットラインに接続しない
推奨1 ⑥ 反転エッジのFF を使用しない
Gated clock, clock gating: 時計開閉。省電力のために時間信
号を開閉する。
FPGAは組込みの省電力機構を用いるとよい
RTL1.4.3 ゲーティッドクロック
の使用は注意<改定2011後>
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
推奨2 ① 同じクロックラインでの正負両エッジクロックを使用しない。
推奨1 ② 反転エッジFFを使用しない
必須 ③ FF の出力ピンを他のFF のクロックピンに入力しない
必須 ④ ゲーティッドクロックはOR型、AND型以外は用いない
必須
⑤ クロックラインにNAND, NOR, XOR, XNOR,拉致、トライステート
バッファは用いない
推奨1 ⑥ クロックラインにグリッチを発生させない
必須
⑦ クロック選択信号を生成しているFFは、クロック選択後のクロック
を入力しない
必須
⑥ ゲーティッドクロックを生成しているFFは、ゲーティッドされた後の
クロックを入力しない
RTL1.5.1. 非同期クロック間の信号に
はメタ・ステーブルを考慮(ver2当時)
(c) @kaizen_nagoya, kaizen@wh.commufa.jp20150327 40
必須
① 非同期クロックドメイン間は、メタ・ステーブル対策のため組み合わせ論理回
路を置かない
推奨1
② メタ・ステーブル対策のため、データ取り込み用のFF と、その次のFF の間に
組み合わせ論理回路を置かない
必須 ③ 非同期間転送後、1 段目のFF でフィードバックループをしない
推奨2 ④ ノイズが乗りやすいIC 外部からの入力にもメタ・ステーブル対策が必要
Meta stable:不安定平衡状態(unstable equilibrium
state)。一定期間発振する。1か0かに収束する。収束
時間のデータがない。
RTL1.5.1. 非同期クロック間の信号
にはメタ・ステーブルを考慮<改定後>
1.5.1. 非同期クロック間の信号にはメタ・ステーブルを考慮
必須
① 非同期クロックドメイン間は、メタ・ステーブル対策のため組み合わせ
論理回路を置かない
推奨1
② メタ・ステーブル対策のため、制御信号は、非同期クロックドメイン間
転送後、次のFFとの間に組み合わせ論理回路を置かない
必須
③ データ信号は、メタステーブルが生じないようsetup, hold期間を確保
して転送する
必須
④ 非同期クロックドメイン間転送後、異なる信号を合流させない(リコン
バージェンスエラー)
推奨1 ⑤ 非同期クロックドメイン間転送出たを、2ケ所以上で同期しない
必須 ⑥ 異なる非同期クロックドメイン間同士の信号を合流させない
推奨2
⑦ ノイズが乗りやすいIC 外部からの入力にもメタ・ステーブル対策が必
要
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
RTL2.1.2. function 文によって組み合わ
せ回路を定義
(c) @kaizen_nagoya, kaizen@wh.commufa.jp20150327
42
必須 ①function文はFF推定のalways文内で、非同期リセットラインの論理に使用しない
必須 ②function文内では、ノンブロッキング代入(<=)を使用しない(VerilogHDLonly)
必須 ③引数はすべてfunction文の入力として定義する
推奨1 ④task文は使用しない(VerilogHDLonly)
必須 ⑤task文内では、クロックエッジ記述をしない(VerilogHDL only)
RTL2.1.3 function 文では、引数やビット幅に
対するチェックを入念にする(ver2当時)
(c) @kaizen_nagoya, kaizen@wh.commufa.jp20150327
43
改定 ⑤「グローバル信号」ー>「モジュール内信号」
RTL2.1.5. 条件演算((A)?B:C)の使用
は1 回まで
(c) @kaizen_nagoya, kaizen@wh.commufa.jp20150327 44
推奨3 ① 条件演算(?)のネストは1回までにする(Verilog HDL only)
・(?)は最大でも10 回までにする(必須)
参考 ② 条件式が不定値ユxユの場合、分岐文の各ビット毎に値を比較して出力される
・条件式が不定値ユxユの場合、if文より正確な値を出力する(Verilog HDL only)
推奨2 ③ if 文あるいは(?)の条件式を、ベクタにしない(Verilog HDL only)
5.逸脱の手続きと事例
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
優先順位付けに基づいて規則を合意し対象外を決める
例:テストベンチでの習慣(逸脱文書は作る)
Tbを名前の最初につける方法
整数は10進数を標準にする場合にDをつけない
不足している規則を追加(分野固有の命名規則など)
できればHAZOPなど設計審査を経る
対象外にする方法は3つ
規則そのものを考慮せず検査もしない
共通の逸脱文書を作るが、検査をして資料は残す
共通の逸脱文書にはないが、必要な逸脱なので個別
の文書化をする
逸脱の手続き例(1)
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
逸脱の手続き例(2)
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
事例
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
逸脱例:1.1.3.3 信号名、ポート名、パラ
メータ名、define 名、ファンクション名は、2
文字以上、40 文字以下とする
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
1文字でよく使っている変数は逸脱文書を作成する。
新たに1文字の変数を作らない。
場合によっては出現箇所一覧を確認(チェッカの出力
をつけ利用目的と同じことを確認した人の署名)
まとめ
任意性の少ない設計
検証,試験しやすい
教育時の事前,最中,事後、範囲外に区分
作業時に優先順位付けをする
知見の集約,環境の変化への対応、逸脱の合意
逸脱した方が効果的な場合は逸脱のの手続き
道具の有効利用
道具の紹介
HAZOPの実施
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
参考文献
[1] 岐阜大学 FPGA による画像処理入門編, 名古屋ソフトウェア
センタ, 2010
[2] 長谷川誠, 渡会勝彦, 米永裕司, 渡部謹二, 小川清,Verilog
HDL スタイルガイドの利用方法, IPSJ 研究報告. EMB,組込み
システム 2008(1), pp. 7-10, 2008
[3] Miron A, Melvin A.B., Arthur D.f., Digital systems testing and
testable design, Jaico publishing house, 1993
[4] 小川清,渡部謹二,斉藤直希,森川聡久,服部博行, デジタ
ル設計工学の基礎の検討, 第6 回ディペンダビティシンポジウ
ム, 2009
[5] RTL設計スタイルガイドverilog-HDL編/VHDL編,STARC,
2006/2011
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
例(sample)をコンパイルしよう
スタイルガイドには、例の記述があります。眺めて、ふんふん言っ
ているだけでなく、実際に打ち込んで、コンパイルしてみましょう。
省略部分を補足しないとコンパイルエラーになる場合があります。
補足してもコンパイルエラーになる場合(コンパイラの性能、仕様
に依存)は対応を検討
複数のコードを回路生成して比較
模擬試験(simulation)して比較
FPGAに実装してみて振る舞い確認
Xilinx ISE Webpackでの実験結果を
http://researchmap.jp/kaizen/STARC-RTL設計スタイルガイド/
に掲載予定
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
実習で利用しているFPGA例
Xilinx
ISE WebpackとModelSimを
同梱。そのまま利用可能。
最新のISE Webpackでも利
用可能
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
第5回5都市
FPGAカンファレンス2010
http://www.fpga.or.jp/5city2010/ChubuSC2010.html
中部招待講演 「STARC RTL設計スタイルガイドを
「こう使おう」Verilog-HDL版」 小川清
「ドクターFPGA FPGA初心者のためのデバッグヒン
ト」で紹介のあった事例について、スタイルガイドのど
の規則を参照しているとよいかをその場で解説
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
改定履歴
1.0 FPGA研修で説明
2.0 SWEST での優先順位付け
3.0 企業のVerilog-HDL研修
4.0 2011年版に対応
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp
謝辞
STARC RTL設計スタイルガイドの取り組みは産業技術推進連絡
会議でFPGAコンソーシアムの代表の熊本大学の末吉敏則教授
のご指導により始めました。
規則の検討会に、ルネサステクノロジー、富士通VLSI、中央製作
所、大同大学、名古屋市工業研究所が参加しました。
スタイルガイド利用、検討のセミナはSWEST, FPGAカンファレンス
などにおいて実施してきました。
Design Wave 2009年2月号(CQ出版)に関連記事があります。
関係者の皆様に感謝いたします。
20150327 (c) @kaizen_nagoya, kaizen@wh.commufa.jp

More Related Content

What's hot

高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装MITSUNARI Shigeo
 
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解MITSUNARI Shigeo
 
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたTakefumi MIYOSHI
 
ウェーブレットと多重解像度処理
ウェーブレットと多重解像度処理ウェーブレットと多重解像度処理
ウェーブレットと多重解像度処理h_okkah
 
Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善Naoaki Okazaki
 
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)智啓 出川
 
[DL輪読会]物理学による帰納バイアスを組み込んだダイナミクスモデル作成に関する論文まとめ
[DL輪読会]物理学による帰納バイアスを組み込んだダイナミクスモデル作成に関する論文まとめ[DL輪読会]物理学による帰納バイアスを組み込んだダイナミクスモデル作成に関する論文まとめ
[DL輪読会]物理学による帰納バイアスを組み込んだダイナミクスモデル作成に関する論文まとめDeep Learning JP
 
Starc verilog hdl2013d
Starc verilog hdl2013dStarc verilog hdl2013d
Starc verilog hdl2013dKiyoshi Ogawa
 
【DL輪読会】"Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"
【DL輪読会】"Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"【DL輪読会】"Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"
【DL輪読会】"Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"Deep Learning JP
 
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)智啓 出川
 
Long Short-term Memory
Long Short-term MemoryLong Short-term Memory
Long Short-term Memorynishio
 
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language ModelsDeep Learning JP
 
【論文読み会】Autoregressive Diffusion Models.pptx
【論文読み会】Autoregressive Diffusion Models.pptx【論文読み会】Autoregressive Diffusion Models.pptx
【論文読み会】Autoregressive Diffusion Models.pptxARISE analytics
 
冗長変換とその画像復元応用
冗長変換とその画像復元応用冗長変換とその画像復元応用
冗長変換とその画像復元応用Shogo Muramatsu
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門Fixstars Corporation
 
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門Hironori Sekine
 
論文紹介 "DARTS: Differentiable Architecture Search"
論文紹介 "DARTS: Differentiable Architecture Search"論文紹介 "DARTS: Differentiable Architecture Search"
論文紹介 "DARTS: Differentiable Architecture Search"Yuta Koreeda
 
ACRi HLSチャレンジ 高速化テクニック紹介
ACRi HLSチャレンジ 高速化テクニック紹介ACRi HLSチャレンジ 高速化テクニック紹介
ACRi HLSチャレンジ 高速化テクニック紹介Jun Ando
 

What's hot (20)

高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
 
AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解AVX-512(フォーマット)詳解
AVX-512(フォーマット)詳解
 
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみた
 
ウェーブレットと多重解像度処理
ウェーブレットと多重解像度処理ウェーブレットと多重解像度処理
ウェーブレットと多重解像度処理
 
Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善
 
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
 
[DL輪読会]物理学による帰納バイアスを組み込んだダイナミクスモデル作成に関する論文まとめ
[DL輪読会]物理学による帰納バイアスを組み込んだダイナミクスモデル作成に関する論文まとめ[DL輪読会]物理学による帰納バイアスを組み込んだダイナミクスモデル作成に関する論文まとめ
[DL輪読会]物理学による帰納バイアスを組み込んだダイナミクスモデル作成に関する論文まとめ
 
Starc verilog hdl2013d
Starc verilog hdl2013dStarc verilog hdl2013d
Starc verilog hdl2013d
 
【DL輪読会】"Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"
【DL輪読会】"Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"【DL輪読会】"Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"
【DL輪読会】"Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"
 
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
 
Long Short-term Memory
Long Short-term MemoryLong Short-term Memory
Long Short-term Memory
 
TLA+についての話
TLA+についての話TLA+についての話
TLA+についての話
 
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
 
【論文読み会】Autoregressive Diffusion Models.pptx
【論文読み会】Autoregressive Diffusion Models.pptx【論文読み会】Autoregressive Diffusion Models.pptx
【論文読み会】Autoregressive Diffusion Models.pptx
 
冗長変換とその画像復元応用
冗長変換とその画像復元応用冗長変換とその画像復元応用
冗長変換とその画像復元応用
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
 
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
 
論文紹介 "DARTS: Differentiable Architecture Search"
論文紹介 "DARTS: Differentiable Architecture Search"論文紹介 "DARTS: Differentiable Architecture Search"
論文紹介 "DARTS: Differentiable Architecture Search"
 
HiPPO/S4解説
HiPPO/S4解説HiPPO/S4解説
HiPPO/S4解説
 
ACRi HLSチャレンジ 高速化テクニック紹介
ACRi HLSチャレンジ 高速化テクニック紹介ACRi HLSチャレンジ 高速化テクニック紹介
ACRi HLSチャレンジ 高速化テクニック紹介
 

Similar to How to use STARC RTL Design Style Guide Verilog-HDL 2011 version

STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強Kiyoshi Ogawa
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説Daisuke Nishino
 
プロとしてのOracleアーキテクチャ入門 ~番外編~
プロとしてのOracleアーキテクチャ入門 ~番外編~プロとしてのOracleアーキテクチャ入門 ~番外編~
プロとしてのOracleアーキテクチャ入門 ~番外編~ryouta watabe
 
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQLMySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQLRyusuke Kajiyama
 
[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...
[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...
[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...Insight Technology, Inc.
 
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC EnterpriseYusukeKuramata
 
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとはdb tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとはKoji Shinkubo
 
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~Naoki (Neo) SATO
 
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...Suguru Ito
 
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発 夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発 Takakiyo Tanaka
 
LINE BOOT AWARDS に挑む ~テクノロジーファーストでもいいじゃない
LINE BOOT AWARDS に挑む ~テクノロジーファーストでもいいじゃないLINE BOOT AWARDS に挑む ~テクノロジーファーストでもいいじゃない
LINE BOOT AWARDS に挑む ~テクノロジーファーストでもいいじゃないKazumi IWANAGA
 
20180706_VxRailCC_ワークショップ編_NW
20180706_VxRailCC_ワークショップ編_NW20180706_VxRailCC_ワークショップ編_NW
20180706_VxRailCC_ワークショップ編_NWVxRail ChampionClub
 
AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)Akio Katayama
 
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-public20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-publicAmazon Web Services Japan
 
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。Masayuki Ozawa
 
Dotnetcore30forwindesktop
Dotnetcore30forwindesktopDotnetcore30forwindesktop
Dotnetcore30forwindesktopru pic
 
MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索yoyamasaki
 
Seas で語られたこととは?
Seas で語られたこととは?Seas で語られたこととは?
Seas で語られたこととは?Masayuki Ozawa
 
Splunkと各種ツールによるAWSの管理
Splunkと各種ツールによるAWSの管理Splunkと各種ツールによるAWSの管理
Splunkと各種ツールによるAWSの管理kinunori
 
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうかWebアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうかChihiro Ito
 

Similar to How to use STARC RTL Design Style Guide Verilog-HDL 2011 version (20)

STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
 
プロとしてのOracleアーキテクチャ入門 ~番外編~
プロとしてのOracleアーキテクチャ入門 ~番外編~プロとしてのOracleアーキテクチャ入門 ~番外編~
プロとしてのOracleアーキテクチャ入門 ~番外編~
 
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQLMySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
 
[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...
[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...
[db tech showcase Tokyo 2015] D23:MySQLはドキュメントデータベースになり、HTTPもしゃべる - MySQL Lab...
 
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
 
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとはdb tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
 
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
 
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
 
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発 夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
 
LINE BOOT AWARDS に挑む ~テクノロジーファーストでもいいじゃない
LINE BOOT AWARDS に挑む ~テクノロジーファーストでもいいじゃないLINE BOOT AWARDS に挑む ~テクノロジーファーストでもいいじゃない
LINE BOOT AWARDS に挑む ~テクノロジーファーストでもいいじゃない
 
20180706_VxRailCC_ワークショップ編_NW
20180706_VxRailCC_ワークショップ編_NW20180706_VxRailCC_ワークショップ編_NW
20180706_VxRailCC_ワークショップ編_NW
 
AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)
 
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-public20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
 
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
 
Dotnetcore30forwindesktop
Dotnetcore30forwindesktopDotnetcore30forwindesktop
Dotnetcore30forwindesktop
 
MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索
 
Seas で語られたこととは?
Seas で語られたこととは?Seas で語られたこととは?
Seas で語られたこととは?
 
Splunkと各種ツールによるAWSの管理
Splunkと各種ツールによるAWSの管理Splunkと各種ツールによるAWSの管理
Splunkと各種ツールによるAWSの管理
 
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうかWebアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
 

More from Kiyoshi Ogawa

Misracompliant20162020
Misracompliant20162020Misracompliant20162020
Misracompliant20162020Kiyoshi Ogawa
 
High Quality Design with Hcd and hazop
High Quality Design with Hcd and hazopHigh Quality Design with Hcd and hazop
High Quality Design with Hcd and hazopKiyoshi Ogawa
 
Deep learningwithgithubanddocker
Deep learningwithgithubanddockerDeep learningwithgithubanddocker
Deep learningwithgithubanddockerKiyoshi Ogawa
 
Deep learningwithgithubanddocker
Deep learningwithgithubanddockerDeep learningwithgithubanddocker
Deep learningwithgithubanddockerKiyoshi Ogawa
 
Who like C++ coding standard
Who like C++ coding standardWho like C++ coding standard
Who like C++ coding standardKiyoshi Ogawa
 
Who enjoy a coding standard? ver. 0.30
Who enjoy a coding standard? ver. 0.30Who enjoy a coding standard? ver. 0.30
Who enjoy a coding standard? ver. 0.30Kiyoshi Ogawa
 
Who enjoy a coding standard? ver. 0.20
Who enjoy a coding standard? ver. 0.20Who enjoy a coding standard? ver. 0.20
Who enjoy a coding standard? ver. 0.20Kiyoshi Ogawa
 
Who enjoy a coding standard?
Who enjoy a coding standard?Who enjoy a coding standard?
Who enjoy a coding standard?Kiyoshi Ogawa
 
TOPPERS as an IoT OS(kernel)
TOPPERS as an IoT OS(kernel)TOPPERS as an IoT OS(kernel)
TOPPERS as an IoT OS(kernel)Kiyoshi Ogawa
 
How can we resolve problems.
How can we resolve problems.How can we resolve problems.
How can we resolve problems.Kiyoshi Ogawa
 
Datamining Introduction using R with Raspbian on Raspberry Pi 3B.
Datamining Introduction using R with Raspbian on Raspberry Pi 3B.Datamining Introduction using R with Raspbian on Raspberry Pi 3B.
Datamining Introduction using R with Raspbian on Raspberry Pi 3B.Kiyoshi Ogawa
 
Hazop Safety and Security at Fukui 2017(2/2)
Hazop Safety and Security at Fukui 2017(2/2)Hazop Safety and Security at Fukui 2017(2/2)
Hazop Safety and Security at Fukui 2017(2/2)Kiyoshi Ogawa
 
Hazop Safety and Security at Fukui 2017(1/2)
Hazop Safety and Security at Fukui 2017(1/2)Hazop Safety and Security at Fukui 2017(1/2)
Hazop Safety and Security at Fukui 2017(1/2)Kiyoshi Ogawa
 
Hazop and triz by/of/for the children(3/3)
Hazop and triz by/of/for the children(3/3)Hazop and triz by/of/for the children(3/3)
Hazop and triz by/of/for the children(3/3)Kiyoshi Ogawa
 
Hazop and triz by/of/for the children(2/3)
Hazop and triz by/of/for the children(2/3)Hazop and triz by/of/for the children(2/3)
Hazop and triz by/of/for the children(2/3)Kiyoshi Ogawa
 
Hazop and triz by/of/for the children(1/3)
Hazop and triz by/of/for the children(1/3)Hazop and triz by/of/for the children(1/3)
Hazop and triz by/of/for the children(1/3)Kiyoshi Ogawa
 
Raspberrypitraining20171027
Raspberrypitraining20171027Raspberrypitraining20171027
Raspberrypitraining20171027Kiyoshi Ogawa
 

More from Kiyoshi Ogawa (20)

Misracompliant20162020
Misracompliant20162020Misracompliant20162020
Misracompliant20162020
 
High Quality Design with Hcd and hazop
High Quality Design with Hcd and hazopHigh Quality Design with Hcd and hazop
High Quality Design with Hcd and hazop
 
Deep learningwithgithubanddocker
Deep learningwithgithubanddockerDeep learningwithgithubanddocker
Deep learningwithgithubanddocker
 
Deep learningwithgithubanddocker
Deep learningwithgithubanddockerDeep learningwithgithubanddocker
Deep learningwithgithubanddocker
 
Nagoya2018
Nagoya2018Nagoya2018
Nagoya2018
 
Hazop tokyo201809
Hazop tokyo201809Hazop tokyo201809
Hazop tokyo201809
 
Who like C++ coding standard
Who like C++ coding standardWho like C++ coding standard
Who like C++ coding standard
 
Who enjoy a coding standard? ver. 0.30
Who enjoy a coding standard? ver. 0.30Who enjoy a coding standard? ver. 0.30
Who enjoy a coding standard? ver. 0.30
 
Who enjoy a coding standard? ver. 0.20
Who enjoy a coding standard? ver. 0.20Who enjoy a coding standard? ver. 0.20
Who enjoy a coding standard? ver. 0.20
 
Who enjoy a coding standard?
Who enjoy a coding standard?Who enjoy a coding standard?
Who enjoy a coding standard?
 
機械と標準
機械と標準機械と標準
機械と標準
 
TOPPERS as an IoT OS(kernel)
TOPPERS as an IoT OS(kernel)TOPPERS as an IoT OS(kernel)
TOPPERS as an IoT OS(kernel)
 
How can we resolve problems.
How can we resolve problems.How can we resolve problems.
How can we resolve problems.
 
Datamining Introduction using R with Raspbian on Raspberry Pi 3B.
Datamining Introduction using R with Raspbian on Raspberry Pi 3B.Datamining Introduction using R with Raspbian on Raspberry Pi 3B.
Datamining Introduction using R with Raspbian on Raspberry Pi 3B.
 
Hazop Safety and Security at Fukui 2017(2/2)
Hazop Safety and Security at Fukui 2017(2/2)Hazop Safety and Security at Fukui 2017(2/2)
Hazop Safety and Security at Fukui 2017(2/2)
 
Hazop Safety and Security at Fukui 2017(1/2)
Hazop Safety and Security at Fukui 2017(1/2)Hazop Safety and Security at Fukui 2017(1/2)
Hazop Safety and Security at Fukui 2017(1/2)
 
Hazop and triz by/of/for the children(3/3)
Hazop and triz by/of/for the children(3/3)Hazop and triz by/of/for the children(3/3)
Hazop and triz by/of/for the children(3/3)
 
Hazop and triz by/of/for the children(2/3)
Hazop and triz by/of/for the children(2/3)Hazop and triz by/of/for the children(2/3)
Hazop and triz by/of/for the children(2/3)
 
Hazop and triz by/of/for the children(1/3)
Hazop and triz by/of/for the children(1/3)Hazop and triz by/of/for the children(1/3)
Hazop and triz by/of/for the children(1/3)
 
Raspberrypitraining20171027
Raspberrypitraining20171027Raspberrypitraining20171027
Raspberrypitraining20171027
 

Recently uploaded

MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。iPride Co., Ltd.
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用KLab Inc. / Tech
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイントonozaty
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員Sadaomi Nishi
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfTakayuki Nakayama
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdkokinagano2
 
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルLoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルCRI Japan, Inc.
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperleger Tokyo Meetup
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルCRI Japan, Inc.
 

Recently uploaded (9)

MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
 
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルLoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
 

How to use STARC RTL Design Style Guide Verilog-HDL 2011 version