We stand with Ukraine to help keep people safe. Join us
EN
When you purchase through links on our site, we may earn an affiliate commission

MacSpice for Mac

Electronic circuit simulator.

Free
In English
Version 3.4.0
4.3
Based on 6 user rates

MacSpice overview

MacSpice is an electronic circuit simulator. Circuit simulation is a way of building and testing virtual models of electronic devices. It is usually cheaper and quicker to simulate a design than to build a prototype. MacSpice uses a text-file 'netlist' description of the circuit as input. This is a list of components and the nodes they connect to. Users may prepare netlists with a text editor, or derive them from a circuit diagram using a third-party schematic-capture application. MacSpice then builds a numerical model of the circuit and analyses this.

A command interpreter (shell) is used to specify the types of analyses that are required and how the results should be processed, saved or displayed. The high quality of the MacSpice command interpreter makes the automation of tasks straightforward.

MacSpice 3.2 runs natively on Mac computers with 64-bit Intel or Apple silicon processors. It is compatible with Berkeley Spice 3f5 but incorporates many improvements - from simple bug-fixes to entirely new commands, algorithms and solution strategies. For example: the memory leaks that affected Spice 3f4 have been cured; new algorithms have been developed to facilitate the simulation of large circuits, and to reduce simulation time; MacSpice provides a robust multi-parameter optimizer and facilities for inter-process communication with other applications.

What's new in version 3.4.0

Technical Improvements
  • Extend library of unit-tests.
  • Refactor hot string-intensive functions to work with StrView types. (A StrView is a memory-friendly, non-owning constainer for string slices.)
  • Refactor front-end code (subcircuit expansion, netlist parsing) to use StrView-based methods resulting in a more performant, maintainable / testable code base.
  • Modify behaviour of tilde-expansion to leave word unchanged when no match is found.
  • Tweak definitions of some layout constraints in the MacSpice Settings panel.
  • Revise the hashtab() function to fix minor issues, increase maximum key lengths to use size_t values.
  • Refactor translation of SPICE2 'POLY' sources to B-sources (polytrans.c).
  • Improvements to 'dynamicbuffs.c' library. Split 'add_n_to buffer()' out of 'add_to_buffer()'.
  • Replace iterative renormalisation loops in cktpzstr.c with single-pass operations.
  • Replace 'struct card' and 'struct line' with single type-definition everywhere.
  • Decouple the 'original' and 'expanded' decks displayed by the 'listing' command.
  • Remove legacy memory debugging / checking code, which has been superseded by the macOS malloc() tools.
  • Refactor the error-signalling system to reduce heap-memory churn.
  • Convert #define'd E_ERRNO values to enum type.
Bugs Fixed
  • Inconsistent display of error messages attached to lines by 'listing' command.
  • CLI pos() function doesn't implement Kleene logic consistently, e.g. pos(0/0) should return NaN not zero.
  • Updating from pre-v3.3.5 versions of MacSpice on older versions of macOS corrupted the colour preferences and required manual deletion of the user defaults plist in ~/Library/Preferences/.
  • Memory leak when 'B-source' device instances contain syntax errors.
  • Memory leak when 'edit' command is used to edit or create a source file.
  • Unhandled edge cases in the 'deftype' and 'settype' commands. E.g. a memory leak when 'deftype v angle' used without a 'units' argument.
  • Command 'set' does not strip quoted tokens in its contracted manner.
  • Minor issues detected by new 'tokenise–requote–tokenise' round-trip unit tests.
  • Inconsistencies in the precedence table for the CLI expression parser.
  • Warnings for out-of-range arguments to CLI power ('^') operator can depend on uninitialised memory.
  • Regression: 'plotname.v(x)' syntax not recognised as a valid alias for 'v(plotname.x)'.
  • AppKit life-cycle race arising when a queued -drawRect: arriving after DestroyGraph(id) has done its work in -windowWillClose. (Symptomless but might have caused issue in future.)
  • Empty 'do/dowhile' (infinite) loops do not respond to user (⌘-.) interrupts.
  • Misleading error message when '.model' line was prefixed with whitespace.
  • The 'rusage' command occaionally displays time differences incorrectly when repeatedly called in quick succession.
  • Semicolon operator behaves inappropriately when operands are complex vectors of differing lengths.
  • Crash evaluating non-existent list elements, e.g. 'echo "bar = $&bar[0][1]"'.
  • Regression: Missing warning when Spice 3 legacy behaviour (fill-down with last element) is used to balance mismatched arguments. [Build 378].

Full list of changes available here

MacSpice for Mac

Free
In English
Version 3.4.0
Write a detailed review about MacSpice

Write your thoughts in our old-fashioned comment

MacUpdate Comment Policy. We strongly recommend leaving comments, however comments with abusive words, bullying, personal attacks of any type will be moderated.
4.3

(4 Reviews of MacSpice)

  • Comments

  • User Ratings

myschizobuddy-1
myschizobuddy-1
Nov 29, 2011
2.10.29
0.0
Nov 29, 2011
0.0
Version: 2.10.29
please merge with Solve Elec
Iliketrash
Iliketrash
Sep 3, 2010
2.10.26
0.0
Sep 3, 2010
0.0
Version: 2.10.26
A huge, huge thanks to Mr. Williams for his continuing work in developing, documenting, improving, and supporting Spice on the Mac.
Guest
Guest
Jan 31, 2005
3f5 2.8
0.0
Jan 31, 2005
0.0
Version: 3f5 2.8
Works just as I hoped, and let me finish a homework problem just now that would have otherwise required me to take a twenty minute trip to the lab. Only thing that could be improved is better documentation - as in, easy-to-read PDF files written by a knowledgeable engineer. I'm trying to do some stuff with diodes and am at a little loss as to how to accurately represent them. I know this program is designed for people already familiar with spice, though, so I can't fault the program much. Great job! And freeware?! You win the prize for best software of my day!
Guest
Guest
Dec 11, 2003
3f5 R6
3.0
Dec 11, 2003
3.0
Version: 3f5 R6
This is the best program out there for you engineering majors. The alternative--get the emulator VPC 6.0 and a cup of coffee, then wait for your simulations to run.
Chuckk
Chuckk
Jan 2, 2022
3.2.1
4.0
Jan 2, 2022
4.0
Version: 3.2.1
Hal-Itosis
Hal-Itosis
Jul 28, 2017
5.0
Jul 28, 2017
5.0
Version: null
89hansF
89hansF
Oct 5, 2015
4.0
Oct 5, 2015
4.0
Version: null
Leslie-Titze
Leslie-Titze
Nov 28, 2011
5.0
Nov 28, 2011
5.0
Version: null
Guest
Guest
Jan 31, 2005
4.8
Jan 31, 2005
4.8
Version: null
Guest
Guest
Dec 11, 2003
3.0
Dec 11, 2003
3.0
Version: null