f4pga/glossary.html

620 lines
28 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en" data-content_root="./">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="lang:clipboard.copy" content="Copy to clipboard">
<meta name="lang:clipboard.copied" content="Copied to clipboard">
<meta name="lang:search.language" content="en">
<meta name="lang:search.pipeline.stopwords" content="True">
<meta name="lang:search.pipeline.trimmer" content="True">
<meta name="lang:search.result.none" content="No matching documents">
<meta name="lang:search.result.one" content="1 matching document">
<meta name="lang:search.result.other" content="# matching documents">
<meta name="lang:search.tokenizer" content="[\s\-]+">
<link href="https://fonts.gstatic.com/" rel="preconnect" crossorigin>
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono:400,500,700|Roboto:300,400,400i,700&display=fallback" rel="stylesheet">
<style>
body,
input {
font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif
}
code,
kbd,
pre {
font-family: "Roboto Mono", "Courier New", Courier, monospace
}
</style>
<link rel="stylesheet" href="_static/stylesheets/application.css"/>
<link rel="stylesheet" href="_static/stylesheets/application-palette.css"/>
<link rel="stylesheet" href="_static/stylesheets/application-fixes.css"/>
<link rel="stylesheet" href="_static/stylesheets/f4pga.css"/>
<link rel="stylesheet" href="_static/fonts/material-icons.css"/>
<meta name="theme-color" content="#3f51b5">
<script src="_static/javascripts/modernizr.js"></script>
<title>Glossary &#8212; F4PGA documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=80d5e7a1" />
<link rel="stylesheet" type="text/css" href="_static/material.css?v=79c92029" />
<script src="_static/documentation_options.js?v=5929fcd5"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="icon" href="_static/favicon.svg"/>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="References" href="references.html" />
<link rel="prev" title="In F4PGA" href="flows/f4pga.html" />
</head>
<body dir=ltr
data-md-color-primary=indigo data-md-color-accent=blue>
<svg class="md-svg">
<defs data-children-count="0">
<svg xmlns="http://www.w3.org/2000/svg" width="416" height="448" viewBox="0 0 416 448" id="__github"><path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19T128 352t-18.125-8.5-10.75-19T96 304t3.125-20.5 10.75-19T128 256t18.125 8.5 10.75 19T160 304zm160 0q0 10-3.125 20.5t-10.75 19T288 352t-18.125-8.5-10.75-19T256 304t3.125-20.5 10.75-19T288 256t18.125 8.5 10.75 19T320 304zm40 0q0-30-17.25-51T296 232q-10.25 0-48.75 5.25Q229.5 240 208 240t-39.25-2.75Q130.75 232 120 232q-29.5 0-46.75 21T56 304q0 22 8 38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0 37.25-1.75t35-7.375 30.5-15 20.25-25.75T360 304zm56-44q0 51.75-15.25 82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5T212 416q-19.5 0-35.5-.75t-36.875-3.125-38.125-7.5-34.25-12.875T37 371.5t-21.5-28.75Q0 312 0 260q0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25 30.875Q171.5 96 212 96q37 0 70 8 26.25-20.5 46.75-30.25T376 64q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34 99.5z"/></svg>
</defs>
</svg>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search">
<label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
<a href="#glossary" tabindex="1" class="md-skip"> Skip to content </a>
<header class="md-header" data-md-component="header">
<nav class="md-header-nav md-grid">
<div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="F4PGA documentation"
class="md-header-nav__button md-logo">
&nbsp;
</a>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
</div>
<div class="md-flex__cell md-flex__cell--stretch">
<div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
<span class="md-header-nav__topic">F4PGA documentation</span>
<span class="md-header-nav__topic"> Glossary </span>
</div>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="GET" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active">
<label class="md-icon md-search__icon" for="__search"></label>
<button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
&#xE5CD;
</button>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="result">
<div class="md-search-result__meta">
Type to start searching
</div>
<ol class="md-search-result__list"></ol>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<div class="md-header-nav__source">
<a href="https://github.com/chipsalliance/f4pga" title="Go to repository" class="md-source" data-md-source="github">
<div class="md-source__icon">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24" width="28" height="28">
<use xlink:href="#__github" width="24" height="24"></use>
</svg>
</div>
<div class="md-source__repository">
chipsalliance/f4pga
</div>
</a>
</div>
</div>
<script src="_static/javascripts/version_dropdown.js"></script>
<script>
var json_loc = ""versions.json"",
target_loc = "../",
text = "Versions";
$( document ).ready( add_version_dropdown(json_loc, target_loc, text));
</script>
</div>
</nav>
</header>
<div class="md-container">
<nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid">
<ul class="md-tabs__list" style="float:left">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">F4PGA documentation</a></li>
</ul>
<ul class="md-tabs__list" id="chipsalliance-header" style="float:right">
<li class="md-tabs__item"><a href="https://chipsalliance.org" class="md-tabs__link">
<i class="md-icon">web</i> CHIPS Alliance Website</a></li>
</ul>
</div>
</nav>
<main class="md-main">
<div class="md-main__inner md-grid" data-md-component="container">
<div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="F4PGA documentation" class="md-nav__button md-logo">
<img src="_static/" alt=" logo" width="48" height="48">
</a>
<a href="index.html"
title="F4PGA documentation">F4PGA documentation</a>
</label>
<div class="md-nav__source">
<a href="https://github.com/chipsalliance/f4pga" title="Go to repository" class="md-source" data-md-source="github">
<div class="md-source__icon">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24" width="28" height="28">
<use xlink:href="#__github" width="24" height="24"></use>
</svg>
</div>
<div class="md-source__repository">
chipsalliance/f4pga
</div>
</a>
</div>
<ul class="md-nav__list">
<li class="md-nav__item">
<span class="md-nav__link caption"><span class="caption-text">About F4PGA</span></span>
</li>
<li class="md-nav__item">
<a href="getting-started.html" class="md-nav__link">
Getting started</a>
</li>
<li class="md-nav__item">
<a href="how.html" class="md-nav__link">
How it works</a>
</li>
<li class="md-nav__item">
<a href="status.html" class="md-nav__link">
Supported Architectures</a>
</li>
<li class="md-nav__item">
<a href="community.html" class="md-nav__link">
Community</a>
</li>
<li class="md-nav__item">
<span class="md-nav__link caption"><span class="caption-text">Python utils</span></span>
</li>
<li class="md-nav__item">
<a href="f4pga/index.html" class="md-nav__link">
Overview</a>
</li>
<li class="md-nav__item">
<a href="f4pga/Usage.html" class="md-nav__link">
Usage</a>
</li>
<li class="md-nav__item">
<a href="f4pga/modules/index.html" class="md-nav__link">
Modules</a>
</li>
<li class="md-nav__item">
<a href="f4pga/DevNotes.html" class="md-nav__link">
Developers notes</a>
</li>
<li class="md-nav__item">
<a href="f4pga/Deprecated.html" class="md-nav__link">
Understanding the (deprecated) flow</a>
</li>
<li class="md-nav__item">
<span class="md-nav__link caption"><span class="caption-text">Development</span></span>
</li>
<li class="md-nav__item">
<a href="development/changes.html" class="md-nav__link">
Changes</a>
</li>
<li class="md-nav__item">
<a href="development/building-docs.html" class="md-nav__link">
Building the documentation</a>
</li>
<li class="md-nav__item">
<a href="development/venv.html" class="md-nav__link">
Packages in virtual environment</a>
</li>
<li class="md-nav__item">
<span class="md-nav__link caption"><span class="caption-text">Design Flows</span></span>
</li>
<li class="md-nav__item">
<a href="flows/index.html" class="md-nav__link">
Introduction</a>
</li>
<li class="md-nav__item">
<a href="flows/synthesis.html" class="md-nav__link">
Synthesis</a>
</li>
<li class="md-nav__item">
<a href="flows/pnr.html" class="md-nav__link">
Place & Route</a>
</li>
<li class="md-nav__item">
<a href="flows/bitstream.html" class="md-nav__link">
Bitstream translation</a>
</li>
<li class="md-nav__item">
<a href="flows/f4pga.html" class="md-nav__link">
In F4PGA</a>
</li>
<li class="md-nav__item">
<span class="md-nav__link caption"><span class="caption-text">Specifications</span></span>
</li>
<li class="md-nav__item">
<a href="https://fasm.readthedocs.io/en/latest/" class="md-nav__link">
FPGA Assembly (FASM) ➚</a>
</li>
<li class="md-nav__item">
<a href="https://chipsalliance/fpga-interchange-schema" class="md-nav__link">
FPGA Interchange schema ➚</a>
</li>
<li class="md-nav__item">
<span class="md-nav__link caption"><span class="caption-text">Appendix</span></span>
</li>
<li class="md-nav__item">
<a href="#" class="md-nav__link md-nav__link--active">
Glossary</a>
</li>
<li class="md-nav__item">
<a href="references.html" class="md-nav__link">
References</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary">
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item"><a class="md-nav__extra_link" href="_sources/glossary.rst.txt">Show Source</a> </li>
<li id="searchbox" class="md-nav__item"></li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content">
<article class="md-content__inner md-typeset" role="main">
<section id="glossary">
<span id="id1"></span><h1 id="glossary--page-root">Glossary<a class="headerlink" href="#glossary--page-root" title="Link to this heading"></a></h1>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>This is work-in-progress, since the utilities and wrappers developed in F4PGA are being redesigned (from shell to Python).
Therefore, the terms and definitions shown below are subject to change.
It is strongly suggested not to rely on the content below until this note is updated/removed.</p>
</div>
<dl class="glossary">
<dt id="term-Artifact">Artifact<a class="headerlink" href="#term-Artifact" title="Link to this term"></a></dt><dd><p>An <em>artifact</em> is a result produced by a <a class="reference internal" href="#term-Step"><span class="xref std std-term">step</span></a> when executed.
Typically, <em>artifacts</em> are files and logs generated by the <a class="reference internal" href="#term-Tool"><span class="xref std std-term">tools</span></a>.
However, within <a class="reference internal" href="#term-F4PGA"><span class="xref std std-term">f4pga</span></a> <a class="reference internal" href="#term-Flow"><span class="xref std std-term">flows</span></a>, (meta)data can be passed across <em>steps</em> without saving
it to disk.</p>
</dd>
<dt id="term-Cache">Cache<a class="headerlink" href="#term-Cache" title="Link to this term"></a></dt><dd><p>Within <a class="reference internal" href="#term-F4PGA"><span class="xref std std-term">f4pga</span></a>, the content of <a class="reference internal" href="#term-Dependency"><span class="xref std std-term">dependencies</span></a> and <a class="reference internal" href="#term-Artifact"><span class="xref std std-term">artifacts</span></a> can
be tracked to optimize consecutive executions of the same <a class="reference internal" href="#term-Flow"><span class="xref std std-term">flow</span></a>.
The <em>cache</em> contains the <a class="extlink-wikipedia reference external" href="https://en.wikipedia.org/wiki/Hash_function">hash ➚</a> of the assets.</p>
</dd>
<dt id="term-CLI">CLI<a class="headerlink" href="#term-CLI" title="Link to this term"></a></dt><dd><p>A <a class="extlink-wikipedia reference external" href="https://en.wikipedia.org/wiki/Command-line_interface">Command-Line Interface (CLI) ➚</a> is an application that processes commands to
a computer program in the form of lines of text, typically interactively (through a terminal) or in batch mode
(through scripts).
Most of the applications used in F4PGA are meant to be used through CLIs.
Precisely, <a class="reference internal" href="#term-F4PGA"><span class="xref std std-term">f4pga</span></a> <a class="reference internal" href="#term-Tool"><span class="xref std std-term">tools</span></a> provide Python abstractions around the CLIs.</p>
</dd>
<dt id="term-Configuration">Configuration<a class="headerlink" href="#term-Configuration" title="Link to this term"></a></dt><dd><p>Within <a class="reference internal" href="#term-F4PGA"><span class="xref std std-term">f4pga</span></a>, a <em>project configuration</em> is the set of parameters needed for executing a
<a class="reference internal" href="#term-Flow"><span class="xref std std-term">flow</span></a> on a given <a class="reference internal" href="#term-Design"><span class="xref std std-term">design</span></a>.
The <em>configuration</em> might be provided through a Python API, or through a file using declarative format (such as JSON,
YAML, INI,…).</p>
</dd>
<dt id="term-Constraints">Constraints<a class="headerlink" href="#term-Constraints" title="Link to this term"></a></dt><dd><p>Set of parameters that allow users to select/specify certain physical characteristics of the FPGA device, such as
the pins/pads or the logic standard to use.</p>
</dd>
<dt id="term-Definition">Definition<a class="headerlink" href="#term-Definition" title="Link to this term"></a></dt><dd><p>Within <a class="reference internal" href="#term-F4PGA"><span class="xref std std-term">f4pga</span></a>, a <a class="reference internal" href="#term-Flow"><span class="xref std std-term">flow</span></a> <em>definition</em> is the description of which <a class="reference internal" href="#term-Step"><span class="xref std std-term">steps</span></a>
are to be executed and which <a class="reference internal" href="#term-Dependency"><span class="xref std std-term">dependencies</span></a> and <a class="reference internal" href="#term-Artifact"><span class="xref std std-term">artifacts</span></a> are to be passed
along.</p>
</dd>
<dt id="term-Dependency">Dependency<a class="headerlink" href="#term-Dependency" title="Link to this term"></a></dt><dd><p>A <em>dependency</em> is a prerequisite to execute a <a class="reference internal" href="#term-F4PGA"><span class="xref std std-term">f4pga</span></a> <a class="reference internal" href="#term-Step"><span class="xref std std-term">step</span></a> in a <a class="reference internal" href="#term-Flow"><span class="xref std std-term">flow</span></a>.
<em>Dependencies</em> might be files (such as HDL sources, constraints, etc.), <a class="reference internal" href="#term-Artifact"><span class="xref std std-term">artifacts</span></a> from previous
<em>steps</em> or <a class="reference internal" href="#term-Tool"><span class="xref std std-term">tools</span></a>.</p>
</dd>
<dt id="term-Design">Design<a class="headerlink" href="#term-Design" title="Link to this term"></a></dt><dd><p>Required <a class="reference internal" href="#term-HDL"><span class="xref std std-term">HDL</span></a> sources, constraints and other assets to execute a <a class="reference internal" href="#term-Flow"><span class="xref std std-term">flow</span></a> and achieve a task.</p>
</dd>
<dt id="term-F4PGA">F4PGA<a class="headerlink" href="#term-F4PGA" title="Link to this term"></a></dt><dd><ul class="simple">
<li><p><em>Uppercase</em>:</p>
<ul>
<li><p>FOSS Flows For FPGA (F4PGA), the name of the project as a whole.</p></li>
<li><p>A Workgroup under the CHIPS Alliance.
See <a class="reference internal" href="community.html#community"><span class="std std-ref">Community</span></a>.</p></li>
</ul>
</li>
<li><p><em>Lowercase</em>:</p>
<ul>
<li><p>Python package providing utilities.</p></li>
<li><p>The main CLI entrypoint provided by the Python package.</p></li>
</ul>
</li>
</ul>
</dd>
<dt id="term-Flow">Flow<a class="headerlink" href="#term-Flow" title="Link to this term"></a></dt><dd><p>Within <a class="reference internal" href="#term-F4PGA"><span class="xref std std-term">f4pga</span></a>, a <em>flow</em> is a <a class="extlink-wikipedia reference external" href="https://en.wikipedia.org/wiki/Directed_graph">directed graph ➚</a> of <a class="reference internal" href="#term-Step"><span class="xref std std-term">steps</span></a>, which
describes end-to-end sequences to achieve specific tasks.
A <em>flow</em> might used as a step within another <em>flow</em>.
In such cases, terms <em>subflow</em> or <em>partial flow</em> are used.</p>
<img alt="_images/flow.png" class="align-center" src="_images/flow.png"/>
</dd>
<dt id="term-HDL">HDL<a class="headerlink" href="#term-HDL" title="Link to this term"></a></dt><dd><p>A Hardware Description Language (HDL) is a computer language used for describing hardware designs.
HDLs in the scope of F4PGA include established (such as Verilog and <a class="reference external" href="https://IEEE-P1076.gitlab.io/">VHDL ➚</a>) or
emerging software-inspired paradigms like
<a class="reference external" href="https://chisel.eecs.berkeley.edu/">Chisel ➚</a>,
<a class="reference external" href="https://spinalhdl.github.io/SpinalDoc-RTD/">SpinalHDL ➚</a>,
<a class="reference external" href="https://m-labs.hk/gateware/migen/">Migen ➚</a>, or
<a class="extlink-gh reference external" href="https://github.com/amaranth-lang">Amaranth ➚</a>.</p>
</dd>
<dt id="term-Model">Model<a class="headerlink" href="#term-Model" title="Link to this term"></a></dt><dd><ul class="simple">
<li><p><em>Project model</em>: a generic description of an EDA project, independent of vendor and tools.
It reflects multiple design variants, grouping of source files into file sets or linking testbenches to
components or subsystems in a design.</p></li>
<li><p><em>Simulation model</em>: <a class="reference internal" href="#term-HDL"><span class="xref std std-term">HDL</span></a> sources interpreted as programming languages by simulators, which can
generate interpeted or executable <a class="reference internal" href="#term-Artifact"><span class="xref std std-term">artifacts</span></a>.</p></li>
</ul>
</dd>
<dt id="term-Module">Module<a class="headerlink" href="#term-Module" title="Link to this term"></a></dt><dd><p><a class="reference external" href="https://docs.python.org/3/tutorial/modules.html#tut-modules" title="(in Python v3.13)"><span class="xref std std-ref">The Python Tutorial » Modules ➚</span></a> are files containing Python statements and definitions
(variables, functions, clases,…).
The file name is the module name with the suffix <code class="docutils literal notranslate"><span class="pre">.py</span></code> appended.</p>
<p>Within <a class="reference internal" href="#term-F4PGA"><span class="xref std std-term">f4pga</span></a>, user-defined <em>modules</em> allow extending the built-in <a class="reference internal" href="#term-Flow"><span class="xref std std-term">flows</span></a> and
<a class="reference internal" href="#term-Step"><span class="xref std std-term">steps</span></a> to achieve custom and/or complex tasks.</p>
</dd>
<dt id="term-Project">Project<a class="headerlink" href="#term-Project" title="Link to this term"></a></dt><dd><p>A set of <a class="reference internal" href="#term-HDL"><span class="xref std std-term">HDL</span></a> sources, constraints and other assets used in a hardware <a class="reference internal" href="#term-Design"><span class="xref std std-term">design</span></a> or set of
designs.</p>
</dd>
<dt id="term-Resolution">Resolution<a class="headerlink" href="#term-Resolution" title="Link to this term"></a></dt><dd><p>Relations between <a class="reference internal" href="#term-F4PGA"><span class="xref std std-term">f4pga</span></a> <a class="reference internal" href="#term-Step"><span class="xref std std-term">steps</span></a>, <a class="reference internal" href="#term-Dependency"><span class="xref std std-term">dependencies</span></a> and <a class="reference internal" href="#term-Artifact"><span class="xref std std-term">artifacts</span></a>
can get complex easily.
On top of computing the topological sorting, <a class="reference internal" href="#term-F4PGA"><span class="xref std std-term">f4pga</span></a> checks the existence of the assets, and supports
displaying the status.</p>
</dd>
<dt id="term-Step">Step<a class="headerlink" href="#term-Step" title="Link to this term"></a></dt><dd><p>Within <a class="reference internal" href="#term-F4PGA"><span class="xref std std-term">f4pga</span></a>, a <em>step</em> is a unit of execution, which is characterized by a set of
<a class="reference internal" href="#term-Dependency"><span class="xref std std-term">dependencies</span></a> and a set of <a class="reference internal" href="#term-Artifact"><span class="xref std std-term">artifacts</span></a>,
and it is composable in a <a class="reference internal" href="#term-Flow"><span class="xref std std-term">flow</span></a>.
<em>Steps</em> might wrap a single or multiple <a class="reference internal" href="#term-Tool"><span class="xref std std-term">tools</span></a>.</p>
<img alt="_images/step.png" class="align-center" src="_images/step.png"/>
</dd>
<dt id="term-Target">Target<a class="headerlink" href="#term-Target" title="Link to this term"></a></dt><dd><p>Within <a class="reference internal" href="#term-F4PGA"><span class="xref std std-term">f4pga</span></a>, <a class="reference internal" href="#term-Flow"><span class="xref std std-term">flows</span></a> can have multiple leaf <em>steps</em>, producing different results off some
shared previous <em>steps</em>.
The <em>target</em> of a <em>flow</em> specifies which <em>steps</em> to execute in a run.</p>
</dd>
<dt id="term-Tool">Tool<a class="headerlink" href="#term-Tool" title="Link to this term"></a></dt><dd><ul class="simple">
<li><p>A software application available as a CLI entrypoint, a shared library or an (interpreted) script.</p></li>
<li><p>Within <a class="reference internal" href="#term-F4PGA"><span class="xref std std-term">f4pga</span></a>, a <em>tool</em> is a Python abstraction that wraps a software application:</p></li>
</ul>
<img alt="_images/tool.png" class="align-center" src="_images/tool.png"/>
</dd>
<dt id="term-Toolchain">Toolchain<a class="headerlink" href="#term-Toolchain" title="Link to this term"></a></dt><dd><p><a class="extlink-wikipedia reference external" href="https://en.wikipedia.org/wiki/Toolchain">Toolchain ➚</a> is a generic term used to refer to a set of programming tools used
consecutively to perform a complex software development task.</p>
</dd>
</dl>
</section>
</article>
</div>
</div>
</main>
</div>
<footer class="md-footer">
<div class="md-footer-nav">
<nav class="md-footer-nav__inner md-grid">
<a href="flows/f4pga.html" title="In F4PGA"
class="md-flex md-footer-nav__link md-footer-nav__link--prev"
rel="prev">
<div class="md-flex__cell md-flex__cell--shrink">
<i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
</div>
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
<span class="md-flex__ellipsis">
<span
class="md-footer-nav__direction"> Previous </span> In F4PGA </span>
</div>
</a>
<a href="references.html" title="References"
class="md-flex md-footer-nav__link md-footer-nav__link--next"
rel="next">
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"><span
class="md-flex__ellipsis"> <span
class="md-footer-nav__direction"> Next </span> References </span>
</div>
<div class="md-flex__cell md-flex__cell--shrink"><i
class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
</div>
</a>
</nav>
</div>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-footer-social">
<div class="md-footer-social__link">
<a href="https://chipsalliance.org/" target="_blank">CHIPS Alliance</a>
</div>
</ul>
<div class="md-footer-social__link">
<a href="https://github.com/chipsalliance/f4pga" target="_blank">GitHub</a>
</div>
</div>
<div class="md-footer-copyright">
<div class="md-footer-copyright__highlight">
&#169; Copyright F4PGA Authors, 2019 - 2022.
</div>
Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 8.1.3.
and
<a href="https://github.com/f4pga/sphinx_f4pga_theme">Material for
Sphinx</a>
</div>
</div>
</div>
</footer>
<script src="_static/javascripts/application.js"></script>
<script src="_static/javascripts/f4pga.js"></script>
<script>app.initialize({version: "1.0.4", url: {base: ".."}})</script>
</body>
</html>