Это репост моего популярного поста в ЖЖ-сообществе ru-programming. Я опубликовал этот пост 8 июня 2011 года, но различные куски для него написал раньше и публиковал в моем ЖЖ http://panchul.livejournal.com :
http://ru-programming.livejournal.com/1271886.html
Господа! Я периодически встречаю программистов (в том числе хороших), которые имеют совершенно фантастические представления о дизайне хардвера. Например, есть люди, которые думают, что языки описания хадвера Verilog и VHDL транслируются в микрокод, есть люди, которые думают, что микросхемы сейчас дизайнятся с помощью рисования мышкой по экрану, и есть люди, которые не знают, зачем в микросхемах clock, то бишь синхросигнал.
Поэтому я написал текст под катом, чтобы на уровне примерно 5-го класса средней щколы сделать введение в данные материи. Зачем это нужно? Я думаю, что то, что я написал, может быть интересным следующим трем группам:
Кому и зачем этом может быть нужно:
1. Юным программистам, которые могут захотеть внести коррекцию в свои планы карьеры, и выучиться не на гуру операционных систем или компиляторов, а на дизайнеров микропроцессоров и графических чипов используя методологию RTL (register-transfer-level – уровень регистровых передач, не путать с другими расшифровками этой аббревиатуры).
2. Алгоритмически-ориентированным программистам среднего возраста, которые могут захотеть сделать карьеру в логически сложных средствах проектирования электроники (Electronic Design Automation). Я сам работал в индустрии средств проектирования электроники больше 15 лет, после чего перешел в саму электронную индустрию.
3. Опытным программистам, которые могут захотеть сменить карьеру с например писания ООП приложений на Джаве на карьеру в Design Verification на SystemVerilog – это создание фреймворков, которые тестируют хардверные дизайны на прочность, бомбардируя их превдослучайными транзакциями и учитывая functional coverage (это сейчас модно и хорошо оплачивается).
“Введение в дизайн харвера микросхем для юных программистов – с картинками и анимациями”
Итого. В последние 20 лет дизайн чаще всего пишется на языке Verilog (в Европе и у военных – VHDL), после чего специальная программа (logic synthesis) превращает дизайн в граф из проводов и логических примитивов, другая программа (static timing analysis) сообщает дизайнеру, вписывается ли он в бюджет скорости, а третья программа (place-and-route) раскладывает этот дизайн по площадке микросхемы.
Когда дизайн проходит все этапы: кодирование на верилоге, отладка, верификация, синтез, static timing analysis, floorplanning, place-n-route, parasitics extraction и т.д. – получается файл под названием GDSII, который отправляют на фабрику, и фабрика выпекает микросхемы. Самые известные фабрики этого типа принадлежат компании Taiwan Semiconductor Manufacturing Company или TSMC.
Continue reading ‘Введение в дизайн харвера микросхем для тех программистов, которые этим никогда не занимались’