Menu

Switch to SpecC

Another couple of YEARS without progress, but I'm still not giving up on Controlix. The latest justification for an update is that I've finally managed to get a working build of SpecC, and since I can also now write a back-end translator for Icarus for SpecC (and thus keep compatibility with Verilog and VHDL), I have decided to change the core language Controlix is written in (again!) to SpecC.

SpecC has many advantages here:

  • Compatible with C, allowing easy integration with existing system code/tools everywhere
  • Simple, fast and easy to port simulation library - should work on bare metal quite well
  • Simpler and easier language to learn for the C-literate-only newbies to RTL

Does it have any significant disadvantages compared to Icarus or GHDL? I honestly can't see any right now, other than my pain of having to learn a lot of compiler-related stuff for the Icarus back-end job, and I don't have to do that right away. Here goes!

EDIT: I just realized that, in addition to providing a SpecC backend for Icarus, I am probably also going to have to provide a SpecC frontend for Icarus as well. This will allow for simulating and synthesizing Controlix using most commerical tools, which only support VHDL and Verilog (and SystemC, but that is a wierd and somewhat nonstandard language and so for now I discount it).

Posted by Jon Taylor 2017-05-13

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.