Системы на кристалле (СнК) на базе ПЛИС получают все большее распространение. Их преимущество по сравнению с использованием аппаратных микропроцессоров и микроконтроллеров в связке с пользовательскими контроллерами, размещенными в ПЛИС, достаточно очевидно. Можно гибко варьировать набором и параметрами контроллеров, используя только те, которые требуются для разрабатываемой системы. При необходимости, в процессе отладки и верификации всей системы, можно относительно быстро изменить не только характеристики, но и состав контроллеров. Компания Actel – крупный производитель ПЛИС – предлагает IP-блоки процессоров и программное обеспечение, которые помогают заметно ускорить разработку систем на основе ПЛИС.
Модули микропроцессоров Actel
Для поддержки разработчиков компания Actel предоставляет ряд бесплатных или условно бесплатных IP-блоков процессоров и контроллеров, которые адаптированы для использования в ПЛИС производства Actel.
32-битный RISC-микропроцессор CoreMP7 (рис.1) – это программная версия процессора ARM7TDMI-STM, оптимизированная для использования в версиях М7 микросхем Flash ПЛИС Actel семейств Fusion и ProASIC3. CoreMP7 имеет систему команд ARMv4T, которая включает в себя полный набор 32-разрядных инструкций ARM, а также весь набор 16-разрядных инструкций Thumb. Ядро процессора включает в себя 32-разрядное АЛУ, трехступенчатый конвейер команд и модуль, позволяющий отлаживать программу в реальном времени через последовательный JTAG-интерфейс. Разработчикам ядро процессора предоставляется бесплатно в виде файла списка связей при условии использования в адаптированных под М7 версиях ПЛИС.
Высокоэффективный 32-разрядный процессор Cortex-M1 (рис.2) разработан компанией ARM в содружестве с Actel специально для применения в ПЛИС. В Cortex-M1 используется ARVv6-M архитектура команд, которая содержит полный набор 16-разрядных Thumb инструкций, а также ряд 32-разрядных инструкций Thumb-2. Процессор включает в себя 3-ступенчатый конвейер команд, 32-разрядное АЛУ, разделенные интерфейсы связанной памяти данных (СПД) и команд (СПК), контроллер прерываний на 32 источника и контроллер системной шины AHB, которая обеспечивает интерфейс с внешними высокопроизводительными контроллерами. Дополнительно архитектура ядра может включать в себя модуль отладки в реальном времени (см. рис.2). IP-ядро Cortex-M1 предоставляется бесплатно при использовании с адаптированными М1 версиями Flash ПЛИС Actel.
Контроллер Core8051 (рис.3) является софт-версией хорошо известного микроконтроллера 8051 семейства MCS51. Он так же, как и аппаратный микроконтроллер, включает в себя контроллер прерываний, к которому можно подключить до 13 внешних источников, два таймера, UART и 4 восьмибитных порта. Однако есть и отличия. Команда в Core8051 выполняется за один такт системной частоты. К внутренней системной шине SFR (Special Function Registers – регистры спецфункций) может быть подключено дополнительно до 101 внешнего регистра. Поскольку софт-версия микроконтроллера идентична аппаратной, все программное обеспечение, написанное ранее, может быть использовано в большинстве случаев без каких-либо доработок.
Core8051s представляет собой непосредственно процессорное ядро (см. рис.3). К нему добавлен контроллер шины APB (Advanced Peripheral Bus – шина расширения периферии), чтобы иметь возможность подключать периферийные контроллеры.
Оба варианта исполнения дополнительно могут включать в себя модуль отладки.
Программное процессорное микроядро CoreABC (рис.4) обладает гибкой архитектурой и большими возможностями настройки. Оно может быть сконфигурировано и как микропроцессор, и как небольшой управляющий контроллер. Программы для ядра пишутся на ассемблере и могут храниться как в интегрированном статическом ОЗУ, так и в виде эмулированного ПЗУ непосредственно в логической матрице. В минимальной конфигурации CoreABC занимает всего 241 логическую ячейку и не требует ОЗУ или ПЗУ для хранения программ и данных. Ядро имеет контроллер интерфейса шины APB, что позволяет подключать внешние дополнительные периферийные контролеры. Ядро CoreABC не требует лицензий и может использоваться в проекте ПЛИС любого семейства.
Еще одно программное ядро – Leon3 – предназначено в первую очередь для систем, работающих в тяжелых условиях. Оно имеет архитектуру микропроцессора SPARC V8. Системы на базе Leon3 могут работать под управлением ОС, таких как Linux и MS Windows. Дизайн ядра предоставляется разработчикам в двух видах. Он может быть бесплатно скачан с сайта в виде свободно распространяемого неадаптированного исходного кода, который можно использовать в проектах ПЛИС любого семейства. Есть также платный отказоустойчивый вариант ядра, который адаптирован под семейство Actel RTAX для использования в системах, работающих в тяжелых условиях.
Кроме процессорных IP-ядер Actel предоставляет большое количество IP-блоков контроллеров, таких как таймер, контроллеры памяти, контроллеры различных параллельных и последовательных интерфейсов и т.д.
Среды разработки
Для работы с ядрами микропроцессоров и микроконтроллеров Actel бесплатно предоставляет пакет CoreConsole. Он позволяет на модульном уровне, с помощью графического интерфейса, быстро и эффективно конфигурировать выбранные компоненты и собирать из них микропроцессорные системы или контроллеры (рис.5). Синтезированные в пакете процессоры и контроллеры разработчики затем могут использовать в своих проектах дизайна ПЛИС, создаваемых в интегрированной среде разработки Actel Libero. CoreConsole позволяет также сгенерировать тестовый модуль, который затем может использоваться для тестирования и верификации проекта.
Пакет SoftConsole предназначен для разработки и отладки программного обеспечения на языках высокого уровня С и С++ для микропроцессоров, предоставляемых Actel. Он представляет собой интегрированную среду разработки, которая позволяет, используя графический интерфейс, разрабатывать и редактировать программы, гибко управлять файлами проекта, отлаживать проекты как в программном симуляторе, так и непосредственно на плате через последовательный интерфейс JTAG.
Предоставляемые компанией Actel IP-блоки процессоров и контроллеров и программные пакеты позволяют разработчикам быстро и эффективно разрабатывать и отлаживать дизайны микропроцессорных систем и контроллеров с требуемыми характеристиками, а также разрабатывать и отлаживать программное обеспечение. Это помогает значительно снизить затраты и уменьшить время на разработку и отладку систем.
Для поддержки разработчиков компания Actel предоставляет ряд бесплатных или условно бесплатных IP-блоков процессоров и контроллеров, которые адаптированы для использования в ПЛИС производства Actel.
32-битный RISC-микропроцессор CoreMP7 (рис.1) – это программная версия процессора ARM7TDMI-STM, оптимизированная для использования в версиях М7 микросхем Flash ПЛИС Actel семейств Fusion и ProASIC3. CoreMP7 имеет систему команд ARMv4T, которая включает в себя полный набор 32-разрядных инструкций ARM, а также весь набор 16-разрядных инструкций Thumb. Ядро процессора включает в себя 32-разрядное АЛУ, трехступенчатый конвейер команд и модуль, позволяющий отлаживать программу в реальном времени через последовательный JTAG-интерфейс. Разработчикам ядро процессора предоставляется бесплатно в виде файла списка связей при условии использования в адаптированных под М7 версиях ПЛИС.
Высокоэффективный 32-разрядный процессор Cortex-M1 (рис.2) разработан компанией ARM в содружестве с Actel специально для применения в ПЛИС. В Cortex-M1 используется ARVv6-M архитектура команд, которая содержит полный набор 16-разрядных Thumb инструкций, а также ряд 32-разрядных инструкций Thumb-2. Процессор включает в себя 3-ступенчатый конвейер команд, 32-разрядное АЛУ, разделенные интерфейсы связанной памяти данных (СПД) и команд (СПК), контроллер прерываний на 32 источника и контроллер системной шины AHB, которая обеспечивает интерфейс с внешними высокопроизводительными контроллерами. Дополнительно архитектура ядра может включать в себя модуль отладки в реальном времени (см. рис.2). IP-ядро Cortex-M1 предоставляется бесплатно при использовании с адаптированными М1 версиями Flash ПЛИС Actel.
Контроллер Core8051 (рис.3) является софт-версией хорошо известного микроконтроллера 8051 семейства MCS51. Он так же, как и аппаратный микроконтроллер, включает в себя контроллер прерываний, к которому можно подключить до 13 внешних источников, два таймера, UART и 4 восьмибитных порта. Однако есть и отличия. Команда в Core8051 выполняется за один такт системной частоты. К внутренней системной шине SFR (Special Function Registers – регистры спецфункций) может быть подключено дополнительно до 101 внешнего регистра. Поскольку софт-версия микроконтроллера идентична аппаратной, все программное обеспечение, написанное ранее, может быть использовано в большинстве случаев без каких-либо доработок.
Core8051s представляет собой непосредственно процессорное ядро (см. рис.3). К нему добавлен контроллер шины APB (Advanced Peripheral Bus – шина расширения периферии), чтобы иметь возможность подключать периферийные контроллеры.
Оба варианта исполнения дополнительно могут включать в себя модуль отладки.
Программное процессорное микроядро CoreABC (рис.4) обладает гибкой архитектурой и большими возможностями настройки. Оно может быть сконфигурировано и как микропроцессор, и как небольшой управляющий контроллер. Программы для ядра пишутся на ассемблере и могут храниться как в интегрированном статическом ОЗУ, так и в виде эмулированного ПЗУ непосредственно в логической матрице. В минимальной конфигурации CoreABC занимает всего 241 логическую ячейку и не требует ОЗУ или ПЗУ для хранения программ и данных. Ядро имеет контроллер интерфейса шины APB, что позволяет подключать внешние дополнительные периферийные контролеры. Ядро CoreABC не требует лицензий и может использоваться в проекте ПЛИС любого семейства.
Еще одно программное ядро – Leon3 – предназначено в первую очередь для систем, работающих в тяжелых условиях. Оно имеет архитектуру микропроцессора SPARC V8. Системы на базе Leon3 могут работать под управлением ОС, таких как Linux и MS Windows. Дизайн ядра предоставляется разработчикам в двух видах. Он может быть бесплатно скачан с сайта в виде свободно распространяемого неадаптированного исходного кода, который можно использовать в проектах ПЛИС любого семейства. Есть также платный отказоустойчивый вариант ядра, который адаптирован под семейство Actel RTAX для использования в системах, работающих в тяжелых условиях.
Кроме процессорных IP-ядер Actel предоставляет большое количество IP-блоков контроллеров, таких как таймер, контроллеры памяти, контроллеры различных параллельных и последовательных интерфейсов и т.д.
Среды разработки
Для работы с ядрами микропроцессоров и микроконтроллеров Actel бесплатно предоставляет пакет CoreConsole. Он позволяет на модульном уровне, с помощью графического интерфейса, быстро и эффективно конфигурировать выбранные компоненты и собирать из них микропроцессорные системы или контроллеры (рис.5). Синтезированные в пакете процессоры и контроллеры разработчики затем могут использовать в своих проектах дизайна ПЛИС, создаваемых в интегрированной среде разработки Actel Libero. CoreConsole позволяет также сгенерировать тестовый модуль, который затем может использоваться для тестирования и верификации проекта.
Пакет SoftConsole предназначен для разработки и отладки программного обеспечения на языках высокого уровня С и С++ для микропроцессоров, предоставляемых Actel. Он представляет собой интегрированную среду разработки, которая позволяет, используя графический интерфейс, разрабатывать и редактировать программы, гибко управлять файлами проекта, отлаживать проекты как в программном симуляторе, так и непосредственно на плате через последовательный интерфейс JTAG.
Предоставляемые компанией Actel IP-блоки процессоров и контроллеров и программные пакеты позволяют разработчикам быстро и эффективно разрабатывать и отлаживать дизайны микропроцессорных систем и контроллеров с требуемыми характеристиками, а также разрабатывать и отлаживать программное обеспечение. Это помогает значительно снизить затраты и уменьшить время на разработку и отладку систем.
Отзывы читателей