Back in 2013 I started playing with the thought of generating a SAR ADC with a script, such that it would be easy to port between technologies. The prototype was written in Perl, and contained 16k lines of code. The Perl compiler is closed source, and not available outside NTNU. cIcCreator is the C++ version, it's been written from scratch to support the same input files as the Perl compiler, but with a vastly improved performance.
Head over to wulffern.github.io/ciccreator or ciccreator.readthedocs.io
✅ Create prototype of compiler in Perl that can compile SAR ADCs (Aug 2014)
✅ Tapeout SAR ADC in 28nm FDSOI (Jan 2015)
✅ Demonstrate effectiveness of compiled approach (ESSCIRC 2016,JSSC 2017) (Sept 2016, April 2017)
✅ Rewrite the compiler in C++ under a GPL license and compile equivalent GDS with Perl compiler (Nov 2016)
Although it's possible to run "make" to compile ciccreator on most platforms, the compile does require QT. Head over to ciccreator-bin repository for latest binaries.
For simulation in Skywater 130 nm PDK, head over to aicex
Have a look at the SAR
make esscirc
make view
Or the route tests
make routes
make viewroutes
Minecraft video - https://youtu.be/J9lhEt0f3Wk cIcCreator in action - https://youtu.be/hv9u9aQGHQc
Should you find issues, don't hesitate to add an issue on gitub.
- Added verticalMultiplyVector to patterntile to simplify analog transistor generation
- Route, RouteRing, Guard will be loaded as LayoutCell to fix view problem of cuts.
- Fixed issue rotateAngle in LayoutRotateCell. Seems like QJsonValue is no longer automatically casted to QString.
- removed GDS and SPICE output. Only *.cic will be supported from now on. Use cicpy to convert to other formats
- layoutcell: Added ability to route to rails. With addDirectedRoute one can do ["M1","AVSS","xa:S-|--rail_r_AVSS","strap"], which will strap all mosfet sources to right route rail. The rails are named rail_(t|b|r|l)_(NAME)
- cic-gui: Increased step size for arrow keys
- cic-gui: Added rubber band zoom.