Система на кристалле Е5 – первое знакомство Triscend Corp. (Калифорния, США), основанная в мае 1997 года, первой в мире реализовала прогрессивную и перспективную идею создания микропроцессорной системы на площади одного кремниевого кристалла. Для изделий этого класса существует термин CSoC (Configurable System on a Chip – "реконфигурируемая пользователем система на кристалле"). Доля продукции CSoC у Triscend составляет 100%, то есть все усилия фирмы сосредоточены именно на развитии и совершенствовании микроэлектронных изделий класса "система на кристалле". В настоящее время Triscend Corp. является ведущим мировым производителем микросхем CSoC для рынка телекоммуникаций. Основателями фирмы Triscend являются специалисты, работавшие ранее в Xilinx и Intel. Обладая большим практическим опытом на рынке встраиваемых приложений, они заметили, что значительную часть конечных систем составляют изделия, которые включают в себя три базовых компонента, а именно: микропроцессорное/микроконтроллерное ядро, массив программируемой логики и блок памяти. Поэтому их решением было объединение этих трех базовых блоков так, чтобы можно было создавать разнообразные микропроцессорные системы с богатой периферией на площади единого кремниевого кристалла. В качестве базового процессора было выбрано широко распространенное во всем мире ядро MCS-51, а в качестве программируемой логики – матрица FPGA, весьма близкая по архитектуре с FPGA фирмы Xilinx. Видение проблемы создания микросхем CSoC корпорацией Triscend было в сочетании мирового лидера в области микроконтроллеров для встраиваемых применений с прогрессивной программируемой логикой, скоростной шиной и памятью. Triscend Corp. объединила на площади одного кремниевого кристалла скоростное ядро "turbo" 8032 с типовым набором периферийных узлов, матрицу конфигурируемой системной логики FPGA с объемом от 6500 до 40000 эквивалентных логических вентилей, набор фиксированных вспомогательных периферийных узлов, скоростную шину для внутреннего обмена данными и массив статической памяти. Такое изделие класса CSoC, поддерживаемое мощным и интуитивным программным пакетом, позволяет разработчикам в кратчайшие сроки создавать специализируемые пользователем процессорные платформы для коммуникаций и рынка разнообразных встраиваемых применений, значительно выигрывая в скорости выхода на рынок новых разработок. Triscend Corp. также активно привлекает сторонние фирмы и компании для реализации различных идей, которые можно "положить на кристалл". В настоящее время партнерами Triscend являются такие известные фирмы, как ARM, Cadence, Sharp, Synopsys и UMC. С апреля 1999 года и по настоящее время корпорация Triscend серийно выпускает семейство скоростных конфигурируемых микроконтроллеров Е5 с ядром "turbo 8051", обеспечивающим производительность до 10 MIPS на тактовой частоте 40 МГц. В конце августа 2000 года официально анонсировано новое семейство реконфигурируемых систем на кристалле, у которых в качестве процессорного ядра выступает уже 32-х разрядный ARM7TDMI, и изделия этого класса с нетерпением ожидают многие разработчики во всем мире. Массовое производство новых микросхем семейства A7 начнется в начале ноября 2000 года, когда будет выпущено полноценное программное обеспечение поддержки. Сейчас продукция Triscend Corp. выпускается по технологии 0,35 мкм, а переход к более совершенным проектным нормам 0,25 мкм и 0,18 мкм планируется в середине 2001 года. Основными областями для использования кристаллов CSoC являются телекоммуникации, приложения Интернет, проводные и беспроводные сетевые решения, интеллектуальная носимая аппаратура, медицинское оборудование, охранные системы, системы промышленной автоматики, контроля и управления и многое другое. По сути, любое массовое приложение средней сложности, использующее ядро 8051 и набор нестандартных периферийных узлов, может быть переведено на новый уровень техники и технологии при минимальных затратах. Кроме того, многочисленные потребители заказных/полузаказных микросхем класса ASIC получают отличную альтернативу – реконфигурируемый заказной кристалл средней сложности с фиксированным процессорным ядром. Резко снижаются сроки выхода конечной продукции на рынок и устраняются значительные начальные капиталовложения. Применение системы на кристалле также позволит обеспечить более полное удовлетворение всех потребностей пользователя в зависимости от его задачи, при этом риск получить фиксированный кристалл с логическими ошибками сводится практически к нулю. Доступное обновление как аппаратной части, так и программного кода придает конечным изделиям дополнительную гибкость, не говоря уже о том, что много- численные наработанные заранее IP - ядра могут быть с успехом включены на кристалл из уже имеющихся библиотек. Ключевые узлы первой в мире реконфигурируемой системы на кристалле семейства Е5: Высокопроизводительное микропроцессорное ядро, ставшее промышленным стандартом (полная совместимость с 8051/52, производительность до 10 MIPS на 40 МГц); До 64 кбайт ОЗУ; Конфигурируемая логическая матрица FPGA емкостью до 3200 ячеек (примерно 40000 эквивалентных вентилей); Специализированная скоростная внутренняя системная шина; Блок внутрисхемной отладки Ключевые особенности первой в мире реконфигурируемой системы на кристалле семейства Е5: Полностью автономное функционирование с использованием единственного внешнего устройства энергонезависимой памяти для хранения конфигурации и исполняемого кода; Передовая 0,35-микронная КМОП – технология с четырьмя слоями металлизации; Питание 3,3 В, совместимость входов/выходов с сигналами уровня 5 В. Раcсмотрим подробнее архитектуру системы на кристалле. Можно выделить следующие основные аппаратные блоки, общие для всех устройств семейства Е5 : Высокопроизводительный "Турбо" - микроконтролер (“Turbo” microcontroller), совместимый по данным и коду с устройствами архитектуры MCS-51. В отличие от традиционного ядра 8032, где длительность машинного цикла составляет 12 циклов тактового генератора, длительность машинного цикла микроконтроллерного ядра Е5 составляет 4 такта. Это обеспечивает производительность до 10 MIPS при тактовой частоте 40 МГц. «Турбо» - микроконтроллер Е5 предоставляет и другие преимущества по сравнению со стандартным ядром 8051. Это, например, второй регистр-указатель данных (DPTR), программируемый сторожевой таймер (Watchdog timer) и возможность программного управления циклами ожидания (wait-states). Кроме того, в Е5 количество источников прерываний увеличено до 12 и прерывания имеют три уровня приоритета. Реконфигурируемая логическая матрица (Configurable System Logic matrix). Различные устройства семейства Е5 содержат от 265 до 3200 логических ячеек на кристалле. Логическая ячейка с высоким быстродействием и гибкой архитектурой позволяет эффективно реализовывать комбинаторные и последовательностные логические функции, арифметические функции, устройства памяти. Программируемые межсоединения между системной шиной, логическими ячейками и блоками вводавывода предоставляют возможность создания двунаправленных шин с защитой от конфликтов. Реконфигурируемая архитектура и простой в использовании синхронный интерфейс с внутренней системной шиной позволяют разработчику создавать разнообразные собственные периферийные устройства Высокопроизводительная конфигурируемая системная шина (Configurable System Interconnect) включает в себя две независимые 8-разрядные шины данных (одна на чтение, другая на запись) и 32разрядную шину адреса. Скорость передачи по системной шине составляет до 40 Мбайт в секунду. Внутренняя системная шина обеспечивает связь между программируемой логической матрицей, пе- риферийными контроллерами и микроконтроллерным ядром. Наличие специализированных селекторов (дешифраторов адресов) позволяет осуществлять прямой доступ к устройствам, реализованным в конфигурируемой логической матрице. Важно отметить, блок селекторов реализован вне программируемой логической матрицы и, следовательно, ресурсы последней не расходуются "вхолостую" на построение адресных дешифраторов. К другим особенностям системной шины Е5 можно отнести поддержку режима Multi-master c циклическим арбитражем, возможность обращения к внешним устройствам (с использованием блока сопряжения с внешней памятью) и поддержку циклов ожидания. Открытый стандарт шины обеспечивает совместимость "вперед" с новыми устройствами типа "системана-кристалле" производства Triscend Corp. Блок программируемых портов ввода-вывода (Programmable Input-Output Ports) позволяет создавать порты ввода, вывода и двунаправленные порты как для микроконтроллера, так и для реализованной в программируемой логической матрице периферии.Каждый выход может быть запрограммирован или на обычный (выходной ток 4 мА), или на мощный (выходной ток 12 мА) режим. Наличие специализированной цепи слежения за состоянием входа (BusMinder) позволяет избегать "плавающих" входов и, как следствие, характерного для них высокого энергопотребления. При отсутствии активного источника сигнала на внешней шине BusMinder удерживает на входах портов ввода последнее активное состояние, присутствовавшее на шине (режим weak-follower). Каждый бит во всех портах ввода-вывода имеет возможность индивидуального управления переключением в энергосберегающий режим. Все порты ввода-вывода системы на кристалле Е5 совместимы с сигналами стандартного TTL-уровня, что позволяет использовать кристаллы Е5 совместно с существующими на сегодняшний день цифровыми электронными устройствами без использования специальных преобразователей уровня. Блок сопряжения с внешней памятью (Memory Interface Unit) предназначен для подключения к кристаллам семейства Е5 внешних устройств памяти как с параллельным, так и с последовательным интерфейсом. Напрямую к кристаллу Е5 можно подключать внешнюю память емкостью до 256К х 8, но количество адресных линий может быть увеличено до 32. При работе с "медленными" внешними устройствами возможно программное управление циклами ожидания. Блок сопряжения с внешней памятью может быть использован для доступа с внутренней системной шины к внешним периферийным устройствам. Контроллер ПДП (Direct Memory Access Controller) содержит два независимых канала ПДП. Скорость передачи данных при прямом доступе к памяти составляет до 40 Мбайт в секунду (т.е. 1 байт за такт). Существуют различные режимы ПДП – передача одиночного байта или передача блока данных. В любом случае передача данных по каналу ПДП сопровождается подсчетом циклической контрольной суммы. При одновременном использовании обоих каналов ПДП возможна организация обмена данными между различными областями памяти без участия микроконтроллера. Запросы на ПДП могут генерироваться как аппаратно, так и программно (Software-Initiated DMA Request). Есть еще одна важная особенность контроллера ПДП : канал прямого доступа может использоваться реализованным в программируемой логической матрице периферийным устройством в качестве промежуточного мастера (Proxy master) на системной шине. Блок JTAG – интерфейса служит для для загрузки конфигурации и исполняемого кода а также для внутрисхемной отладки устройств, содержащих в своем составе микросхемы семейства Е5. JTAGинтерфейс реализует стандарт IEEE 1149.1 и поддерживает следующие операции : SAMPLE/PRELOAD, EXTEST, INTEST, BYPASS, IDCODE. Кроме того, блок JTAG-интерфейса предоставляет разработчику доступ к внутренней системной шине и всем адресуемым регистрам "системы-на-кристалле". Специализированный блок внутрисхемной отладки (In-System Debugging Hardware Breakpoint Unit) позволяет задавать различные условия останова при выполнении программы. Условия, например, могут быть следующими : обращение по определенному адресу, выполнение определенной инструкции микропроцессора, чтение определенного значения по шине данных и другие. Одновременно можно задать две точки останова. В случае выполнения условия исполнение программы приостанавливается и разрешается доступ ко всем адресуемым регистрам Е5 через JTAGинтерфейс. Блок управления энергопотреблением обеспечивает индивидуальное разрешение или запрещение энергосберегающих режимов для всех узлов системы на кристалле, а также предоставляет возможность индивидуального управления энергопотреблением для каждого бита во всех портах вводавывода. При включении режима Power Down для всех блоков суммарное энергопотребление кристалла Е5 составляет не более 50 мкА. Система тактирования позволяет использовать в качестве задающего генератора либо внешний осциллятор, либо внутренний генератор Е5, стабилизированный кварцевым резонатором. Все выпускаемые серийно микросхемы семейства Е5 содержат идентичное микроконтроллерное ядро и набор перечисленных выше устройств, но отличаются объемом внутреннего статического ОЗУ, логической емкостью реконфигурируемой матрицы FPGA и количеством выводов. Значения этих параметров для всей устройств семейства Е5 приведены в таблице. Устройство Системное ОЗУ TE502 TE505 TE512 TE520 TE532 8K x 8 16K x 8 32K x 8 40K x 8 64K x 8 Количество ячеек конфигурируемой логической матрицы 256 512 1152 2048 3200 Количество выводов PIO 92 124 188 252 316 Важно отметить, что система на кристалле Е5 поддерживает различные режимы конфигурирования. Поскольку кристаллы семейства Е5 выполнены по технологии статического ОЗУ, они, подобно кристаллам FPGA, не имеют ограничения по количеству циклов реконфигурации. Возможны следующие режимы конфигурации : Параллельный – с использованием внешнего устройства памяти (FLASH, PROM, SRAM) с восьмиразрядной шиной данных; Последовательный – с использованием внешнего конфигуращионного ПЗУ с последовательным интерфейсом, аналогичного используемому для конфигурации FPGA; Конфигурация через JTAG-интерфейс; “Stealth”-режим, когда конфигурация хранится во внутреннем ОЗУ системы на кристалле, и в случае пропадания питающего напряжения поддерживается резервной батареей. При возврате напряжения питания происходит цикл реконфигурации. В этом режиме разработчик может запретить общение по JTAG-интерфейсу и доступ в внутреннему ОЗУ через блок сопряжения с памятью. Таким образом, используя “stealth”-режим разработчик может создавать системы с защитой от копирования. Для поддержки разработок на основе кристаллов CSoC семейства Е5 корпорация Triscend предлагает программную среду FastChip. FastChip построена таким образом, чтобы помочь разработчику экономить время при проектировании и, как следствие, значительно сокращать время выхода на рынок новых изделий. FastChip предоставляет пользователю полноэкранный графический интерфейс, позволяющий управлять всем процессом разработки системы на кристалле – от создания конфигурационного файла до внутрисхемной отладки устройства через JTAG-интерфейс. Для ознакомления со средой разработки, FastChip содержит удобный ин- терактивный справочник и тренировочный курс проектирования системы на кристалле. Как уже говорилось выше, система на кристалле семейства Е5 содержит микроконтроллерное ядро и репрограммируемую логическую матрицу. Поэтому среда FastChip имеет интерфейс со стандартными программными средствами разработки как для микроконтроллерного ядра, так и для программируемой логики. FastChip позволяет обмениваться исходными файлами на языках ассемблера и С со средой разработки приложений для микроконтроллера. При этом FastChip принимает обратно в качестве исходного готовый файл в hex – формате. Аналогично обстоит дело с обменом файлами со средами разработки приложений для программируемой логики – FastChip может генерировать исходные файлы на языке VHDL и импортировать файлы в формате EDIF. Среда FastChip содержит библиотеку параметризируемых логических модулей, которые могут быть включены в разрабатываемый проект по принципу Drag-and-Drop. Каждый модуль также может быть экспортирован в виде исходного VHDL-файла. Корпорация Triscend предоставляет обширную библиотеку модулей для схемного описания логических устройств с использованием пакетов WorkView Office и OrCad Capture. Перечислим некоторые модули, содержащиеся в библиотеке : Драйвер семисегментного индикатора; Аккумулятор; Сумматор/вычитатель; Двоичные счетчики; Регистр-защелка и сдвигающий регистр; Устройства памяти – RAM, ROM, FIFO; Порты ввода-вывода, в том числе двунаправленные и с тремя состояниями; UART; SPI-интерфейс; HDLC-приемник и передатчик, и многие другие. Библиотека параметризируемых модулей постоянно пополняется, ее обновления доступны на сайте Triscend Corp. www.triscend.com . Библиотечные модули можно использовать совместно с разработанными пользователем модулями. К другим достоинствам интегрированной в FastChip библиотеки можно отнести то, что все входящие в нее модули верифицированы и могут быть реализованы в любой микросхеме семейства Е5, в том числе и в будущих кристаллах. Процесс проектирования с использованием FastChip происходит в несколько этапов. На первом этапе разработчик производит инициализацию и настройку периферийных контроллеров (ПДП, сопряжение с внешней памятью и др.). При этом FastChip генерирует файл заголовка для компилятора (если разработчик пишет программу для микроконтроллера на языке С) или включаемый ассемблерный файл (если разработчик пишет программу на ассемблере). На втором этапе разработчик подключает к проекту устройства, реализованные в программируемой логической матрице, и задает их размещение в адресном пространстве микроконтроллера. При этом могут быть использованы параметризированные модули из библиотеки FastChip или импортированные EDIF-файлы. Эти EDIF-файлы могут быть получены посредством синтеза VHDL-описания (например, в синтезаторе Synopsys FPGA Express) или посредством преобразования схемного файла при графическом вводе (например, при использовании Workview Office или OrCAD Capture). На этом же этапе разработчик конфигурирует порты ввода-вывода и обеспечивает привязку входных и выходных сигналов к физическим выводам микросхемы. Второй этап завершается созданием обновленного файла заголовка (или включаемого файла), в который добавляется информация о распределении адресного пространства микроконтроллера и новых периферийных устройствах, размещенных в программируемой логической матрице. Третий этап заключается в создании исполняемого кода для микроконтроллерного ядра. Корпорация Triscend рекомендует использовать среду разработки фирмы Keil, содержащую ассемблер, компилятор С и полноэкранный отладчик-симулятор. Однако пользователь может использовать и другие программные продукты по своему усмотрению, например компиляторы фирм IAR Systems, Franklin Software, Tasking и других. В этом случае он лишается возможности проведения программной симуляции (тем не менее, в настоящее время специалисты Triscend ведут работы по поддержке программной симуляции системы на кристалле с использованием программных продуктов этих фирм). Полученный в результате компиляции (или ассемблирования) файл в шестнадцатеричном формате импортируется в FastChip, где разработчик осуществляет связь программной и аппаратной частей проекта. Полученный в результате выполнения процедуры связи файл в шестнадцатеричном формате может быть использован для про- граммной симуляции всего устройства в целом в отладчике dScope фирмы Keil (этот отладчик, наряду с ассемблером, компилятором и компоновщиком, является составной частью пакета Keil). На четвертом этапе разработчик в среде FastChip через JTAG-интерфейс загружает проект в физическое устройство. В зависимости от режима конфигурации, загрузка может производиться во внутреннее ОЗУ системы на кристалле или во внешнее Flash-ПЗУ. На последнем (пятом) этапе разработчик осуществляет внутрисхемную отладку проекта. Отладка производится в среде dScope через JTAG-интерфейс. Таким образом, среда разработки FastChip (особенно в комплексе с пакетом Keil C51 и синтезатором Synopsys FPGA Express) представляет собой современное мощное средство проектирования, позволяющее решать сложные инженерные задачи для разнообразных конечных приложений.