Ниже приведено содержание всего цикла с разбиением на семинары (№). При заказе можно комбинировать темы, выбирая то, что вам кажется наиболее интересным.
№1 Введение в маршрут проектирования Назначение, обзор содержания и последовательности этапов маршрута проектирования цифровых схем. Типовые ошибки и методы их обхода. Разделение труда. Преимущества и недостатки формального подхода к проектированию. № 2 Структурная схема Назначение и содержание структурной схемы проектируемого блока. Верхний уровень иерархии, интерфейсы, функциональность Методы спецификации интерфейсов и функциональности верхнего уровня иерархии проектируемой схемы. Блоки нижних уровней, система связей Принципы разбиения на блоки, проектирование внутренних связей. №3 Функциональная схема Назначение и содержание функциональной схемы проектируемого блока. Детализация внутренних связей и система кодирования Спецификация внутренних связей, выбор системы кодирования связей. Детализация интерфейсов и параметризация Спецификация и параметризация внутренних блоков. Методы и подходы - Проектирование на уровне транзакций
- Проектирование управляющей логики, обобщенные диаграммы состояний
- Временные диаграммы
- Блок-схемы
Организация вычислений с фиксированной точкой Синтезируемые операции. Методы выбора разрядности входных/выходных данных для вычислений с фиксированной точкой. Оценка ошибки и шумы в задачах обработки сигналов. Тактовые домены и пересинхронизация Организация работы системы с несколькими тактовыми частотами. Взаимодействие и передача данных между блоками, работающими на разных частотах со связанными и независимыми фазами. Типовые ошибки и методы их устранения. Оценка требуемых ресурсов кристалла Оформление документации Использование шаблонов и типовых методов отображения в задачах спецификации и проектирования цифровых схем. №4 Реализация кода Основные принципы построения кода Разбиение на модули, организация и переиспользование кода с учетом возможности дальнейшей модификации без правки уже созданных проектов. Использование конфигураций и библиотек. Организация модификаций, затрагивающих интерфейсы и, как при этом обеспечить целостность старых проектов. Синтезируемые типы Инкапсуляция данных, использование целочисленных типов для организации вычислений с фиксированной точкой. Функции разрешения и особенности разрешаемых типов при синтезе и функциональной верификации. Типовые ошибки и методы их устранения. Синтезируемые конструкции Оптимизация кода для синтеза. Реализация типовых задач средствами языка (например, двух-портовой памяти с раздельными тактовыми доменами). Контроль над синтезом языковых конструкций. Атрибуты и ограничивающие условия Реализация ограничений (constraints) непосредственно в коде программы. Решение типовых задач: способы кодировки сигналов перечислимых типов, утяжки, формирование регистров для конвейерной обработки и т.д. Правила оформления кода Назначение и пример правил оформления кода с обоснованием целесообразности и достигаемых в данном случае преимуществ. Автоматизация проверки. №5 Синтез и имплементация Основные этапы синтеза и имплементации. Архитектура FPGA Типовые элементы архитектуры FPGA. Особенности блоков ввода/вывода с точки зрения временных характеристик. Внутренние задержки. Оценка быстродействия проектируемой схемы. Управление синтезом и имплементацией Назначение и использование ограничивающих условий. Автоматизация процесса для проектов большого размера. Отображение и анализ результата Оценка и анализ временных характеристик №6 Организация центральной библиотеки Переиспользование и целостность кода. Совместное использование кода многими разработчиками. Централизованность доступа. Ускорение и упрощение процесса компиляции для моделирования и предварительного анализа для синтеза. Удобство использования в проектах. Структура библиотеки Автоматизация компиляции и предварительного анализа Реализация скриптов. Использование системы контроля версий №7 Верификация - Функциональная верификация
- Аппаратная отладка
Использование JTAG для аппаратной отладки цифровых схем на базе FPGA в реальном масштабе времени. Запись отрезков реализации любых внутренних сигналов по ряду условий срабатывания. (Практически незаменимая вещь при отладке)
№8 Включение FPGA на уровне печатной платы Конфигурационная загрузка Реализация схем для конфигурационной загрузки FPGA. Типовые ошибки и их устранение. Целостность сигналов Проблемы целостности сигналов на печатной плате. Реализация согласования линий. Параллельное и последовательное согласование. Различные стандарты входных/выходных каскадов. Использование контролируемого импеданса (DCI). Одновременное переключение линий (SSO). Прекрестные наводки и методы их оценки. Формирование данных для интеграции с САПР и моделирования |