- •1. Встраиваемые системы. Классификация встраиваемых систем.
- •2. Определение Системы на кристалле.
- •3. Процесс разработки SoC.
- •4. Архитектура процессора.
- •5. Простые последовательные процессоры.
- •6. Конвейерный процессор.
- •7. Ilp (параллелизм на уровне инструкций).
- •8. Основные этапы (уровни) проектирования SoC. Системный уровень проектирования.
- •9. Функциональный уровень проектирования SoC.
- •10. Особенности проектирования SoC.
- •11. Классификация средств автоматизированного проектирования
- •12. Этапы проектных процедур с использованием сапр.
- •13. Маршруты проектирования плис.
- •14. Выбор процессора для SoC.
- •15. Структурная схема систем на кристалле. Варианты реализации систем на кристалле.
- •16. Особенности процессоров Soft-Core.
- •17. Основные понятия в процессорной архитектуре. Набор команд. Соглашения о наборе команд.
- •18. Машинный язык.
- •25. Арифметико-логическое устройство (алу).
- •Классификация алу
- •26. Устройство сдвига.
- •27. Двоичные числа с фиксированной точкой.
- •Кодирование отрицательных чисел в эвм
- •28. Двоичные числа с плавающей точкой.
- •Ieee 753-1985 определяет четыре формата представления чисел с плавающей запятой:
- •Формальное представление нормализованных чисел в формате ieee 754.
- •29. Проблема подсистемы памяти. Иерархия памяти. Локальность.
- •30. Матрицы памяти.
- •31. Типы памяти.
- •32. Логические функции и пзу (rom). Многопортовая память.
- •33. Матрицы логических элементов. Программируемые логические матрицы.
- •34. Матрицы логических элементов. Программируемая пользователем матрица логических элементов.
- •36. Ввод-вывод, отображённый в память. Аппаратная реализация ввода-вывода, отображённого в память.
- •37. Архитектура микропроцессорного ядра MicroBlaze.
- •38. Конвейерный регистр команд микропроцессорного ядра MicroBlaze.
- •39. Прерывания микропроцессорного ядра MicroBlaze.
- •40. Кэш память микропроцессорного ядра MicroBlaze.
- •41. Назначение и структура регистра статуса.
- •Структура регистра статуса msr микропроцессорного ядра MicroBlaze
- •42. Шинные интерфейсы микропроцессорного ядра MicroBlaze. Конфигурация 1
- •Шинные интерфейсы микропроцессорного ядра MicroBlaze
- •43. Шинные интерфейсы микропроцессорного ядра MicroBlaze. Конфигурация 2 Небольшое введение: Шинные интерфейсы микропроцессорного ядра MicroBlaze
- •Периферийные компоненты для микропроцессорного ядра MicroBlaze
- •44. Шинные интерфейсы микропроцессорного ядра MicroBlaze. Конфигурация 3
- •45. Шинные интерфейсы микропроцессорного ядра MicroBlaze. Конфигурация 4
- •46. Шинные интерфейсы микропроцессорного ядра MicroBlaze. Конфигурация 5
- •47. Шинные интерфейсы микропроцессорного ядра MicroBlaze. Конфигурация 6
- •Эволюция axi
- •52. Axi Interconnect. Прямое соединение. Только преобразование.
- •53. Axi Interconnect. Межсоединение n-к-1. Межсоединение 1-к-n.
- •54. Axi Interconnect. Межсоединение n-к -m.
9. Функциональный уровень проектирования SoC.
Целью функционального уровня проектирования является создание исполняемой модели на языке описания аппаратуры (VHDL, Verilog), а также подготовка детальной спецификации всех блоков и системы в целом.
Первая задача этапа функционального уровня – разработка всех недостающих СФ-блоков(СФ-блок сложный функциональный блок) - используется в основном в пределах РФ). Для аналоговых блоков, проектируемых на транзисторном уровне, требуется еще и создание поведенческой модели на языке описания аппаратуры.
Вторая задача этого уровня – согласование интерфейсов СФ-блоков и построение шинной архитектуры, а также прогноз параметров линий связи. На этом этапе функционального проектирования детализируется временная диаграмма работы БИС и рассчитывается баланс задержек между блоками.
Третья задача – разработка и согласование внешних интерфейсов. Моделирование внешних интерфейсов должно проводиться с учетом реактивных параметров корпуса и внешних линий связи.
Четвертая задача – это расчет потребляемой мощности и разработка мер по ее экономии
Пятая задача – прогноз и повышение надежности, а также процента выхода годных путем введения избыточности и резервирования в схему.
Шестая задача – обеспечение контролепригодности и разработка встроенных средств контроля. Седьмая задача – составление окончательной детальной спецификации, которая будет использоваться и при физическом проектировании микросхемы, и при разработке программы.
Эффективный контроль и прогнозирование на функциональном уровне существенно сокращают число итераций и время проектирования.
Завершающим этапом является аттестация проекта. Цель аттестации – это принятие решения о готовности проекта к началу освоения производства. Для этого требуется соответствие опытных образцов СБИС требованиям нормативной технической документации (техническим условиям, техническим заданиям, справочному листу), а также наличие самой нормативной документации
Кратко:
Функциональное проектирование:
-Техническое задание
-разработка недостающих СФ - блоков
-разработка шинного интерфейса
-разработка и согласование внешних интерфейсов
-определение системных ограничений
-разработка мероприятий по оптимизации энергопотребления
- разработка мероприятий по обеспечению надежности
-разработка мероприятий по обеспечению контролепригодности
- составление детальной спецификации
-функциональная верификация
-спецификация SoC, RTL-описание, спецификация интерфейсов
10. Особенности проектирования SoC.
НЕБОЛЬШОЕ ПОЯСНЕНИЕ ПРО SoC
Система на кристалле — это СБИС(сверхбольшая интегральная схема более 10 тыс. элементов в кристалле), интегрирующая на кристалле различные функциональные блоки, которые образуют законченное изделие для автономного применения в электронной аппаратуре. Структура типовой СнК представлена на рисунке 1.
Рис. 1. Структура типовой системы на кристалле
ПОЯСНЕНИЕ ПРО СФ-БЛОКИ В СнК
В качестве элементной базы САПР(Система автоматизированного проектирования) используют библиотеки функциональных элементов, в состав которых входят как простые логические вентили и триггеры, так и макроэлементы, выполняющие более сложные функции: регистры, счетчики, сумматоры, умножители, арифметико-логические устройства и т. д.
При проектировании СБИС микроконтроллеров кроме функциональных библиотек стали использоваться сложно-функциональные блоки (СФ-блоки) — процессоры, таймеры, АЦП, различные интерфейсные блоки (UART, SPI, CAN, Ethernet и т.д). Эти СФ-блоки формировали верхний уровень функциональных библиотек, используемых разработчиками и производителями микроконтроллеров. В последние годы широкое распространение получила практика разработки отдельных СФ-блоков для их последующего представления на рынок средств проектирования СнК. СФ-блоки, предназначенные для использования в разнообразных проектах, стали называть IP (Intellectual Property) модулями.
САМ ВОПРОС
Сегодняшние реалии таковы, что:
в условиях рынка прибыль в значительной степени зависит от временных затрат на проектирование;
такие технические параметры СБИС, как производительность, площадь кристалла и потребляемая мощность, являются ключевыми элементами в продвижении товара на рынок;
увеличение степени интеграции делает задачу верификации качественно более сложной;
из-за особенностей технологии глубокого субмикрона (DSM – Deep Submicron) все труднее удовлетворять всем требованиям по временным ограничениям (timing);
команды разработчиков высокоинтегрированных СБИС обладают различными знаниями и опытом в области проектирования, и часто при выполнении проектов СБИС расположены в различных частях мира.
Особенности проектирования определяются уровнем технологии:
- допускающим количество элементов на кристалле более 10 млн. вентилей;
- возможностью размещения на кристалле самостоятельно завершенных сложных функциональны (СФ) блоков;
- создания программируемых блоков(т. е. модулей);
- областью применения;
- задачами, на решение которых ориентирована SoC.
Уровень технологии может обеспечить следующие качественные и количественные признаки, определяющие особенности проектирования:
- Высокую системную интеграцию: программируемая платформа – центральный процессор, конфигурируемая логика, ячейки ЦОС, ввод-вывод, АЦП и др.;
- Увеличенную системную производительность: высокопроизводительный n-ядерный процессор (тактовые частоты ≥ 1 ГГц), более чем 10-кратное ускорение некоторых операций;
- Снижение затрат на комплектующие: интегрированная платформа позволяет сократить затраты до 40% за счет сокращения числа необходимых компонентов;
- Снижение энергопотребления: реализация системы на одном кристалле в сумме позволяет сократить общее потребление на 50% по сравнению с раздельными решениями;
- Ускоренный вывод продукта на рынок: гибкая и масштабируемая платформа, широкий выбор средств разработки, отладки, операционных систем и IP-ядер.
Рекомендуемые задачи, которые подлежат решению с помощью SoC, разработке на SoC средств управления и верификации:
- телевизионных камер;
- управления электроприводами, промышленных сетей;
- систем машинного зрения, интеллектуальных и IP-камер;
- приемопередатчиков и модемов LTE;
- устройств медицинской диагностики и обработки изображений;
- многофункциональных офисных приборов;
- систем обработки видеосигналов и др.
Каждая задача требует своих особенностей проектирования SoC, например, связанных с выбором (проектированием) СФ, решением проблемы надежности, с компоновкой функциональных узлов на кристалле и др.
СФ-блоки, используемые при проектировании СнК, имеют две основные формы представления:
– в виде топологических фрагментов, которые могут быть непосредственно реализованы в физической структуре кристалла — аппаратно реализованные (hard) СФ-блоки;
– в виде моделей на языке описания аппаратуры (Verilog, VHDL), которые средствами САПР могут быть преобразованы в топологические фрагменты для реализации на кристалле — синтезируемые (soft) СФ-блоки.
В процессе проектирования СнК разработчик имеет возможность выбора следующих решений:
– самостоятельная разработка необходимых СФ-блоков;
– покупка СФ-блоков у ведущих разработчиков и производителей микросхем;
– поиск и применение СФ-блоков, предоставляемых в открытом доступе
Таким образом, основная особенность проектирования СнК — возможность использования достаточно широкой номенклатуры синтезируемых СФ-блоков, имеющихся на рынке и в свободном доступе, которые могут быть реализованы на базе различных функциональных библиотек и технологий и интегрированы в кристалл средствами современных САПР.
Общие для всех задач особенности:
1. Возможность использования достаточно широкой номенклатуры СФ-блоков, имеющихся на рынке, которые могут быть реализованы на базе различных функциональных библиотек и технологий и интегрированы в кристалл средствами современных САПР.
2. Разбиение системы на аппаратную организацию (АО) с учетом СФ, программируемых модулей (ядер) и программное обеспечение (ПО).
3. Поскольку SoC включает одно или несколько программируемых процессорных ядер, разработчик должен принять решение о том, какие части поведенческой модели будут реализованы на аппаратном уровне, а какие – на программном в виде встроенного в СБИС программного обеспечения.
4. При реализации маршрута проектирования возникает необходимость выполнения совместной верификации и отладки программной и аппаратной частей на основных этапах проектирования: системном, функциональном, логическом и топологическом проектировании. Это объясняется тем, что SoC – это СБИС, в состав которой входят как аппаратная часть, так и программная, т. е. встраиваемое программное обеспечение (ПО). Необходимо определить, каким образом будут взаимодействовать программная и аппаратная части, т. е. следует разработать интерфейс между АО и ПО.
5. Здесь же определяется общая архитектура SoC: тип процессора, тип памяти и ее объем, аппаратные блоки, интерфейс АО-ПО, тип используемой шины, описание программной части и т. п. В итоге формируется набор спецификаций на разработку программного обеспечения и разработку каждого аппаратно реализуемого блока.
6. Особую сложность представляет взаимодействие цифровых подсистем с аналоговыми и СВЧ-схемами. Для решения проблем верификации предлагается интеграция процесса создания программно-аппаратных средств тестирования с разработкой методологии сквозной верификации проекта на всех этапах.
7. Еще одна особенность SoC – наличие цифро-аналоговых систем в общем объеме SoC, поэтому в маршрут проектирования должны быть включены этапы по совместной разработке и верификации цифровой и аналоговой частей SoC.
8. Исходя из перечисленных свойств ПЛИС, можно сделать вывод, что их применение целесообразнее всего рассматривать в задачах, для которых не существует ASIC решение (по параметрам габаритов, веса, потребляемой мощности и т. п.) и вместе с тем ориентированных на однообразную интенсивную обработку потока данных, преимущественно параллельную или многоканальную.
9. Большой набор используемых для проектирования программных средств, зачастую подлежащих трудоемкому освоению и выбору. Существует множетсво программных средств, применимых для автоматизации системного проектирования, которые можно классифицировать по группам: - Первая группа – средства разработки и отладки прикладного программного обеспечения. Достаточно удобным для представления спецификаций оказался язык программиования C и его модификация C++: Microsoft Visual Studio; Inprise Borland C++ Builder. - Вторая группа – средства математического моделироания: программный пакет MATLAB/Simulink C/C++. - Третья группа – средства моделирования общего назначения, с помощью которых можно моделировать архитектуру СБИС: MLDesigner; SES/Workbench. - Четвертая группа – узкоспециализированные программные средства, каждое из которых предназначено для решения какого-либо определенного круга проектных задач системного уровня: Co-ware; Mentor Graphics; Elanix; Summit Design. - Пятая группа – это мощные интегрированные программные пакеты, при помощт которых разработчик способен выполнять весь цикл системного и функционального проектирования, а также весь цикл разработки СБИС, вплоть до физической реализации. На сегодняшний день в эту группу входят ПО двух фирм: Synopsys (CoCentric System Studio, Design Ware, VCS, VCSi, Seirocco, SystemC HDL Co-Sim, CoCentric SystemC Compiler); Cadence Dsign Systems (Incisive-SPW, Incisive unified simulator, Incisice-XLD, Incisive-AMS, NC-SystemC, NC-Verilog, NC-VHDL.