📄 00870.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<title>第十四章 调度语义</title>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<meta name="generator" content="Doc-O-Matic" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link rel="STYLESHEET" href="default.css" type="text/css" />
<script type="text/javascript" src="scripts.js"></script>
</head>
<body class="Element700" onload="onBodyLoadEx('systemverilog31a.html', 'topic', '00870.html');" onmousedown="onBodyMouseDown();">
<!-- Begin Popups -->
<div class="Element801" id="popup00293">
<div class="Element800">
<div class="Element14">
链接</div>
<div class="Element11">
<div class="Element10">
<a href="00939.html" target="topic">主题</a></div>
</div>
</div>
</div>
<!-- End Popups -->
<!-- Begin Page Header -->
<div class="Element710" id="areafixed">
<div class="Element92">
<table width="100%" cellspacing="0" cellpadding="0">
<tr><td width="33%">
<div class="Element1">
<a href="#" onmousedown="showPopup(this, 'popup00293');"><img src="seealsolink.png" border="0" alt="" title=""></a> SystemVerilog 3.1a语言参考手册</div>
</td><td width="34%">
<div class="Element2">
</div>
</td><td width="33%">
<div class="Element90">
<a href="00113.html" target="topic"><img src="btn_prev_lightblue.gif" border="0" alt="Previous" title="Previous" onmouseover="switchImage(this, 'btn_prev_lightblue_hover.gif');" onmouseout="switchImage(this, 'btn_prev_lightblue.gif');"></a><img src="btn_up_d.gif" border="0" alt="Up" title="Up"><a href="00114.html" target="topic"><img src="btn_next_lightblue.gif" border="0" alt="Next" title="Next" onmouseover="switchImage(this, 'btn_next_lightblue_hover.gif');" onmouseout="switchImage(this, 'btn_next_lightblue.gif');"></a></div>
</td></tr></table><div class="Element5">
第十四章 调度语义</div>
</div>
</div>
<!-- End Page Header -->
<!-- Begin Client Area -->
<div class="Element720" id="areascroll">
<div class="Element721">
<!-- Begin Page Content -->
<div class="Element58">
<a name="主题"></a><div class="Element14">
<a onclick="toggleVisibilityStored('主题');" class="a_Element14"><img src="sectionminus.png" border="0" alt="" title="" id="img主题">主题</a></div>
<div id="div主题">
<div class="Element11">
<div class="Element10">
<div class="Element212">
<div class="TableDiv">
<table cellspacing="0" class="Table0">
<tr>
<td class="Element200" valign="top" width="50%">
<div class="Element201">
主题 </div></td><td class="Element204" valign="top" width="50%">
<div class="Element205">
描述 </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00114.html" target="topic">14.1 硬件模型的执行及其验证环境</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
本参考手册各个章节的目标是描述各个语言元素的行为。本章给出了这些元素间相互作用的概述,特别是有关事件调度和执行的内容。尽管SystemVerilog并不仅仅限制在仿真中使用,然而语言的语义是为事件导向的仿真而定义,并且硬件描述语言的其它使用都是从这个基本的定义抽象而出。 </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00115.html" target="topic">14.2 事件仿真</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
SystemVerilog语言根据一个分布式事件执行模型定义。本章详细描述了分布式事件仿真以便提供一个语境来描述SystemVerilog结构的含义和有效解释。这些最终的定义为仿真提供了标准的SystemVerilog参考算法,所有遵从这个标准的仿真器都应该实现这些算法。注意,这些定义具有许多选择,并且不同的仿真器之间的某些执行细节也有些差别。另外,除了本章描述的算法外,SystemVerilog仿真器可以自由地使用不同的算法,只要用户可见的效果与这些参考算法保持一致。<br><br>一个SystemVerilog描述包含了连接的执行线程或进程。进程是可以计算的对象,它们可以具有状态,并且可以响应输入上的变化以产生输出。进程是并发调度的元素,例如<span style="color: #0000FF">initial</span>块。进程的例子包括但不限于原语、<span style="color: #0000FF">initial</span>、<span style="color: #0000FF">always</span>、<span style="color: #0000FF">always_comb</span>、<span style="color: #0000FF">always_latch</span>以及<span style="color: #0000FF">always_ff</span>过程块、连续赋值、异步任务、以及过程赋值语句。<br><br>在被仿真的系统描述中,一个线网或变量的每一个变化都被认为是一个更新事件。<br><br>进程敏感于更新事件。当一个更新事件被执行的时候,敏感于这个事件的所有进程都会以任意顺序计算。一个进程的计算也是一个事件,这个事件被称为计算事件。<br><br>计算事件还包含PLI回调,这些PLI回调是执行模型中的一些点,其中用户定义的外部例程能够从仿真核中被调用。<br><br>除了事件之外,仿真器的另外一个关键方面是时间。术语仿真时间被用来指代由仿真器维护的时间值,它用来建模正在仿真的系统描述所花费的时间。在本章中,术语时间可以与仿真时间互换使用。<br><br>为了支持清晰并且可预测的交互作用,单个时隙被划分成多个区域,在这些区域中规定了特定执行类型排序的事件被调度。这就使得当被测设计处于一个稳定状态的时候特性和检查器能够采样数据。特性表达式可以被安全地计算,并且测试平台能够与特性和检查器以零延时相互作用,而这些都是以一个可预测的方式进行。这种机制还允许设计、时钟传输具有非零的延时,和/或激励和响应被自由地混合并与周期精确的描述相一致。 </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00116.html" target="topic">14.3 分层的事件调度器</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -