Как подготовиться к собеседованию в Samsung Advanced Computing Lab
Я работаю проектировщиком аппаратного блока графического процессора в телефонах Samsung, в рамках совместного проекта с AMD. Сейчас наш менеджмент расширяет команду и поощряет инженеров распостранять информацию о новых позициях среди своих знакомых. Я решил написать это пост для более широкой аудитории, так как множество людей, способных пройти интервью на RTL или DV позицию — больше, чем множество моих знакомых. Если вы сможете […]Дальше …
Как начать путь к работе по проектированию электроники FPGA космического корабля Blue Origin
Вы хотите узнать, как получить работу по проектированию электроники космического корабля? Мне надавно пришло предложение поинтервьироваться на позицию FPGA designer для Blue Origin (см. выше). Лично мне такая позиция не нужна (у меня уже есть позиция ASIC designer-а в другой компании), но я отметил, что технические требования к претендентам в Blue Origin точно совпадают с […]Дальше …
Следущие шаги в черной магии процессоростроения после того, как вы освоили Харрис & Харрис
Недавно вышло еще одно печатное издание книжки Харрис & Харрис на русском языке. Это широкоохватывающий ликбез про то, как проектируют микросхемы в компаниях типа Apple и Intel (методология проектирования на уровне регистровых передач с использованием языков описания аппаратуры). До этого печатного издания вышло бесплатное электронное издание этой же книжки, которое стало вирусным — его скачивания […]Дальше …
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+ allows loading programs via UART and has a switchable clock
Originally published on January 1, 2016 This revision is from February 1, 2016 MIPSfpga+ / mipsfpga-plus / MFP is a cleaned-up and improved variant of MIPSfpga-based system defined in MIPSfpga Getting Started package (MFGS). The new features include: The ability to load a software program from a PC into a synthesized system on FPGA board […]Дальше …
MIPSfpga+ allows loading programs via UART and has a switchable clock
MIPSfpga+ / mipsfpga-plus / MFP is a cleaned-up and improved variant of MIPSfpga-based system defined in MIPSfpga Getting Started package (MFGS). The new features include: The ability to load a software program (into a synthesized system) using ubiquitous $5 FTDI-based USB-to-UART connector instead of $50 Bus Blaster that is difficult to get in some places […]Дальше …
Первый раунд вводных студенческих проектов/упражнений для курса по 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 […]Дальше …