One of the main challenges in conducting research in the field of IC design is the limited access to closed-source and expensive IC design tools provided by large companies. This issue is particularly challenging for institutes and students located in developing and underprivileged countries or those with restricted access to such tools. During my M.S. studies in my home country, I encountered significant difficulties in conducting research and work in this field due to limited access to IC design tools. Therefore, democratizing the IC design field would be a significant step towards providing knowledge and information freely to all students and researchers worldwide, especially those in need. Additionally, it can motivate everyone to contribute more and expand the borders of the field. Here is a link to an interesting SSCS workshop on this topic.
On this page, I am compiling a list of widely used open-source tools that can be freely used by students and researchers for conducting research and implementing scientific ideas in IC design. I also plan to develop a series of self-study tutorials and videos that will be publicly available to facilitate and streamline this goal for research and education. I welcome your feedback on the contents and encourage you to share it in your technical communities. If you use the information provided on this webpage, please cite it accordingly.
I would like to emphasize that this work is solely for educational purposes, and my main motivation is to provide access to IC design tools for all. I am open to collaborating with anyone interested in participating in this voluntary activity to expand and enhance this research field.
Please note that I am not liable or responsible for any of the following tools. For further information on licensing, please contact the corresponding team, especially for commercial product development and applications. Additionally, I am not liable or responsible for any bugs or issues in the tools.
I categorize the useful IC design open-source tools for digital IC design flow as shown in the figure below. I will gradually add 'My tutorial points' for the following tools. My first goal is to explain how to install them and run a simple project in a very handy and easy way, more suitable for beginners/students.
Linux flavor on Windows:
Cygwin:
To access a large collection of GNU and open-source tools providing functionality similar to Linux but on Windows
High-level Language
Script Language: TCL
RTL coding language and tutorial resources:
ICGlue: a Tcl-Library for scripted HDL generation
Verilog, VHDL, SystemVerilog, TL-Verilog
RTL/digital simulation:
Icarus Verilog(simulation), -> GTKWave (wave viewer)
Verilator(simulation), -> GTKWave (wave viewer)
PDKs
VLSI design flow Open-source Tool-chains
Synthesis Tool
OpenRAM (Memory Compiler)
Layout Editor
Static Timing Analyzer
GDS View/Edit
Coverage tool
Analog Simulation