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
Qucs-SGraphical interface for SPICE circuit simulation engines
DigitalDigital logic designer and circuit simulator
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
Kactus2IP-XACT based SoC design and IP integration tool

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our carefully curated directory of recommended free and open source software, covering every major software category.

The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more.

Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted