EDA

PyOPUS – simulation, optimization, and design

PyOPUS is a library for simulation-based optimization of arbitrary systems. It was developed with circuit optimization in mind. The library is the basis
for the PyOPUS GUI that makes it possible to setup design automation tasks with ease. In the GUI you can also view the the results and plot the waveforms generated by the simulator.

PyOPUS provides several optimization algorithms (Coordinate Search, Hooke-Jeeves, Nelder-Mead Simplex, Successive Approximation Simplex, PSADE (global), MADS, …). Optimization algorithms can be fitted with plugins that are triggered at every function evaluation and have full access to the internals of the optimization algorithm.

PyOPUS has a large library of optimization test functions that can be used for optimization algorithm development. The functions include benchmark sets by Moré-Garbow-Hillstrom, Lukšan-Vlček (nonsmooth problems), Karmitsa (nonsmooth problems), Moré-Wild, global optimization problems by Yao, Hedar, and Yang, problems used in the developement of MADS algorithms, and an interface to thousands of problems in the CUTEr/CUTEst collection. Benchmark results can be converted to data profiles that visualize the relative performance of optimization algorithms.

The “pyopus.simulator“ module currently supports SPICE OPUS, HSPICE, and SPECTRE (supports OP, DC, AC, TRAN, and NOISE analyses, as well as, collecting device properties like Vdsat). The interface is simple can be easily extended to support any simulator.

PyOPUS provides an extensible library of postprocessing functions which enable you to easily extract performance measures like gain, bandwidth, rise time, slew-rate, etc. from simulation results. The collected performance measures can be further post-processed to obtain a user-defined cost function which can be used for guiding the optimization algorithms toward better circuits.

Website: fides.fe.uni-lj.si/pyopus
Support:
Developer: Arpad Buermen
License: GNU General Public License v3.0

PyOPUS GUI
Click image for full size

PyOPUS is written in C and Python. Learn C with our recommended free books and free tutorials. Learn Python with our recommended free books and free tutorials.


Related Software

Electronic Design Automation
gEDAFull suite and toolkit of Electronic Design Automation tools
LibrePCBSoftware to develop printed circuit boards
FritzingSuited to the needs of designers and artists
MagicVLSI layout editor, extraction, and DRC tool
KiCadSoftware suite for the creation of electronic schematics
QElectroTechDesign electric diagrams
PyOPUSLibrary for simulation-based optimization of arbitrary systems
KTechLabIDE for electronic and PIC microcontroller circuit design and simulation
KLayoutGDS and OASIS file viewer and editor
DIYLCCircuit layout and schematic drawing tool
Horizon EDASupports an integrated end-to-end workflow for printed circuit board design
xschemSchematic editor for VLSI/Asic/Analog custom designs
RingdoveEDA suite of multiple software components
ElectricThe Electric VLSI Design System
FidoCadJOffers a large library of electronics and electronic engineering symbols
LeptonSuite of software tools for designing electronics

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments