Резюме
Инженер - разработчик ASIC/FPGA - Verilog/Verilog-A-AMS/DSP/Схемотехник/Программист С/С++/Микроконтроллеры
дата рожд:  30.03.1969 г., женат. 
Образование Высшее

Опыт работы
более 7 лет
Регион проживания
Санкт-Петербург / Санкт-Петербург и ЛО
Контакты:
Для контакта с соискателем пришлите электронное письмо на info@profomotiv.ru с указанием id резюме 1305
Специализация
Цифровое/Аналоговое проектирование узлов,устройств и комплексов
ASIC/FPGA + "DSP, Схемотехник, Программист С/С++ , Микроконтроллеры

Опыт работы

Инженер - разработчик (Front-End Design) систем на кристалле (SoC) FPGA/ASIC

Имею большой опыт, более 7 лет, в разработке компонентов систем на кристалле для FPGA и ASIC устройств. Ниже представлен перечень, сопутствующий успешному выполнению многих проектов, изделия которых доведены до промышленных образцов.

FPGA (Front-End Design):

1. Формирование поведенческих моделей, эталонных (ожидаемых) результатов при помощи инструментов и программ - Matlab, LabView, C,. Конвертация программ в HDL код.2. Формирование (создание новых, адаптация) компонент и функциональных модулей, IP-блоков для FPGA устройств:2.1 Создание RTL моделей на языках: Verilog, VHDL, System C;2.2 Для каждого модуля и системы в целом разрабатывались программы тестовых испытаний (Test Bench), проводилась функциональная верификация - ожидаемые результаты сравнивались с результатами работы разработанного RTL-модуля;3. Создание проектов для FPGA устройств фирмы Altera, с применением:- Quartus II (Programmer), SignalTap II Logic Analyzer, TimeQuest Timing Analyzer;- Chip Planner (Floor plan, Chip Editor, Pin planner), Assignment Editor, Design partition;- External Memory Interface Toolkit, Transceiver Toolkit;- SOPC Builder, QSyS, TCL scripts, MegaWizard;- Nios II IDE (Software Build Tools for Eclipse, ASM, C, C++);- ModelSim-Altera, DSP-Builder; Eclipse - создание программ для: NIOS II, 8051, RISC;- Создавали компоненты для SOPC Builder, формирование конфигураций аппаратной и абстрактной программной модели.4. Создание проектов для FPGA устройств фирмы Xilinx, с применением:- ISE Design Tools (Project Navigator, Constraints Editor, CORE Generator, FPGA Editor, Timing Analyzer, XPower Analyzer, iMPACT);- EDK (Platform Studio, Software Development Kit);- ChipScope Pro (Analyzer, Core Inserter, IBERT Core Generator);- PlanAched, System Generator for DSP (MATLAB Configurator), ISim;- Eclipse - создание программ для: Micro(Pico)Plase, PowerPC, 8051, RISC, ARM.5. Для создания независимых RTL-модулей и подсистем, пользовался следующими CADs (создание RTL модели, верификация и логический синтез):- Mentor Graphics : HDL Designer, Precision Synthesis, LeonardoSpectrum, ModulSim ;- Aldec : ActiveHDL, Riviera-Pro, CyberWorkBench, IP Core Generation;- Cadence: Endcounter (RTL, Timing System, Constraint, Checker, DFT Architect), Incisive Design and Verification, Palladium;- Synopsys: SySynplify Pro, Synplify Premier, Identify RTL Debugger, Synphony C, VCS.6. Конфигурации аппаратной и программной части объединялись в одну битовую последовательность и, используя JTAG, переносилась в конфигурационную память.

ASIC (Front-End Design):

1. Формирование поведенческих, эталонных моделей, ожидаемых результатов и конвертация программ (Matlab, LabView, С) в HDL код для ASIC устройств, исходные модели которых создаются на языках описания схем - Verilog, SystemVerilog, SystemC, VHDL2. Логический синтез осуществлял через библиотеку компонентов выбранной технологии – TSMC 0.35um, 0.25um, 0.18um, БМК (Базовые матричные кристаллы), SLC 0.5um. 3. При работе с проектами и его функциональными узлами, пользовался следующими CADs (создание RTL модели, верификация и логический синтез):- Mentor Graphics: HDL Designer, Catapult C, LeonardoSpectrum, ModulSim ;- Cadence: Endcounter (RTL, Timing System, Constraint, Checker, DFT Architect), Incisive Design and Verification, Palladium, NC-Verilog;- Synopsys: Synplify Pro, Synplify Premier, Identify RTL Debugger, Synphony C, VCS.- Aldec : ActiveHDL, Riviera-Pro, CyberWorkBench, IP Core Generation; Инструментами фирмы Aldec пользовался для генерация лицензий и криптозащита исходных текстов при помощи утилит HDL Source Encryption. 3.1 Для каждого модуля и системы в целом разрабатывал программы тестовых испытаний (Test Bench), проводилась функциональная верификация - ожидаемые результаты сравнивались с результатами работы проверяемого модуля;3.2 Формировал Сonstraints и TCL script файлы. 4. Верификация функциональных узлов проводилась и на уровне NetList/GateLevel. Каждая технологическая ячейка библиотеки выбранной технологии представляется Verilog модулем (примитивом), что позволяет выполнить проверку работы схемы после синтеза. 7. Формировал итоговые файлы: NetList (Verilog, VHDL), EDIF, SDF. Взаимодействовали с уровнем физического синтеза. Вырабатывали алгоритмы, удовлетворяющие по скорости исполнения, минимального количества используемых технологических ячеек (Gates) и потребляемой энергии. Реализовывали схемы троирования ячеек. 8. Реализованные модули:- Интерфейсы: Serial RapidIO (8-40Gb/s), PCI Express, PCI RapidIO, Aurora, DDR2/3, DAC/ADC, LDVS, Ethernet 10/100/1000, USB2, CAN, SPI, I2C, UART, MDIO, SVGA; - Математика: Fixed point unit, Floating Point Double/Single Precision Units;- Для DSP: CIC Decimation filters, Kalman, FIR Filters, NCO, DDS и DDU Synthesizer, FFT, I/Q Demodulator/Modulator, Quadrature Oscillator, PID Controller- Процессоры: 8051, 8080, AVR (8bit RISC), MIPS16/32, OpenMSP430.

Выполняю схемотехнические работы по разработке схем и печатных плат при помощи САПР фирм – Altium (Altium Designer) и Cadence (OrCad, PSpice – аналоговое/цифровое моделирование, PCB Designer), Mentor Graphics (PADS, xEpedition Enterprise).

2009-2011 г

ЗАО “АКТЕЛ.ру” (www.actel.ru) (Санкт-Петербург)

Занимаемая должность

Ведущий инженер разработчик, схемотехник, программист

Выполнил разработку FPU (Арифметический модуль из 108 операций с плавающей точкой, реализующий инструкции процессора Power PC4xx/7xx). Изделие FPU Floating-Point Unit, разработано из 2-х ядер: FP Core Double Precision (64bits), FP Core Single Precision (32bits) - математический сопроцессор для работы с вещественными числами плавающей точкой, полностью совместимого с IEEE 754. Этап 1. Мною разработаны RTL модели ядер FPU, полностью верифицирована и синтезируемые для FPGA и логических ячейках технологии (TSMC 0.35um, 0.25um, 0.18um) для ASIC. Выработаны, оптимизированные по количеству gates при тактовой частоте 200Mhz, наилучший сумматор из 84 различных выработанных мною алгоритмов, для выбора наилучшего умножителя – 386 алгоритмом, операции деления – 24 алгоритма, операции квадратный корень – 6 алгоритмов и т.д. Размер проекта 67K Gates. Исходные RTL-модели операций создавались на Verilog в среде Mentor Graphics HDL Designer. В его среду были интегрированы продукты: ModelSim (функциональная проверка работы модулей), Precision Synthesis (логический синтез для FPGA устройств Xilinx, Altera, Actel, проверка на отладочных платах - прототипах), LeonardoSpectrum Synthesis (синтез в технологические ячейки технологии TSMC 0.35um изготовителя ASIC, генерация NetList (Verilog), EDIF, SDF.) Проводилась верификация NetList в сравнении с исходными RTL-модулями. Обо результата сравнивались с результатами MatLab (источник генерации операндов и ожидаемых результатов арифметических операций и тригонометрических функций). Этап 2. Перенос проекта FPU в проектную среду проектирования фирмы Cadence (Red Head Enterprise Linux 5), а именно на платформу Encounter и Virtuoso для полного проектирования схем на уровне стандартных технологических ячеек. Цифровой синтез осуществляли при помощи средства Cadence Encounter RTL Compiler, а верификацию – при помощи Cadence NC-Sim (IUS). В результате освоили такие средства, как IC 6.x, MMSIM 9.x, INCISIV 9.x и Virtuoso UltraSim Full-chip Simulator. Этап 3. Верификация топологии в среде Mentor Graphics Сalibre, проверка на выполнения правил DRC/LVS/ERC/ERD (геометрические проверки, электростатического разряда, проверки целостности цепей). Этап 4. Передача проекта заказчику. Получение и проверка тестовых образцов. Рабочие опытные образцы были установлены в стек бортового накопителя вычислителя. Дополнительно, при помощи Mentor Graphics Pads выполнял разработку схемы и разводку плат. Для встроенных, в FPGA, процессоров создавал программный код на ASM и С/С++. Многие решения выполнены были в системе RTOS (Real-Time OS). Ниже представлен стек бортового вычислителя, в разработке которого, совместно с другими специалистами, принимал активное участие.

Бортовой накопитель и вычислитель

Система сбора, регистрации и первичной обработки научной информации. Осуществляет приём информации от бортовой аппаратуры, сохранение её в долговременной памяти и осуществляет передачу информации в радиоканал на наземный пункт по радиолинии на двух близких частотах диапазона 8,2 ГГц. Время каждого сеанса составляет 6-8 минут. Информация, сохраняемая в долговременной памяти, защищена кодами Хемминга. Для повышения надежности работы в течение длительного периода времени система данный модуль имеет в своём составе запасной комплект электроники и источник питания находящиеся в "холодном" резерве. Выбор рабочего комплекта аппаратуры осуществляется по командам с Земли. Для взаимодействия с другими бортовыми устройствами реализованы “SpaceWire protocols”. В качестве внешнего CPU – ядро PowerPC770, но математический процессор FPU для 32 и 64 битных операция с плавающей точкой, был разработан мною в виде отдельного IP ядра, синтезируем на устройствах Аctel (на последнем рисунки), Xilinx, Altera. Выполняет 108 инструкций Double и Single Precision (IEEE Standard 754 for Binary Floating-point Arithmetic). Министерство обороны начала финансирование разработку функций бортового вычислителя на одном кристалле, в который будут включены модули заказных и стандартных интерфейсов, процессорного ядра на базе PowerPC, FPU, внутренней радиационно-стойкой памяти. Прототип в большом виде показан на этих рисунках. В прототипе присутствовали: 1) радиационно-стойкие компоненты фирмы Actel ProASIC, SmartFusion, включающего в себя FPGA, Microcontroller 32-bit ARM Cortex M3, Programmable analog; 2) внешняя память: SRAM, DDR2, Flash; 3) GPIO, I2C, ADC/DAC, Timers, PWM, Filter, Amplifier, LDVS, UART для отладки. Внешняя память SRAM, DDR2, FLASH. Подобный вычислитель есть, и он весит 36 кг, а нами разработанный – 13,5кг. На рисунках показан не весь стек, отсутствует платы передачи/приема/обработки данных с земли. Здесь мы старались показать только общие сведения о проекте и свое участие в нем. Это результат коллектива, в котором имел счастье поработать.
2011-2012 г

ЗАО “Современные интеллектуальные системы” (Санкт-Петербург)

Занимаемая должность

Ведущий инженер разработчик

Должностные обязанности: Разработка, реализация составных частей, самостоятельных устройств комплекса, и их интеграция в единый программно-аппаратный тестовый стенд. Разработка глав технической документации (РЭ, ТУ) и отчетов исключительно по электрической части. Работы выполнены по следующему маршруту: Этап 1. Разработка новых и усовершенствование действующих приборов, модулей на основе применения современных цифровых и аналоговых компонентов. Генерация идей, поиск и анализ возможных решений, выбор наиболее подходящего, удовлетворяющего стоимостным, функциональным и иным эксплуатационным качествам. Моделирование блоков устройств в Simulink (MatLab), Micro-Cap, Lab View. Формирование эталонных параметров и сигналов. Этап 2. Разработка принципиальных электрических схем, разработка печатной платы (многослойных), с контролем импеданса, BGA корпусов, LDVS парных линий. Формирование ведомости компонентов. Для этих целей использовал САПР Altium Designer, Mentors Graphics EE (PADS), Cadence OrCad, в зависимости от предпочтения других специалистов компании. Основными компонентами были - FPGA (Altera Cyclone III-V, Xilinx Spartan, Vertex 5/6), микроконтроллеры (Atmel, TI), DSP-процессоры (TI, AD), ADC/DAC (TI, AD), DDR2/DDR3, Ethernet 100/1000 и обеспечение совместной их работы. Выполнить PCB дизайн, передать платы на изготовление и поверхностный монтаж. Выпуск сопроводительной документации. Этап 3. Создание RTL модулей на Verilog. Верификация и синтез на FPGA. Для этих целей использовал САПР фирм - Mentor Graphics, Cadence, Quartus II/SOPC (Altera), ISE/DDK (Xilinx). Генерация аппаратной платформы и программно-абстрактной модели для программирования на базе включаемых процессоров NIOS II (Altera) и MicroBlaze/PowerPC4xx (Xilinx). Разработаны тест-приложения, обеспечивающие проверку работы каждого элемента на созданных платах. Были созданы программы тестовых испытаний на Verilog, C/C++. В целях быстрого проектирования систем на кристалле FPGA использовал готовые IP модули, такие как: драйвер Ethernet, драйвер DDR2/DDR3, процессоры, драйверы интерфейсов UART, I2C и SPI, что позволило значительно сократить время разработки. Этап 4. Реализовал на С стек протоколов Ethernet->ARP->ICMP->IP->UDP->TCP для пакетной передачи данных между другими FPGA устройствами. Для установки сессии реализована процедура “трехэтапного рукопожатия”. На базе пакета TCP был реализован свой протокол, обеспечивающий передачу команд и получать результаты от каждой платы, участвующей в сетевом взаимодействии.
Ниже представлено описание стенда, компоненты которого были разработаны при моем активном участии и совместно с другими специалистами. Основные черты комплекса были заданы главным конструктором.

Автоматическое тестовое оборудование

Функциональный контроль цифровых и аналоговых компонентов и схем на частотах до 200 МГц. В состав Комплекса входят универсальные платы, обеспечивающие одновременную работу по 1024 цифро-аналоговым каналам – точкам выдачи и сбора данных, по которым проверяется работа электронного изделия любой сложности. Пользователь такого комплекса разрабатывает свои тест-сценарии, при выполнении которых производиться сравнения эталонных процессов цифро-аналоговых схем с реальными данными, полученные в результате воздействия и анализа выбранных участков схемы (платы). Один из первых опытных образцов комплекса, в 2013 году, установлен на авианосце “Адмирал Горшков”, который Россия продала Индии. Все электронные модули и компоненты авианосца разработаны в нашей стране. Поэтому тестовое оборудование, позволяющее ее автоматизировать процесс поиска неисправности по эталонным данным разработчиков схем и производителей компонентов, был включен в его состав. Данный комплекс позволяет проверить работоспособность выявлять не только электронные компоненты, не работающих согласно ТУ, но и линий цепей - проводников платы. В состав комплекса включены многоканальные скоростные DAC/ADC, модули DSP, динамически программируемые генераторы различных сигналов (одиночные, периодические), платы согласования интерфейсов внешних устройств, модули физических интерфейсов, устройства хранения, вычисления, приема-передачи пакетов данных по сети Ethernet TCP/IP. Практически каждая плата в комплексе, а их более 30 различного назначения, включает в себя FPGA устройство либо фирмы Altera (Cyclone III, Cyclone IV) и Xilinx (Spartan 6/Virtex 6), DDR2/DDR3 по 4 Gbyte (8 модулей по 512 Mbyte), а также Ethernet 100/1000 для работы с большими объемами данных и взаимодействие с PC, контролирующего ход выполнения сценарий. Максимальная длина процесса – 4 Гига-тактов (один такт – 5ns). Количество независимых каналов - 1024 (512 цифровых и 512 аналоговых). При использовании ШИМ, цифровые каналы превращаются в аналоговые, с частотой преобразования до 10MHz. Размах цифроаналоговых сигналов может достигать +-50V с частотой до 100 MHz. Весь комплекс состоит из 12 шкафов, имеющих свое функциональное назначение может работать как самостоятельно, так и в составе всего единого тест-сценария. Большая часть оборудования - готовые изделия фирмы Agilent Technologies - Осциллографы, Генераторы, Источники нагрузок, Частотные анализаторы и другие контрольно-измерительное оборудование. Их особенность состоит в том, что имеется возможность удаленно управлять этими устройствами, режимами работы, начать и останавливать их работу, а также получать результаты измерений через протокол Ethernet TCP/IP. Для создания единого автоматизированного тестового комплекса потребовалось разработать следующие модули. В этом проекте требовалось разработать новые устройства: - Тест-процессор (генератор тест-векторов для каждого канала), реализуя генератор выдачи последовательных несимметричных импульсов, программируемые по временным диаграммам с последующим сбором реакций на эти воздействия. - Процессор внутрисхемного тестирования; - Логический и аналоговый сигнатурный анализатор; - Функциональный и импульсный генератор; - Блок релейной коммутации, реализующий матрицу соединений - Блок преобразователей и согласования уровней - Блок программируемых электронных нагрузок - Блок электронного щупа, используемый для снятия в тестируемой зоне параметры, но в отличие от осциллографа, осуществляет этот процесс синхронно тактам тест-сценария;

- Модуль драйверов, формирующего требуемый уровень на выходе с выполнением функции сравнения – попадания сигнала в ожидаемый интервал напряжений;

Перечислены только те модули, в разработке которых принимал активное участие – от проектирования, разработки принципиальных схем, выполнения PCB дизайна и разработку аппаратной и программной конфигураций.Структура каждого модуля – отдельная плата, на которой устанавливается от одной до 4-x FPGA устройств, внешняя память DDR2/DDR3, SRAM, Ethernet 100/1000 Mb/s, преобразователь DAC/ADC, LDVS драйвера и другие аналоговые и цифровые компонента, через которые реализуется требуемая функциональность. Управление каждой платой осуществляется FPGA устройством фирмы Altera (Cyclone III, IV) или Xilinx (Spartan 6, Vertex-6), аппаратные и программные конфигурации которых разрабатывались мною со следующими особенностями:

Фирма изготовитель FPGA

Altera Xilinx

Основное средство разработки

Quartus II 12

ISE Design Suite 14

Язык проектирования аппаратной части проекта

Verilog + VHDL

Язык программирования программной части

ASM, С/С++,

ASM, С/С++,

Включаемый микропроцессор в FPGA

NIOS 2 (32bits)

MicroBlaze (32bits)

PowerPC 405

Средство разработки аппаратной платформы

SOPS Builder

Patform Studio (EDK)

Средство разработки программной части

ECLIPSE

Средства отладки и стендовых испытаний

ModulSim 10

ISim (Verilog/VHDL)

Внешней памяти SRAM/DDR2/DDR3, FLASH

Да (32/64бит)

Да (32бит данных)

Ethernet 10/100/1000, (витая пара)

Marwell 88 E111 10/100/1000

LDVS, SSTL-18 Class1, SSTL-15 ClassI

Да

Реализация интерфейсов USB, UART, I2C, SPI

Да

Реализация интерфейсов для DAC/ADC

Да

Реализация стека протоколов IP/TCP

Да

Инструменты анализа времени прохождения сигналов внутри FPGA

TimeQuest

Timing Analyser

FPGA Editor

PlanAhead

Управление временными ограничениями

Да

Много чиповое исполнение на плате

Да

Инструменты верхнего уровня проектирования

Aldec Active-HDL, Mentor Graphics HDL Designer, Cadence Encounter

Разработка принципиальных схем и печатных плат (PCB Tools)

Altium Designer, Mentor Graphics EE, Cadence orCad

Аналоговое моделирование

Spice, OrCad PSpice, Questa ADMS

Приобрел опыт и уверенные навыки в разработке, отладке и выпуска больших систем.

Образование и курсы
Образование
Образование Высшее, 1995 филиал СПбГТУ (ППИ - Псковский Политехнический Институт им. Калинина)
Навыки
Ключевые навыки
Имею большой опыт, более 7 лет, в разработке компонентов систем на кристалле для FPGA и ASIC устройств.
Языки
Английский, технический.
Дополнительная информация
Корпоративен, без вредных привычек, оптимист. Технический английский.