Участник:ANA/Библиотека — различия между версиями
Материал из Wiki
ANA (обсуждение | вклад) м |
ANA (обсуждение | вклад) м (→Ссылки) |
||
Строка 51: | Строка 51: | ||
=== Ссылки === | === Ссылки === | ||
* [http://blogs.mentor.com/verificationhorizons/blog/2013/08/19/part-10-the-2012-wilson-research-group-functional-verification-study/ Обзор популярности HDL для верификации]. | * [http://blogs.mentor.com/verificationhorizons/blog/2013/08/19/part-10-the-2012-wilson-research-group-functional-verification-study/ Обзор популярности HDL для верификации]. | ||
+ | |||
+ | == План стажировки == | ||
+ | |||
+ | === FPGA === | ||
+ | |||
+ | * Введение: | ||
+ | ** Что такое ПЛИС? Области применения. | ||
+ | ** Обзор САПР ( Quartus ). | ||
+ | *Базовые цифровые узлы: | ||
+ | ** Узлы комбинаторного типа: | ||
+ | *** Базовые логические элементы. | ||
+ | *** Шифраторы/Дешифраторы. | ||
+ | *** Мультиплексоры/Демультиплексоры. | ||
+ | *** Компараторы. | ||
+ | *** Сумматоры. | ||
+ | *** Умножители. | ||
+ | ** Узлы последовательного типа: | ||
+ | *** Триггеры. | ||
+ | *** Сдвиговые регистры. | ||
+ | *** Двоичные/недвоичные счетчики. | ||
+ | *** Конечные автоматы. | ||
+ | * Запоминающие устройства/память ПЛИС: | ||
+ | ** Статическая и динамическая память. | ||
+ | ** Однопортовая/двухпортовая память. | ||
+ | ** FIFO / стек. | ||
+ | *Изучение языка Verilog: | ||
+ | ** Отличительне черты языков описания аппаратуры ( HDL ). | ||
+ | ** Синтезируемые/несинтезируемые конструкции языка. | ||
+ | ** Изучение синтезируемых конструкций языка: | ||
+ | *** Типы данных и способы их представления. | ||
+ | *** Операции, блокирующие/неблокирующие операции присваивания | ||
+ | *** Управляющие конструкции. | ||
+ | *** Блоки описания узлов комбинационного типа. | ||
+ | *** Блоки описания узлов последовательного типа. | ||
+ | *** Структурное/поведенческое описание проекта. | ||
+ | *** Параметризация. | ||
+ | *** Реализация на Verilog базовых цифровых узлов. | ||
+ | ** Изучение несинтезируемых конструкций языка ( +SystemVerilog ): | ||
+ | *** Применение несинтезируемых конструкций языка. Верификация. Testbench. Основные принципы создания testbench. | ||
+ | *** Основные функциональные блоки testbench'ей. | ||
+ | *** Типы данных. Блоки процедурного типа. | ||
+ | *** Структуры данных для верификации ( массивы, очереди и т.д. ). | ||
+ | *** Функции и tasks. | ||
+ | *** Временная модель симуляции. | ||
+ | *** Использование базовых принципов ООП для верификации. | ||
+ | *** SystemVerilog Assertions. | ||
+ | *** Создание testbench для базовых цифровых узлов. | ||
+ | *** Обзор существующих методологий ( библиотек ) верификации. | ||
+ | |||
+ | === MCU === | ||
+ | '''Теория:''' | ||
+ | 1. Микроконтроллеры. Сущность, классификация, область применения. | ||
+ | 2. Управление микроконтроллером: регистры. Шина памяти, организация памяти. | ||
+ | 3. GPIO. Сущность, область применения, способы подключения. | ||
+ | 4. Шина SPI. Принцип работы, область применения. | ||
+ | 5. Шина I2C. Принцип работы, область применения. | ||
+ | 6. UART/USART. Принцип работы, область применения. | ||
+ | 7. Прерывания. Принцип работы, преимущества, недостатки, область применения. | ||
+ | Вектор прерываний. | ||
+ | 8. Системный таймер. | ||
+ | 9. Таймеры. Широтно-импульсная модуляция. | ||
+ | 10. АЦП. | ||
+ | 11. ЦАП. | ||
+ | 12. DMA-контроллер. | ||
+ | 13. USB. Общие принципы работы, классификация режимов работы. | ||
+ | USB-дескрипторы. Описание транзакций. | ||
+ | |||
+ | |||
+ | '''Практика:''' | ||
+ | 1. Язык программирования C. Основы. | ||
+ | 2. Знакомство с платой Steamer. | ||
+ | 3. Чтение схем. | ||
+ | 4. Простейшая программа на Steamer. ( Работа со светодиодом ) | ||
+ | 5. Заливка программы в микроконтроллер. ( при помощи JTAG, USB ) | ||
+ | 6. Отладка программ при помощи JTAG. | ||
+ | 7. Сборка проекта: gcc, ld, make. | ||
+ | 8. Использование внешних библиотек. Приложение, реализующее интерфейс с USB. | ||
+ | 9. Использование операционных систем. (на примере NutOS). Потоки выполнения | ||
+ | (threads). Пример многопоточного приложения. | ||
+ | 10. Семафоры, mutex'ы. Доступ к разделяемым ресурсам микроконтроллера. | ||
+ | |||
+ | |||
+ | '''Про курсовую в двух словах:''' | ||
+ | Устройство на базе Steamer ( + плата расширения с FPGA и PHY ), | ||
+ | которое имеет следующую функциональность: | ||
+ | 1) Может отправлять любые данные от PC через USB в Ethernet. | ||
+ | 2) Может принимать данные из Ethernet, применять простейшие фильтры и | ||
+ | отправлять отфильтрованные данные на PC. | ||
+ | 3) На STM имеется простейший сетевой стек ( может пинговать/пинговаться ). | ||
+ | 4) Всякая обвязка по мелочи. Типа собирать статистику, | ||
+ | моргать статусными диодами. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | == NEW == |
Версия 00:25, 8 декабря 2013
Содержание |
Функциональная верификация
Книги
- Bruce Wile, John Goss, Wolfgang Roesner Comprehensive Functional Verification. The Complete Industry Cycle (Systems on Silicon) — USA: Elsevier, 2005. — 676 с. — ISBN 0-12-751803-7.
- В книге описан процесс верификации. Даны примеры верификации калькулятора от тестового плана до тестбенча. Описан язык PSL.
- Ilya Wagner, Valeria Bertacco Post-Silicon and Runtime Verification for Modern Processors — 2010.
Статья
Ссылки
План стажировки
FPGA
- Введение:
- Что такое ПЛИС? Области применения.
- Обзор САПР ( Quartus ).
- Базовые цифровые узлы:
- Узлы комбинаторного типа:
- Базовые логические элементы.
- Шифраторы/Дешифраторы.
- Мультиплексоры/Демультиплексоры.
- Компараторы.
- Сумматоры.
- Умножители.
- Узлы последовательного типа:
- Триггеры.
- Сдвиговые регистры.
- Двоичные/недвоичные счетчики.
- Конечные автоматы.
- Узлы комбинаторного типа:
- Запоминающие устройства/память ПЛИС:
- Статическая и динамическая память.
- Однопортовая/двухпортовая память.
- FIFO / стек.
- Изучение языка Verilog:
- Отличительне черты языков описания аппаратуры ( HDL ).
- Синтезируемые/несинтезируемые конструкции языка.
- Изучение синтезируемых конструкций языка:
- Типы данных и способы их представления.
- Операции, блокирующие/неблокирующие операции присваивания
- Управляющие конструкции.
- Блоки описания узлов комбинационного типа.
- Блоки описания узлов последовательного типа.
- Структурное/поведенческое описание проекта.
- Параметризация.
- Реализация на Verilog базовых цифровых узлов.
- Изучение несинтезируемых конструкций языка ( +SystemVerilog ):
- Применение несинтезируемых конструкций языка. Верификация. Testbench. Основные принципы создания testbench.
- Основные функциональные блоки testbench'ей.
- Типы данных. Блоки процедурного типа.
- Структуры данных для верификации ( массивы, очереди и т.д. ).
- Функции и tasks.
- Временная модель симуляции.
- Использование базовых принципов ООП для верификации.
- SystemVerilog Assertions.
- Создание testbench для базовых цифровых узлов.
- Обзор существующих методологий ( библиотек ) верификации.
MCU
Теория: 1. Микроконтроллеры. Сущность, классификация, область применения. 2. Управление микроконтроллером: регистры. Шина памяти, организация памяти. 3. GPIO. Сущность, область применения, способы подключения. 4. Шина SPI. Принцип работы, область применения. 5. Шина I2C. Принцип работы, область применения. 6. UART/USART. Принцип работы, область применения. 7. Прерывания. Принцип работы, преимущества, недостатки, область применения. Вектор прерываний. 8. Системный таймер. 9. Таймеры. Широтно-импульсная модуляция. 10. АЦП. 11. ЦАП. 12. DMA-контроллер. 13. USB. Общие принципы работы, классификация режимов работы. USB-дескрипторы. Описание транзакций.
Практика: 1. Язык программирования C. Основы. 2. Знакомство с платой Steamer. 3. Чтение схем. 4. Простейшая программа на Steamer. ( Работа со светодиодом ) 5. Заливка программы в микроконтроллер. ( при помощи JTAG, USB ) 6. Отладка программ при помощи JTAG. 7. Сборка проекта: gcc, ld, make. 8. Использование внешних библиотек. Приложение, реализующее интерфейс с USB. 9. Использование операционных систем. (на примере NutOS). Потоки выполнения (threads). Пример многопоточного приложения. 10. Семафоры, mutex'ы. Доступ к разделяемым ресурсам микроконтроллера.
Про курсовую в двух словах: Устройство на базе Steamer ( + плата расширения с FPGA и PHY ), которое имеет следующую функциональность: 1) Может отправлять любые данные от PC через USB в Ethernet. 2) Может принимать данные из Ethernet, применять простейшие фильтры и отправлять отфильтрованные данные на PC. 3) На STM имеется простейший сетевой стек ( может пинговать/пинговаться ). 4) Всякая обвязка по мелочи. Типа собирать статистику, моргать статусными диодами.