Skip to content

Commit 37e9ca0

Browse files
committed
Merge branch 'master' of https://github.com/emsec/hal
2 parents ec21079 + d18d4c2 commit 37e9ca0

File tree

461 files changed

+11338
-9509
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

461 files changed

+11338
-9509
lines changed

.github/workflows/ubuntu20.04.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ jobs:
160160

161161

162162
- name: Deploy Doc
163-
if: github.ref == 'refs/heads/summer_school_2022'
163+
if: github.ref == 'refs/heads/master'
164164
uses: JamesIves/github-pages-deploy-action@releases/v3
165165
with:
166166
BRANCH: gh-pages

CHANGELOG.md

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
55

66
## [Unreleased]
7+
8+
## [4.0.1] - 2022-10-21 08:10:00+02:00 (urgency: medium)
79
* **WARNING:** this release breaks multiple APIs, please make sure to adjust your code accordingly.
810
* project manager
9-
* saving all data to and restore current project from project directory
10-
* for backward compatibility files created using a previous HAL version can be imported as projects
11-
* additional information saved together with netlist: grouping, grouping color, module color, views and their layout, simulation results
12-
* when possible referencing all project files with relative filenames so that project can be ported to different location
13-
* new CLI option -p to open existing project
14-
* CLI option -i reassigned, will now trigger import to new project
11+
* added keeping all data belonging to a netlist in a single project directory
12+
* added import of Verilog and VHDL netlists as well as existing .hal files into new projects
13+
* added referencing all project files with relative filenames so that project can be ported to different location (whenever possible)
14+
* added CLI option `-p` to open existing project
15+
* changed CLI option `-i` import netlist to new project
1516
* netlist simulation
1617
* added interactive waveform viewer to the HAL GUI
1718
* added new netlist simulation backend with out-of-the-box support for Verilator
@@ -26,28 +27,35 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
2627
* added custom symbolic execution engine
2728
* added improved Boolean function optimization based on ABC
2829
* module and gate pins
29-
* gates and modules now use a new system for pins, breaking all previously used APIs
30+
* added a new system for gate and module pins, breaking all previously used APIs
3031
* added `GatePin` class to keep properties of gate pins stored within gate types
3132
* added `ModulePin` class to keep properties of module pins stored within modules
3233
* added `PinGroup` class to collect related pins in a dedicated container
33-
* gate pin related interactions integrated in GUI-actions (undo and macro feature, log in crash dump)
34+
* added pin related interactions to GUI actions (undo and macro feature, log in crash dump)
3435
* selection details widget
3536
* added tabs to unclutter the presented information
3637
* added more details on gate/module pins
3738
* added more details on LUT functionality
3839
* added options to edit properties such as names, types etc. whereever applicable
39-
* running python interpreter in background thread
40-
* long lasting scripts or scripts with infinite loops can be aborted from GUI
41-
* scripts can demand input from console using the input() or raw_input() statement
42-
* scripts can invoke GUI widgets to query for strings, numbers, file names, modules, or gates
40+
* running Python interpreter in background thread
41+
* added option to abort Python script execution from within the GUI
42+
* added support for `input` and `raw_input` functions for Python scripts to take input from the HAL Python console
43+
* added GUI widgets to query for strings, numbers, file names, modules, or gates from Python scripts
4344
* python console and editor features
44-
* using PEG instead of PyParser to parse whether statement is complete if python version >= 3.9
45-
* saving all tabs when persisting entire project, even unnamed tabs
46-
* timer to display abort button if console command runs for more than 5 seconds
47-
* added context menu entry to add any module or gate to cone view
48-
* added link feature between entry in module tree view and graphical view, e.g. renaming the module will also rename the view
49-
* added GUI API for plugins so that plugins can query for input parameter and execution can be triggered by push button
50-
* changed HGL gate library format to better support new gate pin features (backward compatible)
45+
* changed to using PEG instead of PyParser to parse whether statement is complete if python version >= 3.9
46+
* added automatically saving all Python editor tabs upon saving the entire project (even un-named tabs)
47+
* added timer to display abort button if Python console command runs for more than 5 seconds
48+
* GateTypeProperty additions
49+
* changed gate type properties `carry`, `buffer`, `lut`, and `mux` to `c_carry`, `c_buffer`, `c_lut`, and `c_mux`
50+
* added new gate type properties such as `c_and`, `c_or`, ... to better represent combinational logic
51+
* added pin types `carry` and `sum` to better annotate pins of gate types with property `c_carry`, `c_half_adder`, or `c_full_adder`
52+
* added respective annotations to gate libraries shipped with HAL
53+
* miscellaneous
54+
* added context menu entry to add any module or gate to cone view
55+
* added link feature between entry in module tree view and graphical view, e.g. renaming the module will also rename the view
56+
* added GUI API for plugins so that plugins can query for input parameter and execution can be triggered by push button
57+
* added `Gate::get_init_data` and `Gate::set_init_data` for simplified access to the INIT data of, e.g., LUT type gates
58+
* changed HGL gate library format to better support new gate pin features (backward compatible)
5159
* bugfixes
5260
* fixed gate locations not being properly loaded from a gate's data fields
5361
* fixed multiple memory leaks

0 commit comments

Comments
 (0)