«Случай — это псевдоним Бога, когда Он не хочет подписываться своим собственным именем.» А. Франс

Участник:ANA/Библиотека — различия между версиями

Материал из Wiki
Перейти к: навигация, поиск
м
м (Ссылки)
Строка 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) Всякая обвязка по мелочи. Типа собирать статистику, 
      моргать статусными диодами.



NEW