Aa!&[  p@0`p @  @``@ p`@0p00H $ d HHUÙ̀̀ff@7  'd7 Footnote TableFootnote**/ - :;,.!?# g70 gDTOCHeading1Heading27Solaris SystemVerilogVerilogaccc_codeccsclibs common_inc directorypathdst_optextfilepathinc_optincl_dir initializersinodeslibx model_listmyclibsmycodenewlinepath+name_without_extensionpathnamepathname_without_extension pathnames prefix_flags prependedsetenv shared_codeshared_includessrc_opt suffix_flags sv_c_compiler sv_c_dst_opt sv_c_flags sv_c_inc_optsv_c_prefix_flags sv_c_src_optsv_c_suffix_flagssv_cpp_compilersv_cpp_dst_opt sv_cpp_flagssv_cpp_inc_optsv_cpp_prefix_flagssv_cpp_src_optsv_cpp_suffix_flagssv_incsv_lib sv_liblistsv_rootsv_src sv_srclistsyscusrutil AAADAQALAHAEATAZAF   EquationVariables3.0ac!\X]e]]^^^d>>[I~I>x>{I;IORRRIvIJc9 JDJFJGJUV&V&JJ(W4X [[[[[[[[ [ [ [ [ [ [ [ [ [ [[[[\h\\!\#\%\&\(\)\+\<\>\@\B\C\E\F\HNNNORRTR R RS S'!S(!S S"S"T$ T#T#T%T%V'U$U$V'W((W)(WF8XY [,Xj+Xl+[,[-[-[.[.[/[/  S28490: Figure: Figure 0-1 Inclusion of Object Code into a SystemVerilog Application I69881: Figure: Figure 0-1 Source Code Inclusion vs. Object Code Inclusion! T57952: TableTitle: Table 1: Environment Variables for Overriding Compilation OptionsT (95078: H2,1.1: 1.2 Location independence 98050: H3,1.1.1: 1.3.1 Syntax 32055: NumberedList1: 1) by an entry in a bootstrap file; see section1.3.1 for more details on this file and its content. will be[ 71531: H3,1.1.1: 1.4.1 Syntax^ W18648: NumberedList2: 2) by specifying the file with one instance of the switch -sv_lib_ Q10916: ExampleCaption: Example11 Using a simple bootstrap file or a switch listb F37501: ExampleCaption: Example12 Using -sv_lib and -sv_root switchese G88933: ExampleCaption: Example13 fMixing -sv_root and bootstrap files ~21119: NumberedList2: 2) An arbitrary amount of entries follow, one entry per line, where every entry holds exactly one source% d57352: ExampleCaption: Example14 Using a bootstrap file and environment variable, or a switch lists f44081: ExampleCaption: Example16 Assigning include directories to source code via the bootstrap file        ,- ./>l} +S28490: Figure: Figure 0-1 Inclusion of Object Code into a SystemVerilog Application>l} +I69881: Figure: Figure 0-1 Source Code Inclusion vs. Object Code Inclusion>l} '(95078: H2,1.1: 1.2 Location independence>l} '98050: H3,1.1.1: 1.3.1 Syntax>l} +32055: NumberedList1: 1) by an entry in a bootstrap file; see section1.3.1 for more details on this file and its content. will be>l} +W18648: NumberedList2: 2) by specifying the file with one instance of the switch -sv_lib>l} !+Q10916: ExampleCaption: Example11 Using a simple bootstrap file or a switch list>l} "+F37501: ExampleCaption: Example12 Using -sv_lib and -sv_root switches>l} #+G88933: ExampleCaption: Example13 fMixing -sv_root and bootstrap files>l} $'(95078: H2,1.1: 1.2 Location independence>l} %'71531: H3,1.1.1: 1.4.1 Syntax>l} &*T57952: TableTitle: Table 1: Environment Variables for Overriding Compilation Options>l} '+~21119: NumberedList2: 2) An arbitrary amount of entries follow, one entry per line, where every entry holds exactly one source>l} (+d57352: ExampleCaption: Example14 Using a bootstrap file and environment variable, or a switch list>l} ++f44081: ExampleCaption: Example16 Assigning include directories to source code via the bootstrap file1<$lastpagenum><$monthname> <$daynum>, <$year>"<$monthnum>/<$daynum>/<$shortyear>;<$monthname> <$daynum>, <$year> <$hour>:<$minute00> <$ampm>"<$monthnum>/<$daynum>/<$shortyear><$monthname> <$daynum>, <$year>"<$monthnum>/<$daynum>/<$shortyear> <$fullfilename> <$filename> <$paratext[ChapterTitle]> <$paratext[SectionTitle]> <$curpagenum> <$paranumonly[Chapter]><$paranum[Chapter]> (continued)+ (Sheet <$tblsheetnum> of <$tblsheetcount>)Heading & Page<$paratext> on page<$pagenum>Pagepage<$pagenum>See Heading & Page%See <$paratext> on page<$pagenum>. Table All7Table<$paranumonly>, <$paratext>, on page<$pagenum>Table Number & Page'Table<$paranumonly> on page<$pagenum>API Name DPI InterfaceTitle & Heading Figure <$pagenum>, <$paratext> <$chapnum> <$volnum> Draft Number (Draft 1) Draft_titleStd P 1364.1-1999 (Draft 2)copy2002std#SystemVerilog 3.1/draft 2VerilogXL version #VerilogXL 1.5c $paranumonly<$paranumonly>Section & Page%section<$paranum> on page<$pagenum>section number <$paranum>Appendix <$paranum> SeeSectForSee Section<$paranum> for SeeSectForInfo.See Section <$paranum> for more information on seeSection(see <$paranum>)Refer to TableRefer to<$paranum> Sectionsection<$paranum> SeeSecForInfo+See Section<$paranum> for more information Defined inDefined in Section<$paranum>.Table <$paranum>$paranum <$paranum>ASection<$paranum[Section,SubSection]> SectionOnly <$paranum> $paratext <$paratext> Chapter num <$paranum> SubSectionSection<$paranum> See HeadingSee <$paratext> )HTML Headings++A--//11A33557QAssyy   2255VVXXAZZ\\aaAddAffkkmmqoAwwyy{uA~~AQTOC77AK\Z \\ \^ \` \b \d \f \h \j \l \n \p \r \t \v \x \z \| \~ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ] ] ] ] ] ]  ]  ] ] ] ] ] ] ] ] ] ]  ]" ]$ ]& ]( ]* ], ]. ]0 ]2 ]4 ]6 ]8 ]: ]< ]> ]@ ]B ]D ]F ]H ]J ]L ]N ]P ]R ]T ]V ]X ]Z ]\ ]^ ]` ]b ]d ]g ]i ]k ]m ]o ]q ]s ]u ]w ]y ]{ ]} ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ ^ ^ ^ ^  ^  ^ ^ ^ ^ ^ ^ ^ ^ ^ ^! ^# ^% ^' ^) ^+ ^- ^/ ^1 ^3 ^5 ^7 ^9 ^; ^= ^? ^A ^C ^E ^G ^I ^K ^f ^h ^j ^l ^n ^p ^r ^t ^v ^x ^z^| ^~ ^^ ^ ^^ ^ ^^ ^^M ^O ^P[[\[\[][^[_Ia#C.2 ce Iel;:Annex CJ>2C.4 H><3c};?bc b+ >X3ICIEIFl;F;Gl;HlI{#C.3 ;Jlb+Rb+IglI|c~3c3RGIIQ Figure C1IIp1)Iq2)IUIÀRtlRlU.C.3.1 ÌURp1)Rq2)Iрq3)I.C.3.2 IӀp1)IsIsIsIsSgSh cq b+ Sk SyqI I I I b+ I ItS! ExampleC1TzS S S S I S1 ExampleC2T T T T T1 ExampleC3J SĀqT7 T8 T9 CYT: T; J J J J J J J  J!q3)J"tJ#sJ$sJ%sJ&sJ'sJ(tPT(J?b+ b+J0 Figure C2JJ$1)J'2)J UJUUJJƀUJʀC.4.1 JˀJ̀UJЀJԀ/ Table C1JD{J؀-Jڀ-J܀,Jހ,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,K,K,K,K,K,K ,K ,K,PK,K,PKKC.4.3 Vhb*SVVVVsKC.4.4 K$1)KK K!K"K#(K$K%K&RllV(XX+ XO+XP+XQ+XR+X7qX=) ExampleC5b*[\[\[][[[^X) ExampleC4[\Wπ'q2) [_[]Kb(Kc(Kd(Ke(Kf(Kg'3)4KkKlKmKnKoKpKqKrKsKtKuKvKwR~lKy(Kz(K{(K|(K}([Sqq2)\`\\ a\ a\ a\ a\a\a\a\a\aa\\\"\\,]\-]\.\;^\?\\I_\J]\K\P^c^d^e^f^g^h^i^j^ N׀#C.1 OssO3sOOsS,tS S UӀTUC.4.2 V6$1)V7'2)V8'3)\abWW  W+ Wcqd[*5@(@Sc v~srs@(@ d^ HN`@^HN`@HRHR#Footnote Hq<@`@^Hq<@`@HzHz# Single LineH'^ Footnote$^$% H$ W+ a P:Heading1 }H\=?H W, aH* }6\>@6 W- aN }2-\?A2- W. aN }_?\@B_? W/ a }$\AC$ W0 a P:Heading2 }H\BDH W1 aH* }6\CE6 W2 aN }2-\DF2- W3 aN }_?\EG_? W4 a }$\FH$ W5 aP:HeadingRunIn }H\GIH W6 aH* }6\HJ6 W7 aN }2-\IK2- W8 aN }_?\JL_? W9 a }$ ,\KM$ , W: a P:Indented } H,\LN H,, ; aP <a Parent = UL Q=a Depth = 0 } 6,\MO 6, W> aN }2 -,\NP2 -, W? aN }_ ?,\OQ_ ?, W@ a }$9\PR$9 WA aP:Mapping Table Cell }9H\QS9H WB aP }96\RT96 WC aN }29-\SU29- WD aN }_9?\TV_9? WE a }$I\UW$IWF aP:Mapping Table Title }IH\VXIHWG aP }I6\WYI6WH aN }2I-\XZ2I-WI aN }_I?\Y[_I?WJ a }$Y,\Z\$Y,WK a P:Numbered }YH,\[]YH,,L aLI Ma Parent = OL QNa Depth = 0 }Y6,\\^Y6,WO aN }2Y-,\]_2Y-,WP aN }_Y?,\^_Y?,WQ a }$b,\"a$b,$WR a P:Numbered1 }bH,\"`bbH,,$S aLI Ta Parent = OL QUa Depth = 0 }b6,\"acb6,$WV aN }2b-,\"bd2b-,$WW aN }_b?,\"ce_b?,$WX a }$]"df$$WY aP:TableFootnote }H]"egH$WZ aP }6]"fh6$W[ aN }2-]"gi2-$W\ aN }_?] "hj_?$W] a }$] "ik$$W^ a P:TableTitle }H] "jlH$W_ aH* }6]"km6$W` aN }2-]"ln2-$Wa aN }_?]"mo_?$Wb a }$]"np$$Wc aP:Title }H]"oqH$Wd aH* }6]"pr6$We aN }2-]"qs2-$Wf aN }_?]"rt_?$Wg a }$]"su$$Wh a C:Emphasis }H]!"tvH$Wi aEM }6]#"uw6$Wj aN }2-]%"vx2-$Wk aN }_?]'"wy_?$Wl a }$])"xz$$Wm aC:EquationVariables }H]+"y{H$Wn aEM }6]-"z|6$Wo aN }2-]/"{}2-$Wp aN }_?]1"|~_?$Wq a }$]3"}$$Wr aX:Heading & Page }H]5"~H$Ws aHeading }6]7"6$Wt aN }2-]9"2-$Wu aN }_?];"_?$Wv a }$]="$$Ww aX:Page }H]?"H$Wx aHeading }6]A"6$Wy aN }2-]C"2-$Wz aN }_?]E"_?$W{ a }$]G" $$W| aX:See Heading & Page }H]I" H$W} a See Also }6]K" 6$W~ aN }2-]M" 2-$W aN }_?]O" _?$W a }$]Q" $$W a X:Table All }H]S" H$W a Table All }6]U"6$W aN }2-]W"2-$W aN }_?]Y"_?$W a }$]["$$W aX:Table Number & Page }H]]"H$ !Table PANumber }6]_"6$W aN }2-]a"2-$W  aN }_?]c"_?$W  a }$B ]f"$B $W aHTML Options Table }B ]h"B $W a }hB ]j"hB $W a }$R]l"$R$W aControl }R]n"R$W aValue }hRH]p"hRH$W a Comments }$b]r"$b$W a Image Format }b]t"b$W a0001IMAGGIF GIF }hbH]v" hbH$W a }$r]x"!$r$W a!Copy Files Imported by Reference }r]z" "r$W aN }hrH]|"!#hrH$W a }$]~""$$$W aExport Encoding }]"#%$W a ISO-8859-1 }hH]"$&hH$W a }$]"%'$$ W aCSS Export Encoding }]"&($ W a ISO-8859-1 }hH]"'hH$ W a }$$ ]%-$$ '!WaSystem Macros }$ ]%$ '!Wa }$ ]%$ '!Wa }\$ ]%\$ '!W a }$4h]%).$4h'"W! a Macro Name }4h]%-/4h'"W" a Replace With }4h]%.04h'"W# aHead }\4B]%/1\4B'"W$ a Comments }$Dh,]%02$Dh,'#W% a StartOfDoc }Dh,]%13Dh,'#W& a }Dh,]%24Dh,,'#' ! ��<$defaulttitle></P��ATITLE> }\��DB,��]�%35��\��DB,'�#W( ��a }$ph��]�%46��$ph'�$�W) ��a EndOfDoc }��ph��]�%57����ph'�$W* ��a }��ph��]�%68����ph'�$W+ ��a }\��pB��]�%79��\��pB'�$W, ��a }$��h,��]�%8:��$��h,'�%�W- ��aStartOfSubDoc }����h,��]�%9;������h,'�%W. ��a }����h,��]�%:<������h,,'�%/ ��!<TITLE> ��<$defaulttitle></P��ATITLE> }\����B,��]�%;=��\����B,'�%W0 ��a }$��h��]�%<>��$��h'�&�W1 ��a EndOfSubDoc }����h��]�%=?������h'�&W2 ��a }����h��]�%>@������h'�&W3 ��a }\����B��]�%?A��\����B'�&W4 ��a }$��h,��]�%@B��$��h,'�'�W5 ��aStartOfFirstSubDoc }����h,��]�%AC������h,'�'W6 ��a }����h,��]�%BD������h,,'�'7 ��!<TITLE> ��<$defaulttitle></P��ATITLE> }\����B,��]�%CE��\����B,'�'W8 ��a }$��h��]�%DF��$��h'�(�W9 ��aEndOfFirstSubDoc }����h��]�%EG������h'�(W: ��a }����h��]�%FH������h'�(W; ��a }\����B��]�%GI��\����B'�(W< ��a }$��h,��]�%HJ��$��h,'�)�W= ��aStartOfLastSubDoc }����h,��]�%IK������h,'�)W> ��a }����h,��]�%JL������h,,'�)? ��!<TITLE> ��<$defaulttitle></P��ATITLE> }\����B,��]�%KM��\����B,'�)W@ ��a }$$��h��]�%LN��$$��h'�*�WA ��aEndOfLastSubDoc }��$��h��]�%MO����$��h'�*WB ��a }��$��h��]�%NP����$��h'�*WC ��a }\��$��B��]�%OQ��\��$��B'�*WD ��a }$:���� ��]�%PT��$:���� '�+�WE��aCross-Reference Macros }��:���� ��]�%������:���� '�+WF��a }D��:���� ��]�%����D��:���� '�+WG��a }$J������]�%QU��$J����'�,�WH ��a Macro Name }��J������]�%TV����J����'�,WI ��a Replace With }D��J��?��]�%UW��D��J��?'�,WJ ��a Comments }$Z������]�%VX��$Z����'�-�WK ��aHeading }��Z������]�%WY����Z����'�-WL ��a <$paratext> }D��Z��?��]�%XZ��D��Z��?'�-WM ��a }$j������]�%Y[��$j����'�.�WN ��a See Also }��j������]�%Z\����j����'�.WO ��aSee <$paratext>. }D��j��?��]�%[]��D��j��?'�.WP ��a }$z������]�%\^��$z����'�/�WQ ��a Table All }��z������]�%]_����z����'�/R ��!Table <$paranumonly>, P��A <$paratext> }D��z��?��]�%^`��D��z��?'�/WS ��a }$������]�%_a��$����'�0�WT ��a Table Number }��������]�%`b��������'�0WU ��aTable <$paranumonly> }D����?��]�%a���D����?'�0WV ��a }$$�� ��^�(�g��$$�� ��1�WW��aGeneral Macros }v$�� ��^�(����v$�� ��1WX��a }$�� ��^�(����$�� ��1WY��a }2��$�� ��^�(����2��$�� ��1WZ��a }$4ev��^ �(ch��$4ev��2�W[ ��a Macro Name }v4ev��^ �(gi��v4ev��2W\ ��a Replace With }4C��^ �(hj��4C��2W] ��aHead }2��4Q��^�(ik��2��4Q��2W^ ��a Comments }$Dev��^�(jl��$Dev��3�W_ ��a }vDev��^�(km��vDev��3W` ��a }DC��^�(ln��DC��3Wa ��a }2��DQ��^�(mo��2��DQ��3Wb ��a }$Z�� ��^�(nr��$Z�� ��4�Wc��aCharacter Macros }lZ�� ��^�(����lZ�� ��4Wd��a }��Z�� ��^�(������Z�� ��4We��a }$jH��^ �(os��$jH��5�Wf ��a Character }lj����^"�(rt��lj����5Wg ��a Replace With }��j?��^$�(su����j?��5Wh ��a Comments }$zH��^&�(tv��$zH��6�Wi ��a }lz����^(�(uw��lz����6Wj ��a¢ }��z?��^*�(vx����z?��6Wk ��a }$��H��^,�(wy��$��H��7�Wl ��a }l������^.�(xz��l������7Wm ��a© }����?��^0�(y{������?��7Wn ��a }$��H��^2�(z|��$��H��8�Wo ��a }l������^4�({}��l������8Wp ��a® }����?��^6�(|~������?��8Wq ��a }$��H��^8�(}��$��H��9�Wr ��a }l������^:�(~���l������9Ws ��a° }����?��^<�(������?��9Wt ��a }$��H��^>�(���$��H��:�Wu ��a }l������^@�(��l������:Wv ��a-- }����?��^B�(������?��:Ww ��a }$��H��^D�(��$��H��;�Wx ��a }l������^F�(��l������;Wy ��a- }����?��^H�(������?��;Wz ��a }$��H��^J�(��$��H��C�W{ ��a }l������^L�( ��l������CW ��a... }����?��^N�(�������?��CW ��a ��d������^a�������� ��������$$h������^b� ����$$h������ ����l��� $$h������^c� ����$$h���������� ! ����W.��Bm }$h�� ��^e� ���$h��  �<�W|��aHeadings Table }��h�� ��^g� ������h��  �<W}��a }��h�� ��^i� ������h��  �<W~��a }$Cl��^k� ��$Cl �=�W ��aHeading Level }��Cu��^m� ����Cu �=W� ��aParagraph Format }��CH��^o� ����CH �=W ��a Comments }$Sl��^q� ��$Sl �>�W ��a1 }��Su��^s� ����Su �>W ��aTitle }��SH��^u� ����SH �>W ��a }$il��^w� ��$il �?�W ��a2 }��iu��^y� ����iu �?W UTUT��a Heading1 }��iH��^{� ����iH �?W ��a }${l��^}� ��${l �@�W ��a3 }��{u��^� ����{u �@W  ��a Heading2 }��{H��^� ����{H �@W  ��a }$l��^� ��$l �A�W  ��a4 }��u��^� ����u �AW  ��a HeadingRunIn }��H��^� ����H �AW  ��a }$l��^�  ��$l �B�W ��a4 }��u��^� !����u �BW  ��a TableTitle }��H��^� �����H �BW ��a ��d������^R��������##��������$$������^S�"����$$����&$$�����l��� $$������^T�"����$$�����������`(#�`ejoty~  #&)-159=AEIMQTWZ]`cgkorux{~����d������^W��������&&��������$$������^X�%����$$����#)''����l��� $$������^Y�%����$$�������� ���)b&�)-159=AEIMQTWZ]` cgkorux{~����d������^\��������)) ��������$$������^]�(����$$����&��������l��� ���~��[��+�����~���������7�Zl��d����[�*3��Zl��d�����22 ����l�����d������[��������-1��������U$����[�,�/��U$�����..����l��� U$����[�,����U$����������-����.�e Accellera Q�m&3SystemVerilog 3.1/draft 24  Uw��R��[�,-1��Uw��R���00����l��� Uw��R��[�,����Uw��R��������/����.��m^5#6Copyright 720028 Accellera. All rights reserved.9Running H/F 4: Qc��e UH��ˆ����[�,/���UH��ˆ�����__����l��� Zl��d����[�����Zl��d����������+����W.��e U$����[�+5��U$�����44 ����l��� U$����[�����U$����������3����W.��e Zw��R��[�3���Zw��R���^^ ����l��� UH��ˆ����;4�����UH��ˆ��j�D*���*����7����=UTUT���  UR���@#Inclusion of Foreign Language Code ".��� gThis annex describes common guidelines for the inclusion of Foreign Language Code into a SystemVerilog ���tapplication. This intention of these guidelines is to � enable the redistribution of C binaries in shared object A��Pform.� :�  3Y��pCenable the redistribution of C binaries in shared object form�  4k��pWensure the compatibility for all linkage aspects that would appear in the C code.�   ���(xForeign Language Code�  is functionality that is included into SystemVerilog using the  DPI Interface. As a 2.����nresult, all statements of this annex apply only to code included using this interface; code included by using ���}other interfaces (e.g., PLI or VPI) is outside the scope of this document. Due to the nature of the  DPI Interface, ����kmost Foreign Language Code is usually be created from C or C++ source code, although nothing precludes the ����pcreation of appropriate object code from other languages. This annex adheres to this rule, its content is inde���@'pendent from the actual language used. #ͪ��0In general, Foreign Language Code is provided in the form of object code�  (� compiled for the actual platform� )�  � or ت��psource code� . The capability to include Foreign Language Code in object-code form shall be supported by all .��tsimulators as specified here. � The capability to include Foreign Language Code in source code form is optional, "��tbut shall follow the guidelines in this annex if it is supported by a simulator. The inclusion of object and source ��lcode needs to be orthogonal and not depend on each other. Any interferences between both inclusion capabili��Pties shall be avoided.�  .>UTU?���` Overview *.0���`This annex defines how to: +A���`Gspecify the location of the corresponding files within the file system ,S���`;specify the files to be loaded (in case of object code) or &��p@specify the files to be processed (in case of source code)�  ..���`9provide the object code (as a shared library or archive) !��pNspecify any compilation information required for processing source code.�  (.��� kAlthough this annex defines guidelines for a common inclusion methodology, it requires multiple implementa0����qtions (usually two) of the corresponding facilities. This takes into account that multiple users can have differ���@Uent viewpoints and different requirements on the inclusion of Foreign Language Code. )ƪ��� gA vendor that wants to provide his IP in form of Foreign Language Code often requires a self-contained 0Ҫ����lmethod for the integration, which still permits an integration by a third party. This use-case is often cov���@#ered by a bootstrap file approach. 1��� eA project team that specifies a common, standard set of Foreign Language code, might change the code 0����kdepending on technology, selected cells, back-annotation data, and other items. This-use case is often cov���@Xered by a set of tool switches, although it might also use the bootstrap file approach. ��� hAn user might want to switch between selections or provide additional code. This-use case is covered by 0&����iproviding a set of tool switches to define the corresponding information, although it might also use the ���@bootstrap file approach. kI��� NOTEThis annex � defines�  a set of switch names to be used for a particular functionality. This is of informative nature; pS�����the actual naming of switches is not part of this standard. It might further not be possible to use certain character configura����ytions in all operating systems or shells. Therefore any switch name defined within this document is a recommendation how ���@9to name a switch, but not a requirement of the language. UH��ˆ����;6�����UH��ˆ����:66  ����l�����d������HO��������:: �������� UH��ˆ����HP�8����UH��ˆ��x"�L"���";;��:����>UTUT���hTLocation independence '.��� lAll pathnames specified within this annex are intended to be location-independent, which is accomplished by 0����vusing the switch � -sv_root� . It can receive a single directory pathname as the value, which is then prepended ����pto any relative pathname that has been specified. In absence of this switch, or when processing relative filena����xmes before any � -sv_root�  specification, the current working directory of the user shall be used as the default ���@value. ->UT_UM���`Object code inclusion 2.u��� mCompiled object code is required for cases where the compilation and linking of source code is fully handled 0����mby the user; thus, the created object code only need be loaded to integrate the Foreign Language Code into a ����lSystemVerilog application. All SystemVerilog applications shall support the integration of Foreign Language ���Code � in object code form� .  Figure C1  depicts the inclusion of object code and its relations � to the various A���Psteps involved in this integration process� . � **Revise this xref � w/ Stu� ; also check/revise variable settings, etc.** 6.�� h. 7?B_���h@ Inclusion of object code into a SystemVerilog application 8.X^���`KCompiled object code can be specified by one of the following two methods: 9k]���(~by an entry in a bootstrap file; see YsectionC.3.1Z for more details on this file and its content. Its location 0w\����kshall be specified with one instance of the switch � -sv_liblist � pathname� . This switch can be ���@Eused multiple times to define the usage of multiple bootstrap files. :Z���(I^by specifying the file with one instance of the switch � -sv_lib ,Y����\pathname_without_extension�  (i.e., the filename shall be specified without the platform ".����`specific extension). The SystemVerilog application is responsible for appending the appropriate ����gextension for the actual platform. This switch can be used multiple times to define multiple libraries ���@holding object code. ;U��� lBoth methods shall be provided and made available concurrently, to permit any mixture of their usage. Every 0T����vlocation can be an absolute pathname or a relative pathname, where the value of the switch � -sv_root�  is used ���uto identify an appropriate prefix for relative pathnames (see VsectionC.2U for more details on forming path���@names). =Q���`%The following conditions also apply. ?$P��� kThe compiled object code itself shall be provided in form of a shared library having the appropriate exten0O���@sion for the actual platform. 5H"��� NOTEShared libraries use, for example, � .so�  for Solaris and � .sl�  for HP-UX; other operating systems might use differR"���@rent extensions. In any case, the SystemVerilog application � needs�  to identify the appropriate extension. |.hN��� mThe provider of the compiled code is responsible for any external references specified within these objects. PtM���@eAppropriate data needs to be provided to resolve all open dependencies with the correct information. UH��ˆ����HR�8����UH��ˆ���799 ����l���H�u"��I�8�����?<q�9����)�Zl`���I�;�=��)�Zl`�=YҪ��I�;<>@�>�=YҪD`Q횞_ߞ_��I� ;=?@=?�D`Q횞_ߞ_�b0D`QIMyD0P_ߞ_��I� ;>@@>��D0P_ߞ_�D0Pb/Ix=YҪ��I�;?A��=YҪҁ=? GbQR,{)��I�;@B��GbQR,{)GbZ]GbZ]�$LoadpIN��I� ;ACq�F�pIN )��I� ;BDF�D�)yEE$System 象T)��I� ;CEFCE�象T)y88$Verilog ы)��I� ;DFFD��ы)yF+F+$ applicationѡ}��I�;EGqB��ѡ}فCEh�i@���I� ;FH��h�i@��h�i@q@J @��I�;GI��@J @�K] @��I�;HJN�M�K] @��TM]��I� ;IK���TM]��TTݰUM] %SV)��I�;JLM�L�%SV) P_=%_=Object J̹})��I�;KMMK��J̹}) PB0JB0code%SVS��I�;LNNI��%SVSKLK] @��I�;MO��K] @IM#�X���I� ;NP��#�X��#�X<^"V���I� ;OQ��"V��"V<@\ 1=Ҫ��I�;PRT�R� 1=Ҫ)m_ߞ_��I� ;QSTQS�)m_ߞ_�@m)Jt(=_ߞ_��I� ;RTTR��(=_ߞ_�(=Js 1=Ҫ��I�;SU�� 1=ҪҁQS\ $Ҫ��I�;TVX�V�\ $Ҫb흞_ߞ_��I� ;UWXUW�b흞_ߞ_�?bJM|b_ߞ_��I� ;VXXV��b_ߞ_�bJ{\ $Ҫ��I�;WY��\ $ҪҁUWX !Ҫ��I�;XZ\�Z�X !Ҫ^횞_ߞ_��I� ;Y[\Y[�^횞_ߞ_�}?^FMy^_ߞ_��I� ;Z\\Z��^_ߞ_�^}FxX !Ҫ��I�;[]��X !ҪҁY[� @��I�;\^��� @�� @��I�;]_��� @�] @��I�;^`d�c�] @�G]��I� ;_a��G]�Nݮ@G] HS)��I�;`bc�b� HS)_; H_;Source })��I�;acca�� }). .code HSS��I�;bdd_�� HSSab] @��I�;ce��] @_c�]@���I� ;df���]@���]V@]�]@���I� ;eg���]@���]V@]�]@���I� ;fh���]@���]V@] ]&O-m)��I� ;gi��]&O-m)]&Xݴ]&Xݴ�%Compile @|CDxe��I� ;hjk�j�@|CDxebӸ@|# Object code Hb$!e��I� ;ikki��Hb$!ebӸHb# inclusion@|CDxF��I�;jl��@|CDxFij ?P-x)��I�;km��?P-x)?Y?Y�%LinkHݬ���I� ;ln��Hݬ��HݬLݬ1 ���I� ;mo��1 ��1;/ݫ ���I� ;np��/ݫ ��/ݫ@9ݫ e@)j)��I� ;oq��e@)j)e@)e@)�%Performed by the userpIN��I�;p���pINBF@�(@��Sl�vsuu{��@�(@sŋ_'@ ��Se� vrr��ŋ_'@ ��tt ����l��� ŋ_'@ ��Sf�v����ŋ_'@ 1��������s����L)���`#!SV_LIBRARIES M���` myclibs/lib1 ���` myclibs/lib3 N���`proj1/clibs/lib4 AP���` proj3/clibs/lib2 @�(Jށ��S�vrx��@�(Jށ{rc` .?Sb��I������yx����� QDOBS)��S� W��QDOBS)QDXQDX�$Switches@J@�-L^��S�vu���@J@�-L^y|@J@�-���I� v�{x�|�@J@�-�,X��zz ����,XU ��� @J@�-���I�v����@J@�-�;��������y����R)���`... S���`-sv_lib myclibs/lib1 T���`-sv_lib myclibs/lib3 $���`-sv_lib proj1/clibs/lib4 U���`-sv_lib proj3/clibs/lib2 AW���`... Etg�ދ)��I� vy|u�r�Etg�ދ)N,N,�$Bootstrap file method �PEtXM-)��I� v{~xy���PEtXM-)�PN.�PN.�$Switch list method ḯ ���T�����ḯ �:������������a)���`/home/user/svLibrary1.so b���`#/home/user/svLibrary2.� so�  c���` d���`)/home/project2/shared_code/svLibrary3.so QZ7���`"/home/project3/code/svLibrary4.so I-��I� v|��I-�P@Q]��I�����������Ӏ4C��I� ��V�Ӏ4C,X�� �����,XU ��� Ӏ4C��I�����Ӏ4C �������������W_)���` @F9E��I� �w��@F9E,X�� �����,XU ��� @F9E��I�����@F9E ������������Wf)���` Ӏ4C��S�VWw��Ӏ4C�V >XOB )��S� wV��>XOB )>XX>XX�$FilesT`?bb��J����� �����:�4���T3� ��:�4��:�4���T<���:�4�Nc;,a��J � � � �Nc;,a,X�� �����,XU ��� Nc;,a��J �����Nc;,a�������� ����n)���`#! SV_LIBRARIES o���` lib1 Ap���` lib2 N\I{7aR ��J �  ��N\I{7aR ,X�� �����,XU ��� N\I{7aR ��J �����N\I{7aR '�������� ����q)���`#! SV_LIBRARIES r���` lib3 s���` /common/libx At���` lib5 J�b{,l�@ ��J�   ��J�b{,l�@ �I@a6l� ��J�   ��I@a6l� � �L Ae��J� ���L Ae�L.�L.�* bootstrap1: �JAe��J� ���JAe�J7�J7�* bootstrap2:4^@��J� ��4^@�4:�L�C;8@ ���J� ���C;8@ ���C;8@L;8 �q\� ��XK�4�����q\� 1�������� ����F4��p#!SVC_SOURCES G��p> mycode/model1.c : mycode/includes proj1/util common/includes H��p sysc/model3.sc : common/sysc I��p( proj1/code/model3.cc : common/includes AE��p; proj3/c_code/model4.cpp : proj1/util common/includes�  ��d������J,�������� �������� UH��ˆ����J-�����UH��ˆ��}b�L$���$vv������CA���0pThe provider of the compiled code shall avoid�  interferences with other software and ensure the appropriate 2.����jsoftware version is taken (e.g., in cases where two versions of the same library are referenced). Similar ����cproblems can arise when there are dependencies on the expected runtime environment in the compiled ���@Wobject code (e.g., in cases where C++ global objects or static initializers are used). >���0uThe SystemVerilog application � need�  only load object code within a shared library that is referenced by the 0H����jSystemVerilog code or by registration functions; loading of additional functions included within a shared ���@(library can interfere with other parts. Aj��� oIn case of multiple occurrences of the same file (files having the same pathname or which can easily be identi0u����rfied as being identical; e.g., by comparing the inodes of the files to detect cases where links are used to refer ���|the same file), the above order also identifies the precedence of loading; a file located by method 1) shall over���H-ride files specified by method \2)]. <��� oAll compiled object code need to be loaded in the specification order similarly to the above scheme; first the 0����{content of the bootstrap file is processed starting with the first line, then the set of � -sv_lib�  switches is pro���@Lcessed in order of their occurrence. Any library shall only be loaded once. @>UTUF���hBootstrap file B.ݪ���`9The object code bootstrap file has the following syntax. C���`=The first line contains the string � #!SV_LIBRARIES� . D��� gAn arbitrary amount of entries follow, one entry per line, where every entry holds exactly one library 0����glocation. Each entry consists only of the � pathname_without_extension�  of the object code file ����fto be loaded and can be surrounded by an arbitrary number of blanks; at least one blank shall precede ����hthe entry in the line. The value � pathname_without_extension�  is equivalent to the value of the ���@switch � -sv_lib� . EH��� dAny amount of comment lines can be interspersed between the entry lines; a comment line starts with T���@qthe character � #�  after an arbitrary (including zero) amount of blanks and is terminated with a newline. F>UTiU;���` Examples G.|��� tIf the pathname root has been set by the switch � -sv_root�  to � /home/user�  and the following object ���@files need to be included: HE���`/home/user/myclibs/lib1.so I���`/home/user/myclibs/lib3.so J���`/home/user/proj1/clibs/lib4.so K���`/home/user/proj3/clibs/lib2.so X.ͪ���hVthen use either of the methods in aExampleC1`. Both methods are equivalent. 3㪌�� h Y;N F���h4_Using a simple bootstrap file or a switch list .n E���(vIf the current working directory is � /home/user� , using the series of switches shown in cExampleC2d Pz D���@D(left column) result in loading the following files (right column). UH��ˆ����J/�����UH��ˆ���:  ����l�����d������J3�������� �������� UH��ˆ����J4�����UH��ˆ��Er�L���������Q.�� h `;{h���hNbUsing a combination of � -sv_lib�  and � -sv_root�  switches u.g���hcFurther, using the set of switches and contents of bootstrap files shown in fExampleC3g: gf�� h e;*&���h3eMixing � -sv_root�  and bootstrap files v.J%���`(results in loading the following files: wEVEz���` /aEz���`/home/usr1/lib1.� &ext x���`/home/usr1/lib2.� &ext y���`/home/usr2/lib3.� &ext z���`/common/libx.� &ext {���`/home/usr2/lib5.� &ext |.$���`Owhere � &ext�  stands for the actual extension of the corresponding file. UT��pSource code inclusion ~!��0mA SystemVerilog application can handle the compilation step and all subsequent activities for the user. As a p ��qresult, the compilation, linking and loading steps are fully transparent to the user; the only requirement is to ��ospecify the source code files for compilation. Source code is an optional feature that can be supported by Sys��ttemVerilog applications to support the integration of Foreign Language Code. Figure C2 depicts the inclu��P-sion of source code versus object code.�  UH��ˆ����J6�����UH��ˆ���H ����l���0X��b�8���0XH�Qb��JH�F�����X �G����)�Zl`���JI����)�Zl`�L#mݹ,�Jd��JJ���L#mݹ,�Jdg)=Ҫ��JK�!��g)=Ҫn`!m_ߞ_��JL�  ! �n`!m_ߞ_��mn`!͗n0 =_ߞ_��JM� !!��n0 =_ߞ_�n0 =g)=Ҫ��JN� "��g)=Ҫ҂ c&=Ҫ��JO�!#%�#�c&=Ҫj`m_ߞ_��JP� "$%"$�j`m_ߞ_�mj`͔j0=_ߞ_��JQ� #%%#��j0=_ߞ_�j0=c&=Ҫ��JR�$&��c&=Ҫ҂"$�ݺ @��JS�%'���ݺ @�ݻ @��JT�&(��ݻ @�@} @��JU�')5�4�@} @�ȇ��JV� (*��ȇ�ʼ�_)=Ҫ��JW�)+-�+�_)=Ҫf`!m_ߞ_��JX� *,-*,�f`!m_ߞ_��mf`!͗f0 =_ߞ_��JY� +--+��f0 =_ߞ_�f0 =_)=Ҫ��JZ�,.��_)=Ҫ҂*, @GEx)��J[�-/��@GEx)@G@G�$Link=YҪ��J\�.0>�0�=YҪD`Q횞_ߞ_��J]� /1>/1�D`Q횞_ߞ_�b0D`QIMyD0P_ߞ_��J^� 02>0��D0P_ߞ_�D0Pb/Ix JП)��J_�134�3�JП)WJWSource ʖÕ)��J`�2442��ʖÕ)JʖJcodeJПS��Ja�355(��JПS23@} @��Jb�46��@} @(4F�ė@���Jc� 57��F�ė@��F�]@"F�ė@���Jd� 68��F�ė@��F�]@"F�ė@���Je� 79��F�ė@��F�]@"4]÷���Jf� 8:��4]÷��4]�B]@5]ö ���Jg� 9;��@5]ö ��@5]�B]@5]ö� ���Jh� :<��@5]ö� ��@5]@B]OƷ���Ji� ;=��OƷ��O7@^ F@`RG{)��Jj� <>��F@`RG{)F@`]F@`]�$Load=YҪ��Jk�=?��=YҪ҂/1; W=Ҫ��Jl�>@B�@�; W=ҪAOm_ߞ_��Jm� ?AB?A�AOm_ߞ_�`@.mAO͒AN=_ߞ_��Jn� @BB@��AN=_ߞ_�AN=`-; W=Ҫ��Jo�AC��; W=Ҫ҂?A`:Ҫ��Jp�BDF�D�`:Ҫ 2_ߞ_��Jq� CEFCE� 2_ߞ_� 2M1_ߞ_��Jr� DFFD��1_ߞ_�1P`:Ҫ��Js�EG��`:Ҫ҂CE GbQR,{)��Jt�FH��GbQR,{)GbZ]GbZ]�$Load@Gr]#��Ju� GI[�K�@Gr]#� ߗgs7)��Jv�HJK�J�ߗgs7)$ud|ߗg|$Performed by the application ,d~<*l)��Jw�IKKI��,d~<*l)$udG,dG$transparent to the userߗgs7S��Jx�JL[H��ߗgs7SIJxmI@&��Jy� KMQ�P�xmI@& zc~Σ)��Jz� LNP�N�zc~Σ)@vlUzlU$System nT)��J{� MOPMO�nT)@vwHwH$Verilog yҴы)��J|� NPPN��yҴы)@v;;$ applicationc~δѡ}��J}�OQQL��c~δѡ}قMOxlI@)��J~�PR��xlI@)LPfiŒ@��J� QS��fiŒ@�fiy@nh�i@@��J� RT��h�i@@�h�iy@n]@J @��J�SU��@J @�K] @��J�TVZ�Y�K] @��TM]��J� UW���TM]��TTݰUM] %SV)��J�VXY�X�%SV) P_=%_=Object J̹})��J�WYYW��J̹}) PB0JB0code%SVS��J�XZZU��%SVSWXK] @��J�Y[��K] @UY@Gr]#��J�Z\��@Gr]#HK �R]×@ ��J� []�� �R]×@ �7]Ö��J� \^��7]Ö�0|BMŔ��J�]_b�a�0|BMŔ�  F5\��J� ^`a�`� F5\JBJB-Intermediate results 1h\��J� _aa_�� 1h\8 18- not visiblec F4ܐ��J�`bb^��c F4ܐ_`0|BMŔ��J�ac��0|BMŔ^a?MŔ��J�bdg�f�?MŔ� MF5\��J� cef�e�MF5\??-Intermediate results 1<h\��J� dffd��1<h\x1x- not visibleFMF4ܐ��J�eggc��FMF4ܐde?MŔ��J�fh��?MŔcf e@)Im)��J� gi��e@)Im)e@)e@)�$Compile#�X���J� hj��#�X��#�X<^"V���J� ik��"V��"V<@\ /nN!��J� jl��/nN!v{]/{]/ Source code ?~U n!��J� km��?~U n!v?/ inclusion 1=Ҫ��J�lnp�n� 1=Ҫ)m_ߞ_��J� mopmo�)m_ߞ_�@m)Jt(=_ߞ_��J� nppn��(=_ߞ_�(=Js 1=Ҫ��J�oq�� 1=Ҫ҂mo\ $Ҫ��J�prt�r�\ $Ҫb흞_ߞ_��J� qstqs�b흞_ߞ_�?bJM|b_ߞ_��J� rttr��b_ߞ_�bJ{\ $Ҫ��J�su��\ $Ҫ҂qsX !Ҫ��J�tvx�v�X !Ҫ^횞_ߞ_��J� uwxuw�^횞_ߞ_�}?^FMy^_ߞ_��J� vxxv��^_ߞ_�^}FxX !Ҫ��J�wy��X !Ҫ҂uw� @��J�xz��� @�� @��J�y{��� @�ݡ @��J�z|���ݡ @�G]��J� {}��G]�Q�y@G] Hӵ)��J�|~�~� Hӵ)< H<Source )��J�}}�� ) / /code HӵS��J�~��{�� HӵS}~ݡ @��J���ݡ @{�]@���J� ����]@���]V@]�]@���J� ���]@���]V@]�]@���J� ���]@���]V@] ]&O-m)��J� ��]&O-m)]&Xݴ]&Xݴ�%Compile @|CDxe��J� ��@|CDxebӸ@|# Object code Hb$!e��J� ��Hb$!ebӸHb# inclusion@|CDxF��J���@|CDxF ?P-x)��J� ��?P-x)?Y?Y�%LinkHݬ���J�  ��Hݬ��HݬLݬ1 ���J�  ��1 ��1;/ݫ ���J�  ��/ݫ ��/ݫ@9ݫ e@)j)��J�  ���e@)j)e@)e@)�%Performed by the user�q\� ��XM� 4�����q\� �������l��� }U:yH ��J�I���U:yH J �D�WS��xB!Switches for overriding compilation settingsW�  }ɥH ��J�I����ɥH J �DW%���e }U:yX,��J�I��U:yX,J �E�WQ��pSwitch }ɥX��J�I��ɥXJ �EWQ��pRemarks }U:yo,��J�I��U:yo,J �F�W  ��p-sv_c_compiler � value }ɥo��J�I��ɥoJ �FW ��pAReplaces the � compiler�  part in case of a C compilation. }U:y,��J�I��U:y,J �G�W  ��p-sv_c_inc_opt � value }ɥ��J�I��ɥJ �G ��09Replaces the option to include an include directory name R ��P)inc_opt�  in case of a C compilation. }U:y,��J�I��U:y,J �H�W  ��p-sv_c_src_opt � value }ɥ��J�I��ɥJ �H ��0AReplaces the option to specify the source code file name in case P��Pof a C compilation. }U:y,��J�I��U:y,J �I�W  ��p-sv_c_dst_opt � value }ɥ��J�I��ɥJ �I ��0DReplaces the option to specify the destination file name in case of P��Pa C compilation. }U:y,��J�I��U:y,J �J�W  ��p-sv_c_flags � value }ɥ��J�I��ɥJ �JW ��p>Replaces the � flags�  part in case of a C compilation. }U:y,��J�I��U:y,J �K�W  ��p-sv_c_prefix_flags � value }ɥ��J�I ��ɥJ �KW  ��pEReplaces the � prefix_flags�  part in case of a C compilation. }U:y,��J�I!��U:y,J �L�W!  ��p-sv_c_suffix_flags � value }ɥ��J�I "��ɥJ �LW" ��pEReplaces the � suffix_flags�  part in case of a C compilation. }U:y,��J�I!#��U:y,J �M�W#  ��p-sv_cpp_compiler � value }ɥ��J�I"$��ɥJ �MW$ ��pCReplaces the � compiler�  part in case of a C++ compilation. }U:y%,��J�I#%��U:y%,J �N�W%  ��p-sv_cpp_inc_opt � value }ɥ%��J�I$&��ɥ%J �N& ��09Replaces the option to include an include directory name R ��P+inc_opt�  in case of a C++ compilation. }U:yB,��J�I%'��U:yB,J �O�W'  ��p-sv_cpp_src_opt � value }ɥB��K�I&(��ɥBJ �O( ��0AReplaces the option to specify the source code file name in case P��Pof a C++ compilation. }U:y_,��K�I')��U:y_,J �P�W)  ��p-sv_cpp_dst_opt � value }ɥ_��K�I(*��ɥ_J �P* ��0DReplaces the option to specify the destination file name in case of P��Pa C++ compilation. }U:y|,��K�I)+��U:y|,J �Q�W+  ��p-sv_cpp_flags � value }ɥ|��K �I*,��ɥ|J �QW, ��p@Replaces the � flags�  part in case of a C++ compilation. }U:y,��K �I+-��U:y,J �R�W-  ��p -sv_cpp_prefix_flags � value }ɥ��K �I,.��ɥJ �R. ��0BReplaces the � prefix_flags�  part in case of a C++ compilaP��Ption. }U:y¬,��K�I-/��U:y¬,J �S�W/  ��p -sv_cpp_suffix_flags � value }ɥ¬��K�I.���ɥ¬J �S0 ��0BReplaces the � suffix_flags�  part in case of a C++ compilaP��Ption. ��d������[��������27��������U$����[�1�5��U$�����33����l��� U$����[�1����U$����������2����N.��` Accellera QP��h?vSystemVerilog 3.1/draft 2yExtensions to Verilog-2001 t sz㺢��W�O�����? �P$����Uw��R��[�127��Uw��R���66����l��� Uw��R��[�1����Uw��R��������5����WQ.��lRz58{Copyright |2002} Accellera. All rights reserved.~ UH��ˆ����[�15���UH��ˆ�����::0����l���J_b��WG�L������Mq���� UH��ˆ����[�1����UH��ˆ����������7����WR.��e ��d������[��������<\�������� ��_���[�;�X����_����������7� ��d������K��������HH �������� UH��ˆ����K�F����UH��ˆ��tb�L�����H����7� x �  S ��x:Source code inclusion vs. object code inclusion�   ��pmSimilarly to the inclusion of object code, source code can be specified by one of the following two methods:  ��8yby an entry in a bootstrap file; see hsectionC.4.3i for more details on this file and its content. Its location 0* ��kshall be specified with one instance of the switch � -sv_srclist � pathname� . This switch may be ��PEused multiple times to define the usage of multiple bootstrap files. J ��0oby specifying the file pathname with one instance of the switch � -sv_src � filepath�  (including the V ��P^file extension). This switch can be used multiple times to define multiple source code files. l ��0pAny directories holding include files needed for the compilation can be specified as one instance of the switch  w ~��o-sv_inc � directorypath� . This switch can be used multiple times to define multiple directories holding ��P source code.  |��0oThe source code file specifications in a bootstrap file define their include directories associations directly 0 {��swithin the file itself; those source code file specifications are not affected by include directory specifications ��Pwith � -sv_inc� .  y��0hAll the above methods shall be provided and made available concurrently, to permit any mixture of their  x��pusage. Every location can be an absolute pathname or a relative pathname, where the content of the switch � - ��}sv_root�  is used to identify an appropriate prefix for relative pathnames (see ksectionC.2l for more details on ��Pforming pathnames).  u��0oA SystemVerilog application shall use the extension of the provided source code files to distinguish between C 0 t��ucode (having the extension � .c� ) and source code provided in a second language (having any other extension). ��P_The default for the second language is C++, but most other languages can be supported as well.  $b��poNOTE� The foreign language interface requires C-linkage, but is itself compiler- and language-independent.  UT;��pInvocation�  Q p��0mDependent on the extension of the corresponding source code files, the SystemVerilog application is responsi\ o��PQble for invoking the appropriate compiler with respect to the following scheme:  fb��p S0qb��p<compiler prefix_flags includes flags filenames suffix_flags UH��ˆ����K�F����UH��ˆ���KGG  ����l�����d������K��������KK�������� UH��ˆ����K�I����UH��ˆ���L�����/K������0xIn the above scheme, � compiler�  is a placeholder for the invocation of the appropriate compiler, which shall be 0��uan ANSI-C compiler in cases where the source code file uses the extension � .c�  and a C++ compiler otherwise. ��yLikewise, � includes�  is a placeholder for the list of include directories specified for the corresponding source ��lcode file. Usually this list contains zero, one, or multiple entries of the form � inc_opt include direc ��vtory name�  delimited by one or multiple blanks; where � inc_opt�  denotes the compiler option to specify an ��Pinclude directory.  S��0|NOTEWhile this option is named � -I�  for many compilers, it can be different for other compilers. The SystemVerilog 0]��application � shall�  place no blank between this option name and the include directory. When a user-supplied option requires ��Pxa blank, this shall be inserted as part of the option name by enclosing the option name in double quotes like a string. ~��0sfilenames�  is a placeholder for the specification of the input source code file and the destination file name. 2��gUsually this specification will be of the form � src_opt source file dst_opt dest file� ; all of ��tthese entries are delimited by one or multiple blanks. � src_opt�  denotes the compiler option to specify the ��Pyinput (source code) file, while � dst_opt�  denotes the compiler option to specify the output (destination) file. 6��0All three remaining specifications (� flags� , � prefix_flags� , and � suffix_flags� ) are used to provide compi��Pflation flags; usually only � flags�  contains compilation options in a normal compilation step. 8UTUH��p Overriding compilation settings 檜��0oAll of the above specifications can be overridden by user-specific settings for both compilation modes. Switch P�@Xjspecifications override only subsequent source code specifications, as shown in Table C1.  UH��ˆ����K�I����UH��ˆ���HNJJ ����l�����d������K��������NN�������� UH��ˆ����K�L����UH��ˆ��yb�L&���&88��N����1��0nAll provided source code need to be compiled in the specification order of the previous scheme; first the con0��}tent of the bootstrap file is processed starting with the first line, then the set of � sv_src�  switches is processed ��tin order of their occurrence. This also applies to the inclusion of any include directories in the compilation; the ��P.order of specification needs to be preserved. 2UTUP��x[Bootstrap file 1N��p9The source code bootstrap file has the following syntax. 9a��p;The first line contains the string � #!SV_SOURCES� . :u��8kAn arbitrary amount of entries follow, one entry per line, where every entry holds exactly one source 0��pcode file location. Each entry consists only of the � pathname�  of the source code file to be loaded; at ��pleast one blank shall precede the entry in the line. The value � pathname�  is equivalent to the value of ��the switch � -sv_src� . �� ��iAdditionally, a list of directory pathnames (separated by blanks) can be specified after the source code ��wfile, separated by colon (� :� ). Each directory entry within this list is equivalent to the value of the switch  ��P-sv_inc� . ;ݪ��0dAny amount of comment lines can be interspersed between the entry lines; a comment line starts with 骙��Pqthe character � #�  after an arbitrary (including zero) amount of blanks and is terminated with a newline. 3��0rThere is no need to locate or identify the compiled object code created from these sources; this is under the dis ��XUcretion of the application. The resulting syntax of an entry (point j2)m is: 5��p 8��psource code entry�  ::= � blank pathname�  [[ � blank�  ] � :�  [ � blank�  ] � directories�  ] 6��pEdirectories�  ::= � pathname�  [ � blank pathname�  ] 7��p1blank�  ::= �  �  [ � blank�  ] 9UTHU@��p Examples :[��pBIf the following source files are to be included in a simulation: ;n��p/home/user/mycode/model1.c <y��p/home/user/sysc/model3.sc =��p /home/user/proj1/code/model3.cc >��p#/home/user/proj3/c_code/model4.cpp ?��pCthen the following include directories also need to be referenced. @��p 2��p/home/user/mycode/includes A��p/home/user/common/sysc B��p/home/user/proj1/util Dݪ��8ooExampleC4n shows one way of specifying the source files and include directories for the source code 骑��PHinclusion (assuming � -sv_root�  specifies � /home/user� ). L� xq SUv O��x%Using a switch list UH��ˆ����K�L����UH��ˆ���KQMM  ����l�����d������K��������QQ�������� UH��ˆ����K�O����UH��ˆ��€�L)���)44��Q����W��0hThe bootstrap file also permits a more granular assignment of include directories to source code files, ��X#as shown in wExampleC5x. J� x$ KzM]��xIsAssigning include directories to source code via the bootstrap file fM\��p'This example shows the compilation of: g M[��0T/home/user/mycode/model1.c�  (using a C compiler) with the include directories: MZ��PEmycode/includes� , � proj1/util� , and � common/includes hMY��0T/home/user/sysc/model3.sc�  (using a C++ compiler) with the include directories: MX��P common/sysc iMW��0Z/home/user/proj1/code/model3.cc�  (using a C++ compiler) with the include directories: MV��Pcommon/includes jMU��0]/home/user/proj3/c_code/model4.cpp�  (using a C++ compiler) with the include directories: MT��P/proj1/util � and � common/includes� . k"MS��0fFinally, a highly customized compilation with user-specific options can be obtained by specifying the .MR��Pappropriate switch settings: 4A��p-sv_root /home/user ML��p-sv_inc incl_dir o��p-sv_src model_list/model1.c p��p-sv_inc common_inc q��p-sv_cpp_compiler /usr/bin/g++ r��p-sv_cpp_prefix_flags -O3 s��p-sv_src model_list/model2.cpp t��p-sv_src model_list/model3.c u��p-sv_c_compiler /usr/ccs/acc v��p -sv_c_prefix_flags -g -DDEBUG w��p"-sv_cpp_prefix_flags -g -DDEBUG x��p-sv_root /home/projects/common y��p-sv_inc shared_includes z��p-sv_src model4.c {��p-sv_src model5.cpp }MQ��p/then the following compilations are performed: ~ MP��0_/home/user/model_list/model1.c�  (using the default C compiler) with the include directory:  MO��P/home/user/incl_dir MN��0a/home/user/model_list/model2.cpp�  (using the C++ compiler � /usr/bin/g++�  and the com&MM��PQpiler flags � -O3� ) with the include directory: � /home/usr/common_inc � 7ML��0_/home/user/model_list/model3.c�  (using the default C compiler) with the include directory: CMK��P/home/usr/common_inc TMJ��0[/home/projects/common/model4.c�  (using the default C compiler with the compiler flags `MI��PX-g -DDEBUG� ) with the include directory: � /home/projects/common/shared_includes }qMH��0a/home/projects/common/model5.cpp�  (using the C++ compiler � /usr/bin/g++�  and the comR}MG��Ptpiler flags � -g -DDEBUG� ) with the include directory: � /home/projects/common/shared_includes� .�  UH��ˆ����K�O����UH��ˆ���N�PP ����l���/ ]4���S�����]4�;��������V����[)���`-sv_lib svLibrary1 \���`-sv_lib svLibrary2 ]���`$-sv_root /home/project2/shared_code ^���`-sv_lib svLibrary3 4���`-sv_root /home/project3/code A5���`-sv_lib svLibrary4 ]4���S� ���]4���UU�����l���Ӏ4S��T���Ӏ4SwUH��ˆ����[�;<Z��UH��ˆ�����YY ����l��� UH��ˆ����[�;����UH��ˆ����������X����WS.��e U$����[�;X\��U$�����[[ ����l��� U$����[�;����U$����������Z����T.���` Accellera QV��h?Extensions to Verilog-2001 SystemVerilog 3.1/draft 2& U�w��R��[�;Z���U�w��R���]] ����l��� U�w��R��[�;����U�w��R��������\����Wb.��lR'(Copyright )2002* Accellera. All rights reserved.+57, Zw��R��[�����Zw��R��������5����W.��m^-Running H/F 4.Copyright /20020 Accellera. All rights reserved.1#2 UH��ˆ����[�,����UH��ˆ����������1����W.��e ��d������[��������aa��������UH��ˆ����[�`����UH��ˆ�����bb ����l��� UH��ˆ����[�`����UH��ˆ����������a����W8UTUT��e ��d������\��������df��������UH��ˆ����\�c�f��UH��ˆ�����ee�����l��� UH��ˆ����\�c����UH��ˆ����������d����W.��e U8I��6y��\�cd���U8I��6y���gg�����l��� U8I��6y��\�c����U8I��6yJ� ��� hh��f������"m; i��e h��e1Copyright 2002 by Accellera Organization, Inc.  UR��e1370 Trancas Street #163  ��eNapa, CA 94558  ��ePhone: (707) 251-9977  ��eFax: (707) 251-9877  ��e ��e <��%cAll rights reserved. No part of this document may be reproduced or distributed in any medium whatP`��EZsoever to any third parties without prior written consent of Accellera Organization, Inc. UBI��J��\�c������ii�g;�����h ���\ �h�����h ���h…��d������\��������k"��������U$����\�j�m��U$�����ll ����l��� U$����\�j����U$����������k����.�e Accellera Q�m?<SystemVerilog 3.1/draft 2=Extensions to Verilog-2001 Uw��R��\�jko��Uw��R���nn  ����l��� Uw��R��\�j����Uw��R��������m����.��m^>#?Copyright @2002A Accellera. All rights reserved.BRunning H/F 4C Q��e D�;Hˆ����\�jmq"�q�D�;Hˆ���q�pp! ����l��� D�;Hˆ����\�j����D�;Hˆ�������������o�����UHˆ����\�jo""o��UHˆ����orr! ����l��� UHˆ����\�j����UHˆ����������q����W.��e ��d������\0��������t#�������� ��_���\1�s�u����_����������7�D�;Hˆ����\2�stw#�{�D�;Hˆ���{�vv$����l��� D�;Hˆ����\3�s����D�;Hˆ�������������u�����U$����\4�suy��U$�����xx"����l��� U$����\5�s����U$����������w����.��e Accellera Q�m?Extensions to Verilog-2001DSystemVerilog 3.1/draft 2E U�w��R��\6�sw{��U�w��R���zz#����l��� U�w��R��\7�s����U�w��R��������y����.��m^FRunning H/F 4GCopyright H2002I Accellera. All rights reserved.J#K Q��e UHˆ����\8�sy##u��UHˆ����u||$����l��� UHˆ����\9�s����UHˆ����������{����W.��e ��d������\M��������~~��������UH��ˆ����\N�}����UH��ˆ�����% ����l��� UH��ˆ����\O�}����UH��ˆ����������~����W.��e $$������^^�(����$$�������� ����c )� cgkorux{~�����d������^����������������HH��ˆ����^�����HH��ˆ�����&����l��� HH��ˆ����^�����HH��ˆ��� ��� ��������9�e"<$paranum><$paratext><$pagenum> �e#<$paranum><$paratext><$pagenum> �e#<$paranum><$paratext><$pagenum> �e#<$paranum><$paratext><$pagenum> Z�e$<$paranum><$paratext><$pagenum> b�e#<$paranum><$paratext><$pagenum>  ~�e"<$paranum><$paratext><$pagenum> !�e"<$paranum><$paratext><$pagenum> C".��e  ḯ ���T� ��ḯ ���}}*�����l���@F9E��T�W��@F9E@F9S��T2�W���@F9SƊ3 ��T5� ��Ɗ3 ,X�������,XU ��� Ɗ3 ��T6�����Ɗ3 1������������h)���`-sv_root /home/usr1 i���`-sv_liblist bootstrap1 j���` l���`-sv_root /home/usr2 Am���`"-sv_liblist /home/mine/bootstrap2 J�b{,l�@ ��T>���J�b{,l�@ I@a6l� ��T?����I@a6l� 0X��WJ� 8���0X,X��,����,XU ��� 0X��WK�8����0X ������������W@)���` x~mO��WQ� 8��x~mO��.����l��� x~mO��WR�8����x~mOO�D�����������%4��p-sv_inc mycode/includes /��p -sv_inc /home/user/common/sysc 0��p-sv_inc proj1/util O��p V��p-sv_src mycode/model1.c ��p-sv_src sysc/model3.sc ���p-sv_src proj1/code/model3.cc AK��p%-sv_src proj3/c_code/model4.cpp�  UH�ˆ����\�jq���UH�ˆ��oqUH�ˆ����\:�s{���UH�ˆ��u{��d�������1��Left�d�����;��Right�d������� Reference�d������� �����d���������HTML�d�����"��HTML�d�����  ��Headings�d����� %��HTML�d�����(��HTML�d����� 8�����d����� �����d����� �����d����� F�����d����� I�����d�����L�����d������O�����d�������First�d�����,�� last left�d�����`�� boilerplate�d�����c�� title page�d�����j�� Index.left�d�����s�� Index.right�d������}��Cover�d��������TOC���������@��@��������������������� ���������������������������Mapping Table Title������. ������@��@��������������������� ���������������������������Body������. ������@��@��������������������� ��������������������������Mapping Table Cell������. ��� �f�@������������������� �������������������������Body������. ���f�@����������������������� ������������������������$�.�4�.�D�.�T�.�d�.�t�.����.����.����.����.����.����.����.����.����.����.�$���.�4���.�D���.�T���.�d���.�t���.����.����.����.����.����.����.�ExampleCode.Indented������. ���f�@����������������������� ������������������������$�.�4�.�D�.�T�.�d�.�t�.����.����.����.����.����.����.����.����.����.����.�$���.�4���.�D���.�T���.�d���.�t���.����.����.����.����.����.����.�ExampleCode.Indented������. ��� f�@����������D����������� ������������������������ $���H���l����������������������� �����D�����h����������Note����� P1,Normal. ��� f�@����������D����������� ������������������������� $���H���l����������������������� �����D�����h����������Note����� P1,Normal. ������@��@��������������������� ����������������������������Mapping Table Title������. $��f�@��������S�E�� � ������� ������������������������� $�� H�� l�� ���� ���� ���� ���� ���� D���� h���� ���� ���� Stepn���� S:<n+>.\tStepn. ������@��@��������������������� ����������������������������Mapping Table Cell������. ������@��@������������������������������������� ����������� �Mapping Table Cell������. ������@��@������������������������������������� ����������� �Mapping Table Cell������. ������@��@��������������������� ���������������� ����������� �Mapping Table Cell������. �����@��@������������ z��������� ������������������������� $�� H�� l�� ���� ���� ���� ���� ���� D���� h���� ���� ���� Body������. ��� �f�@������������������� �������������������������.�Body������. �����f�@����������������� �������������������������� CellFooting������. ����f�@���������������������� �������������������������'�Footnote������. ����f�@��������A�E��� �������� ���������������  ���������& $���H���l����������������������� �����D�����h����������x.Annex.H2,A.1.1���AH2A:<A>.<n>.<n+> T,Text. �����@��@��������A�Q����������� =������������ � ���������=�x.Annex.Heading���� A:Annex <A+> SectionTitle. $������@���������� �� ��������� ������������������������� �� H�� l�� ���� ���� ���� ���� ���� D���� h���� ���� ���� Bullet���Bullet\t�. �����f�@����������������� �������������������������� CellHeading������������@�������������������� �������������������������)� CellBodyI������. �����f�@������������������� ���������������� ���������� CellHeading������. ���f�@�����������������������������������������������Footnote������. ��� �f�@��������GE��� �������� ��������������� � ����������x.Annex.FigureTitle����G:Figure <A=3><n+>T,Text. �����f�@��������QE��� �������� ��������������� � ����������x.Annex.TableTitle����Q:Table <A=3><n+>T,Text. ��� �@��@��������EA��� �������� �� =������������ �����������ExampleCaption����E:Example<A=3><n+>Body. ������@�������������������� �������������������������)� CellBodyI������. ��� �@��@��������E�A��� �������� �� =������������ ����������;�ExampleCaption����E:Example<A=3><n=1>Body. �����f�@��������T�� ������� ���������������� ���������� TableTitle����T:Table <n+>: ����� �f�@��������A�U����������� ��������������� � ���������>�x.Annex.H1,A.1���� A:<A>.<n+> T,Text. �f�@��������L�A���������� ������������������������ �� NumberedList1���� L:<n=1>)\tL,NumberedListb. �����f�@�������������������� �������������������������1�CellBody������� �f�@��������L����������� ������������������������ �� NumberedList2���� L:<n+>)\t�. ��f�@���������������������� ������������������������(�.�<�.�P�.�d�.�x�.����.����.����.����.����.����.����.����.�,���.�@���.�T���.�h���.�|���.����.����.����.����.�Body.Indented.1������. ��� �@��@��������E�A��� �������� ��������������� ���������(�ExampleCaption����E:Example<A=3><n+>Body. ���f�@����������������������� ��������������� ���������+$�.�4�.�D�.�T�.�d�.�t�.����.����.����.����.����.����.����.����.����.����.�$���.�4���.�D���.�T���.�d���.�t���.����.����.����.����.����.����.�ExampleCode.Indented������. ������@�������������������� ������������������������@� CellBodyI������. �����f�@��������������������� �������������������������CellBody������. �����f�@������������������� ��������������� ���������R� CellHeading������. ����f�@��������A�E��� �������� ��������������� � ���������> $���H���l����������������������� �����D�����h����������x.Annex.H2,A.1.1���AH2A:<A>.<n>.<n+> T,Text. �����f�@��������Q�E��� �������� ���������������  ���������U�x.Annex.TableTitle����Q:Table <A=3><n=1>T,Text. ��� �f�@��������G�E��� �������� ���������������  ���������U�x.Annex.FigureTitle����G:Figure <A=3><n+>T,Text. ��� �@��@��������E�A��� �������� �� =������������ ����������;�ExampleCaption����E:Example<A=3><n+>Body. ��� �f�@��������A�U����������� ���������������  ���������&�x.Annex.H1,A.1���� A:<A>.<n+> T,Text. ���f�@��������D������������� �������������������������.� DashedList����D:\t�. �����f�@�������������������� ��������������� ����������2�CellBody���������� �f�@��������G�E��� �������� ��������������� � ���������?�x.Annex.FigureTitle����G:Figure <A=3><n+>T,Text. ������@�������������������� �������������������������� CellBodyI������. �������@��@������������ z��������� �������������������������0 $�� H�� l�� ���� ���� ���� ���� ���� D���� h���� ���� ���� Body������. �����@��@��������������������� �������������������������6�� A�� f�� ���� ���� ���� ���� ���� XCourier12������. �����f�@���������������������� ������������������������� �� 6�� Q�� l�� ���� ���� ���� ���� ���� ���� )���� D���� _���� CellBody������. ������f�@����������������������� �������������������������.���� ���� PageHeader.left������. �����f�@����������������������� �������������������������.�� ���� ���� ���� PageFooter.left������. �����f�@����������������������� �������������������������.���� PageHeader.right������. �����f�@����������������������� �������������������������.�� ���� ���� ���� PageFooter.right������. � ��<f�@��������������������� ���������������� ���������8 $�� H�� l�� ���� ���� ���� ���� ���� D���� h���� ���� P1,Normal������. ����f�@��������������������� ������������������������� $���H���l����������������������� �����D�����h���������� FL,FlushLeft������. �����f�@��������������������� ������������������������� $���H���l����������������������� �����D�����h���������� FL,FlushLeft������. ��� �@��@��������������������� �������������������������90�������..SectionHeadingTOC������. ������@��@��������������������� �������������������������9�.�*�.�����.. H2,1.1TOC������. ��� �@��@��������������������� �������������������������9����������..H1,1stLevelHeadTOC������. ������@��@��������������������� �������������������������9���-�������..AT,AnnexTitleTOC������. ������@��@��������������������� �������������������������9-���F���Z�������.. AH2,A.1.1TOC������. ���� �@��@��������������������� �������������������������9-���F�������.. AH1,A.1TOC������. ��� �@��@��������������������� �������������������������9-�������..x.Annex.HeadingTOC������. ���� �@��@��������������������� �������������������������9-�������.. AN,AnnexTOC������. ���f�@��������D������������� �������������������������.�.� DashedList����D:\t�.  �f�@��������L�A���������� �������������������������. �� NumberedList1���� L:<n=1>)\tL,NumberedListb. �f�@��������L����������� �������������������������. �� NumberedList2���� L:<n+>)\t�. ���f�@����������������������� �������������������������E$�.�4�.�D�.�T�.�d�.�t�.����.����.����.����.����.����.����.����.����.����.�$���.�4���.�D���.�T���.�d���.�t���.����.����.����.����.����.����.�ExampleCode.Indented������. ��f�@���������������������� �������������������������.(�.�<�.�P�.�d�.�x�.����.����.����.����.����.����.����.����.�,���.�@���.�T���.�h���.�|���.����.����.����.����.�Body.Indented.1������. ��� ��f�@������������������� �������������������������)�Body������. ������@��@��������T�A��� ������� ��������������� � ���������%� TableTitle����T:Table<n=1><n+>: Body. ���� �@��@��������HQ������������ =������������ � ����������SectionHeading����H:Section <n+> SectionTitle. ��� f�@��������HU���������� ��������������� � ��������� $���H���l����������������������� �����D�����h����������H2,1.1���H2 H:<n>.<n+> Body. ��� f�@��������HU��� ������� ��������������� � ��������� $���H���l����������������������� �����D�����h����������H3,1.1.1���H3H:<n>.<n>.<n+> Body. ���f�@��������HU��� ������� ��������������� � ��������� $���H���l����������������������� �����D�����h���������� H4,1.1.1.1���H4H:<n>.<n>.<n>.<n+> Body. ���f�@��������HU��� ������� ��������������� � ��������� $���H���l����������������������� �����D�����h���������� H5,1.1.1.1.1���H5H:<n>.<n>.<n>.<n>.<n+> Body. ������@��@��������TA��� ������� ��������������� � ���������� TableTitle����T:Table<n=1><n+>: Body. ��� f�@��������FE��� �������� ��������������� � ���������� FigureCaption����F:Figure <n=1><n+>FigCaptionCont. (���f�@�������������������� �������������������������.�.�=�.�BNF_SyntaxItem������. �����f�@���������������������� ����������������������������� PageHeader.right������. ��� �@��@��������SA������������ ��������������� �����������SyntaxBoxCaption.1����S:Syntax<$chapnum><n=1>Body. ��� �f�@������������������ ��������������������������Body������. ��� �f�@��������AU����������� ��������������� � ����������x.Annex.H1,A.1���� A:<A>.<n+> T,Text. ������f�@���������������������� ����������������������������� PageHeader.left������. ��f�@��������������������� �������������������������(�.�<�.�P�.�d�.�x�.����.����.����.����.����.����.����.����.�,���.�@���.�T���.�h���.�|���.����.����.����.����.�Body.Indented.1������. ����f�@��������AE��� �������� ��������������� � ��������� $���H���l����������������������� �����D�����h����������x.Annex.H2,A.1.1���AH2A:<A>.<n>.<n+> T,Text. ����f�@������������������� ��������������������������x.Annex.normative������. �����f�@���������������������� ����������������������������� ���� PageFooter.left������. �����@��@��������AQ����������� =������������ � ����������x.Annex.Heading���� A:Annex <A+> SectionTitle. ��� f�@���������D����������� ������������������������� $���H���l����������������������� �����D�����h����������Note����� P1,Normal. �����f�@���������������������� ����������������������������� ���� PageFooter.right������. �f�@���������������������� ���������������! � ��������� �� comment������. ����f�@��������������������� �������������������������� CellBody.X������. ����f�@��������AE��� �������� ��������������� � ��������� $���H���l����������������������� �����D�����h����������x.Annex.H3,A.1.1.1���AH3A:<A>.<n>.<n>.<n+> T,Text. ��� �f�@��������BE��� ������� �������������������������� Bibliography���� B:[B<n+>] �. ���f�@��������D������������ ��������������������������.� DashedList����D:\t�. ���f�@���������������������� �������������������������$�.�4�.�D�.�T�.�d�.�t�.����.����.����.����.����.����.����.����.����.����.�$���.�4���.�D���.�T���.�d���.�t���.����.����.����.����.����.����.�ExampleCode.Indented������. �����f�@���������������������� ��������������������������.� �.�0�.�@�.�P�.�`�.�p�.����.����.����.����.����.����.����.����.�����.����.� ���.�0���.�@���.�P���.�`���.�p���.����.����.����.����.����.����.� ExampleCode������. �����f�@�������������������� ��������������������������CellBody������. �����f�@������������������ ���������������� ���������� CellHeading������. ��� f�@���������T�������������������������� � ���������� SectionTitle�����Body. �����f�@������������������ �������������������������� TableText������. ���f�@�������������������� ������������������������������M����� CommitteeList������. ��f�@��������D������������ ��������������������������.�DashedList.indented����D:\t�. ��� �@��@��������SA��� �������� ��������������� �����������SyntaxBoxCaption����S:Syntax<$chapnum><n+>Body. ��� �f�@��������AE��� �������� ��������������� � ��������� $���H���l����������������������� �����D�����h����������x.Annex.H4,A.1.1.1.1���AH4A:<A>.<n>.<n>.<n>.<n+> T,Text. ��� �f�@��������AE��� �������� ��������������� � ��������� $���H���l����������������������� �����D�����h����������x.Annex.H5,A.1.1.1.1.1���AH5A:<A>.<n>.<n>.<n>.<n>.<n+> T,Text. ��� �f�@��������HE��� �������� ������������������������� $���H���l����������������������� �����D�����h����������x.BNF.H2��� definition H:<n>.<n+> P1,Normal. ���f�@����������������������������������������������Footnote������. ��� �f�@��������HE����������� ������������������������� $���H���l����������������������� �����D�����h����������x.BNF.H3��� definitionH:<n>.<n>.<n+> P1,Normal. ��� �f�@��������HE����������� ������������������������� $���H���l����������������������� �����D�����h����������x.BNF.H4��� definitionH:<n>.<n>.<n>.<n+> P1,Normal. ��� �f�@��������HE����������� ������������������������� $���H���l����������������������� �����D�����h����������x.BNF.H5��� definitionH:<n>.<n>.<n>.<n>.<n+> P1,Normal. �f�@��������LA���������� ������������������������� �� NumberedList1���� L:<n=1>)\tL,NumberedListb. �f�@��������L���������� ������������������������� �� NumberedList2���� L:<n+>)\t�. �f�@��������ZA���������� ������������������������� �� NumberedLista���� Z:<a=1>)\t NumberedList2. �f�@��������Z���������� ������������������������� �� NumberedListb���� Z:<a+>)\t�. 33�f�@��������ZA���������� ��������������������������� NumberedListi���� Z:<r=1>)\tNumberedListii. 33�f�@��������Z���������� ��������������������������� NumberedListii���� Z:<r+>)\t�. 33�f�@��������LA���������� �������������������������33�� NumberedNote1���� L:<n=1>)\tL,NumberedListb. 33�f�@��������L���������� �������������������������33�� NumberedNote2���� L:<n+>)\t�. ���� f�@���������T�������������������������� � ���������� x.Annex.Title�����T,Text. �� ������������������������ ��������������� ��������� ��������������"��������1.DELETE ����������������������� ��������������"��������1.DELETE �������vp��������������� ��������������"��������1.DELETE�������3 8���� ������������������3 8���� ����������� �������3 8���� ����������� ��������������"��������1.DELETE ��������������"��������1.DELETE �������������� ��������� MJRcomment ��������������"��������1.DELETE5 �������������� " ��������1.DELETE ��������������" ��������1.DELETE �������������� "��������1.DELETE �������������� "��������1.DELETE ����������������������1.DELETE ����������������������� ����������������������� ������������������������ ��������������� ����������������������������������������������� �������2.DRAFT1 ������������������������ ����������������������� ����������������������� �������������� ��������� BNFitalic�������������� ������2.DRAFT2��������������"�������1.DELETE �������������� � ��������� �������������� � ��������� �������������� � ��������� ��������������  ��������� ������������������������ �������������� ��������� ������������������������ �������������� � ��������� �������������� ��������� ����������������������� BNFitalic��������������� ���������� ������������������������������������������������ ������������������������ ������������������������ �������������� ������������� =���������� �������3.FIX ��������������"��������1.DELETE ������������� ������� BNFkeyword ������������������������������������������������ ��������������� ��������� ������������������������ ����������������������1.DELETE �� =����������� ��������������������������������� BNFitalic�� =����������� � ��������� �������������� � ��������� �������������� � ��������� ����������������������� �������������� ��������2.NEW �����������������������2.NEW �����������������������Code �� =��������������������3.FIX �������������������������������������� �������2.NEW ������������� �������Keyword ��������������������Code �������������� ��������� Superscript�������������� �������new_AIL ������������  ������ comment_AIL ��������������" ��������1.DELETE �������������� ��������� �������������� " ��������1.DELETE ��������������  ��������1.DELETE ��������������  ��������� ��������������  ��������1.DELETE ����������������������� BNFitalic�������������������Zd����������������Zd������Zd������Zd������Zd�����Zd�����Zd����Zd� ����������d�����������d����������������Z�������Z������������������������;����������������������������Thin����Medium����Double����Thick�@���� Very Thin�������������������� ��{�������0Z[Z�33[�33[�33[�33[�Format A� ����{�������H[�H[�H[�H[�H[�Format B��������������H� Mapping Table� ��"�������H&�H&�H&�H&�H&�Format A���z��>����������������H����6����-����?������ @�� ������������������H����z�� ����!*������h����h����h����B����_�� N��+0������������������?����_�� ��13������ev����ev����C����Q������ p��4C������H����������?����)�� W��<B������l����u����H���� Z���� DS������,���������S�$�� �������������������$Cz�����������������������$Sz�������������� ��!��"�#�$qz������������$���%��&��'��(��$z��,����������)���*��+��,��-��$z������������.���/��0��1��2��$z������������3���4��5��6��7��$z������ ������8���9��:��;��<��$z������ ������= ���> ��? ��@ ��A ��$z������ ������B ���C ��D ��E ��F ��$z������ ������G ���H ��I ��J ��K ��$ z��,���� ������L ���M ��N ��O ��P ��$9z������ ������Q ���R ��S ��T ��U ��$Iz������ ������V���W��X��Y��Z��$Yz��,����������[���\��]��^��_��$bz��,����$�����`���a��b��c��d��$��z������$������e���f��g��h��i��$��z������$������j���k��l��m��n��$��z������$������o���p��q��r��s��$��z������$������t���u��v��w��x��$��z������$������y���z��{��|��}��$��z������$������~������������$��z������$�����������������$��z������$��������� �� �� �� ��$��z������$������ �����������$��z�������$����������������$B���� �����$������������$R��������$��������������$b��������$�������������$r��������$������ ���!��"��$�������� $������#���$��%��$���������$������& ���' ��( ��$$�� �����"'�������)!���*!�+!�,!�$4z������!#'�������-"���."��/"��0"��$Dz��,����"$'������1#���2#��3#��4#��$pz������#%'������5$���6$��7$��8$��$��z��,����$&'������9%���:%��;%��<%��$��z������%''������=&���>&��?&��@&��$��z��,����&('������A'���B'��C'��D'��$��z������')'������E(���F(��G(��H(��$��z��,����(*'������I)���J)��K)��L)��$$��z������)�'������M*���N*��O*��P*��$:���� �����,'�������Q+���R+�S+�$J��_������+-'�������T,���U,��V,��$Z��_������,.'������W-���X-��Y-��$j��_������-/'������Z.���[.��\.��$z��_������.0'������]/���^/��_/��$��_������/�'������`0���a0��b0��$$�� �����2��������c1���d1�e1�f1�$4_������13��������g2���h2��i2��j2��$D_������2��������k3���l3��m3��n3��$Z�� �����5��������o4���p4�q4�$j������46��������r5���s5��t5��$z������57�������u6���v6��w6��$��������68�������x7���y7��z7��$��������79�������{8���|8��}8��$��������8:�������~9���9���9��$��������9;�������:���:��:��$��������:C�������;���;��;��$h�� �����= ������� <���<�<�$C)������<> �������=���=��=��$S)������=? ������>���>��>��$i)������>@ ������?���?��?��${)������?A ������@���@��@��$)������@B ������A���A��A��$)������A� ������B��� B��!B��$��������;��������C���C�� C��U:yH �����EJ�������D���D�U:yX ����DFJ�������E���E��U:yo ����EGJ������F���F��U:y ����FHJ������G���G��U:y ����GIJ������H���H��U:y ����HJJ������I���I��U:y ����IKJ������J���J��U:y ����JLJ������K���K��U:y ����KMJ������ L���!L��U:y ����LNJ������"M���#M��U:y% ����MOJ������$N���%N��U:yB ����NPJ������&O���'O��U:y_ ����OQJ������(P���)P��U:y| ����PRJ������*Q���+Q��U:y ����QSJ������,R���-R��U:y¬ ����R�J������.S���/S�����Comment����� �>� �I� �>y��JE� &�[�'(�[�)*�[�+,�[�-.�[�/0�[�12 �[�34 �[�56 �[�78 �[�9: �[�<=�\ �>?�\$�@A�\'�BC�\*�DE�\=�FG�\A�HI�\D�JK�\G� VU�N�W�O�YZ�R��R�\]�R�a`�S&�cd�S�fg �T�kl �U�hi �T� �V�jm �V�on�W'�wx�Xk�vy�[�z{�[�|}�[�~�[������d� �Black�������T!�White����dd���A�Red���dd�����Green���d�d��� �Blue���d�����Cyan�����d���Magenta����d���� �Yellow������Header/Footer $1Header/Footer $1Header/Footer $2Header/Footer $2IndexIndexCommentCommentSubjectSubjectAuthorAuthorGlossaryGlossaryEquationEquation Hypertext Hypertext  Cross-Ref Cross-Ref Conditional TextConditional TextPositionFMPrivatePositionFMPrivateRangeEndFMPrivateRangeEndFMPrivate HTML Macro HTML Macro�����W.Times New Roman.R.400�� FrameRoman�W.Courier New.R.400�� FrameRoman�W.Courier New.I.400�� FrameRoman�W.Helvetica.R.400�� FrameRoman�W.Times New Roman.R.700�� FrameRoman� W.Times.R.400�� FrameRoman� W.Arial.R.700�� FrameRoman�W.Courier.R.400�� FrameRoman� W.Arial.I.400�� FrameRoman�W.Times New Roman.I.400�� FrameRoman�W.Helvetica.I.400�� FrameRoman�W.Helvetica.R.700�� FrameRoman�W.Comic Sans MS.R.700�� FrameRoman�W.Courier New.R.700�� FrameRoman�wCourier HelveticaTimes Arial Courier NewTimes New Roman Comic Sans MS Regular Regular BoldRegularObliqueItalic���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������DMez~{}JW{wTdfOz3)3kTk7áy(dfgrH| QC!s!,=BLN4W[L|V7*E}ul~Opq M.CHygT( /.괝xǀ̙^ee%Ŵ㍇I!Mfs:PT^hc/ǒ%:uH(k<&|crP ;,:KYSׁ(a<D ˳ hz(5=+Ê uB(Z,``c;w/lf?/] UsaH +~tR*lQ.FҨޕ6m-rD|Sɍ9%a}*L}/3̽^GM9Jzx7ϊrN) #QJ*����