It is with a heavy heart that I have to make an important announcement: Controlix is no longer going to be written in SpecC, and I am moving everything over to the SystemC language. The SpecC compiler simply isn't up to snuff. It only supports 32 bit executables, has too many bugs, is currently close-to-unmaintained, and the authors (I have corresponded with them) are not willing to put time into maintaining it in the future and have moved on to other projects. The thing is basically dead, and I now feel that I cannot justify the time and energy it would take to work with it, both from my perspective as well as needing to "sell" Controlix as a viable project to the open source community in general. The Acellera SystemC reference compiler (actually it is simply a simulation library and a set of C++ classes) is currently maintained with ongoing releases, doesn't need a whole compiler front-end like the SpecC compiler did, and SystemC is supported by a ton of commercial products from big name companies. Also, I can continue my process of building from existing OS code in C, starting with existing procedural code and "morphing" it into parallelizable RTL-style designs smoothly as time goes on.
I am currently in the process of overhauling the build tree to remove the SpecC simulation library code and replace it with the SystemC equivalents, as well as adding both a libstdc++ equivalent as well as a libc basis for it to run on, both required for enabling C/C++ code to port well to an embedded environment. Luckily, the project is not yet at a point where there was a lot of HDL written which I would have had to port from SpecC to SystemC, so I figure things are going to be OK and the migration will go smoothly. I will let people know on this blog when I have to whole thing working and a proper "Hello, World!" demo in SystemC has been written and tested. Hopefully things will be better from here on out. Wish me luck!