Releases: mario33881/betterSIS
Release 1.2.1
2021-09-07 1.2.1:
Changes:
- Now the original output is kept completely intact (included warnings) and at the end of the command execution warnings are shown a second time.
Warnings were hidden during the command execution because they were considered redondant (to the developer) but having the full "history" of the output
and then a brief summary of Warnings and/or errors makes more sense.
Features:
-
Added persistent command history across different sessions (they are saved inside the
~/.bsis_history
file).It is disabled by default and you can enable it by setting the "
BSIS_HISTORY_ENABLED
" environment variable to "true". Check the documentation on how to enable it and how to set the history size limit. -
Added the
bsis_tutorials
command: it opens the browser on the SIS tutorials webpage -
Added the
bsis_documentation
command: it opens the browser on the betterSIS documentation webpage -
Added the
bsis_releases
command: it opens the browser on the download page for the latest betterSIS -
Added the
bsis_checkblif
command: uses the blifparser library as a basic parser/validation tool for BLIF files -
Now the
help
command also shows betterSIS commands -
New release on the Snap store. You can now install this software using the
snap install bettersis
command or using the Snap Store GUI. -
New release as an AppImage. You can think of it as having an updatable PyInstaller version.
Use the
bsis_update
to update your AppImage when an update is available -
Added two arguments to betterSIS: the
--debug
flag used to write more details in the log file and the--verbosedebug
flag to also show debug information inside the shell--verbosedebug
only works when you also use the--debug
flag -
The simple text editor now shows the text "Saved to file" when the user saves the file using Ctrl+S
Fixes:
- Now the program can correctly check if an update is available.
- Fixed the
UnicodeEncodeError: 'ascii' codec can't encode character in position 0: ordinal not in range(128)
errorThis happened because of the ASCII art that is shown when bettersis is executed:
the terminal must be set to use an UTF-8 language using the$LANG
environment variable to be able to show those ASCII characters.Now the ASCII art is simply not shown if the user's terminal doesn't support it.
- (siswrapper) Fixed timeout error on commands that gave paginated outputs such as the
help read_blif
command.
Release files / installation methods:
bsis
: PyInstaller versionbettersis.deb
: DEB package- use the
snap install bettersis
command to install the Snap versionIf you are using an old Snap, use the
snap refresh
command to update all your Snaps (including betterSIS) BetterSIS-1.2.1-x86_64.AppImage
: AppImage versionBetterSIS-1.2.1-x86_64.AppImage.zync
: Used by the AppImage to find updatesYou DON'T need to download this file
Source code (zip)
andSource code (tar.gz)
: source code
You can also see a summary of the differences between installation methods here
Release 1.2.0
2021-03-17 1.2.0
Known bugs:
- The executable version of betterSIS (both the deb package and the PyInstaller executable) can't correctly connect to Github Release to check for updates (SSL verification error)
This will be fixed in the next version (for now you need to manually check if an update is available)
Features:
-
Added the
ls
command: it shows files and directories in the given/current path -
Added the
cd
command: you can use it to navigate directories from betterSIS -
Added the
edit
command: opens the specified file with a simple text editorEditor's features: syntax highlighting, basic edit/save functionality, use the tab key to write/complete keywords
-
(siswrapper feature) Added
bsis_script
command. Its accepted parameters are:fsm_autoencoding_area
, useful for FSM circuits: minimizes states, automatically encodes states, optimizes area and maps the circuit by area (synch library)Executed commands:
state_minimize stamina
,state_assign jedi
,source script.rugged
,read_library synch.genlib
,map -m 0 -W -s
fsm_autoencoding_delay
, useful for FSM circuits: minimizes states, automatically encodes states, optimizes delay and maps the circuit by delay (synch library)Executed commands:
state_minimize stamina
,state_assign jedi
,reduce_depth
,source script.rugged
,read_library synch.genlib
,map -n 1 -W -s
fsm_area
, useful for FSM circuits: minimizes states, uses manual states encoding, optimizes area and maps the circuit by area (synch library)Executed commands:
state_minimize stamina
,stg_to_network
,source script.rugged
,read_library synch.genlib
,map -m 0 -W -s
fsm_delay
, useful for FSM circuits: minimizes states, uses manual states encoding, optimizes delay and maps the circuit by delay (synch library)Executed commands:
state_minimize stamina
,stg_to_network
,reduce_depth
,source script.rugged
,read_library synch.genlib
,map -n 1 -W -s
lgate_area_mcnc
, useful for combinational circuits: optimizes area and maps the circuit by area (mcnc library)Executed commands:
source script.rugged
,read_library mcnc.genlib
,map -m 0 -W -s
lgate_delay_mcnc
, useful for combinational circuits: optimizes delay and maps the circuit by delay (mcnc library)Executed commands:
reduce_depth
,source script.rugged
,read_library mcnc.genlib
,map -n 1 -W -s
lgate_area_synch
, useful for combinational circuits: optimizes area and maps the circuit by area (synch library)Executed commands:
source script.rugged
,read_library synch.genlib
,map -m 0 -W -s
lgate_delay_synch
, useful for combinational circuits: optimizes delay and maps the circuit by delay (synch library)Executed commands:
reduce_depth
,source script.rugged
,read_library synch.genlib
,map -n 1 -W -s
fsmd_area
, useful for FSMD circuits (circuits which include datapaths and an FSM): optimizes area and maps the circuit by area (synch library)Executed commands:
source script.rugged
,read_library synch.genlib
,map -m 0 -W -s
fsmd_delay
, useful for FSMD circuits (circuits which include datapaths and an FSM): optimizes delay and maps the circuit by delay (synch library)Executed commands:
reduce_depth
,source script.rugged
,read_library synch.genlib
,map -n 1 -W -s
This command also shows which command is executed and the statistics after some commands
Partial and full results are written to new BLIF files.
WARNING! These commands are executed in this order, thus does NOT guarantee the best result: multi-level minimization is not perfect!
to obtain better results you should try to execute these commands manually in a diffent order (try also to execute them more than once) -
(siswrapper feature) Now this library verifies if the stg_to_network command is successful
Fixes:
- (siswrapper fix) Now the
write_eqn
command gives the expected result when used to output to a file.Before this fix the
write_blif
method was executed instead of the correct method - (siswrapper fix) When SIS is not installed the error message shows exactly what the problem is
- (siswrapper fix) If you call the
write_eqn
andwrite_blif
method without parameters the output doesn't contain the command. - (siswrapper fix) Can't execute the rugged script if no file as been read with a read command
- (siswrapper fix) When you execute a read command, this library calls the
reset
method to close the SIS session and
open a new session inside the folder of the input fileThis "fixes" the ".search x file not found" error when you try to read a file that is in another folder and contains the .search keyword.
This error was normal but not intuitive (because the imported file was present inside the same folder as the input file but not inside the current folder).
It was the original SIS behaviour. - (siswrapper fix) The output of the
print_stats
command couldn't be intepreted as correct when the circuit had more than a 10000 literals/statesThe output was correct but the program reported it as an error
Release 1.1.0
2021-01-09 1.1.0
Features:
- Added logs to syslog to help solving problems (and
/var/log/pybettersis/pybettersis.log
for .deb package installations) - An "Update is available" message is shown when a new Github Release is online
- Files are shown as parameters (for faster workflow)
Fixes:
sim
command is treated the same as thesimulate
commandsiswrapper 1.1.1
can manage FSM outputs (fix:TypeError: 'NoneType' object is not subscriptable
)- Builds are made on an older OS (Ubuntu 12.04) to improve OS versions support
This should fix this problem:
Error loading Python lib [...] GLIBC_2.29 not found
Release 1.0.0
First release
Attached files:
bettersis.deb
: .deb package which can be used to install this softwarebsis
: executable created by Pyinstaller, portable version (no installation required)
The files were built and tested on Ubuntu 20.04.1 LTS.
On older systems the os will probably throw the errorError loading Python lib [...] GLIBC_2.29 not found
.
There no fix for this build: the build needs to be executed from an older os... Stay tuned for future updates!