What are some common tools and environments used for SoC design and programming?


1. Hardware Description Languages (HDLs) & Simulators
Verilog / SystemVerilog: Industry-standard HDLs for digital logic design.
VHDL: Another widely used HDL.
Simulators:
ModelSim
QuestaSim
Xilinx Vivado Simulator
Cadence Incisive / Xcelium
2. FPGA Development Tools
Xilinx Vivado: For Xilinx FPGAs, includes synthesis, implementation, and simulation.
Intel Quartus Prime: For Intel/Altera FPGAs.
Lattice Diamond: For Lattice FPGAs.
Microsemi Libero SoC: For Microsemi FPGAs.
3. SoC Design & Verification Tools
Cadence Genus / Innovus: RTL synthesis and physical design.
Synopsys Design Compiler / IC Compiler: Synthesis and physical implementation.
Mentor Graphics Calibre: Physical verification (DRC/LVS).
Synopsys VCS / Cadence Xcelium: Functional verification simulators.
UVM (Universal Verification Methodology): Standard methodology for SoC verification.
4. Embedded Software Development Environments
Keil MDK: Popular for ARM Cortex-M MCUs.
IAR Embedded Workbench: Another widely used embedded IDE.
STM32CubeIDE: STM32-specific development environment.
Eclipse + GCC Toolchains: Open-source option, customizable.
ARM Development Studio: For ARM SoCs with advanced debugging.
5. Debugging & Programming Tools
JTAG / SWD Debuggers: ST-Link, J-Link, Lauterbach.
Logic Analyzers: Saleae Logic, Tektronix, etc.
In-Circuit Emulators (ICE): For low-level hardware debugging.
6. IP Integration & SoC Platforms
IP-XACT: Standard for IP metadata to help SoC integration.
Platform Designer / Qsys (Intel): System integration for FPGA SoCs.
Xilinx IP Integrator: For building SoC with IP cores.
7. High-Level Synthesis (HLS) Tools
Xilinx Vivado HLS: C/C++ to RTL synthesis.
Cadence Stratus HLS
Mentor Catapult HLS
8. Operating Systems & Middleware
FreeRTOS / Zephyr: Lightweight real-time operating systems for embedded SoCs.
Linux: Full OS for more complex SoCs.
Bare-metal programming: For minimalistic SoC control.
Summary
Category | Popular Tools/Environments |
HDLs & Simulators | Verilog, SystemVerilog, VHDL, ModelSim |
FPGA Tools | Xilinx Vivado, Intel Quartus, Lattice Diamond |
SoC Design & Verification | Cadence Genus, Synopsys DC, Mentor Calibre |
Embedded IDEs | Keil MDK, IAR, STM32CubeIDE, Eclipse + GCC |
Debuggers & Programmers | J-Link, ST-Link, Lauterbach, Logic Analyzers |
IP Integration | IP-XACT, Xilinx IP Integrator, Platform Designer |
High-Level Synthesis | Vivado HLS, Cadence Stratus, Mentor Catapult |
OS & Middleware | FreeRTOS, Zephyr, Linux, Bare-metal |
Subscribe to my newsletter
Read articles from ampheo directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
