亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ch10.2.htm

?? Verilog DHL教程
?? HTM
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN"><HTML><HEAD><META NAME="GENERATOR" CONTENT="Adobe FrameMaker 5.5/HTML Export Filter"><LINK REL="STYLESHEET" HREF="ch10.css"><TITLE> 10.2	Tasks and task enabling </TITLE></HEAD><BODY BGCOLOR="#ffffff"><DIV><HR><P><A HREF="ch10.htm">Chapter&nbsp;&nbsp;start</A>&nbsp;&nbsp;&nbsp;<A HREF="ch10.1.htm">Previous&nbsp;&nbsp;page</A>&nbsp;&nbsp;<A HREF="ch10.3.htm">Next&nbsp;&nbsp;page</A></P></DIV><H1 CLASS="Section"><A NAME="pgfId=156"> </A>10.2	<A NAME="17612"> </A><A NAME="marker=27"> </A><A NAME="marker=28"> </A>Tasks and task enabling </H1><P CLASS="Body"><A NAME="pgfId=157"> </A>A <A NAME="marker=29"> </A>task shall be enabled from a statement that defines the argument values to be passed to the task and the variables that receive the results. Control shall be passed back to the enabling process after the task has completed. Thus, if a task has timing controls inside it, then the time of enabling a task can be different from the time at which the control is returned. A task can enable other tasks, which in turn can enable still other tasks--with no limit on the number of tasks enabled. Regardless of how many tasks have been enabled, control shall not return until all enabled tasks have completed.</P><P CLASS="SubSection"><A NAME="pgfId=158"> </A><A NAME="71346"> </A>Defining a task</P><P CLASS="Body"><A NAME="pgfId=160"> </A>The following is the <A NAME="marker=31"> </A>syntax for defining <A NAME="marker=32"> </A>tasks:</P><P CLASS="Body"><A NAME="pgfId=161"> </A></P><DIV><IMG SRC="ch10-1.gif"></DIV><P CLASS="BNFCapBody"><A NAME="pgfId=162"> </A>Syntax&nbsp;10-1: Syntax for task declaration</P><P CLASS="Body"><A NAME="pgfId=154"> </A>The task declaration shall begin with the keyword <B CLASS="Keyword">task</B> followed by a name for the task and a semicolon, and end with the keyword <B CLASS="Keyword">endtask</B>. Task item declarations can specify the following:</P><UL><LI CLASS="DashedList"><A NAME="pgfId=166"> </A>input arguments</LI><LI CLASS="DashedList"><A NAME="pgfId=124"> </A>output arguments</LI><LI CLASS="DashedList"><A NAME="pgfId=116"> </A>inout arguments</LI><LI CLASS="DashedList"><A NAME="pgfId=167"> </A>all data types that can be declared in a procedural block</LI></UL><P CLASS="Body"><A NAME="pgfId=168"> </A>These declarations have the same syntax as for the corresponding declarations in a module definition (see <A HREF="/Humuhumu/Files/Prof_Smith/Academic/ASICs/Web/ASICs/HTML/Verilog/LRM/HTML/10/ch12.htm#61975" CLASS="XRef"></A>). The task declaration shall not declare a net dat type. The body of the task shall contain zero or more behavioral statements (see <A HREF="/Humuhumu/Files/Prof_Smith/Academic/ASICs/Web/ASICs/HTML/Verilog/LRM/HTML/10/ch09.htm#73702" CLASS="XRef"></A>)</P><P CLASS="SubSection"><A NAME="pgfId=170"> </A><A NAME="marker=34"> </A><A NAME="marker=35"> </A>Task enabling and argument passing</P><P CLASS="Body"><A NAME="pgfId=171"> </A>The task enabling statement shall pass arguments as a comma-separated list of expressions enclosed in parentheses. The following is the formal <A NAME="marker=36"> </A><A NAME="marker=37"> </A>syntax of the task enabling statement:</P><P CLASS="Body"><A NAME="pgfId=172"> </A></P><DIV><IMG SRC="ch10-2.gif"></DIV><P CLASS="BNFCapBody"><A NAME="pgfId=173"> </A>Syntax&nbsp;10-2: Syntax of the task enabling statement</P><P CLASS="Body"><A NAME="pgfId=174"> </A>The list of arguments for a task enabling statement shall be optional. If the list of arguments is provided, the list shall be an ordered list of expressions that must match the order of the list of arguments<A NAME="marker=39"> </A><A NAME="marker=40"> </A> in the task definition.</P><P CLASS="Body"><A NAME="pgfId=175"> </A>If an argument in the task is declared as an <B CLASS="Keyword">input</B>, then the corresponding expression can be any expression. The order of evaluation of the expressions in the argument list is undefined. If the argument is declared as an <B CLASS="Keyword">output</B> or an <B CLASS="Keyword">inout</B>, then the expression shall be restricted to an expression that is valid on the left-hand side of a procedural assignment (see <A HREF="/Humuhumu/Files/Prof_Smith/Academic/ASICs/Web/ASICs/HTML/Verilog/LRM/HTML/10/ch09.htm#12062" CLASS="XRef"></A>). The following items satisfy this requirement:</P><UL><LI CLASS="DashedList"><A NAME="pgfId=176"> </A>reg, integer, real, realtime, and time variables</LI><LI CLASS="DashedList"><A NAME="pgfId=177"> </A>memory references</LI><LI CLASS="DashedList"><A NAME="pgfId=178"> </A>concatenations of reg, integer, real, realtime and time variables</LI><LI CLASS="DashedList"><A NAME="pgfId=179"> </A>concatenations of memory references</LI><LI CLASS="DashedList"><A NAME="pgfId=180"> </A>bit-selects and part-selects of reg, integer, and time variables</LI></UL><P CLASS="Body"><A NAME="pgfId=181"> </A>The execution of the task enabling statement shall pass input values from the variables listed in the enabling statement to the arguments specified within the task. Execution of the return from the task shall pass values from the task <B CLASS="Keyword">output</B> and <B CLASS="Keyword">inout</B> type arguments to the corresponding variables in the task enabling statement. All arguments to the task shall be passed by <I CLASS="Emphasis">value</I> rather than by reference (that is, a <I CLASS="Emphasis">pointer</I> to the value).</P><P CLASS="Body"><A NAME="pgfId=182"> </A>Examples:</P><P CLASS="Body"><A NAME="pgfId=126"> </A>1. The following example illustrates the basic structure of a task definition with five arguments.</P><P CLASS="Body"><A NAME="pgfId=183"> </A></P><DIV><IMG SRC="ch10-3.gif"></DIV><P CLASS="Body"><A NAME="pgfId=185"> </A>The following statement enables the task:</P><PRE CLASS="CodeIndent"><A NAME="pgfId=186"> </A>my_task (v, w, x, y, z);</PRE><P CLASS="Body"><A NAME="pgfId=115"> </A>The task enabling arguments (<CODE CLASS="code">v</CODE>, <CODE CLASS="code">w</CODE>, <CODE CLASS="code">x</CODE>, <CODE CLASS="code">y</CODE>, <CODE CLASS="code">z</CODE>) correspond to the arguments (<CODE CLASS="code">a</CODE>, <CODE CLASS="code">b</CODE>, <CODE CLASS="code">c</CODE>, <CODE CLASS="code">d</CODE>, <CODE CLASS="code">e</CODE>) defined by the task. At task enabling time, the <B CLASS="Keyword">input</B> and <B CLASS="Keyword">inout</B> type arguments (<CODE CLASS="code">a</CODE>, <CODE CLASS="code">b</CODE>, and <CODE CLASS="code">c</CODE>) receive the values passed in <CODE CLASS="code">v</CODE>, <CODE CLASS="code">w</CODE>, and <CODE CLASS="code">x</CODE>. Thus, execution of the task enabling call effectively causes the following assignments:</P><PRE CLASS="CodeIndent"><A NAME="pgfId=188"> </A>a = v; b = w; c = x;</PRE><P CLASS="Body"><A NAME="pgfId=189"> </A>As part of the processing of the task, the task definition for <CODE CLASS="code">my_task</CODE> must place the computed result values into <CODE CLASS="code">c</CODE>, <CODE CLASS="code">d</CODE>, and <CODE CLASS="code">e</CODE>. When the task completes, the following assignments to return the computed values to the calling process are performed:</P><PRE CLASS="CodeIndent"><A NAME="pgfId=190"> </A>x = c; y = d; z = e;<A NAME="marker=48"> </A><A NAME="marker=49"> </A><A NAME="marker=50"> </A></PRE><P CLASS="Body"><A NAME="pgfId=119"> </A>2. The example below illustrates the use of tasks by redescribing the traffic light sequencer that was introduced in <A HREF="/Humuhumu/Files/Prof_Smith/Academic/ASICs/Web/ASICs/HTML/Verilog/LRM/HTML/10/ch09.htm#19982" CLASS="XRef"></A>.</P><P CLASS="Body"><A NAME="pgfId=192"> </A></P><DIV><IMG SRC="ch10-4.gif"></DIV><P CLASS="SubSection"><A NAME="pgfId=224"> </A>Task memory usage and concurrent activation</P><P CLASS="Body"><A NAME="pgfId=225"> </A>A task may be enabled more than once concurrently. A task (or function) may contain the definition of local variables of type <B CLASS="Keyword">reg</B>, <B CLASS="Keyword">integer</B>, <B CLASS="Keyword">time</B>, <B CLASS="Keyword">real</B>, <B CLASS="Keyword">realtime</B>, or <B CLASS="Keyword">event</B>. These variables shall be static in that there shall be a single variable corresponding to each declared local variable, regardless of the number of concurrent activations of the task. Thus, if a task is enabled more than once concurrently, all instances of the task would share the same local variables.</P><P CLASS="Body"><A NAME="pgfId=226"> </A>Because tasks can have non-zero time duration, each active task has a point of control. This point of control is unique to each active task instance. Thus, it is possible to write a recursive task (or function), but all local data shall remain static.</P><HR><P><A HREF="ch10.htm">Chapter&nbsp;&nbsp;start</A>&nbsp;&nbsp;&nbsp;<A HREF="ch10.1.htm">Previous&nbsp;&nbsp;page</A>&nbsp;&nbsp;<A HREF="ch10.3.htm">Next&nbsp;&nbsp;page</A></P></BODY></HTML>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产综合色视频| 97aⅴ精品视频一二三区| 99久久精品费精品国产一区二区| 欧美亚洲综合色| 国产女人18水真多18精品一级做| 亚洲mv大片欧洲mv大片精品| 大尺度一区二区| 日韩欧美一区电影| 日韩黄色片在线观看| 97久久精品人人澡人人爽| 26uuu另类欧美亚洲曰本| 亚洲 欧美综合在线网络| 99re热这里只有精品免费视频| 26uuu欧美| 久久国产剧场电影| 日韩一区二区在线观看视频| 亚洲成人1区2区| 欧美色老头old∨ideo| 中文字幕在线播放不卡一区| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 色先锋aa成人| 国产精品福利影院| 国产成人免费在线| 久久精品在线观看| 国产成人午夜99999| 亚洲精品一区二区三区四区高清| 丝袜亚洲另类欧美| 欧美一区二区成人| 免费不卡在线观看| 日韩精品一区二区三区swag| 久久精品国产成人一区二区三区| 欧美一级二级三级蜜桃| 蜜桃视频第一区免费观看| 日韩午夜在线影院| 九色综合国产一区二区三区| 精品国产91久久久久久久妲己 | 亚洲免费色视频| 91麻豆免费观看| 亚洲午夜久久久久久久久电影院| 欧美又粗又大又爽| 午夜日韩在线观看| 日韩一级视频免费观看在线| 九色综合国产一区二区三区| 国产丝袜欧美中文另类| 91尤物视频在线观看| 亚洲综合区在线| 欧美一区二区三区在线观看 | 国产婷婷一区二区| 97精品视频在线观看自产线路二| 亚洲日穴在线视频| 欧美丰满一区二区免费视频| 美国毛片一区二区三区| 国产精品情趣视频| 欧美在线三级电影| 蜜桃久久av一区| 欧美激情艳妇裸体舞| 一本大道久久精品懂色aⅴ | 在线成人午夜影院| 国产乱码精品一区二区三| 中文字幕在线一区二区三区| 欧美亚洲动漫精品| 黄色小说综合网站| 亚洲免费观看高清| 日韩欧美一级二级三级| 成人激情黄色小说| 日本不卡在线视频| 国产精品乱码一区二三区小蝌蚪| 欧美三级在线播放| 国产xxx精品视频大全| 亚洲午夜羞羞片| 国产欧美日韩综合精品一区二区| 欧美体内she精高潮| 国产盗摄一区二区| 日韩高清不卡一区二区三区| 日本一区二区三区高清不卡| 欧美巨大另类极品videosbest | 色婷婷综合视频在线观看| 日韩1区2区日韩1区2区| 国产精品久久二区二区| 制服丝袜中文字幕一区| www.成人网.com| 韩国毛片一区二区三区| 亚洲午夜羞羞片| 国产精品久久一级| 日韩欧美在线1卡| 欧美视频在线观看一区二区| 国产91在线看| 精品一区精品二区高清| 欧美久久一二三四区| 捆绑调教美女网站视频一区| 91精品福利在线一区二区三区| 中文一区在线播放| 国产精品一二三| 国产精品视频一二三区| 91国内精品野花午夜精品 | 久久精品一级爱片| 粉嫩嫩av羞羞动漫久久久| 国产三级一区二区三区| 精品999久久久| 激情国产一区二区| 日本sm残虐另类| 亚洲综合免费观看高清在线观看| 亚洲国产精品v| 久久网这里都是精品| 日韩色在线观看| 欧美肥妇bbw| 欧美喷水一区二区| 欧美性猛片xxxx免费看久爱| 色综合天天综合网国产成人综合天| 大美女一区二区三区| 岛国精品在线播放| 播五月开心婷婷综合| 国产成人精品影院| 成人免费视频app| 99re视频精品| 91精彩视频在线| 欧美三电影在线| 91精品国产黑色紧身裤美女| 欧美欧美欧美欧美首页| 69久久99精品久久久久婷婷 | 自拍偷拍国产亚洲| 亚洲欧美日韩精品久久久久| 亚洲免费观看高清在线观看| 亚洲激情第一区| 五月天婷婷综合| 麻豆传媒一区二区三区| 国产一区高清在线| 国产aⅴ综合色| 99久久久国产精品免费蜜臀| 色一情一乱一乱一91av| 欧美日本视频在线| xf在线a精品一区二区视频网站| 精品久久一区二区三区| 国产精品全国免费观看高清| 综合精品久久久| 视频一区在线播放| 国产成人av电影| 91精品91久久久中77777| 51精品秘密在线观看| 国产亚洲综合性久久久影院| 亚洲视频免费在线| 图片区小说区国产精品视频| 精品一二三四在线| 99热精品国产| 日韩你懂的在线播放| 一区在线观看视频| 免费观看一级特黄欧美大片| 国产999精品久久| 欧美三级视频在线播放| 精品福利av导航| 亚洲美女视频一区| 看电视剧不卡顿的网站| 91视频一区二区三区| 欧美一级免费大片| 亚洲欧美日韩国产成人精品影院| 午夜激情一区二区三区| 成人av在线网站| 日韩一区二区三区视频在线| 久久久久9999亚洲精品| 亚洲国产成人tv| 成人免费视频视频| 日韩欧美色电影| 亚洲综合一区在线| 国产黄人亚洲片| 欧美一个色资源| 亚洲精品日韩专区silk| 国产激情视频一区二区在线观看| 欧美日韩和欧美的一区二区| 国产精品亲子伦对白| 麻豆极品一区二区三区| 欧美日韩亚洲综合在线| 综合婷婷亚洲小说| 国产精品一区在线| 日韩网站在线看片你懂的| 亚洲一区中文日韩| 99在线精品一区二区三区| 337p日本欧洲亚洲大胆色噜噜| 亚洲超丰满肉感bbw| 91亚洲永久精品| 亚洲国产精华液网站w| 久久99久久99| 日韩午夜av一区| 青青草91视频| 欧美一区日本一区韩国一区| 亚洲自拍另类综合| 色猫猫国产区一区二在线视频| 国产精品久久久久一区二区三区 | 欧美日韩国产大片| 亚洲国产一区二区三区青草影视| 91浏览器入口在线观看| 国产精品日韩成人| 成人av片在线观看| 国产偷国产偷亚洲高清人白洁 | 国产视频一区在线观看| 美女视频黄a大片欧美| 91精品国产aⅴ一区二区| 日产欧产美韩系列久久99| 在线播放中文字幕一区| 日韩国产一二三区| 欧美一区二区三区四区五区|