Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Implementions of algorithms for evaluating circuits

Tags:

algorithm

Consider the problem of circuit evaluation, where the input is a boolean circuit C and an input string x and you want to compute C(x). (Assume fan-in 2 if you like.)

This is a 'trivial' problem algorithmically, however it appears non-trivial to implement when C can be huge (think several million gates) and memory management becomes an issue.

There are several ways this problem can be approached, trading off memory, time, and disc access. But before going through all this work myself, does anyone know of any existing implementations of algorithms for this problem? It would be surprising to me if none exist...

like image 628
user432944 Avatar asked Nov 15 '22 08:11

user432944


1 Answers

For C/C++, the standard digital circuit design & simulation system for more than 10 years now is SystemC.

It is a library that allows you to design digital logic in C++. There are supporting software that allows you to do timing analysis and even generate schematic netlist for C code.

I've only played with it a little before deciding that I was more comfortable with Verilog. But it is a mature piece of software with lots of industry support. Googling around will yield a lot of information including several tutorial pages.

like image 184
slebetman Avatar answered Dec 09 '22 22:12

slebetman