-
Notifications
You must be signed in to change notification settings - Fork 76
Home
SJulianS edited this page May 18, 2023
·
156 revisions
-
Getting Started
- Introduction to HAL - The idea of HAL and an overview of its core components.
- Building HAL - How to build HAL on your own machine.
- Starting HAL - Overview of the startup options provided by HAL.
-
Core - The part of HAL that provides its underlying functionality.
-
Netlist - Represents the connectivity of an electronic circuit.
- Data Container - A general structure to hold arbitrary data.
- Gate - Represents the functional or sequential building blocks of a netlist.
- Net - Serves as a connection between gates within the netlist.
- Module - Represents a functional unit of gates fulfilling a dedicated purpose.
- Grouping - Provides an easy way to group gates, nets, and modules.
- Endpoint - The point where a net connects to a gate.
-
Gate Library - Holds all available gate types of a specific standard cell library.
- Gate Type - Specifies details of the underlying type of a gate.
- Boolean Function - Specifies the Boolean function of a gate (type).
- Netlist Utilities - A set of utility functions operating on the netlist providing diverse functionality.
-
Netlist - Represents the connectivity of an electronic circuit.
-
GUI - An in-depth description of the HAL GUI and its functionalities.
- General Concepts - Some of the concepts that are important to understand when dealing with the GUI.
- Widgets - Details regarding each of the GUI's widgets.
- Graph View - Displays the netlist and substructures as a visual graph.
- Modules Widget - An overview about the netlist's module hierarchy.
- Views Widget - Shows and manages all existing views.
- Groupings Widget - Shows and manages all existing groupings.
- Selection Details Widget - Presents detailed information on all items of the current selection.
- Log Widget - Provides a live view of the HAL log.
- Python Editor Widget - A lightweight tool for developing HAL python scripts.
- Python Console Widget - Fast and easy access to the HAL Python API.
- Python GUI API - Interact with GUI selections via python.
- Python Thread - Running Python interpreter in background thread.
- Settings - Settings for the HAL GUI.
- Plugin Management - Manage plugins from GUI.
-
Advanced Functionalities
-
Provided Plugins - The set of plugins that come with the off-the-shelf variant of HAL.
- Gate Library Files - The gate libraries supported by HAL by default.
- Netlist Simulator and Waveform Viewer - A simulation framework with integrated viewer for waveform analysis.
- Graph Algorithms - An interface to the igraph library to enable running graph algorithms on the netlist.
- Dataflow Analysis - A tool used to automatically analyze the flow of data through the netlist.
- Netlist Parsers & Writers (TODO)
- Gate Library Parsers & Writers (TODO)
-
Create your own Plugins (TODO)
- Standard Plugin (outdated)
- Netlist Parser (TODO)
- Netlist Writer (TODO)
- Gate Library Parser (TODO)
- Gate Library Writer (TODO)
- Gate Library - Create a gate library file that can be read by HAL.
-
Provided Plugins - The set of plugins that come with the off-the-shelf variant of HAL.
-
Contributing