mario33881 / betterSIS

The modern shell for SIS (the circuit simulator and optimizer)
MIT License
8 stars 1 forks source link
blif python sis univr

BETTERSIS

Unit Tests Linter Documentation Status bettersis

Bettersis, or bsis for short, is an interactive shell that allows you to control SIS (the tool for synthesis and optimization of sequential circuits) more easily than its default shell thanks to modern features such as:

Read this README in:

English Italiano


logo


example


Disclaimer:

I'm not affiliated with the SIS developers in any way.

The aim of this software is to provide a better shell with modern features for SIS.

Index

Description

This software provides a new interactive shell that controls SIS in the background using the siswrapper library.

I build the siswrapper library thanks to the pexpect library, a Python library that can easily be used to control interactive shells by spawning and connecting to their process.

The interactive shell is controlled by the Bettersis class which uses the prompt_toolkit library to show the prompt and the bottom toolbar and provides history and autocompletion of commands.

You can read more about betterSIS's code on readthedocs by clicking here.

Go to the index

Requirements

Development requirements

Go to the index

Installation

You can also see a summary of the differences between installation methods here

After reading the summary you can follow the instructions to install betterSIS using your prefered method and read its advantages and disadvantages down below.

You can:

Go to the index

Usage

Execute the bettersis interactive shell

You can execute it using:

Now you can use the shell has if it was the normal SIS shell: start reading files (using read_blif), optimize circuits, simulate them, ...

You can see a usage example in the gif at the start of this README.

You can use the help command to list the old SIS command and the new betterSIS commands with a small description.

If that description is not sufficient you can probably find more information about it in this document. If more details are needed please create an issue.

There are also some tutorials on readthedocs (in italian): click here


Persistent history across sessions

This feature allows you to execute commands, close betterSIS, re-open it later and find the old commands using the up/down arrow keys.

This feature is disabled by default because betterSIS needs to write the ~/.bsis_history file to save the old commands and the user might not want that.

To enable this feature you need to set the "BSIS_HISTORY_ENABLED" environment variable to "true".

To set the environment variable modify the ~/.bashrc file (or an equivalent file based on your default OS shell) and add this line export BSIS_HISTORY_ENABLED=true to the end of the file.

The default history file size limit is 100 KB but you can set it using the "BSIS_HISTORY_SIZELIMIT" environment variable (the minimum limit is 1000 bytes)

To change the history file size limit add this line to the ~/.bashrc file (or equivalent): export BSIS_HISTORY_SIZELIMIT=10000.

Replace "10000" with the number of bytes you wish to cap the file size.

Close and then open the terminal to use the new changes.

Go to the index

Found an issue?

Please create a new issue with all the details here: https://github.com/mario33881/betterSIS/issues

If you used:

Go to the index

Changelog

WIP 1.2.2:

Changes:

Features:

Fixes:

2021-09-07 1.2.1:

Changes:

Features:

Fixes:

2021-03-17 1.2.0:

Features:

Fixes:

Known bugs:

2021-01-09 1.1.0:

Features:

Fixes:

2020-11-14 1.0.0:
First commit

Go to the index

Author

Stefano Zenaro (mario33881)