ELEC60015-HLP-CW/docs/reference/global-synchronousutils.html

282 lines
11 KiB
HTML
Raw Permalink Normal View History

2022-02-10 23:15:22 +00:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>SynchronousUtils - issie</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta name="description" content=""/>
<meta name="author" content="tomcl"/>
<script src="https://code.jquery.com/jquery-1.8.0.js"></script>
<script src="https://code.jquery.com/ui/1.8.23/jquery-ui.js"></script>
<script src="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/js/bootstrap.min.js"></script>
<link href="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.1/css/bootstrap-combined.min.css" rel="stylesheet"/>
<link type="text/css" rel="stylesheet" href="https://tomcl.github.io/issie//content/style.css" />
<script type="text/javascript" src="https://tomcl.github.io/issie//content/tips.js"></script>
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container">
<div class="masthead">
<ul class="nav nav-pills pull-right">
<li><a href="http://fsharp.org">fsharp.org</a></li>
</ul>
<h3 class="muted"><a href="https://tomcl.github.io/issie//index.html">issie</a></h3>
</div>
<hr />
<div class="row">
<div class="span9" id="main">
<h1>SynchronousUtils</h1>
<p>
<span>Namespace: global</span><br />
</p>
<div class="xmldoc">
</div>
<!-- Render nested types and modules, if there are any -->
<h3>Functions and values</h3>
<table class="table table-bordered member-list">
<thead>
<tr><td>Function or value</td><td>Description</td></tr>
</thead>
<tbody>
<tr>
<td class="member-name">
<code onmouseout="hideTip(event, '92', 92)" onmouseover="showTip(event, '92', 92)">
calculateCustomComponentsCombinatorialPaths(...)
</code>
<div class="tip" id="92">
<strong>Signature:</strong> diagramName:string -&gt; graph:SimulationGraph -&gt; CustomCompsCombPaths option<br />
</div>
</td>
<td class="xmldoc">
<a href="https://github.com/tomcl/ISSIE/tree/master/src/Simulator/SynchronousUtils.fs#L265-265" class="github-link">
<img src="../content/img/github.png" class="normal" />
<img src="../content/img/github-blue.png" class="hover" />
</a>
<p>For each dependecy in a simulation graph, create a map containing:
- key: name of the custom component.
- value: a map with:
- key: each InputPortNumber
- value: a list of OutputPortNumber combinatorially connected to the
input.
An input is considered combinatorially connected to an output if there is at
least one logic path connecting an input directly with the output. In other
words, there must be at least one route from the input to output that does
not encounter any synchronous component.
Return None if such information cannot be inferred, for example if there is
a circular dependency.</p>
</td>
</tr>
<tr>
<td class="member-name">
<code onmouseout="hideTip(event, '93', 93)" onmouseover="showTip(event, '93', 93)">
couldBeSynchronousComponent(compType)
</code>
<div class="tip" id="93">
<strong>Signature:</strong> compType:ComponentType -&gt; bool<br />
</div>
</td>
<td class="xmldoc">
<a href="https://github.com/tomcl/ISSIE/tree/master/src/Simulator/SynchronousUtils.fs#L15-15" class="github-link">
<img src="../content/img/github.png" class="normal" />
<img src="../content/img/github-blue.png" class="hover" />
</a>
<p>Tells wether a component is clocked or not. Note that Custom components may
be clocked (cannot tell without recursively analysing them), so they are
considered synchronous.</p>
</td>
</tr>
<tr>
<td class="member-name">
<code onmouseout="hideTip(event, '94', 94)" onmouseover="showTip(event, '94', 94)">
getCombinatorialOutputs(...)
</code>
<div class="tip" id="94">
<strong>Signature:</strong> combRoutes:CustomCompsCombPaths -&gt; node:SimulationComponent -&gt; inputPortNumberOpt:InputPortNumber option -&gt; Map&lt;OutputPortNumber,(ComponentId * InputPortNumber) list&gt;<br />
</div>
</td>
<td class="xmldoc">
<a href="https://github.com/tomcl/ISSIE/tree/master/src/Simulator/SynchronousUtils.fs#L95-95" class="github-link">
<img src="../content/img/github.png" class="normal" />
<img src="../content/img/github-blue.png" class="hover" />
</a>
<p>Given a map of combinatorial routes from inputs to outputs for every
simulation graph, perform a lookup to find the combinatorial routes from a
given input to the outputs. Then filter the outputs of the custom node to
only point to the combinatorial children (i.e. the ones connected to the
combinatorial outptus).</p>
</td>
</tr>
<tr>
<td class="member-name">
<code onmouseout="hideTip(event, '95', 95)" onmouseover="showTip(event, '95', 95)">
getCustomComponentType(_arg1)
</code>
<div class="tip" id="95">
<strong>Signature:</strong> _arg1:ComponentType -&gt; CustomComponentType<br />
</div>
</td>
<td class="xmldoc">
<a href="https://github.com/tomcl/ISSIE/tree/master/src/Simulator/SynchronousUtils.fs#L41-41" class="github-link">
<img src="../content/img/github.png" class="normal" />
<img src="../content/img/github-blue.png" class="hover" />
</a>
</td>
</tr>
<tr>
<td class="member-name">
<code onmouseout="hideTip(event, '96', 96)" onmouseover="showTip(event, '96', 96)">
getCustomName(_arg1)
</code>
<div class="tip" id="96">
<strong>Signature:</strong> _arg1:ComponentType -&gt; string<br />
</div>
</td>
<td class="xmldoc">
<a href="https://github.com/tomcl/ISSIE/tree/master/src/Simulator/SynchronousUtils.fs#L37-37" class="github-link">
<img src="../content/img/github.png" class="normal" />
<img src="../content/img/github-blue.png" class="hover" />
</a>
</td>
</tr>
<tr>
<td class="member-name">
<code onmouseout="hideTip(event, '97', 97)" onmouseover="showTip(event, '97', 97)">
getNodeOrFail graph id
</code>
<div class="tip" id="97">
<strong>Signature:</strong> graph:SimulationGraph -&gt; id:ComponentId -&gt; SimulationComponent<br />
</div>
</td>
<td class="xmldoc">
<a href="https://github.com/tomcl/ISSIE/tree/master/src/Simulator/SynchronousUtils.fs#L46-46" class="github-link">
<img src="../content/img/github.png" class="normal" />
<img src="../content/img/github-blue.png" class="hover" />
</a>
</td>
</tr>
<tr>
<td class="member-name">
<code onmouseout="hideTip(event, '98', 98)" onmouseover="showTip(event, '98', 98)">
hasSynchronousComponents(graph)
</code>
<div class="tip" id="98">
<strong>Signature:</strong> graph:Map&lt;ComponentId,SimulationComponent&gt; -&gt; bool<br />
</div>
</td>
<td class="xmldoc">
<a href="https://github.com/tomcl/ISSIE/tree/master/src/Simulator/SynchronousUtils.fs#L22-22" class="github-link">
<img src="../content/img/github.png" class="normal" />
<img src="../content/img/github-blue.png" class="hover" />
</a>
<p>Find out whether a simulation graph has some synchronous components.</p>
</td>
</tr>
<tr>
<td class="member-name">
<code onmouseout="hideTip(event, '99', 99)" onmouseover="showTip(event, '99', 99)">
isCustom(_arg1)
</code>
<div class="tip" id="99">
<strong>Signature:</strong> _arg1:ComponentType -&gt; bool<br />
</div>
</td>
<td class="xmldoc">
<a href="https://github.com/tomcl/ISSIE/tree/master/src/Simulator/SynchronousUtils.fs#L36-36" class="github-link">
<img src="../content/img/github.png" class="normal" />
<img src="../content/img/github-blue.png" class="hover" />
</a>
</td>
</tr>
<tr>
<td class="member-name">
<code onmouseout="hideTip(event, '100', 100)" onmouseover="showTip(event, '100', 100)">
isInput(_arg1)
</code>
<div class="tip" id="100">
<strong>Signature:</strong> _arg1:ComponentType -&gt; bool<br />
</div>
</td>
<td class="xmldoc">
<a href="https://github.com/tomcl/ISSIE/tree/master/src/Simulator/SynchronousUtils.fs#L34-34" class="github-link">
<img src="../content/img/github.png" class="normal" />
<img src="../content/img/github-blue.png" class="hover" />
</a>
</td>
</tr>
<tr>
<td class="member-name">
<code onmouseout="hideTip(event, '101', 101)" onmouseover="showTip(event, '101', 101)">
isOutput(_arg1)
</code>
<div class="tip" id="101">
<strong>Signature:</strong> _arg1:ComponentType -&gt; bool<br />
</div>
</td>
<td class="xmldoc">
<a href="https://github.com/tomcl/ISSIE/tree/master/src/Simulator/SynchronousUtils.fs#L35-35" class="github-link">
<img src="../content/img/github.png" class="normal" />
<img src="../content/img/github-blue.png" class="hover" />
</a>
</td>
</tr>
</tbody>
</table>
</div>
<div class="span3">
<ul class="nav nav-list" id="menu" style="margin-top: 20px;">
<li class="nav-header">issie</li>
<li class="divider"></li>
<li><a href="https://github.com/tomcl/ISSIE">Source Code</a></li>
<li><a href="https://tomcl.github.io/issie//release-notes.html">Release Notes</a></li>
<li><a href="https://tomcl.github.io/issie//contributing.html">Contributing</a></li>
<li class="nav-header">Documentation</li>
<li><a href="https://tomcl.github.io/issie//index.html">Introduction</a></li>
<li class="divider"></li>
<li><a href="https://tomcl.github.io/issie//community.html">Community</a></li>
<li class="nav-header">Reference</li>
<li><a href="https://tomcl.github.io/issie//reference/index.html">API Reference</a></li>
</ul>
</div>
</div>
</div>
</body>
</html>