ASCO (A SPICE Circuit Optimizer)


About

ASCO project aims to bring circuit optimization capabilities to existing SPICE simulators using a high-performance parallel differential evolution (DE) optimization algorithm. Currently out-of-the-box support for Eldo (TM), HSPICE (R), LTspice (TM), Spectre (R), Qucs and ngspice exist.

alternate text
   ascodev on 2022-01-19 :: ASCO 0.4.11 released

Changes since ASCO 0.4.10:
  • Compiles with recent GCC versions.
  • Minor improvements to work/warn about changes in simulators output format.
  • Improvements in Spectre support.
  • Bug fixes.
Simulators output format change should be better detected (when using asco-test). Improved support with Spectre simulator. Also, ASCO now should compile with more recent GCC versions.


   ascodev on 2016-08-13 :: ASCO 0.4.10 released

Changes since ASCO 0.4.9:
  • Simulation re-runs are now supported in Spectre during an optimization.
  • Minor enhancements in the RF module.
  • Support for the newest MPICH versions.
  • The 'postp' tool is more robust to changes of each SPICE output format.
Spectre simulator reached a similar support level to that of Eldo and HSPICE. Simultaneously, patches have been applied to more easily compile free-software Qucs simulator with ASCO.


   ascodev on 2013-07-21 :: ASCO 0.4.9 released

Changes since ASCO 0.4.8:
  • Initial support for ngspice simulator.
  • Corrected memory leak in parallel mode. Minor bug fixes in 'log' and 'postp' tools.
Although previously ngspice could be used for optimization, ASCO lacked out-of-box support and lacked usage examples which are now available.


   ascodev on 2012-02-27 :: ASCO 0.4.8 released

Changes since ASCO 0.4.7:
  • The 'postp' tool better supports Spectre.
  • Support for Spectre in the 'alter' tool.
  • Support for IEC 60063 preferred number series for resistors, capacitors and inductors (E3, E6, E12, E24, E48, E96 and E192).
  • Code clean-up.
Most of the work went increase the ease-of-use with Spectre. At the same time the code was revamped to simplify the support of new SPICE simulators and the addition of new transistor models.


   ascodev on 2010-10-15 :: ASCO-FMC release preview

ASCO can be used for Circuit Sizing, Design Reuse of an existing tested design with or without Technology Migration in mind and Robustness and Yield verifications. Interestingly, should statistical analysis is required (for whatever reason), the basic infrastructure is already available in ASCO.

alternate text

The above table presents the results of the propagation delay (tp) of a cascade of inverters in the presence of mismatch for both SPICE and ASCO-FMC (an extension to ASCO that achieves High-Sigma Monte Carlo results without the need to execute millions of simulations). Results are from a single CPU (1 core) computer.

A total of 4 normally distributed variations exist in the netlist, as this is only a demonstration example of Fast Monte Carlo. Speed-up in the order of 10x-1000x is possible compared to typical Monte Carlo methods. ASCO-FMC will be made available as time permits.


   ascodev on 2010-08-01 :: ASCO 0.4.7 released

Changes since ASCO 0.4.6:
  • Corrected multiprocessor optimization algorithm message truncation error related to MPI_SCATTERV function.
  • Corrected load balancer implementation.
  • RF module better supports Spectre.
  • Support for LTspice and Spectre in the 'postp' tool.
  • Code clean-up and minor improvements.
Among commercial simulators, Eldo and HSPICE are stil the best supported. However, this release bring LTspice and Spectre a few steps closer. For parallel optimizations, the new code will solve the dormant error in the load distribution.


   ascodev on 2007-09-16 :: de36-mpi 0.2.3 released

Changes since de36-mpi 0.2.2:
  • Bug fixes in the load balancing algorithm.
As of today no known errors exist in the parallel implementation of the optimization algorithm. Enjoy!


   ascodev on 2007-03-25 :: ASCO 0.4.6 released

Changes since ASCO 0.4.5:
  • Improvements in the RF module functionality.
  • Include support for logarithmic search space for the existing variables.
  • Code refinements and bug fixes.
The dormant code for the RF module has been revised. Some new functionalities have been added. Corrections to compile in win32 and better work with Qucs simulator are included.


   ascodev on 2006-12-17 :: de36-mpi 0.2.2 released

Changes since de36-mpi 0.2.1:
  • Bug fixes in the load balancing algorithm and other minor corrections.
  • Code clean-up.
A few bugs bugs were found and fixed since the last release. The optimization algorithm code has been reorganized in a more logical way.


   ascodev on 2006-10-08 :: ASCO 0.4.5 released

Changes since ASCO 0.4.4:
  • Retouched load balancer.
  • Emulation of local optimization using the parallel DE optimizer.
  • More patches to compile with MinGW32.
  • Minor enhancements.
The above enumerated improvements translates to you, the user, that the optimization time is again reduced. More examples are included. Furthermore, ASCO has been throughly tested to guarantee that a professional grade SPICE optimizer is provided.


   ascodev on 2006-09-13 :: de36-mpi 0.2.1 released

Changes since de36-mpi 0.2.0:
  • Revised load balancing.
With this release, a better assignment of the load among the existing computer, further reduces optimization time. As done before, after further testing it will be included in ASCO.


   ascodev on 2006-08-30 :: ASCO 0.4.4 released

Changes since ASCO 0.4.3:
  • Dynamic load balancing in parallel differential evolution (DE) algorithm.
  • More patches to compile natively in win32 using MinGW32.
  • Minor bug fixes.
Load balancing is the major novelty for this release. When using different computers or load conditions, optimization time is expected to be reduced. Report your results to improve the quality of ASCO.


   ascodev on 2006-08-03 :: de36-mpi 0.2.0 released

Changes since de36-mpi 0.1.0:
  • Implementation of load balancing.
With the implementation of the load balancer in the DE algorithm, optimization time is reduced when using a heterogeneous set of computers, as a result of workload scheduling and equalization.


   ascodev on 2006-07-01 :: ASCO 0.4.3 released

Changes since ASCO 0.4.2:
  • Qucs simulator is supported.
  • Better Ctrl-C handling when using MPI.
  • Patches to compile natively in win32 using MinGW32.
  • Autotools support.
  • Minor bug fixes.
Qucs is the first free simulator to be included in the list of supported simulators. A few examples are available to ease the first steps. Some bugs have been corrected and the tool should now natively compile in win32 using MinGW32.


   ascodev on 2006-05-14 :: ASCO 0.4.2 released

Changes since ASCO 0.4.1:
  • Uses updated multiprocessor optimization algorithm.
  • Minor cygwin compatibility corrections and other minor improvements.
Load balance is still missing but hopefully not for long as half of it is already implemented. In some network arrangements gains in optimization speed will be seen.


   ascodev on 2006-05-08 :: de36-mpi 0.1.0 released

Changes since de36-mpi 0.0.3:
  • Test vectors are evenly scattered among all existing processes.
The DE algorithm generates less traffic in the network by distributing at once all test vectors within the existing processes, being thus faster. It also makes possible to add load balance in future releases.


   ascodev on 2006-04-09 :: ASCO 0.4.1 released

Changes since ASCO 0.4.0:
  • Parallel version is up to 25% faster.
  • Multiple simulations can now be executed in the same hostname (computer).
  • Hybrid optimization with Hooke&Jeeves and Nelder-Mead as local optimizers.
  • Code clean-up and bug fixes.
The global optimizer has been tweaked and is now faster and loads less the network when executed in multiple computers.

Hybrid optimization has been added. Try it out to ensure that it works without flaws. Due to the nature of the local optimizers, simulations run on a single computer only. This, after having received a good starting point from the global optimizer which can still be performed in parallel.


   ascodev on 2006-03-05 :: ASCO 0.4.0 released

Changes since ASCO 0.3.12:
  • Multiprocessor calculations support.
  • Parallel processing documentation in progress.
  • Minor compilation/bug fixes.
With distributed computing, multiple function evaluations can be done at the same time, thus reducing overall optimization time. In this release, the limit is one simulation per computer with no limit on the number of computers used in parallel.


   ascodev on 2006-01-29 :: ASCO 0.3.12 released

Changes since ASCO 0.3.11b:
  • Includes the RF module, needed for fast, accurate modeling and optimization of circuit with passives having parasitics.
  • Band pass filter example to show the use of the RF module.
  • Documentation expanded to include new developments.
  • Minor bug fixes.
About new 800 lines of code have been added to this release, mainly in the RF module. The manual has been expanded and includes one more example. Once again, some minor bugs have been corrected.

No new simulators have been added this time but expect more to come in future versions. Also, with the availability of a open implementation of a parallel version of the Differential Evolution (DE), upcoming releases are expected to benefit from multiprocessor computation.


   ascodev on 2006-01-11 :: de36-mpi 0.0.3 released

First public release of a parallel version of the Differential Evolution (DE) algorithm using Message Passing Interface (MPI). In a near future the ASCO tool will take advantage of multiprocessor calculations.


   ascodev on 2006-01-07 :: ASCO 0.3.11b released

Changes since ASCO 0.3.11:
  • Package update because release 0.3.11 was improperly transferred to Sourceforge.



   ascodev on 2005-12-26 :: ASCO 0.3.11 released

Changes since ASCO 0.3.10:
  • More tools added. See documentation for instructions.
  • Code clean-up.
Work is ongoing for other items defined in the development roadmap.


   ascodev on 2005-11-28 :: ASCO 0.3.10 released

Changes since ASCO 0.3.9:
  • Support for Spectre (R) circuit simulator with examples. PDF documentation changed accordingly.
  • 'log' analysis tool added.
  • Minor bug fixes.
  • Code clean-up.
  • Post Processing Options in Chapter 3 of the manual are documented.
Refer to Chapter 5/Eldo (TM) Examples/Digital Inverter in the manual on how to take full advantage of the 'log' tool.


   ascodev on 2005-10-27 :: ASCO 0.3.9 released

This is the first public release of the ASCO tool. You can read more about the features and applications on-line before downloading it.

This is still a test release for a wide audience. However, I do not expect you to run into great difficulties in using it. So far it has only been used by me.

I did my best to make it as functional as possible, by investing time testing it with various circuits and SPICE simulators. I expect that freeing to a wither public will reveal hidden bugs. Your feedback is important, but be gentle.


   ascodev on 2005-10-05 :: Website Updates

  • The project is on-line

SourceForge Logo
Eldo (tm), HSPICE (r), LTspice (tm), Spectre (r), Qucs, SPICE, integrated circuit simulator, SPICE optimization tool, SPICE optimize, computer assisted design, design automation, electric circuit sizing, genetic algorithm, differential evolution, digital inverter, operational amplifier design, rf power amplifier design, power amplifier optimization, parasitic aware, CMOS, BJT, Bipolar