IEEE Std 1800-2017の要約...はじめに SystemVerilog 言語仕様の改訂版が,2018 年2...

66
Artgraphics SystemVerilog 改訂版 IEEE Std 1800-2017 の要約 Document Revision: 1.0, 2018.07.16 アートグラフィックス 篠塚一也

Transcript of IEEE Std 1800-2017の要約...はじめに SystemVerilog 言語仕様の改訂版が,2018 年2...

Artgraphics

SystemVerilog改訂版 IEEE Std 1800-2017の要約

Document Revision: 1.0, 2018.07.16

アートグラフィックス

篠塚一也

SystemVerilog改訂版 IEEE Std 1800-2017の要約

©2018 アートグラフィックス

〒124-0012 東京都葛飾区立石 8-14-1

www.artgraphics.co.jp

Summary of Changes in Revised IEEE Std 1800-2017

©2018 Artgraphics. All rights reserved.

8-14-1, Tateishi, Katsushika-ku, Tokyo, 124-0012 Japan

www.artgraphics.co.jp

はじめに

SystemVerilog言語仕様の改訂版が,2018年 2月 21日に IEEE Std 1800-2017として発行されまし

た。多くの人が、先ず疑問に思うのは、「言語仕様上の差異」だと思います。新しい版である以

上、以前の IEEE Std 1800-2012 との違いがありますが、機能上での変更、又は、機能追加は含ま

れていません。但し、廃止になった機能があります。

当然の事として、新旧二つの言語仕様書には細かい点での差異が存在します。残念ながら、それ

らの違いの多くは、仕様書を厳密に読んで初めて分かります。違いを見つけるだけの目的で

1000ページを超える言語仕様書の最初から最後までを読む事は苦痛以外の何物でもありません。

然し、避けて通れない道です。

弊社では、当然ですが、言語仕様の差異を調査しました。全ての人が同じ事をするのは効率が良

くないので、調査した結果を纏めて報告する事にしました。但し、この要約書は必ずしも読み易

く書かれていません。仕様上の差異を知識として取得する義務がある人だけが読むべきだと思い

ます。

要約書では、特に目立つ差異を中心に纏めてあります。意味上の変化が認められない差異に関し

ては報告していません。例えば、IEEE Std 1800-2012で randomizeであった表現が IEEE Std 1800-

2017 では randomize()となっている箇所がありますが、差異として報告していません。或いは、

IEEE Std 1800-2017 では太文字に変化している表現がありますが差異として報告をしていません。

更に、Part Four Annexesは報告から除外しました。

最後に、調査結果が完全である保証はありませんが、殆どの重要な差異を網羅していると確信し

ています。この要約書がお役に立てば幸いです。

アートグラフィックス

篠塚一也

変更履歴

日付 Revision 変更点

2018.07.16 1.0 第一版。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

1

目次

1 改訂版 IEEE STD 1800-2017 .............................................................................................. 1

1.1 改訂版の概要 ......................................................................................................................1

1.2 改訂版の取得 ......................................................................................................................1

1.3 IEEE STD 1800-2017と IEEE STD 1800-2012の差異 .....................................................1

2 IEEE STD 1800-2017と IEEE STD 1800-2012の比較 ...................................................... 2

2.1 体裁上の差異 ......................................................................................................................2

2.1.1 ページ付け ..................................................................................................................2

2.1.2 箇条書き ......................................................................................................................2

3 比較の詳細 ........................................................................................................................... 3

3.1 4. SCHEDULING SEMANTICS ...............................................................................................3 3.1.1 1800-2017 (P59) .........................................................................................................3

3.2 5. LEXICAL CONVENTIONS ..................................................................................................4 3.2.1 1800-2017 (P71) .........................................................................................................4

3.3 6. DATA TYPES ....................................................................................................................5 3.3.1 1800-2017 (P102) .......................................................................................................5 3.3.2 1800-2017 (P103) .......................................................................................................5

3.4 7. AGGREGATE DATA TYPES ................................................................................................7 3.4.1 1800-2017 (P140) .......................................................................................................7 3.4.2 1800-2017 (P142) .......................................................................................................7 3.4.3 1800-2017 (P149) .......................................................................................................8 3.4.4 1800-2017 (P165) ......................................................................................................9

3.5 8. CLASSES ...................................................................................................................... 10 3.5.1 1800-2017 (P183) .................................................................................................... 10 3.5.2 1800-2017 (P185) .................................................................................................... 10 3.5.3 1800-2017 (P187) .................................................................................................... 10 3.5.4 1800-2017 (P193) .................................................................................................... 10

3.6 9. PROCESSES .................................................................................................................. 12 3.6.1 1800-2017 (P210) .................................................................................................... 12 3.6.2 1800-2017 (P211) .................................................................................................... 12 3.6.3 1800-2017 (P220) .................................................................................................... 13 3.6.4 1800-2017 (P225) .................................................................................................... 13 3.6.5 1800-2017 (P227) .................................................................................................... 14

3.7 10. ASSIGNMENT STATEMENTS ........................................................................................ 15 3.8 11. OPERATORS AND EXPRESSIONS .................................................................................. 16

3.8.1 1800-2017 (P275) .................................................................................................... 16 3.8.2 1800-2017 (P277) .................................................................................................... 16 3.8.3 1800-2017 (P290) .................................................................................................... 17 3.8.4 1800-2017 (P291) .................................................................................................... 17

3.9 12. PROCEDURAL PROGRAMMING STATEMENTS............................................................... 19 3.10 13. TASKS AND FUNCTIONS (SUBROUTINES) .................................................................... 20 3.11 14. CLOCKING BLOCKS .................................................................................................... 21 3.12 15. INTERPROCESS SYNCHRONIZATION AND COMMUNICATION ........................................ 22

3.12.1 1800-2017 (P361) .................................................................................................... 22 3.13 16. ASSERTIONS ............................................................................................................... 23

3.13.1 1800-2017 (P374) .................................................................................................... 23 3.13.2 1800-2017 (P376) .................................................................................................... 23 3.13.3 1800-2017 (P380) .................................................................................................... 23 3.13.4 1800-2017 (P392) .................................................................................................... 24

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

2

3.13.5 1800-2017 (P394) .................................................................................................... 24 3.13.6 1800-2017 (P396) .................................................................................................... 24 3.13.7 1800-2017 (P399) .................................................................................................... 24 3.13.8 1800-2017 (P402) .................................................................................................... 25 3.13.9 1800-2017 (P405) .................................................................................................... 25 3.13.10 1800-2017 (P411) ................................................................................................ 25 3.13.11 1800-2017 (P413) ................................................................................................ 25 3.13.12 1800-2017 (P419) ................................................................................................ 25 3.13.13 1800-2017 (P423) ................................................................................................ 26 3.13.14 1800-2017 (P426) ................................................................................................ 26 3.13.15 1800-2017 (P430) ................................................................................................ 26 3.13.16 1800-2017 (P433) ................................................................................................ 26 3.13.17 1800-2017 (P446) ................................................................................................ 26 3.13.18 1800-2017 (P470) ................................................................................................ 27

3.14 17. CHECKERS ................................................................................................................. 28 3.14.1 1800-2017 (P488) .................................................................................................... 28 3.14.2 1800-2017 (P491) .................................................................................................... 28 3.14.3 1800-2017 (P500) .................................................................................................... 29

3.15 18. CONSTRAINED RANDOM VALUE GENERATION ............................................................ 30 3.15.1 1800-2017 (P505) .................................................................................................... 30 3.15.2 1800-2017 (P507) .................................................................................................... 30 3.15.3 1800-2017 (P525) .................................................................................................... 31 3.15.4 1800-2017 (P540) .................................................................................................... 32

3.16 19. FUNCTIONAL COVERAGE ............................................................................................ 33 3.16.1 1800-2017 (P580) .................................................................................................... 33 3.16.2 1800-2017 (P582) .................................................................................................... 33

3.17 20. UTILITY SYSTEM TASKS AND SYSTEM FUNCTIONS ...................................................... 35 3.17.1 1800-2017 (P600) .................................................................................................... 35 3.17.2 1800-2017 (P601) .................................................................................................... 35 3.17.3 1800-2017 (P602) .................................................................................................... 35

3.18 21. INPUT/OUTPUT SYSTEM TASKS AND SYSTEM FUNCTIONS ........................................... 36 3.19 22. COMPILER DIRECTIVES .............................................................................................. 37

3.19.1 1800-2017 (P676) .................................................................................................... 37 3.19.2 1800-2107 (P694) .................................................................................................... 37

3.20 23. MODULES AND HIERARCHY ........................................................................................ 38 3.20.1 1800-2017 (P703) .................................................................................................... 38 3.20.2 1800-2017 (P707) .................................................................................................... 38 3.20.3 1800-2017 (P724) .................................................................................................... 39 3.20.4 1800-2017 (P730) .................................................................................................... 40

3.21 24. PROGRAMS ................................................................................................................. 41 3.22 25. INTERFACES ............................................................................................................... 42

3.22.1 1800-2017 (P749) .................................................................................................... 42 3.22.2 1800-2017 (P759) .................................................................................................... 42

3.23 26. PACKAGES.................................................................................................................. 43 3.24 27. GENERATE CONSTRUCTS ........................................................................................... 44

3.24.1 1800-2017 (P787) .................................................................................................... 44 3.25 28. GATE-LEVEL AND SWITCH-LEVEL MODELING ............................................................ 45

3.25.1 1800-2017 (P801) .................................................................................................... 45 3.26 29. USER-DEFINED PRIMITIVES ....................................................................................... 46 3.27 30. SPECIFY BLOCKS ........................................................................................................ 47 3.28 31. TIMING CHECKS ......................................................................................................... 48 3.29 32. BACKANNOTATION USING THE STANDARD DELAY FORMAT ........................................ 49 3.30 33. CONFIGURING THE CONTENTS OF A DESIGN .............................................................. 50

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

3

3.31 34. PROTECTED ENVELOPES ............................................................................................ 51 3.31.1 1800-2017 (P924) .................................................................................................... 51

3.32 35. DIRECT PROGRAMMING INTERFACE ........................................................................... 52 3.32.1 1800-2017 (P944) .................................................................................................... 52

3.33 36. PROGRAMMING LANGUAGE INTERFACE (PLI/VPI) OVERVIEW ................................... 53 3.34 37. VPI OBJECT MODEL DIAGRAMS .................................................................................. 54

3.34.1 1800-2017 (P992) .................................................................................................... 54 3.34.2 1800-2017 (P997) .................................................................................................... 54 3.34.3 1800-2017 (P1051) .................................................................................................. 55

3.35 38. VPI ROUTINE DEFINITIONS ........................................................................................ 56 3.36 39. ASSERTION API ......................................................................................................... 57

3.36.1 1800-2017 (P1117) .................................................................................................. 57 3.37 40. CODE COVERAGE CONTROL AND API ......................................................................... 58

4 参考文献 ............................................................................................................................ 59

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

1

1 改訂版 IEEE Std 1800-2017

1.1 改訂版の概要

以前の IEEE Std 1800-2012 との違いはありますが、機能上での変更、又は、機能追加は含まれて

いません。但し、廃止になった機能があります。実質的には、改訂版の意義を以下の様に纏める

事が出来ると思います。

① 厳密性に欠けていたシンタックスに記述を追加しています。

② 誤解し易い機能、又は、注意を要する機能に関して説明を強化しています。例えば、

streaming operatorsに関する説明が強化されています。或いは、クラスのコンストラクタ new

内で virtualメソッドを呼び出す場合の注意が喚起されています。

③ 誤字、及び、英文法上の間違いを訂正しています。

④ 幾つかの例に於いて変更が見られます。追加された例がある事も確認する事が出来ます。

⑤ let文に関する構文上の分類に変更があります。

⑥ オペレータ・オーバーローディングの機能が廃止になっています。

⑦ module_or_generate_item_declarationにシンタックスの追加があります。

⑧ 16 章 Assertions に関しては、微妙に説明が異なる箇所が随所見当たります。差異を調べるよ

りも、16章を読み直した方が得策だと思います。

結論的には、IEEE 1800-2012 をそのまま使用する事が出来ると言えますが、今後仕様を参照する

場合には、改訂版 IEEE Std 1800-2017マニュアルを読む事を薦めます。

1.2 改訂版の取得

IEEE GET Programにより無料で改訂版の PDFを取得する事が出来ます。但し、IEEEのアカウン

ト(無料)を作成する必要があります。

取得したマニュアルは、ダウンロードした本人のみが使用する事が出来ます。原則として、他人

にコピーを渡す事、又は、他人からコピーを取得する事は正しい取得法ではありません。

1.3 IEEE Std 1800-2017と IEEE Std 1800-2012の差異

前述した様に機能上での差異は認められませんが、マニュアル記述上での差異は何処にあるのか

が気になるのが常です。全ての人が同じ事をするのは効率が良くないので、両マニュアルを比較

した結果を報告します。差異が気になる方は、後述の比較をお読み下さい。

以下では非常に些細な差異にも言及している為、SystemVerilog初心者、又は、時間の無い方には

お薦めしません。別の機会に読んで下さい。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

2

2 IEEE Std 1800-2017と IEEE Std 1800-2012の比較

両者の比較をする際、それぞれを簡単に 1800-2017、及び、1800-2012と略称する事にします。例

えば、1800-2017 (P10) は IEEE Std 1800-2017のページ 10を意味します。

2.1 体裁上の差異

2.1.1 ページ付け

1800-2017 ではページ数の振り方が変更されているので、1800-2012 とはページ番号が全く一致し

ません。注意して下さい。但し、章、及び、節の番号は殆ど一致しています。

1800-2017では、マニュアルの先頭(表紙を除く)がページ 1になっています。

2.1.2 箇条書き

箇条書きの仕方に変更があります。以前は、箇条書きにダッシュを使用していた部分が段階によ

り記号を使い分けています。例えば、

1800-2012 (P70)にある以下の記述があります。

これは、1800-2017 (P106)では以下の様になっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

3

3 比較の詳細

比較結果の報告は IEEE 1800-2017をベースしています。大見出しは、IEEE 1800-2017の章を示し

ます。差異が存在する IEEE 1800-2017のページが次のレベルの見出しになっています。

例えば、タイトル「1800-2017 (P59)」は IEEE 1800-2017 の 59 ページに違いが存在する事を示し

ています。

比較は些細な差に及んでいる為、IEEE 1800-2017 を読みながら確認を進める事が望ましいと思い

ます。

3.1 4. Scheduling semantics

3.1.1 1800-2017 (P59)

文法上の間違いが訂正されている例を示します。以前は、ハイライトされた部分が Example でし

た。一文字を修正しただけでフレーズの表示が大きく異なります。

1800-2012 (P23)では以下の様になっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

4

3.2 5. Lexical conventions

3.2.1 1800-2017 (P71)

ハイライトした部分が追加されています。これは、シンタックスの厳密性を強化した結果です。

1800-2012 (P35)では以下の様になっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

5

3.3 6. Data types

3.3.1 1800-2017 (P102)

interface classと virtual interfaceに関する初期値設定が追加されています。

1800-2012 (P66)では以下の様になっています。

3.3.2 1800-2017 (P103)

ハイライトされた語が変更されている為、段落がずれて長さが一致しませんので注意して下さい。

以前は、precedingではなく aboveでした。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

6

1800-2012 (P67)では以下の様になっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

7

3.4 7. Aggregate data types

3.4.1 1800-2017 (P140)

7.2.1 Packed structuresの節に於いて説明が簡略化されています。1800-2017 (P140)では

という記述があり、1800-2012 (P104)では

となっています。

3.4.2 1800-2017 (P142)

7.3.1 Packed unionsの節に於ける説明が改良されています。1800-2017 (P142)では

となっています。1800-2012 (P106)では

となっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

8

3.4.3 1800-2017 (P149)

Table 7.1に幾つかの項目が追加されています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

9

1800-2012 (P113)では以下の様になっています。

3.4.4 1800-2017 (P165)

7.11 Array querying functionsの節に於ける説明が若干変化しています。1800-2017 (P165)では

となっていますが、1800-2012 (P129)では

となっています。詰まり、改訂版では new が省略されています。1800-2017 では既に new ではな

いという事です。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

10

3.5 8. Classes

3.5.1 1800-2017 (P183)

コンストラクタ new の内部で virtual メソッドを呼び出す場合に関する注意が追加されました。

1800-2017 (P183)では以下の様になっています。

1800-2012 (P147)では以下の注意だけです。

となっています。

3.5.2 1800-2017 (P185)

例に関するシンタックス・エラーが修正されています。1800-2017 (P185)では

となっています。一方、1800-2012 (P149)では

となっています。

3.5.3 1800-2017 (P187)

節 8.23 Class scope resolution operator ::において、厳密な説明となる様に nameが追加されました。

1800-2012 (P151)では

となっています。

3.5.4 1800-2017 (P193)

節 8.25.1 に於いて class scope resolution operatorを使用しています。従来は class resolution operator

でした。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

11

1800-2012 (P157)では

となっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

12

3.6 9. Processes

3.6.1 1800-2017 (P210)

以下の様に overload_declarationが削除されています。

1800-2012 (P174)では以下の様になっています。

3.6.2 1800-2017 (P211)

以下の様に overload_declarationが削除されています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

13

1800-2012 (P175)では以下の様になっています。

3.6.3 1800-2017 (P220)

9.4.2.4節の説明が以下の様に変更されています。

1800-2012 (P184)では以下の様になっています。

3.6.4 1800-2017 (P225)

9.6.1節の例に変更があります。例に関する説明文も変更されています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

14

因みに、1800-2012 (P190)の例は以下の様になっています。

3.6.5 1800-2017 (P227)

Example 4の説明に変更があります。1800-2017 (P227)では

となっています。一方、1800-2012 (P191)では

となっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

15

3.7 10. Assignment statements

無し。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

16

3.8 11. Operators and expressions

3.8.1 1800-2017 (P275)

節 11.4.14 streaming operatorsに関する説明が以下の様に強化されています。

1800-2012 (P239)では以下の様になっています。

3.8.2 1800-2017 (P277)

例が変更されています。

1800-2012 (P241)では

となっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

17

3.8.3 1800-2017 (P290)

operator overloading機能が廃止になり、11.11 Minimum, typical, and maximum delay expressionsに置

き換わっています。

1800-2012 (P254)には 11.11 Operator overloadingの説明があります。

3.8.4 1800-2017 (P291)

constant_primaryに nullが追加されています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

18

let文の分類が以下の様に変わりました。

1800-2012 (P258)では以下の様になっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

19

3.9 12. Procedural programming statements

無し。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

20

3.10 13. Tasks and functions (subroutines)

無し。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

21

3.11 14. Clocking blocks

無し。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

22

3.12 15. Interprocess synchronization and communication

3.12.1 1800-2017 (P361)

節 15.5.3 Persistent trigger: triggered built-in methodの最後に以下の説明が追加されています。

1800-2012には、この注意は存在しません。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

23

3.13 16. Assertions

3.13.1 1800-2017 (P374)

concurrent assertionsの説明が強化されています。

1800-2012 (P340)では以下の様になっています。

3.13.2 1800-2017 (P376)

節 16.5.2 Assertion clockに関する記述の変更があり、以下の様になっています。

1800-2012 (P342)では以下の様になっています。

また、1800-2017 (P376)の clock expressionに関する記述も以下の様に変更になっています。

1800-2012 (P342)では以下の様になっています。

3.13.3 1800-2017 (P380)

empty matchに関する記述が以下の様に追加されています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

24

3.13.4 1800-2017 (P392)

説明の変更が多く存在します。読み直しが必要です。

3.13.5 1800-2017 (P394)

新たに節 16.9.2.1 Repetition, concatenation, and empty matchesが追加されています。お読み下さい。

3.13.6 1800-2017 (P396)

sampled value functionsの説明が以下の様に強化されています。

1800-2012 (P361)では以下の様になっています。

3.13.7 1800-2017 (P399)

説明が以下の様に強化されています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

25

1800-2012 (P365)では以下の様になっています。

3.13.8 1800-2017 (P402)

AND operationに関する説明に工夫が見られます。読み易くなっていると思います。

3.13.9 1800-2017 (P405)

OR operationも同様に、図の配置が異なり、読み易いかもしれません。

3.13.10 1800-2017 (P411)

節 16.9.11 Composing sequences from simpler subsequencesに於いて、記述の変更があります。

1800-2012 (P377)では以下の様になっています。

3.13.11 1800-2017 (P413)

節 16.9.11 Composing sequences from simpler subsequencesの最後に、以下の記述が追加されました。

3.13.12 1800-2017 (P419)

記述の変更があります。

1800-2012 (P385)では以下の様になっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

26

3.13.13 1800-2017 (P423)

このページに節 16.12.1 Property instantiationが移動しています。

3.13.14 1800-2017 (P426)

例に変更があります。

1800-2012 (P391)では以下の様になっています。

3.13.15 1800-2017 (P430)

記述に変更があります。

1800-2012 (P395)では以下の様になっています。

3.13.16 1800-2017 (P433)

若干の表現の違いがあります。

1800-2012 (P398)では以下の様になっています。

3.13.17 1800-2017 (P446)

次の記述が追加されています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

27

3.13.18 1800-2017 (P470)

節 16.14.8 Nonvacuous evaluationsに関して説明が追加されています。

1800-2012 (P435)では以下の様になっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

28

3.14 17. Checkers

3.14.1 1800-2017 (P488)

説明の追加があります。

1800-2012 (P452)では以下の様になっています。

3.14.2 1800-2017 (P491)

記述の追加があります。

1800-2012 (P455)では以下の様になっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

29

3.14.3 1800-2017 (P500)

記述の追加があります。

1800-2012には対応する説明は存在しません。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

30

3.15 18. Constrained random value generation

3.15.1 1800-2017 (P505)

ハイライトした部分の記述追加があります。

3.15.2 1800-2017 (P507)

記述の違いがあります。

1800-2012 (P471)では以下の様になっています。

記述の変更もあります。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

31

1800-2012 (P471)では以下の様になっています。

記述の追加があります。

3.15.3 1800-2017 (P525)

節 18.5.14 Soft constraintsの説明が以下の様に変更されています。

1800-2012 (P488)では以下の様になっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

32

また、例と説明が以下の様に異なります。

1800-2012 (P489)では以下の様になっています。

3.15.4 1800-2017 (P540)

節 18.14 Random stabilityの記述が以下の様に追加されています。

1800-2012 (P503)では以下の様になっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

33

3.16 19. Functional coverage

3.16.1 1800-2017 (P580)

coverage optionに追加があります。

1800-2012 (P544)では以下の様になっています。

3.16.2 1800-2017 (P582)

coverage type optionsに追加があります。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

34

1800-2012 (P546)では以下の様になっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

35

3.17 20. Utility system tasks and system functions

3.17.1 1800-2017 (P600)

節 20.6.3 Range system functionに於いて戻り値を明確にしています。

1800-2012 (P564)では以下の様になっています。

3.17.2 1800-2017 (P601)

array_expressionの定義が追加されています。

1800-2012 (P564)では以下の様になっています。

3.17.3 1800-2017 (P602)

記述に変更があります。

1800-2012 (P566)では以下の様になっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

36

3.18 21. Input/output system tasks and system functions

無し。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

37

3.19 22. Compiler directives

3.19.1 1800-2017 (P676)

下記の文章が長くなっていますが、厳密に記述した結果です。例えば、newline の代わりに

newline characterと修正されています。

1800-2012 (P640)では以下の様になっています。

3.19.2 1800-2107 (P694)

次の様な節が追加されています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

38

3.20 23. Modules and hierarchy

3.20.1 1800-2017 (P703)

読み易い様に改善されています。

1800-2012 (P667)では以下の様になっています。

3.20.2 1800-2017 (P707)

以下の様なシンタックスの追加があります。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

39

1800-2012 (P671)では以下の様になっています。

3.20.3 1800-2017 (P724)

Example 3が追加されています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

40

3.20.4 1800-2017 (P730)

図の番号が訂正されています。

1800-2012 (P693)では Figure 23.1となっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

41

3.21 24. Programs

無し。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

42

3.22 25. Interfaces

3.22.1 1800-2017 (P749)

節 25.3 Interface syntaxのシンタックスが再編成されています。例えば、interface_itemが導入され

ています。マニュアルを参照して下さい。

3.22.2 1800-2017 (P759)

例が削除されています。

1800-2012 (P721)には以下の様になっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

43

3.23 26. Packages

無し。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

44

3.24 27. Generate constructs

3.24.1 1800-2017 (P787)

シンタックスが再編成されています。例えば、以下のハイライト項目の追加があります。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

45

3.25 28. Gate-level and switch-level modeling

3.25.1 1800-2017 (P801)

ルールが変更されています。以下は 1800-2012 (P764)で記述されているルールです。ハイライト

されているルールが 1800-2017 (P801)では削除されています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

46

3.26 29. User-defined primitives

無し。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

47

3.27 30. Specify blocks

無し。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

48

3.28 31. Timing checks

無し。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

49

3.29 32. Backannotation using the standard delay format

無し。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

50

3.30 33. Configuring the contents of a design

無し。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

51

3.31 34. Protected envelopes

3.31.1 1800-2017 (P924)

節 34.5.9.1 Syntaxのシンタックスが訂正されています。

1800-2012 (P887)では以下の様になっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

52

3.32 35. Direct programming interface

3.32.1 1800-2017 (P944)

説明を厳密にしています。微妙な差異が見られます。

1800-2012 (P907)では以下の様になっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

53

3.33 36. Programming language interface (PLI/VPI) overview

無し。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

54

3.34 37. VPI object model diagrams

3.34.1 1800-2017 (P992)

訂正されています。

1800-2012 (P955)では以下の様になっています。

また、次の記述も訂正されています。

1800-2012 (P955)では以下の様になっています。

3.34.2 1800-2017 (P997)

説明の追加があります。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

55

1800-2012 (P960)では以下の様になっています。

3.34.3 1800-2017 (P1051)

記述法の違いがありますが、真意は分かりません。

1800-2012 (P1014)では以下の様になっています。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

56

3.35 38. VPI routine definitions

無し。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

57

3.36 39. Assertion API

3.36.1 1800-2017 (P1117)

assertionHandleを handleに変更しています。例えば、

1800-2012 (P1081)では以下の様になっています。

同様の変更がありますが、省略します。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

58

3.37 40. Code coverage control and API

無し。

SystemVerilogの改訂版 IEEE Std 1800-2017の要約

Copyright 2018 © Artgraphics. All rights reserved.

59

4 参考文献

以下の文献を参考にしました。

[1] IEEE Std 1800-2012: IEEE Standard for SystemVerilog – Unified Hardware Design, Specification

and Verification Language.

[2] IEEE Std 1800-2017: IEEE Standard for SystemVerilog – Unified Hardware Design, Specification

and Verification Language.