⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 app2.2.htm

📁 介绍asci设计的一本书
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">

<HTML>

<HEAD>

<META NAME="GENERATOR" CONTENT="Adobe FrameMaker 5.5/HTML Export Filter">



<TITLE> B.2&nbsp;	Verilog HDL Syntax</TITLE></HEAD><!--#include file="top.html"--><!--#include file="header.html"-->



<DIV>

<P>[&nbsp;<A HREF="APP2.htm">Chapter&nbsp;start</A>&nbsp;]&nbsp;[&nbsp;<A HREF="APP2.1.htm">Previous&nbsp;page</A>&nbsp;]&nbsp;[&nbsp;<A HREF="APP2.3.htm">Next&nbsp;page</A>&nbsp;]</P><!--#include file="AmazonAsic.html"--><HR></DIV>

<H1 CLASS="zAppHeading1">

<A NAME="pgfId=28996">

 </A>

B.2&nbsp;	Verilog HDL Syntax</H1>

<P CLASS="zAppComputerOneLNmbr">

<A NAME="pgfId=18940">

 </A>

always_construct ::= [94] [95LRM 9.9.2] <SPAN CLASS="ComputerKeyword">

always</SPAN>

 statement [1]</P>

<P CLASS="zAppComputerOneLNmbr">

<A NAME="pgfId=18941">

 </A>

binary_base ::= [4] [95LRM 2.5.1] <SPAN CLASS="Bold">

&#8217;b</SPAN>

 | <SPAN CLASS="Bold">

&#8217;B</SPAN>

 [2]</P>

<P CLASS="zAppComputerOneLNmbr">

<A NAME="pgfId=18934">

 </A>

binary_digit ::= [4] [95LRM 2.5.1] <SPAN CLASS="Bold">

x</SPAN>

 | <SPAN CLASS="Bold">

X</SPAN>

 | <SPAN CLASS="Bold">

z</SPAN>

 | <SPAN CLASS="Bold">

Z</SPAN>

 | <SPAN CLASS="Bold">

0</SPAN>

 | <SPAN CLASS="Bold">

1</SPAN>

 [3]</P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=17808">

 </A>

binary_number ::= [114] [95LRM 2.5.1] [4]</P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=35454">

 </A>

	[ size ] binary_base binary_digit { _ | binary_digit } </P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=17809">

 </A>

binary_operator ::= [19, 52] [95LRM 4.1.2] [5]</P>

<P CLASS="zAppComputer">

<A NAME="pgfId=17810">

 </A>

	<SPAN CLASS="Bold">

+</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Bold">

-</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Bold">

*</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Bold">

/</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Bold">

%</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Bold">

==</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Bold">

!=</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Bold">

===</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Bold">

!==</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Bold">

&amp;&amp;</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Outline">

||</SPAN>

&nbsp;&nbsp;</P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=17811">

 </A>

	|&nbsp;&nbsp;<SPAN CLASS="Bold">

&lt;</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Bold">

&lt;=</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Bold">

&gt;</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Bold">

&gt;=</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Bold">

&amp;</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Outline">

|</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Bold">

^</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Bold">

^~</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Bold">

~^</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Bold">

&gt;&gt;</SPAN>

&nbsp;&nbsp;|&nbsp;&nbsp;<SPAN CLASS="Bold">

&lt;&lt;</SPAN>

&nbsp;&nbsp;</P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=17812">

 </A>

blocking assignment<A HREF="#pgfId=41342" CLASS="footnote">

1</A>

 ::= [181] [95LRM 9.2.1] [6]</P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=19370">

 </A>

	reg_lvalue <SPAN CLASS="Bold">

=</SPAN>

 [ delay_or_event_control ] expression </P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=19371">

 </A>

block_item_declaration ::= [57, 133, 166, 190] [95LRM 9.8.1] [7]</P>

<P CLASS="zAppComputer">

<A NAME="pgfId=19381">

 </A>

	 parameter_declaration | reg_declaration </P>

<P CLASS="zAppComputer">

<A NAME="pgfId=19372">

 </A>

	| integer_declaration | real_declaration | time_declaration </P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=17816">

 </A>

	| realtime_declaration | event_declaration </P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=29074">

 </A>

case_item ::= [9] [95LRM 9.5] expression { <SPAN CLASS="Bold">

,</SPAN>

 expression } <SPAN CLASS="Bold">

:</SPAN>

 statement_or_null [8]</P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=29083">

 </A>

	| <SPAN CLASS="ComputerKeyword">

default</SPAN>

 [ <SPAN CLASS="Bold">

:</SPAN>

 ] statement_or_null </P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=29085">

 </A>

case_statement ::= [181] [95LRM 9.5] [9]</P>

<P CLASS="zAppComputer">

<A NAME="pgfId=29092">

 </A>

	| <SPAN CLASS="ComputerKeyword">

case</SPAN>

 <SPAN CLASS="Bold">

(</SPAN>

 expression <SPAN CLASS="Bold">

)</SPAN>

 case_item { case_item } <SPAN CLASS="ComputerKeyword">

endcase</SPAN>

 </P>

<P CLASS="zAppComputer">

<A NAME="pgfId=29090">

 </A>

	| <SPAN CLASS="ComputerKeyword">

casez</SPAN>

 <SPAN CLASS="Bold">

(</SPAN>

 expression <SPAN CLASS="Bold">

)</SPAN>

 case_item { case_item } <SPAN CLASS="ComputerKeyword">

endcase</SPAN>

 </P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=29088">

 </A>

	| <SPAN CLASS="ComputerKeyword">

casex</SPAN>

 <SPAN CLASS="Bold">

(</SPAN>

 expression <SPAN CLASS="Bold">

)</SPAN>

 case_item { case_item } <SPAN CLASS="ComputerKeyword">

endcase</SPAN>

 </P>

<P CLASS="zAppComputerOneLNmbr">

<A NAME="pgfId=17824">

 </A>

charge_strength ::= [107] [95LRM 3.4.1] <SPAN CLASS="Bold">

(</SPAN>

 <SPAN CLASS="ComputerKeyword">

small</SPAN>

 <SPAN CLASS="Bold">

)</SPAN>

 | <SPAN CLASS="Bold">

(</SPAN>

 <SPAN CLASS="ComputerKeyword">

medium</SPAN>

 <SPAN CLASS="Bold">

)</SPAN>

 | <SPAN CLASS="Bold">

(</SPAN>

 <SPAN CLASS="ComputerKeyword">

large</SPAN>

 <SPAN CLASS="Bold">

)</SPAN>

 [10]</P>

<P CLASS="zAppComputerOneLNmbr">

<A NAME="pgfId=17825">

 </A>

cmos_switchtype ::= [58] [95LRM 7.7] <SPAN CLASS="ComputerKeyword">

cmos</SPAN>

 | <SPAN CLASS="ComputerKeyword">

rcmos</SPAN>

 [11]</P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=17827">

 </A>

cmos_switch_instance ::= [58] [95LRM 7.1] [ name_of_gate_instance ] [12]</P>

<P CLASS="zAppComputer">

<A NAME="pgfId=17828">

 </A>

	<SPAN CLASS="Bold">

(</SPAN>

 output_terminal <SPAN CLASS="Bold">

,</SPAN>

 input_terminal <SPAN CLASS="Bold">

,</SPAN>

 </P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=17829">

 </A>

		ncontrol_terminal <SPAN CLASS="Bold">

,</SPAN>

 pcontrol_terminal <SPAN CLASS="Bold">

)</SPAN>

 </P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=17830">

 </A>

combinational_body ::= [198] [95LRM 8.1.4] [13]</P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=17831">

 </A>

	<SPAN CLASS="ComputerKeyword">

table</SPAN>

 combinational_entry { combinational_entry } <SPAN CLASS="ComputerKeyword">

endtable</SPAN>

 </P>

<P CLASS="zAppComputerOneLNmbr">

<A NAME="pgfId=17832">

 </A>

combinational_entry ::= [13] [95LRM 8.1.4] level_input_list <SPAN CLASS="Bold">

:</SPAN>

 output_symbol <SPAN CLASS="Bold">

;</SPAN>

 [14]</P>

<P CLASS="zAppComputerOneLNmbr">

<A NAME="pgfId=17833">

 </A>

comment ::= [&#8211;] [95LRM 2.3] short_comment | long_comment [15]</P>

<P CLASS="zAppComputerOneLNmbr">

<A NAME="pgfId=17834">

 </A>

comment_text ::= [88, 168] [95LRM 2.3] { Any_ASCII_character } [16]</P>

<P CLASS="zAppComputerOneLNmbr">

<A NAME="pgfId=17835">

 </A>

concatenation ::= [21, 109, 146, 161] [95LRM 4.1.14] <SPAN CLASS="Outline">

{</SPAN>

 expression { <SPAN CLASS="Bold">

,</SPAN>

 expression } <SPAN CLASS="Outline">

}</SPAN>

 [17]</P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=17836">

 </A>

conditional_statement ::= [181] [95LRM 9.4] [18]</P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=41441">

 </A>

	| <SPAN CLASS="ComputerKeyword">

if</SPAN>

 <SPAN CLASS="Bold">

(</SPAN>

 expression <SPAN CLASS="Bold">

)</SPAN>

 statement_or_null [ <SPAN CLASS="ComputerKeyword">

else</SPAN>

 statement_or_null ] </P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=41442">

 </A>

constant_expression ::= [see <A HREF="APP2.3.htm#21396" CLASS="XRef">

Table&nbsp;B.1</A>

] [95LRM 4.1] constant_primary [19]</P>

<P CLASS="zAppComputer">

<A NAME="pgfId=88081">

 </A>

	| unary_operator constant_primary </P>

<P CLASS="zAppComputer">

<A NAME="pgfId=88082">

 </A>

	| constant_expression binary_operator constant_expression </P>

<P CLASS="zAppComputer">

<A NAME="pgfId=88083">

 </A>

	| constant_expression <SPAN CLASS="Bold">

?</SPAN>

 constant_expression <SPAN CLASS="Bold">

:</SPAN>

 constant_expression </P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=17842">

 </A>

	| string </P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=17843">

 </A>

constant_mintypmax_expression ::= [34, 74, 139] [95LRM 4.3] constant_expression [20]</P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=88088">

 </A>

	| constant_expression <SPAN CLASS="Bold">

:</SPAN>

 constant_expression <SPAN CLASS="Bold">

:</SPAN>

 constant_expression </P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=88089">

 </A>

constant_primary ::= [19] [95LRM 4.1] number | <SPAN CLASS="ComputerEmphasis">

parameter</SPAN>

_identifier [21]</P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=17846">

 </A>

	| <SPAN CLASS="ComputerEmphasis">

constant</SPAN>

_concatenation | <SPAN CLASS="ComputerEmphasis">

constant</SPAN>

_multiple_concatenation </P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=17848">

 </A>

continuous_assign ::= [94] [95LRM 6.1] [22]</P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=17849">

 </A>

	 <SPAN CLASS="ComputerKeyword">

assign</SPAN>

 [ drive_strength ] [ delay3 ] list_of_net_assignments <SPAN CLASS="Bold">

;</SPAN>

 </P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=17850">

 </A>

controlled_timing_check_event ::= [189] [95LRM 14.5.11] [23]</P>

<P CLASS="zAppComputer">

<A NAME="pgfId=17851">

 </A>

	timing_check_event_control </P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=17852">

 </A>

		specify_terminal_descriptor [ <SPAN CLASS="Bold">

&amp;&amp;&amp;</SPAN>

 timing_check_condition ] </P>

<P CLASS="zAppComputerOneLNmbr">

<A NAME="pgfId=17853">

 </A>

current_state ::= [165] [95LRM 8.1] level_symbol [24]</P>

<P CLASS="zAppComputerOneLNmbr">

<A NAME="pgfId=17854">

 </A>

data_source_expression ::= [53, 127] [95LRM 13.3.3] expression [25]</P>

<P CLASS="zAppComputerOneLNmbr">

<A NAME="pgfId=17855">

 </A>

decimal_base ::= [28] [95LRM 2.5.1] <SPAN CLASS="Bold">

&#8217;d</SPAN>

 | <SPAN CLASS="Bold">

&#8217;D</SPAN>

 [26]</P>

<P CLASS="zAppComputerOneLNmbr">

<A NAME="pgfId=17856">

 </A>

decimal_digit ::= [206] [95LRM 2.5.1] <SPAN CLASS="Bold">

0</SPAN>

 | <SPAN CLASS="Bold">

1</SPAN>

 | <SPAN CLASS="Bold">

2</SPAN>

 | <SPAN CLASS="Bold">

3</SPAN>

 | <SPAN CLASS="Bold">

4</SPAN>

 | <SPAN CLASS="Bold">

5</SPAN>

 | <SPAN CLASS="Bold">

6</SPAN>

 | <SPAN CLASS="Bold">

7</SPAN>

 | <SPAN CLASS="Bold">

8</SPAN>

 | <SPAN CLASS="Bold">

9</SPAN>

 | <SPAN CLASS="Bold">

0</SPAN>

 [27]</P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=17857">

 </A>

decimal_number ::= [114] [95LRM 2.5.1] [ sign ] unsigned_number [28]</P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=17858">

 </A>

	| [ size ] decimal_base unsigned_number </P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=17859">

 </A>

delay2 ::= [58, 202] [95LRM 7.1, 7.15] [29]</P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=43093">

 </A>

	# delay_value | # <SPAN CLASS="Bold">

(</SPAN>

 delay_value [ <SPAN CLASS="Bold">

,</SPAN>

 delay_value ] <SPAN CLASS="Bold">

)</SPAN>

 </P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=17860">

 </A>

delay3 ::= [22, 58, 107] [95LRM 7.1, 7.15] [30]</P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=17861">

 </A>

	 # delay_value | # <SPAN CLASS="Bold">

(</SPAN>

 delay_value [ <SPAN CLASS="Bold">

,</SPAN>

 delay_value [ <SPAN CLASS="Bold">

,</SPAN>

 delay_value ] ] <SPAN CLASS="Bold">

)</SPAN>

 </P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=19283">

 </A>

delay_control ::= [32] [95LRM 9.7, 9.7.1] [31]</P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=43100">

 </A>

<SPAN CLASS="Bold">

	#</SPAN>

 delay_value | <SPAN CLASS="Bold">

#</SPAN>

 <SPAN CLASS="Bold">

(</SPAN>

 mintypmax_expression <SPAN CLASS="Bold">

)</SPAN>

 </P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=19284">

 </A>

delay_or_event_control ::= [6, 112, 148] [95LRM 9.7] [32]</P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=19285">

 </A>

	delay_control | event_control | <SPAN CLASS="ComputerKeyword">

repeat</SPAN>

 <SPAN CLASS="Bold">

(</SPAN>

 expression <SPAN CLASS="Bold">

)</SPAN>

 event_control </P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=17865">

 </A>

delay_value ::= [29, 30, 31] [95LRM 7.1.3, 7.15] [33]</P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=17866">

 </A>

	unsigned_number | parameter_identifier | constant_mintypmax_expression </P>

<P CLASS="zAppComputerOneLNmbr">

<A NAME="pgfId=17867">

 </A>

description ::= [173] [95LRM 8.1, 12.1] module_declaration | udp_declaration [34]</P>

<P CLASS="zAppComputerNmbr">

<A NAME="pgfId=17868">

 </A>

disable_statement<A HREF="#pgfId=36175" CLASS="footnote">

2</A>

 ::= [181] [95LRM 11] [35]</P>

<P CLASS="zAppComputerLast">

<A NAME="pgfId=19420">

 </A>

<SPAN CLASS="ComputerKeyword">

	</SPAN>

| <SPAN CLASS="ComputerKeyword">

disable</SPAN>

 <SPAN CLASS="ComputerEmphasis">

task</SPAN>

_identifier <SPAN CLASS="Bold">

;</SPAN>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -