MSU Masthead

Cirsim Circuit Simulator

{"display":"window","components":["all"]}

Introducing Cirsim

{"display":"inline","load":"{\"grid\":8,\"snap\":true,\"circuits\":[{\"name\":\"main\",\"width\":300,\"height\":150,\"components\":[{\"id\":\"c1001\",\"x\":32,\"y\":88,\"name\":null,\"type\":\"Clock\",\"freq\":1000000,\"period\":0.5},{\"id\":\"c1002\",\"x\":184,\"y\":88,\"name\":null,\"type\":\"JKFF\"},{\"id\":\"c1003\",\"x\":96,\"y\":56,\"name\":null,\"type\":\"One\"},{\"id\":\"c1004\",\"x\":96,\"y\":120,\"name\":null,\"type\":\"One\"},{\"id\":\"c1005\",\"x\":280,\"y\":56,\"name\":\"L1\",\"type\":\"LED\",\"color\":\"green\"},{\"id\":\"c1006\",\"x\":280,\"y\":120,\"name\":\"L2\",\"type\":\"LED\",\"color\":\"red\"},{\"id\":\"c1007\",\"x\":112,\"y\":16,\"name\":\"O1\",\"type\":\"OutPin\"}],\"connections\":[{\"from\":\"c1001\",\"out\":0,\"to\":\"c1002\",\"in\":2,\"bends\":[]},{\"from\":\"c1001\",\"out\":0,\"to\":\"c1007\",\"in\":0,\"bends\":[]},{\"from\":\"c1002\",\"out\":0,\"to\":\"c1005\",\"in\":0,\"bends\":[]},{\"from\":\"c1002\",\"out\":1,\"to\":\"c1006\",\"in\":0,\"bends\":[]},{\"from\":\"c1003\",\"out\":0,\"to\":\"c1002\",\"in\":0,\"bends\":[]},{\"from\":\"c1004\",\"out\":0,\"to\":\"c1002\",\"in\":1,\"bends\":[]}]}]}"}

Cirsim is a Circuit Simulator with drag and drop capabilities that is designed to support courses in introductory computer architecture. Cirsim can be used full-screen in a browser, in a window within a browser, and can be used to present live, operational circuits anywhere on a page, as shown in the example to the right.

Cirsim has a wide range of components from simple combinatory circuits to processor building blocks such as memory, program counters, and ALU's. Connections can represent both single-bit wires and multi-bit busses. It is possible to build and operator a small processor using Cirsim.

Cirsim has extensive facilities to support educational usage, including automatic testing of circuits and the ability to control component availability.

Documentation