Что делать, когда выпускник топ-10 мирового вуза не может спроектировать блок сложения A+B
У меня был в свое время практикант из Стенфорда, от которого я получил инсайдерскую информацию, чему их там учат. Потом я интервьировал много студентов, и понял, что если человек не делает самостоятельных проектов в вузе, а просто плывет по течению программы как медуза, то будучи выброшенным на берег индустрии, он становится совершенно беспомощным. Когда я […]Дальше …
Как подготовиться к собеседованию в Samsung Advanced Computing Lab
Я работаю проектировщиком аппаратного блока графического процессора в телефонах Samsung, в рамках совместного проекта с AMD. Сейчас наш менеджмент расширяет команду и поощряет инженеров распостранять информацию о новых позициях среди своих знакомых. Я решил написать это пост для более широкой аудитории, так как множество людей, способных пройти интервью на RTL или DV позицию — больше, чем множество моих знакомых. Если вы сможете […]Дальше …
Новый лабник «Цифровой синтез» продолжает книгу Харрисов и помогает сделать видеоигру на FPGA
Новый лабник «Цифровой синтез» продолжает традиции учебника Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», скачивания которого завалили британский сайт. Лабник содержит пошаговые инструкции, как потрогать руками всю теорию из Харрис & Харрис на плате FPGA, от мигания лампочек до процессора. В книге также разобрана концепция конвейерной обработки, которой не хватает в старых […]Дальше …
Политкорректность проникает в Россию через книги про проектирование чипов на SystemVerilog для не-начинающих
Наконец-то в России вышел учебник по SystemVerilog уровнем выше чем для начинающих. Учебник описывает технологии и приемы, которые спрашивают на интервью в NVidia, Intel, AMD, Apple и другие электронные компании: использование concurrent assertions и functional coverage, что сейчас требуют не только от инженеров по верификации, но и от дизайнеров микросхем; алгоритм работы симулятора с дельта-циклами; […]Дальше …
Уход инженера-электронщика из Apple вызвал волнение среди биржевых спекулянтов. Как стать таким как он?
29 марта инженер по имени Жерард Вильямс Третий ушел из компании Apple. Это известие сразу опубликовал CNET и еще три десятка изданий во всем мире, не только технических, но и финансовых. Что же такого делал этот инженер, что его уход вызвал волнение среди биржевых спекулянтов? Он 9 лет проектировал процессоры в Apple iPhone, до этого […]Дальше …
Первый шаг к аппаратным ускорителям нейронных сетей для программистов лежит через изучение основ HDL, RTL и лаб на FPGA
Казанский университет Иннополис в порядке эксперимента учит студентов-программистов разработке хардвера. Причем под разработкой хардвера имеется в виду не программирование микроконтроллеров внутри скажем роботов, а проектирование цифровых схем на уровне регистровых передач (Register Transfer Level — RTL), с использованием языков описания аппаратуры (Hardware Description Language — HDL) и лабораторными занятиями на программируемых логических интегральных схемах (ПЛИС […]Дальше …
Следущие шаги в черной магии процессоростроения после того, как вы освоили Харрис & Харрис
Недавно вышло еще одно печатное издание книжки Харрис & Харрис на русском языке. Это широкоохватывающий ликбез про то, как проектируют микросхемы в компаниях типа Apple и Intel (методология проектирования на уровне регистровых передач с использованием языков описания аппаратуры). До этого печатного издания вышло бесплатное электронное издание этой же книжки, которое стало вирусным — его скачивания […]Дальше …
Взял видеоинтервью у вице-президента Ардуино и обсудил с ней преподавание школьникам ПЛИС-ов
На днях я встретился и взял короткое видеоинтервью у Kathy Giori, Vice President Operations Arduino USA. Мы обсудили с Кати новое веяние, которое уже коснулось и Ардуино-коммьюнити: так как программированию микроконтроллеров с помощью Ардуино уже все более-менее научены, то пора делать следующий шаг: учить школьников использовать язык описания аппаратуры Verilog и микросхемы ПЛИС / FPGA, […]Дальше …
Все что вы хотели узнать о разработке и производстве микросхем, но стеснялись спросить
Господа! Я уже писал о предстоящих семинарах Чарльза Данчека, содержащих полный ликбез по всем этапам проектирования и производства микросхем, но с тех пор возникли дополнения: * Во-первых, к семинарам присоединилась Cadence Design Systems, одна из двух ведущих компаний в области автоматизации проектирования микросхем. Cadence представит часовой доклад с программой в конце этого поста. Регистрация на […]Дальше …
Junior FPGA Design Engineer: как стать?
Всем привет! Иногда начинающие разработчики не очень хорошо представляют, какую литературу надо читать для серьезного изучения того или иного языка. Разработка под FPGA — это не просто какой-то язык. Это очень объемная область, с огромным количеством подводных камней и нюансов. В этой статье вы найдете: список тем, которые должен освоить начинающий разработчик под FPGA рекомендуемую […]Дальше …
Как делать парсинг текста голым хардвером, без процессора и без софтвера
Кто-то парсирует текстовый файл программой на Питоне, другой пишет скрипт с регулярными выражениями на Перле, Си-программист стыдливо возится с буферами и указателями, иногда применяя Yacc и Lex. А можно ли парсировать текст голым железом? Вообще без программы? — А как это?, — спросил меня знакомый, — С помощью Ардуино? — Внутри Ардуино стоит вполне фон-неймановский […]Дальше …
Using MIPS microAptiv UP Processor CorExtend UDI interface
CorExtend is a feature of MIPS32 microAptiv microprocessor which is presented in MIPSfpga project as a real industrial unobfuscated RTL. Sources of MIPSfpga can be downloaded after joining Imagination University Programme https://community.imgtec.com/university/. CorExtend allows system designers to define and add their own instructions that operate on data in the general-purpose registers in the same manner as standard MIPS instructions. This […]Дальше …
Добавляем инструкции в микропроцессор MIPS, которые работают в конвейере как его собственные
Можно ли добавить в микропроцессор инструкции (команды)? Если вы используете микросхемы ПЛИС / FPGA с реконфигурируемой логикой и микропроцессорное ядро, которые синтезирутся из описания на языках Verilog и VHDL, то можете. Причем это будет «честное», настоящее расширение системы команд, а не трюк типа программной эмуляции инструкции в обработчике исключения от зарезервированной команды, и не «микрокод», […]Дальше …
Портирование MIPSfpga на плату Terasic DE0-CV с Altera Cyclone V FPGA
На днях мы вместе с Алексом и Владимиром спортировали MIPSfpga (пакет для введения в проектирование систем на кристалле) на плату Terasic DE0-CV с Altera Cyclone V FPGA. Эта плата — довольно хорошее решение для образовательного российского рынка, так как она дешевая ($150) и ее просто купить на сайте тайваньской компании Terasic (www.terasic.com.tw/_sub/de0-cv), которая быстро и […]Дальше …
Оруженосцы микроэлектроники. Видеорепортаж с конференции по проектированию электроники в Сан-Франциско
Каким образом студент или университетский исследователь может не просто спроектировать микросхему, но и получить ее в свои руки с фабрики? Ведь начальный взнос за фабричное производство микросхем для коммерческих целей как правило превышает миллион долларов? К счастью, такой путь существует за гораздо меньшие деньги — через организацию, которая называется Europractice. Я записал видео интервью с […]Дальше …
Первый раунд вводных студенческих проектов/упражнений для курса по Verilog и FPGA
An example introductory project: Implement a design of a shift register with enable signal. The design should input a single bit from a key and put in into the shift register. The current state and the output of the shift register should be displayed on LEDs in binary representation. In addition, the current state of […]Дальше …
Пример первого студенческого проекта для вводного курса по Verilog RTL и FPGA
Служит как иллюстрация для списка из 35 индивидуальных упражнений для студентов, начинающих изучать разработку цифровых микросхем, используя язык описания аппаратуры Verilog на уровне регистрового обмена, с реализацией на программируемой пользователем вентильной матрице (ППВМ). Задание: Разработать схему, которая вводит нажатия на клавишу в сдвиговый регистр с сигналом разрешения, выводит текущее состояние сдвигового регистра на группу светодиодов […]Дальше …
Intro RTL design for FPGA using Verilog. Midterm exam 1, variant 5
1.5 Which waveform is the result of the simulation below? module design (input a, input b, output o); assign o = a ^ b; endmodule module tb; logic a, b, o; design design_inst (a, b, o); initial begin $dumpvars; $monitor ("%t a %b b %b o %b", $time, a, b, o); #10; a = 0; […]Дальше …
Intro RTL design for FPGA using Verilog. Midterm exam 1, variant 4
1.4 Which waveform is the result of the simulation below? module design (input a, input b, output o); assign o = a | b; endmodule module tb; logic a, b, o; design design_inst (a, b, o); initial begin $dumpvars; $monitor ("%t a %b b %b o %b", $time, a, b, o); #10; a = 0; […]Дальше …
Intro RTL design for FPGA using Verilog. Midterm exam 1, variant 3
1.3 Which waveform is the result of the simulation below? module design (input a, input b, output o); assign o = a & b; endmodule module tb; logic a, b, o; design design_inst (a, b, o); initial begin $dumpvars; $monitor ("%t a %b b %b o %b", $time, a, b, o); #10; a = 0; […]Дальше …
Intro RTL design for FPGA using Verilog. Midterm exam 1, variant 2
1.2 Which waveform is the result of the simulation below? module design (input a, input b, output o); assign o = ~ a | ~ b; endmodule module tb; logic a, b, o; design design_inst (a, b, o); initial begin $dumpvars; $monitor ("%t a %b b %b o %b", $time, a, b, o); #10; a […]Дальше …
Intro RTL design for FPGA using Verilog. Midterm exam 1, variant 1
1.1 Which waveform is the result of the simulation below? module design (input a, input b, output o); assign o = ~ a & ~ b; endmodule module tb; logic a, b, o; design design_inst (a, b, o); initial begin $dumpvars; $monitor ("%t a %b b %b o %b", $time, a, b, o); #10; a […]Дальше …
Как начать разрабатывать железо, используя ПЛИС — пошаговая инструкция
Каким образом повысить количество российских инженеров, которые были бы знакомы и с разработкой хардвера, и с разработкой софтвера, и могли бы строить системы, в которых часть функциональности находится в специализированном железе, а часть — в программном обеспечении, с соблюдением баланса между ними? Для этого вовсе не обязательно выбрасывать несуразные деньги а-ля сделка Сколкова и MIT. […]Дальше …