Я постараюсь в общем рассказать о верификации цифровых схем.
Верификация в данной области — это важный процесс, требующий привлечения опытных инженеров. Например, специалист по верификации, работающий над системами с ЦПУ, как правило должен владеть скриптовыми языками и языками командных оболочек (Tcl, bash, Makefile и т.п.), языками программирования (С, С++, ассемблер), HDL/HDVL (SystemVerilog [10, Appendix C — история языка][11], Verilog, VHDL), современными методологиями и framework’ами (UVM).
Доля времени, затраченного на верификацию, доходит до 70-80% от всего времени проекта. Одна из основных причин такого внимания в том, что к микросхеме нельзя выпустить “патч” после того, как ее отдали в производство, можно только выпустить “silicon errata” (это не касается проектов ПЛИС/FPGA).
Под цифровыми схемами я подразумеваю:
- сложно-функциональные блоки/intellectual properties (СФБ/IP);
- специализированные заказные микросхемы/application-specific integrated circuit — (ASIC);
- проекты программируемых логических интегральных схем/field-programmable gate — array (ПЛИС/FPGA);
- системы на кристалле/system-on-crystal (СнК/SoC);
- и т.п.