Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Kiyoshi Ogawa
PPTX, PDF
5,746 views
Starc verilog hdl2013d
STARC RTL Design Style Guide Verilog HDL lecture before starting to design.
Technology
◦
Read more
3
Save
Share
Embed
Embed presentation
Download
Downloaded 21 times
1
/ 51
2
/ 51
3
/ 51
4
/ 51
5
/ 51
6
/ 51
7
/ 51
8
/ 51
9
/ 51
10
/ 51
11
/ 51
12
/ 51
Most read
13
/ 51
14
/ 51
15
/ 51
16
/ 51
17
/ 51
18
/ 51
19
/ 51
20
/ 51
21
/ 51
22
/ 51
23
/ 51
24
/ 51
Most read
25
/ 51
26
/ 51
27
/ 51
28
/ 51
29
/ 51
30
/ 51
31
/ 51
32
/ 51
33
/ 51
34
/ 51
35
/ 51
36
/ 51
37
/ 51
38
/ 51
39
/ 51
40
/ 51
41
/ 51
42
/ 51
43
/ 51
44
/ 51
45
/ 51
46
/ 51
47
/ 51
48
/ 51
49
/ 51
50
/ 51
51
/ 51
Most read
More Related Content
PDF
ACPI Debugging from Linux Kernel
by
SUSE Labs Taipei
PPTX
How to use STARC RTL Design Style Guide Verilog-HDL 2011 version
by
Kiyoshi Ogawa
PPTX
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
by
Kiyoshi Ogawa
PDF
10分で分かるLinuxブロックレイヤ
by
Takashi Hoshino
PDF
FPGA+SoC+Linux実践勉強会資料
by
一路 川染
PDF
[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
by
Insight Technology, Inc.
PDF
Vivado hlsのシミュレーションとhlsストリーム
by
marsee101
PDF
ACRi HLSチャレンジ 高速化テクニック紹介
by
Jun Ando
ACPI Debugging from Linux Kernel
by
SUSE Labs Taipei
How to use STARC RTL Design Style Guide Verilog-HDL 2011 version
by
Kiyoshi Ogawa
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
by
Kiyoshi Ogawa
10分で分かるLinuxブロックレイヤ
by
Takashi Hoshino
FPGA+SoC+Linux実践勉強会資料
by
一路 川染
[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
by
Insight Technology, Inc.
Vivado hlsのシミュレーションとhlsストリーム
by
marsee101
ACRi HLSチャレンジ 高速化テクニック紹介
by
Jun Ando
What's hot
PPTX
Zynq + Vivado HLS入門
by
narusugimoto
PDF
Intel dpdk Tutorial
by
Saifuddin Kaijar
PDF
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)
by
Kuniyasu Suzaki
PDF
Dpdk pmd
by
Masaru Oki
PDF
TCAMのしくみ
by
ogatay
PDF
Shared Memory Centric Computing with CXL & OMI
by
Allan Cantle
PDF
Project ACRN: SR-IOV implementation
by
Geoffroy Van Cutsem
PDF
CXL_説明_公開用.pdf
by
Yasunori Goto
PDF
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
by
Kuniyasu Suzaki
PDF
“見てわかる” ファイバーチャネルSAN基礎講座(第5弾)~さあ、いよいよ、運用です!~
by
Brocade
PDF
DPDK in Containers Hands-on Lab
by
Michelle Holley
PDF
Interrupt Affinityについて
by
Takuya ASADA
PDF
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
by
Takahiro YAMADA
PDF
バックアップ時の問題から学んだDBエンジニアに必要なスキルとは
by
TakeshiYamamoto2049
PDF
If AMD Adopted OMI in their EPYC Architecture
by
Allan Cantle
PDF
Vivado hls勉強会5(axi4 stream)
by
marsee101
PPTX
Linux I2C
by
KaidenYu
PPTX
Q1 Memory Fabric Forum: XConn CXL Switches for AI
by
Memory Fabric Forum
PDF
ARM Trusted FirmwareのBL31を単体で使う!
by
Mr. Vengineer
PDF
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
by
44CON
Zynq + Vivado HLS入門
by
narusugimoto
Intel dpdk Tutorial
by
Saifuddin Kaijar
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)
by
Kuniyasu Suzaki
Dpdk pmd
by
Masaru Oki
TCAMのしくみ
by
ogatay
Shared Memory Centric Computing with CXL & OMI
by
Allan Cantle
Project ACRN: SR-IOV implementation
by
Geoffroy Van Cutsem
CXL_説明_公開用.pdf
by
Yasunori Goto
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
by
Kuniyasu Suzaki
“見てわかる” ファイバーチャネルSAN基礎講座(第5弾)~さあ、いよいよ、運用です!~
by
Brocade
DPDK in Containers Hands-on Lab
by
Michelle Holley
Interrupt Affinityについて
by
Takuya ASADA
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
by
Takahiro YAMADA
バックアップ時の問題から学んだDBエンジニアに必要なスキルとは
by
TakeshiYamamoto2049
If AMD Adopted OMI in their EPYC Architecture
by
Allan Cantle
Vivado hls勉強会5(axi4 stream)
by
marsee101
Linux I2C
by
KaidenYu
Q1 Memory Fabric Forum: XConn CXL Switches for AI
by
Memory Fabric Forum
ARM Trusted FirmwareのBL31を単体で使う!
by
Mr. Vengineer
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
by
44CON
Similar to Starc verilog hdl2013d
PDF
2012研究室紹介(大川)
by
猛 大川
PDF
Synthesijer.Scala (PROSYM 2015)
by
Takefumi MIYOSHI
PDF
Introduction of FPGA
by
Imaoka Micihihiro
PDF
ソフトウェアエンジニアと高位合成
by
Kenichiro MITSUDA
PDF
ソフトウェア技術者はFPGAをどのように使うか
by
なおき きしだ
PPTX
FPGAって、何?
by
Toyohiko Komatsu
PDF
Reconf_201409
by
Takefumi MIYOSHI
PPTX
Myoshimi extreme
by
Masato Yoshimi
PDF
Synthesijer fpgax 20150201
by
Takefumi MIYOSHI
PPTX
ソフトウェア志向の組込みシステム協調設計環境
by
Hideki Takase
PPT
Xilinx2013d
by
Kiyoshi Ogawa
PDF
Ptt391
by
Takefumi MIYOSHI
PDF
第9回ACRiウェビナー_日立/島田様ご講演資料
by
直久 住川
PDF
Deep Learning reading club at SWEST 2017 interactive session
by
Kiyoshi Ogawa
PPTX
Fpga programming introduction
by
YukiFukuda3
PDF
ソフトウェア技術者から見たFPGAの魅力と可能性
by
Kenichiro MITSUDA
PDF
FPGAをロボット(ROS)で「やわらかく」使うには
by
Hideki Takase
PDF
ACRi_webinar_20220118_miyo
by
Takefumi MIYOSHI
PPTX
VHDL-2008が好きなんです
by
windy12806
PDF
コンピュータシステムの理論と実装1
by
H T
2012研究室紹介(大川)
by
猛 大川
Synthesijer.Scala (PROSYM 2015)
by
Takefumi MIYOSHI
Introduction of FPGA
by
Imaoka Micihihiro
ソフトウェアエンジニアと高位合成
by
Kenichiro MITSUDA
ソフトウェア技術者はFPGAをどのように使うか
by
なおき きしだ
FPGAって、何?
by
Toyohiko Komatsu
Reconf_201409
by
Takefumi MIYOSHI
Myoshimi extreme
by
Masato Yoshimi
Synthesijer fpgax 20150201
by
Takefumi MIYOSHI
ソフトウェア志向の組込みシステム協調設計環境
by
Hideki Takase
Xilinx2013d
by
Kiyoshi Ogawa
Ptt391
by
Takefumi MIYOSHI
第9回ACRiウェビナー_日立/島田様ご講演資料
by
直久 住川
Deep Learning reading club at SWEST 2017 interactive session
by
Kiyoshi Ogawa
Fpga programming introduction
by
YukiFukuda3
ソフトウェア技術者から見たFPGAの魅力と可能性
by
Kenichiro MITSUDA
FPGAをロボット(ROS)で「やわらかく」使うには
by
Hideki Takase
ACRi_webinar_20220118_miyo
by
Takefumi MIYOSHI
VHDL-2008が好きなんです
by
windy12806
コンピュータシステムの理論と実装1
by
H T
More from Kiyoshi Ogawa
PPTX
Misracompliant20162020
by
Kiyoshi Ogawa
PDF
High Quality Design with Hcd and hazop
by
Kiyoshi Ogawa
PDF
Deep learningwithgithubanddocker
by
Kiyoshi Ogawa
PDF
Deep learningwithgithubanddocker
by
Kiyoshi Ogawa
PDF
Nagoya2018
by
Kiyoshi Ogawa
PDF
Hazop tokyo201809
by
Kiyoshi Ogawa
PPTX
Who like C++ coding standard
by
Kiyoshi Ogawa
PDF
Who enjoy a coding standard? ver. 0.30
by
Kiyoshi Ogawa
PDF
Who enjoy a coding standard? ver. 0.20
by
Kiyoshi Ogawa
PDF
Who enjoy a coding standard?
by
Kiyoshi Ogawa
PDF
機械と標準
by
Kiyoshi Ogawa
PDF
TOPPERS as an IoT OS(kernel)
by
Kiyoshi Ogawa
PDF
How can we resolve problems.
by
Kiyoshi Ogawa
PDF
Datamining Introduction using R with Raspbian on Raspberry Pi 3B.
by
Kiyoshi Ogawa
PDF
Hazop Safety and Security at Fukui 2017(2/2)
by
Kiyoshi Ogawa
PDF
Hazop Safety and Security at Fukui 2017(1/2)
by
Kiyoshi Ogawa
PDF
Hazop and triz by/of/for the children(3/3)
by
Kiyoshi Ogawa
PDF
Hazop and triz by/of/for the children(2/3)
by
Kiyoshi Ogawa
PDF
Hazop and triz by/of/for the children(1/3)
by
Kiyoshi Ogawa
PDF
Raspberrypitraining20171027
by
Kiyoshi Ogawa
Misracompliant20162020
by
Kiyoshi Ogawa
High Quality Design with Hcd and hazop
by
Kiyoshi Ogawa
Deep learningwithgithubanddocker
by
Kiyoshi Ogawa
Deep learningwithgithubanddocker
by
Kiyoshi Ogawa
Nagoya2018
by
Kiyoshi Ogawa
Hazop tokyo201809
by
Kiyoshi Ogawa
Who like C++ coding standard
by
Kiyoshi Ogawa
Who enjoy a coding standard? ver. 0.30
by
Kiyoshi Ogawa
Who enjoy a coding standard? ver. 0.20
by
Kiyoshi Ogawa
Who enjoy a coding standard?
by
Kiyoshi Ogawa
機械と標準
by
Kiyoshi Ogawa
TOPPERS as an IoT OS(kernel)
by
Kiyoshi Ogawa
How can we resolve problems.
by
Kiyoshi Ogawa
Datamining Introduction using R with Raspbian on Raspberry Pi 3B.
by
Kiyoshi Ogawa
Hazop Safety and Security at Fukui 2017(2/2)
by
Kiyoshi Ogawa
Hazop Safety and Security at Fukui 2017(1/2)
by
Kiyoshi Ogawa
Hazop and triz by/of/for the children(3/3)
by
Kiyoshi Ogawa
Hazop and triz by/of/for the children(2/3)
by
Kiyoshi Ogawa
Hazop and triz by/of/for the children(1/3)
by
Kiyoshi Ogawa
Raspberrypitraining20171027
by
Kiyoshi Ogawa
Recently uploaded
PDF
論文紹介:DiffusionRet: Generative Text-Video Retrieval with Diffusion Model
by
Toru Tamaki
PDF
膨大なデータ時代を制する鍵、セグメンテーションAIが切り拓く解析精度と効率の革新
by
Data Source
PDF
AI開発の最前線を変えるニューラルネットワークプロセッサと、未来社会における応用可能性
by
Data Source
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):コアマイクロシステムズ株式会社 テーマ 「AI HPC時代のトータルソリューションプロバイダ」
by
PC Cluster Consortium
PPTX
2025年11月24日情報ネットワーク法学会大井哲也発表「API利用のシステム情報」
by
Tetsuya Oi
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ3「IT運用とデータサイエンティストを強力に支援するH...
by
PC Cluster Consortium
PPTX
ChatGPTのコネクタ開発から学ぶ、外部サービスをつなぐMCPサーバーの仕組み
by
Ryuji Egashira
PDF
論文紹介:HiLoRA: Adaptive Hierarchical LoRA Routing for Training-Free Domain Gene...
by
Toru Tamaki
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ1「大規模AIの能力を最大限に活用するHPE Comp...
by
PC Cluster Consortium
PDF
ニューラルプロセッサによるAI処理の高速化と、未知の可能性を切り拓く未来の人工知能
by
Data Source
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ2「『Slinky』 SlurmとクラウドのKuber...
by
PC Cluster Consortium
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):エヌビディア合同会社 テーマ1「NVIDIA 最新発表製品等のご案内」
by
PC Cluster Consortium
PDF
論文紹介:MotionMatcher: Cinematic Motion Customizationof Text-to-Video Diffusion ...
by
Toru Tamaki
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):富士通株式会社 テーマ1「HPC&AI: Accelerating material develo...
by
PC Cluster Consortium
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ3「『TrinityX』 AI時代のクラスターマネジメ...
by
PC Cluster Consortium
論文紹介:DiffusionRet: Generative Text-Video Retrieval with Diffusion Model
by
Toru Tamaki
膨大なデータ時代を制する鍵、セグメンテーションAIが切り拓く解析精度と効率の革新
by
Data Source
AI開発の最前線を変えるニューラルネットワークプロセッサと、未来社会における応用可能性
by
Data Source
PCCC25(設立25年記念PCクラスタシンポジウム):コアマイクロシステムズ株式会社 テーマ 「AI HPC時代のトータルソリューションプロバイダ」
by
PC Cluster Consortium
2025年11月24日情報ネットワーク法学会大井哲也発表「API利用のシステム情報」
by
Tetsuya Oi
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ3「IT運用とデータサイエンティストを強力に支援するH...
by
PC Cluster Consortium
ChatGPTのコネクタ開発から学ぶ、外部サービスをつなぐMCPサーバーの仕組み
by
Ryuji Egashira
論文紹介:HiLoRA: Adaptive Hierarchical LoRA Routing for Training-Free Domain Gene...
by
Toru Tamaki
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ1「大規模AIの能力を最大限に活用するHPE Comp...
by
PC Cluster Consortium
ニューラルプロセッサによるAI処理の高速化と、未知の可能性を切り拓く未来の人工知能
by
Data Source
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ2「『Slinky』 SlurmとクラウドのKuber...
by
PC Cluster Consortium
PCCC25(設立25年記念PCクラスタシンポジウム):エヌビディア合同会社 テーマ1「NVIDIA 最新発表製品等のご案内」
by
PC Cluster Consortium
論文紹介:MotionMatcher: Cinematic Motion Customizationof Text-to-Video Diffusion ...
by
Toru Tamaki
PCCC25(設立25年記念PCクラスタシンポジウム):富士通株式会社 テーマ1「HPC&AI: Accelerating material develo...
by
PC Cluster Consortium
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ3「『TrinityX』 AI時代のクラスターマネジメ...
by
PC Cluster Consortium
Starc verilog hdl2013d
1.
STARC
RTL設計スタイルガイド を「こう使おう」 Verilog-HDL版 VER3.0 名古屋市工業研究所 小川清 20130227 (c) kaizen@wh.commufa.jp 1
2.
謝辞 STARC RTL設計スタイルガイドの取り組みは産業 技術推進連絡会議でFPGAコンソーシアムの代表の 熊本大学の末吉敏則教授のご指導により始めまし た。 規則の検討会には、ルネサステクノロジー、富士 通VLSI、中央製作所、大同工業大学の参加に頂き ました。 スタイルガイド利用、検討のセミナはSWEST, FPGA カンファレンスなどにおいて実施してきました。 Design
Wave 2009年2月号(CQ出版)に記事を掲載 させていただいています。 関係者の皆様に感謝いたします。 20130227 (c) kaizen@wh.commufa.jp
3.
概要 背景 1. 振る舞い言語の標準化 2. STARC
RTL設計スタイルガイド 3. 教育のための準備 4. 業務利用のための準備 5. 逸脱の手続きと事例 まとめ と 付録 20130227 (c) kaizen@wh.commufa.jp
4.
背景 HDL言語の標準化をIEEEで決めた。標準に適合する 書き方だけでは適切な動作をしない記述が可能。 標準に適合する書き方だけでは,言語処理系,物 理的な回路によって,同じ振る舞いをしない。
可読性,保守性の高い設計の振る舞い記述。 ASIC設計とFPGA設計の違いを認識。 VerilogHDLはシミュレーションのために弱い文法。 よりよい実装のためには強い規約が必要。 C言語とMISRA-Cの関係と相似。MISRA-Cはソフトウェ アの空間的な部分集合化。MISRA-Cは時間の指針が弱 い。 20130227 (c) kaizen@wh.commufa.jp
5.
FPGAを利用する理由 すばやい設計すばやい実装すばやい物理実 験。
FPGA ASIC FPGA(flexible programmable gate array)は入 出力、RAMなどの機能ブロックが事前に決 消費電 小にで まっている。 流 大 きる 構成要素として、LUT(look up table)、FF(flip 処理速 速くで flop)などの配置, クロック配線 度 遅 きる 場合によってはCPU, DSP, ネットワークなど 小にで をハードウェアまたはソフトウェアで導入 IC面積 大 きる 道具が完備。書いてすぐに模擬試験 設計か 短くで (simulation)。すぐに実装可能。 ら実装 きる 長 1個作 安くで 最終顧客がFPGAで実装試験を実施 成費用 きる 高 発注時の仕様の打ち合わせ 主要2 者の競 製造者 FPGAの開発競争激しい 供給 争 による 低消費電流化 高速度化 20130227 (c) kaizen@wh.commufa.jp CPLD(小規模)から大規模FPGAまでの製品 展開
6.
RTL設計スタイルガイド 言語の部分集合を定義し、HDLの曖 昧さを排除(時間的にも) Verilog-HDLは特に。 ASIC向けのガイドが基本。 Verilog-HDLでは,第二版でFPGA向け
の節を追加。Verilog-HDLの第二版 は本では日本語。 CSVなど古典的ソフトでの記述だ った。 定量的な記述は当時の制約の影響。 FPGAの場合の詳細が未整備。 Xilinx, Alteraのガイドを参考に 対応付けるとよい。 規則を守ることよりも、守らないと きの理由が大事(規則を守るよりも 価値があることがあるかも) 20130227 (c) kaizen@wh.commufa.jp
7.
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コーディング 構文など 20130227 (c) kaizen@wh.commufa.jp
8.
HDL(hardware Description
Language) 設計自動化(Design automation)/HDLハードウェア記述言語: IEEE VHDL:VHSICHardware Description Language VHSIC: Very High Speed Integrated Circuits Verilog-HDL 振る舞い言語(Behavioural languages):IEC -> IEEEを順次国際規格に Pascal -> Modula-2 ->Ada -> VHDL 関連言語 ->Verilog-HDL -> System Verilog の繋がり -> System C -> C# -> C -> C++ ->JAVA 細字がプログラミング言語、太字がHDL 20130227 (c) kaizen@wh.commufa.jp
9.
2. STARC
RTL設計スタイルガイド 論理回路の振る舞いを記述する手引き 規則に沿った書き方をすると、間違が尐 ない VHDL Verilog-HLD VHDL版とVerilog-HDL 版がある 第2版(追加、 日本語 初版 それぞれ日本語版と 改定あり) 英語版がある 英語 初版 初版(pdfは第2版) 約600個の規則を3つ (5つ)に分類 必須。守らないときには、理由を文書化すると よい 20130227 (c) kaizen@wh.commufa.jp 推奨。推奨には1,2,3の区分あり
10.
スタイルガイドの章構成
1章 基本設計制約 命名規則,設計スタイル,クロック,(非)同期設計,階 層設計 設計を開始時に考慮する設計制約 2章 RTL記述テクニック 組合せ回路,順序回路の記述スタイ always 文,function 文,if 文,case 文 3章 RTL設計手法 分割設計,機能ライブラリ,設計資産のパラメータ化、 テスト容易化設計、低消費電力設計、設計データの管 理 4章 検証のテクニック テストベンチのパラメータ化、タスクの使用、 20130227 (c) kaizen@wh.commufa.jp 検証の進め方
11.
3. 利用の準備
ルールの体系の確認 番号の振りなおし 教育の順番を確認 <1>:実習前に <2>:実習中に <3>:進んでいる人が自習 <4>:教育の作業の範囲外 20130227 (c) kaizen@wh.commufa.jp
12.
次頁以降の検討成果記述汎例 <1>,<2>,<3>,<4>が教育順序。 青文字の項目:RTL設計スタイルガイドで省略して
いる注記 <小川清による補足> 赤茶字:初学者のうちから習慣付けするとよい項目 20130227 (c) kaizen@wh.commufa.jp
13.
1章
基本設計制約 (静的規則) 1.1 命名規則<1> <プログラムを書く際に、名前は必ず使うため> (動的規則) <2> 1.2 同期設計 1.3初期リセット 1.4 クロック 1.5 非同期設計 (構造設計) <4> 1.6 階層設計 1.7 FPGA<Verilog-HDL版ver.2> 20130227 (c) kaizen@wh.commufa.jp
14.
2章 RTL記述技法 (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> 20130227 (c) kaizen@wh.commufa.jp
15.
3章 RTL設計手法 (機能ライブラリ) <3>
3.1 機能ライブラリの作成 3.2 機能ライブラリの使用 3.3 試験容易化設計(DFT)<4> 3.4 低消費電力設計<3> 3.5 ソースコード, 設計データの管理<1> <ソースコードを必ず扱うため> 20130227 (c) kaizen@wh.commufa.jp
16.
4章 検証技術
(Verification Techniques ) (試験台(test bench)) 4.1 試験台記述<2> 4.2 手続記述(Task description)<3> 4.3 検証の進め方(Verification process )<3> 4.4 ゲート水準模擬試験(simulation)<4> 4.5 静的(static)刻時(timing)解析<3> 20130227 (c) kaizen@wh.commufa.jp
17.
1章 基本設計制約
1.1. 命名規則 1.1.1. 基本命名規則を守る 1.1.2. 回路名や端子名は階層構造を意識した 命名規則に従う 1.1.3. 信号名には意味のある名前を付ける 1.1.4. includeファイル、パラメータ、defineの 命名規則(VHDL版と異なる) 1.1.5. クロック系を意識した命名をする 20130227 (c) kaizen@wh.commufa.jp
18.
1.1.1. 基本命名規則を守る ① ファイル名は、”<モジュール名>.v”
とする(Verilog) [推奨2]<推奨なのは過 去の道具、遺産があるため> ② 使用文字は、英数字と’_’、最初の文字は英字のみ[必須] ③ Verilog HDL(IEEE1364), SystemVerilog(IEEE1800), VHDL(IEEE1076.X)の予約 語は、使用しない[必 須]<他の言語と連動して使う場合に困る> ④ ”VDD”, ”VSS”, ”VCC”, ”GND”, ”VREF” で始まる名前は、使用しない(大小 文字とも) [必須]<回路シミュレータと連動して使う場合に困る> ⑤ 英字の大文字/ 小文字で、名称を区別しない(Abc,abcなど)[必須]<可読性が 良くないし、OSや道具によっては混同するため> ⑥ 最上位のポート名・モジュール名は‘_’ を最後に使用及び連続使用しない[推 奨1] ⑦ 負論理信号は極性がわかるように末尾に識別記号(”_X”, ”_N” など) を付ける [推奨2]<_Xよりは_Nの方がよい。> ⑧ インスタンス名はモジュール名を基本とし、複数使用されるインスタンス名 は”<モジュール名>_<数値>” とする(Verilog) [推奨3] ⑨ 最上位のモジュール名・ポート名は16 文字以内で大文字/ 小文字 を混在させない[推奨1] ⑩ 使用するASIC ライブラリと同じインスタンス名、セル名を使用しない[必 20130227 (c) kaizen@wh.commufa.jp
19.
1.1.2. 回路名や端子名は階層
構造を意識した命名規則に従う ① モジュール名、インスタンス名は、2 文字以上、32 文字以下とする[必須] <解説:1文字の名前は一覧を作り、目的を記載する(逸脱文書)。それ以外 の目的では使わない事、今後、1文字の名前を作らないことを徹底する> ・16 文字以下を推奨する(推奨2) ・階層を含んだインスタンス名は128 文字以内とする(推奨3) ② 最上位(TOP) にある階層(ブロック名)の先頭には、階層識別文字を付加する [推奨3] ③ サブ階層の階層識別文字には、上位階層の階層識別文字を付加する[推奨3] ④ 各ブロック出力端子名の先頭文字は、”<階層識別文字>”+”_” とする[推奨3] ⑤ ブロックの入力信号名・出力信号名は、内部の信号とは別の命名規則がある とよい [参考] ⑥ 出力端子名と接続されるネット名は同一とする[推奨2] ・上位階層のネット名と入力端子名を同一とする(推奨2) 20130227 (c) kaizen@wh.commufa.jp
20.
1.1.3. 信号名には意味の
ある名前を付ける ① ブロック内部の信号名は、入出力信号名とは別の命名規則が あるとよい [参考] ② 階層内部は、意味のある理解しやすい信号名を付ける [参考] ③ 信号名、ポート名、パラメータ名、define 名、ファンクショ ン名は、2 文字以上、40 文字以下とする(Verilog) [必須] <1文字の名前は一覧を作り、目的を記載する(逸脱文書)。そ れ以外の目的では使わない事、今後、1文字の名前を作らな いことを徹底する> ・24 文字以下を推奨する(推奨2) 20130227 (c) kaizen@wh.commufa.jp
21.
1.1.4. include ファイル,パラメー
タ,define の命名規則(VHDL 版と異なる) ① include ファイルは、RTL 記述に対しては ”.h”, ”.vh”, ”.inc”、テストベン チに対しては ”.h”, ”.inc”, ”.ht”, ”.tsk”とする(Verilog HDL only) [推奨2] ② パラメータ名は、異なる命名規則があるとよい(Verilog) [推奨3] ③ 同一名称のパラメータを、異なるモジュールで使用しない(Verilog) [推奨 3] ④ defineは、同一モジュール内で宣言されたもののみを使用する(Verilog HDL only) [推奨1] ⑤ 1 つの階層内だけで使用するパラメータは、階層識別文字を付加すると よい[参考] ⑥ 定数を出力ポートに直接出力しない[推奨1] ・入力ポートにも定数を入力しないほうがよい(参考) ⑦ 再利用を考えた回路は、必要なポートのビット幅をパラメータ化する [推奨3] ⑧ パラメータも<数値>’b,’h,’d,’oの指定を明確化する(VerilogHDLonly) [推 奨1] 20130227 (c) kaizen@wh.commufa.jp ⑨ 32ビット幅以上の場合は、ビット幅を指定する(Verilog HDL only) [必須]
22.
1.1.5. クロック系を意識
した命名をする ① レジスタの出力信号名にはクロック系やレ ジスタを意識した命名をする[推奨3] ② クロック信号名はCLK またはCK、リセット 信号はRST_X またはRESET_X、イネーブル 信号はEN を基本とし、末尾に種別を付加す る[推奨3] ③ クロック系を意識した命名 [参考] ④ レジスタを意識した命名 [参考] 20130227 (c) kaizen@wh.commufa.jp
23.
1.7. FPGA
1.7.1. ASICとFPGAの両方を使 用する場合の注意点 ① 1 つのFPGA 内でゲーティッドクロックを使用しない [推奨1] ② FPGA とASIC で異なる部分はCORE の記述から除外 する [参考] ③ FPGA, ASIC で異なる記述は`ifdefで切り替える [参 考] 20130227 (c) kaizen@wh.commufa.jp
24.
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. バグトラッキングシステムを構築する 20130227 (c) kaizen@wh.commufa.jp
25.
3.5.1. ディレクトリを
目的ごとに作成する ① RTL 記述、合成スクリプト、合成結果、 Sim結果は、異なるディレクトリに保管す る [必須] ② RTL 記述のディレクトリにはテストパター ンを置かない [推奨1] ③ データのバージョン管理はディレクトリを コピーして、いらないファイルを消去する [推奨2] ④ ファイル名は相対パスで参照する[推奨1] 20130227 (c) kaizen@wh.commufa.jp
26.
3.5.2. ファイルのサフィックス名 ① 各ファイルの参照は相対パスで指定(1
度master 階層まで戻る) [推奨1] ② RTL 記述は、”<モジュール名>” + ”.v”(Verilog) [推奨1] ③ テストベンチは、”_tb.v”,”_test.v”, ”.vt”(Verilog) [推奨3] ④ ゲート記述は、”<モジュール名>” + ”.v” あるいは、”.vnet” (Verilog) [推奨3] ⑤ include ファイルは、RTL 記述に対しては ".h",".vh",".inc"、テストベンチ に対しては".h",".inc",".ht",".tsk" にする(Verilog HDL only) [推奨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] 20130227 (c) kaizen@wh.commufa.jp ⑭ EDIF ファイルは、”.edif” または”.edf” [推奨1]
27.
3.5.3. ファイルヘッダに
必要な情報を定義する ① ファイルヘッダに回路名、回路機能、作成者、作 成日などを示す[推奨1] ② 再利用の場合には修正者や修正項目を示す[推奨1] ③ ファイルヘッダを共通化する[推奨1] ④ 必要があればCVS を使用する [推奨3]<当時もRCS などの別の版管理の道具はあった。現在はSubversion, redmineなどを使うことがある。CVS固有の記述は他 の道具に変換する。> 20130227 (c) kaizen@wh.commufa.jp
28.
3.5.4. ファイルのバー
ジョンを管理する ① 複数メンバーでの開発ではマスターデータと個人 用データを分離する [推奨1] ② CVS でファイルのバージョンを管理することが できる [参考]<当時もRCSなどの別の版管理の道 具はあった。現在はSubversion, redmineなどを使 うことがある。CVS固有の記述は他の道具に変 換する。> 20130227 (c) kaizen@wh.commufa.jp
29.
3.5.5. ファイルの バックアップは定期的に ①
ファイルのバックアップを行なう [推奨2] ② 設計ディレクトリ全てを定期的にバックアップす る[推奨2] <版管理の道具を使ったり,ディスクごとバック アップを取ったり,バックアップを常時取って いるネットワークディスクを使ったり,方法は 様々。> 20130227 (c) kaizen@wh.commufa.jp
30.
3.5.6. コメントを多用する ① コメントの多用によりソースコードの可読性が向上する
[推 奨2] ② 記述内の演算子などに、その目的や内容を示すコメントを付け る [推奨2] ③ 入出力ポート、宣言は1 行で記述し必ずコメントを付ける [推 奨2] ④ コメントはできるだけ英語で記述する [推奨2] ⑤ 日本語のコメントはEDA ツールによっては読めないことがあ る [参考] ⑥ もっともトラブルの尐ない日本語コードEUC を使用する [推奨 1] 20130227 (c) kaizen@wh.commufa.jp
31.
コメントに関する補足(小
川) コメントを多用するとよくない場合 言語記述と矛盾したり,意味が不明になることがある 言語記述を改訂する際に,コメントも変更しないといけな い。 コメントの自動生成部分以外は多用しない方がよい場合も ある //コメントの方がよい理由 /* */の間に入るコード例えば /* など,/* を利用していると MISRA-Cのように関連ルールを規定しないといけない /* */だと,どこからどこまでがコメントかを理解するのに タブなどを利用する必要がある 20130227 (c) kaizen@wh.commufa.jp
32.
3.5.11. バグトラッキング
システムを構築する ① 登録、アサイン、解決、検証の段階を明記する [参考] ② 状況をメールで送信するとともに表で表示する [参考] <TRAC, Redmineなどの単独ソフトウェアを使う場合 と統合設計環境に組込み可能な機能を使う場合 がある。メール,表での表示はソフトウェアの 機能にあるかを確認するとよい> 20130227 (c) kaizen@wh.commufa.jp
33.
4. 業務利用の準備 優先順位のつけ直し
個々人に優先順位をつける 班構成の会合で上位10個を確認(班に一人は 専門家)して班での合意を作成 過去に公開講座で数度実施(SWEST2008を含 む) 累計上位10を紹介 関連項目の中で再掲載(KWIC:key word in context) 20130227 (c) kaizen@wh.commufa.jp
34.
優先順位上位10
(c) kaizen@wh.commufa.jp 20130227
35.
RTL1.2同期設計 20130227
(c) kaizen@wh.commufa.jp 35
36.
RTL1.3 初期化リセット 20130227
(c) kaizen@wh.commufa.jp
37.
RTL1.4.3 ゲーティッドクロック
の使用は注意 Gated clock, clock gating: 時計開閉。省電力のために時間信号を 開閉する。 37 FPGAは組込みの省電力機構を用いるとよい 20130227 (c) kaizen@wh.commufa.jp
38.
RTL1.5.1. 非同期クロック間の信号
にはメタ・ステーブルを考慮 Meta stable:不安定平衡状態(unstable equilibrium state)。一定期間発振する。1か0かに収束する。収束 38 時間のデータがない。 20130227 (c) kaizen@wh.commufa.jp
39.
RTL2.1.2. function 文によって組み合 わせ回路を定義
(Verilog HDL only) 20130227 (c) kaizen@wh.commufa.jp 39
40.
RTL2.1.3 function 文では、引数やビット幅
に対するチェックを入念にする 20130227 (c) kaizen@wh.commufa.jp 40
41.
RTL2.1.5. 条件演算((A)?B:C)の使
用は1 回まで (Verilog HDL only) 20130227 (c) kaizen@wh.commufa.jp 41
42.
5.逸脱の手続きと事例 優先順位付けに基づいて規則を合意し対象外を決め
る 例:テストベンチでの習慣(逸脱文書は作る) Tbを名前の最初につける方法 整数は10進数を標準にする場合にDをつけない 不足している規則を追加(分野固有の命名規則な ど) できればHAZOPなど設計審査を経る 対象外にする方法は3つ 規則そのものを考慮せず検査もしない 共通の逸脱文書を作るが、検査をして資料は残す 20130227 (c) kaizen@wh.commufa.jp 共通の逸脱文書にはないが、必要な逸脱なので個
43.
逸脱の手続き例(1) 20130227
(c) kaizen@wh.commufa.jp
44.
逸脱の手続き例(2) 20130227
(c) kaizen@wh.commufa.jp
45.
事例 20130227
(c) kaizen@wh.commufa.jp
46.
逸脱例:1.1.3.3 信号名、ポート名、 パラメータ名、define
名、ファンク ション名は、2 文字以上、40 文字以下 とする 1文字でよく使っている変数は逸脱文書を作成する。 新たに1文字の変数を作らない。 場合によっては出現箇所一覧を確認(チェッカの出力 をつけ利用目的と同じことを確認した人の署名) 20130227 (c) kaizen@wh.commufa.jp
47.
まとめ
任意性の尐ない設計 検証,試験しやすい 教育時の事前,最中,事後、範囲外に区 分 作業時に優先順位付けをする 知見の集約,環境の変化への対応、逸脱の合 意 逸脱した方が効果的な場合は逸脱のの手続き 道具の有効利用 20130227 道具の紹介 (c) kaizen@wh.commufa.jp
48.
参考文献 [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 20130227 (c) kaizen@wh.commufa.jp
49.
例(sample)をコンパイルしよう スタイルガイドには、例の記述があります。眺めて、ふん ふん言っているだけでなく、実際に打ち込んで、コンパイ ルしてみましょう。 省略部分を補足しないとコンパイルエラーになる場合があ ります。 補足してもコンパイルエラーになる場合(コンパイラの性 能、仕様に依存)は対応を検討 複数のコードを回路生成して比較 模擬試験(simulation)して比較 FPGAに実装してみて振る舞い確認 Xilinx ISE Webpackでの実験結果を http://researchmap.jp/kaizen/STARC-RTL設計スタイルガイ ド/
に掲載予定 20130227 (c) kaizen@wh.commufa.jp
50.
実習で利用しているFPGA例 Xilinx ISE WebpackとModelSimを 同梱。そのまま利用可能。 最新のISE Webpackでも利 用可能 20130227
(c) kaizen@wh.commufa.jp
51.
第5回5都市 FPGAカンファレンス2010 http://www.fpga.or.jp/5city2010/ChubuSC2010.html
中部招待講演 「STARC RTL設計スタイルガイ ドを「こう使おう」Verilog-HDL版」小川清 「ドクターFPGA FPGA初心者のためのデ バッグヒント」で紹介のあった事例について、ス タイルガイドのどの規則を参照しているとよいか をその場で解説 20130227 (c) kaizen@wh.commufa.jp
Download