Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

why verilog?


EDIT: I am assuming you meant "Why verilog as opposed to go/ruby/c/etc?" rather than "Why verilog as opposed to system verilog / VHDL / etc." If not, hopefully someone else finds the explanation useful anyway.

Because at the physical layer everything "executes" simultaneously, all the time, in parallel, and verilog/vhdl/etc embrace that type/level of abstraction while sequential languages don't. Sequential execution of "instructions" is one level higher than the "everything is parallel" layer -- you put it in place if it makes sense to impose strict reliability requirements and sacrifice raw parallel computational power for the simplicity and versatility of your favorite Turing machine. Unfortunately, biology isn't nearly as reliable or as fast as silicon, even "early" silicon, so the tradeoff won't make sense for some time to come if ever.


I DID mean why verilog as opposed to system verilog, VHDL, “etc.,” or whatever the verilog of 2020 is.


It's currently only feasible to produce very small circuits (the paper goes up to 8 gates and 3 inputs), and Cello is currently focused on a narrow class of circuits ("asynchronous combinatorial logic without feedback"). The first step of their algorithm is to convert the Verilog code into a truth table.

When your circuits are so simple, I suppose it doesn't really matter what language you use to specify them, and the authors just went for whatever they thought was most convenient to parse.


The authors want to create Electronic Design Automation (EDA) tools to facilitate engineering genetic systems at scale. Is verilog a reasonably modern foundation from which to draw inspiration, or are there "better" EDA tools nowadays? Maybe one of the resident HN semiconductor experts can weigh in on this.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: