MOJITO is a tool for analog circuit topology selection / topology design (synthesis).
- Inputs: a hierarchical library of analog building blocks (pre-specified), having >100K possible topologies
- Action: Searches ("synthesizes") possible topologies and sizings, with SPICE in the loop. Multi-objective, device operating constraints. Operating-point driven approach to sizing.
- Returns: a set of sized topologies that approximate a performance tradeoff curve.
There are two main versions of MOJITO. The basic, simplest, and most stable version is at https://github.com/trentmc/mojito. The version here is faster ("TAPAS" extension), variation-aware ("R" extension), and has a bigger topology library (>100,000 topologies). However, this version is a bit more unstable than the basic MOJITO. For example, the unit tests are not all passing. If you want simple code and basic results, then use MOJITO 55AC . Only use this version if you want to levearage its extra benefits (variation, speed, or larger library).
"MOJITO-R" was described at: T. McConaghy, P. Palmers, M. Steyaert, and G.G.E. Gielen, Trustworthy genetic programming-based synthesis of analog circuit topologies using hierarchical domain-specific building blocks, IEEE Transactions on Evolutionary Computation 15(4), Aug. 2011, pp. 557-570. http://trent.st/content/2011-TEVC-mojito-ea.pdf
"MOJITO-TAPAS" was described at: P. Palmers, T. McConaghy, M. Steyaert, and G.G.E. Gielen, Massively multi-topology sizing of analog integrated circuits, in Proc. Design Automation and Test in Europe (DATE), March 2009. trent.st/content/2009_DATE_mojito_tapas.pdf