Система автоматизированного проектирования программируемых аналоговых интегральных схем AnadigmDesigner 2. Часть 2
В раскрывающемся меню «Settings» объединены всевозможные настройки программного обеспечения AnadigmDesigner®2 и разрабатываемых устройств.
Все статьи цикла:
- Система автоматизированного проектирования программируемых аналоговых интегральных схем AnadigmDesigner 2. Часть 1.1. Знакомство с интерфейсом
- Система автоматизированного проектирования программируемых аналоговых интегральных схем AnadigmDesigner 2. Часть 1.2. Знакомство с интерфейсом
- Система автоматизированного проектирования программируемых аналоговых интегральных схем AnadigmDesigner 2. Часть 2
- Система автоматизированного проектирования программируемых аналоговых интегральных схем AnadigmDesigner 2. Часть 2.1. Особенности разработки проектов в среде программирования ПАИС Anadigm
- Система автоматизированного проектирования программируемых аналоговых интегральных схем AnadigmDesigner 2. Часть 2.2. Особенности разработки проектов в среде программирования ПАИС Anadigm
3.5. Раскрывающееся меню «Settings»
В раскрывающемся меню «Settings» объединены всевозможные настройки программного обеспечения AnadigmDesigner®2 и разрабатываемых устройств.
3.5.1. Настройки Active Chip
Это окно с несколькими закладками (рис. 1) предназначено для настройки параметров используемой активной ПАИС. Если в разработке используется несколько микросхем, то та из них, которая в данный момент является активной, будет подсвечена красным цветом. Если в разработке используется одна ПАИС, то она всегда является активной.
Закладка Clocks
Окно разработки AnadigmDesigner®2 допускает существование нескольких экземпляров микросхем, открытых одновременно. Обычно рекомендуется каждое из устройств синхронизировать общим сигналом, но это не является обязательным требованием. Для каждого устройства, участвующего в разработке, существует диалоговое окно для выбора настроек синхронизирующего сигнала на уровне отдельной ПАИС. Закладка Clocks пункта «Active Chip Settings…» меню «Settings» как раз и предоставляет такую возможность.
Параметры, установленные на данной закладке диалогового окна, распространяются только на ПАИС, которая в окне разработки является активной. Ее наименование отображается в заголовке диалогового окна. Наименование ПАИС используется при генерации С-кода, который будет подробно рассмотрен в разделе «Конфигурация хоста».
Master Clock
Все схемы на переключаемых конденсаторах и усилители со стабилизацией прерыванием нуждаются в постоянном синхронизирующем сигнале. Для AnadigmDesigner®2 необходимо установить значение частоты Master Clock, так как все вычисления программируемых параметров являются функциями от частоты синхронизирующего сигнала схем на переключаемых конденсаторах, определяемого как раз этой частотой. Верхнее поле для ввода диалогового окна установки параметров ПАИС предназначено для передачи этой информации в AnadigmDesigner®2.
Chopper Clock
Для корректной работы усилителей со стабилизацией прерыванием, входящих в состав аналоговых ячеек ввода-вывода, требуется правильно установить частоту синхросигнала (Chopper Clock). Установка более низких частот увеличивает время установления, тогда как установка более высокого значения приводит к снижению шумов от синхросигнала после линейных фильтров.
Sys Clock and Clock[3:0]
Это делитель системного синхросигнала, который формирует аналоговый синхросигнал из входной тактовой частоты. В дальнейшем частота системного синхросигнала делится на четыре синхросигнала, используемые всеми схемами на переключаемых конденсаторах (Clock[3:0]). Последний элемент управления этого диалогового окна определяет значение частоты синхросигнала, который будет выдан на вывод OUTCLK.
Закладка Chip
Дополнительные параметры настройки ПАИС включают в себя элементы управления энергопотреблением, подтягивающими резисторами иподдержку конфигурации ПЗУ. Так же, как и в меню Clocks, параметры, установленные на данной закладке диалогового окна (рис. 2), распространяются только на микросхему, которая в данный момент является активной.
Power Settings
AnadigmDesigner®2 может сконфигурировать ПАИС как для обработки широкополосных сигналов (High Bandwidth), так и для работы в режиме низкого энергопотребления (Low Power). Более подробно последний случай будет рассмотрен в разделе «Разработка проектов в режиме пониженного энергопотребления».
Enable Pull-ups
Внутренние подтягивающие резисторы, подключаемые к выводам устройства DIN, CFGFLGb и ACTIVATE — программируемые. Проставление «галочек» в соответствующих элементах управления в диалоговом окне вносит необходимые изменения в конфигурационный файл для их инициализации. Эти настройки не влияют на последовательный порт загрузки данных, что обеспечивает совместимость ПАИС Anadigm с внешним источником загрузки конфигурационных данных.
3.5.2. Окно Preferences
Диалоговое окно «Preferences…» содержит пять подчиненных диалоговых окон (рис. 3), доступ к которым осуществляется через соответствующие закладки. Назначение всех параметров для установки интуитивно понятно, за исключением некоторых из них, на которых стоит заострить внимание. Закладка Display содержит элемент типа «флажок» «Show wire labels», который управляет отображением всех этикеток проводов. На этой же закладке есть управляющий элемент «Enable Sound», позволяющий включить или отключить звуковое сопровождение всех действий в среде.
На закладке Wire содержатся элементы управления, устанавливающие значения «по умолчанию» для шрифта этикеток, цвета проводов и графического типа соединения.
Закладка Serial Port используется для установки типа последовательного порта.
3.6. Раскрывающееся меню «Dinamic Config»
AnadigmDesigner®2 не ограничивается только предоставлением средств для аналоговой разработки и формирования конфигурационного файла данных для ПАИС. Новое поколение САПР также позволяет генерировать С-код для микроконтроллеров и микропроцессоров, используемых при построении систем с динамическим переконфигурированием. Подробнее этот вопрос будет рассмотрен в разделе «Конфигурация хоста».
3.7. Раскрывающееся меню «Target»
Раскрывающееся меню «Target» предоставляет доступ к функциям, связанным с отладочной платой из комплекта AN221K04-DVLP2 или аналогичной. По умолчанию предполагается, что на отладочной плате находится микроконтроллер, работающий с версией Anadigm Boot Kernel (ABK), как, например, на плате из комплекта AN221K04-DVLP2. Допускается также использование платы пользователя с микроконтроллером с АВК.
При выборе этого пункта меню отображается информация о версии «зашитого» программного обеспечения АВК, используемого в данный момент.
3.8. Раскрывающееся меню «View» Toolbar
Этот «флажок» служит для отображения (или наоборот скрытия) панели инструментов, содержащей иконки операций. Как и в большинстве остальных программ, панель инструментов может быть перемещена к любой из трех сторон, или же оставаться незакрепленной в любой области экрана. Для того чтобы перетащить панель из верхней части окна, нужно нажать левую кнопку мыши на короткой вертикальной серой черточке в левом верхнем углу панели и переместить ее в нужное место.
Status Bar
Этот «флажок» служит для отображения (или наоборот скрытия) панели состояния в верхней части окна. Рекомендуется не скрывать эту панель, так как в ней отображается полезная для пользователя информация.
Zoom In и Zoom Out
Эти элементы управления (а также соответствующие им «горячие» клавиши i и o) служат для изменения масштаба изображения окна разработки. Эта опция наиболее полезна тогда, когда в разработке участвуют несколько ПАИС.
Refresh
Нажатие «горячей» клавиши r, соответствующей этому элементу управления, вызывает «перерисовку» экрана, что позволяет избавиться от различных искажений при редактировании.
3.9. Раскрывающееся меню «Tools»
Посредством этого меню осуществляется доступ к дополнительным программам из комплекта AnadigmDesigner®2. Первыми из таких дополнительных программ являются AnadigmFilter и AnadigmPID.
AnadigmFilter
AnadigmFilter — интуитивно понятный и чрезвычайно мощный инструмент анализа и синтеза фильтров, сопряженный с AnadigmDesigner®2. Он позволяет задать основные параметры фильтра и сразу же синтезирует необходимую структуру микросхемы, используя стандартные конфигурируемые аналоговые модули в среде AnadigmDesigner®2. САПР позволяет синтезировать практически любой фильтр с максимальной точностью аппроксимации его АЧХ. Более подробно эта программа будет рассмотрена в разделе «САПР фильтров AnadigmFilter».
AnadigmPID
AnadigmPID — это мощный инструмент для разработки схем пропорционально-интегрально-дифференциальных регуляторов (Proportional-Integral-Derivative). Более подробно эта программа будет рассмотрена в разделе «САПР AnadigmPID».
3.9.1. Раскрывающееся меню «Help» Help Topics
По выбору этого пункта меню открывается окно справки, содержащее хорошо организованную и полную подборку справочных материалов. Содержимое этих материалов включает в себя множество ссылок и хорошо проиндексировано.
What’s This? (Context Help)
По выбору этого пункта меню курсор мыши изменяет свой вид на стрелочку со знаком вопроса. Если теперь щелкнуть левой кнопкой мыши по любому элементу в окне разработки, то появится окно, содержащее соответствующую справочную информацию.
About AnadigmDesigner®2…
По выбору этого пункта меню открывается окно, содержащее информацию о версии программного обеспечения AnadigmDesigner®2.
3.10. Resource Panel
AnadigmDesigner®2 рассчитывает задействованные устройством ресурсы и вычисляет потребление энергии всякий раз при размещении очередного конфигурируемого аналогового модуля, при изменении каких-либо параметров КАМ или IO, а также при изменении настроек ПАИС. Панель ресурсов доступна для каждого элемента, участвующего в разработке, представляя информацию в графическом виде. Для вызова панели ресурсов щелкните левой кнопкой мыши по маленькому треугольнику, расположенному в центре правой стороны графического представления чипа (рис. 4).
AnadigmDesigner®2 учитывает значения всех настроек ПАИС, IO и КАМ и формирует оценку потребляемой мощности в милливаттах, которая выводится в верхней части панели ресурсов. Это значение пересчитывается каждый раз при внесении каких-либо изменений в разработку.
На панели ресурсов также отображается информация о физической связи использованных ресурсов с конкретными конфигурируемыми аналоговыми модулями. Щелчок левой кнопкой мыши по КАМ, отображенной в окне графического представления ПАИС, подсвечивает этот КАМ, а также связанную с ним информацию на панели ресурсов (рис. 4). Аналогично, если щелкнуть левой кнопкой мыши по соответствующей информации на панели ресурсов, то будет подсвечен соответствующий ей КАМ.
Часть 2. Особенности разработки проектов в среде программирования ПАИС Anadigm
1. Разработка проектов в режиме пониженного энергопотребления
Требование к пониженному энергопотреблению устройства — наиболее часто встречающийся случай при разработке проектов на базе ПАИС. AnadigmDesigner®2 имеет несколько возможностей для обеспечения экономичного режима в таких приложениях.
1.1. Режимы High Bandwidth и Low Power
По выбору пункта меню Settings ? Active Chip Settings… откроется диалоговое окно установок ПАИС. В этом диалоговом окне предоставляется возможность сконфигурировать устройство как для работы с широкополосными сигналами (режим высокого быстродействия), так и для работы в режиме экономии электропитания.
В экономичном режиме величина потребляемой мощности может быть снижена на 50–70% по сравнению с режимом высокого быстродействия. Если выбран режим «Low Power», то возле каждого КАМ в окне разработки появляется знак вопроса «?». Этот значок напоминает пользователям, что необходимо открыть диалоговое окно настроек КАМ и убедиться в их правильности.
1.2. Оценка потребляемой мощности (Power Estimator)
По щелчку левой кнопкой мыши на маленьком треугольнике, расположенном в центре правой границы схематического представления ПАИС, открывается панель ресурсов (рис. 5). Панель ресурсов содержит счетчик потребляемой мощности (Power Estimator), который полностью интерактивен и пересчитывает мощность потребления в режиме реального времени при внесении каких-либо изменений в разработку. Величина потребляемой энергии рассчитывается в милливаттах, программное обеспечение производит первичную аппроксимацию всех возможных внутренних влияний на эту оценку.
1.3. «Спящий» режим (Dynamic Sleep Mode)
При использовании динамического переконфигурирования ПАИС AnadigmDesigner®2 может генерировать С-код, представляющий разработку в целом. Этот код содержит функцию для формирования набора конфигурационных данных, которые при необходимости могут переводить устройство в «спящий» режим. Обычно управляющий контроллер вызывает функцию GetSleepData, после чего переконфигурирует устройство в соответствии с полученным набором настроек, переводя AN22хE04 в динамический «спящий» режим с очень низким энергопотреблением. В этом режиме все аналоговые функции отключены (за исключением функций осциллятора), и устройство потребляет от 1 до 10 мВт.
2. Форматы конфигурационного файла
2.1. Поток данных последовательного порта
По выбору пункта раскрывающегося меню «Configure ? Write configuration data to serial port» (или нажатием «горячей» комбинации клавиш Ctrl-w) AnadigmDesigner®2 передает конфигурационные данные устройству, подключенному к последовательному порту. Выбор используемого последовательного порта осуществляется на закладке «Serial Port» окна «Preferences».
2.2. Формат S-записи
Второй промышленный стандартный формат передачи программируемой информацией между устройствами — это формат S-записи. Файл становится легким для понимания, как только вы познакомитесь с его структурой. Первая и последняя пары строк файла в формате S-записи представлены ниже:
Разбор по полям первой S-записи в конфигурационном файле приведен ниже:
Разбор по полям последней S-записи в конфигурационном файле приведен ниже:
2.3. Шестнадцатеричный ASCII-формат файла
Шестнадцатеричный ASCII-формат файла — это не что иное, как представление строк конфигурационных данных в виде шестнадцатеричных ASCII-пар, разделенных последовательностью CR LF.
Первые пять байтов — это незначащие данные синхронизации (Dummy clocking data). Следующий байт — синхронизирующий (Sync Byte). Последующие 4 байта — это представление 32-битного кода JTAG ID для AN22хE04.
2.4. Бинарный формат файла
Бинарный формат файла — это конфигурационные данные без шестнадцатеричного ASCII-преобразования.
На рис. 6 показано содержимое бинарного файла. Для проверки его содержимого используется программа просмотра бинарных файлов. Сравнивая это представление с .ahf файлом, рассмотренным в п. 2.3, легко заметить взаимосвязь между пятью нулевыми незначащими байтами и четырьмя байтами JTAG ID в этих двух файлах.
2.5. Обратные файлы конфигурационных данных
Ниже приведены первые S-записи из двух конфигурационных файлов данных для одного и того же устройства. Первая — из «обычного» файла S-записей, а вторая — из обратного. Первый байт для обоих конфигурационных файлов фиксирован.
Бинарное представление первых байтов данных «D5» и «AB» следующее:
Как видно из примера, биты в каждом байте данных второго (обратного) файла следуют друг за другом в обратном порядке. Причина заключается в том, что данные поступают из последовательного EPROM в порядке, обратном тому, в котором они были запрограммированы. Это необычное поведение последовательных EPROM возникло еще тогда, когда они только появлялись на рынке, и с тех пор осталось неизменным. Данные должны быть сначала преобразованы к самому старшему (двоичному) разряду.
Если будут использоваться последовательные EPROM для загрузки ПАИС, которые не программируются в формате FILO (а большинство EPROM не программируется в таком формате), то следует предпочесть именно обратную версию как для .ahf, так и для .ms2 форматов конфигурационных файлов данных.
Необходимо иметь в виду, что формат конфигурационных данных, который следует выбрать при программировании ПЗУ, будет зависеть и от типа используемого программатора и его программного обеспечения.
3. Программа функционального моделирования
Пакет AnadigmDesigner®2 включает в себя удобную программу функционального моделирования, которая позволяет протестировать поведение схемы без проведения лабораторных исследований. Лабораторные приборы позволяют осуществить более точную оценку параметров схемы в различных условиях, но у пользователя может не быть всего необходимого для этих целей оборудования. Таким образом, программа функционального моделирования — удобная альтернатива лабораторным испытаниям для типовой разработки.
3.1. Первое знакомство с программой функционального моделирования
Интерфейс программы функционального моделирования интуитивно понятен и легок в изучении. Большинство этапов тестирования аналогично этапам при лабораторных исследованиях:
- Собрать схему.
- Подключить и настроить генератор сигналов.
- Подключить датчики осциллографа.
- Настроить параметры моделирования.
- Запустить процесс моделирования.
На рис. 7 показана частично разработанная схема, готовая к проведению измерений. Четыре щупа осциллографа размещены в точках, где необходимо посмотреть форму сигнала. «Горячая» клавиша для запуска процесса моделирования — F5. По завершении процесса моделирования всплывет окошко осциллографа (рис. 8), в котором будут отображены результаты для последующего анализа.
3.2. Принцип работы программы моделирования
Уравнения моделирования для каждого КАМ содержатся в виде текстовых строк в соответствующих .cam-файлах библиотек. Для КАМ с индивидуальным программным обеспечением уравнения моделирования содержатся в откомпилированных формах внутри исполняемых файлов системы. Откомпилированные уравнения используются во всех необходимых случаях, значительно увеличивая скорость моделирования. Если откомпилированная имитационная модель недоступна (например, разработанный пользователем КАМ или модуль, созданный в более поздней версии программного обеспечения), то программа в процессе моделирования вычислит уравнения модели, содержащиеся в .cam файлах при помощи интерпретатора; скорость моделирования при этом заметно упадет.
Используемый алгоритм моделирования не предполагает использования циклов с нулевой задержкой в разрабатываемых схемах. Циклы с нулевой задержкой — это циклы, содержащие модули с характеристикой «нулевой задержки», когда выход моментально реагирует на входные изменения без шагов промежуточной синхронизации.
Программа функционального моделирования AnadigmDesigner®2 создана для тестирования схем, в которых модули, участвующие в обработке аналогового сигнала, используют единый синхросигнал. У пользователя есть возможность использовать различные синхросигналы, но результат моделирования в этом случае может оказаться неверным. В таких случаях Anadigm не рекомендует использовать различные синхросигналы.
3.3. Генераторы сигналов
В разработке может быть использовано до восьми различных генераторов сигналов. Для каждого из них входной вывод (или пара выводов) должен быть подключен к Input Cell. Когда Input Cell сконфигурирована как дифференциальный вход, используйте генератор сигналов, у которого выводы сконфигурированы тоже как дифференциальные.
И «горячая» клавиша g, и иконка на панели инструментов «sine wave», и выбор пункта раскрывающегося меню Simulate ? Create Signal Generator добавляют иконку генератора сигнала к указателю мыши. Подведите ее к входным выводам Input Cell и нажмите левую кнопку мыши, чтобы разместить генератор. Нажмите правую кнопку мыши на изображении генератора сигналов для того, чтобы открылось окно соответствующих ему параметров.
3.3.1. Генератор импульсов
Генератор импульсов (рис. 9) позволяет сформировать единичный импульс (установите значение импульсного периода Pulse Period равным нулю) или последовательности импульсов. Управляющий элемент «Задержка импульса» (Pulse Delay) позволяет задержать на указанное количество секунд процесс генерации импульсов при моделировании.
Все генераторы поддерживают как дифференциальный, так и несимметричный выход. Если выбран дифференциальный выход, то открываются управляющие элементы для дополнительных настроек: обычного режима и дифференциальных напряжений смещения.
3.3.2. Генератор синусоидального, пилообразного и треугольного сигналов
Три вида генераторов стандартных сигналов: синусоидальной, пилообразной и треугольной формы имеют обычный набор настраиваемых пользователем параметров (рис. 10). Каждый из этих сигналов симметричен относительно виртуального нуля VMR. Устанавливая положительные значения напряжения смещения, сигнал смещается относительно VMR. Установленное по умолчанию значение смещения, равное нулю, означает, что сигналы симметричны относительно VMR.
3.3.3. Генератор прямоугольных импульсов
Генератор прямоугольных импульсов (рис. 11) имеет тот же самый набор параметров, что и рассмотренные выше, за исключением дополнительного параметра «Рабочий цикл» (Duty Cycle). Рабочий цикл может быть выбран таким образом, чтобы удовлетворить все возможные требования.
3.3.4. Генератор сигналов специальной формы
Генератор сигналов специальной формы (рис. 12) позволяет сформировать сигнал любой требуемой формы. Диалог выбора файла позволяет указать любой из файлов с расширениями .wav, .csv или .txt.
Форматы файлов .csv и .txt
Каждая запись в ASCII-файлах .csv или .txt содержит пару данных времени и амплитуды. Программа моделирования синтезирует кусочно-линейную форму сигнала. Первое поле в каждой записи — это значение времени (в секундах). Второе поле — это значение амплитуды (в вольтах). Поля в записи в файле .txt могут быть разделены либо пробелом, либо символом табуляции. Разделителем для файла .csv является запятая.
Программа Spread Sheet — удобная утилита для создания файлов данных кусочно-линейных сигналов. Значения могут быть указаны как в десятичном, так и в экспоненциальном форматах. При указании значений времени в экспоненциальном формате удостоверьтесь, что используете необходимое количество десятичных разрядов для представления каждого значения времени. Программа моделирования накладывает требование монотонного увеличения значений времени в файлах данных, описывающих кусочно-линейную форму сигнала. В случае обнаружения нескольких одинаковых значений времени будет сгенерирована ошибка.
Формат файла .wav
Опытные пользователи хорошо знакомы с форматом аудио-файлов .wav. В этих файлах форма сигнала закодирована, поэтому они не могут быть открыты пользователями. Распознается только РСМ-кодировка. Обрабатывается только первый канал информации (обычно левый).
3.4. Датчики осциллографа
В разработке может быть размещено до четырех датчиков осциллографа (рис. 13). Они могут быть размещены на любом активном проводе, входе или выходе КАМ или на любом элементе ввода или вывода (Input/Output Cell).
«Горячая» клавиша р, кнопка на панели инструментов «probe» или пункт раскрывающегося меню Simulate ? Create Oscilloscope добавляют иконку датчика к указателю мыши. Подведите указатель к тому месту в разработке, где вы хотите установить датчик, и щелкните левой кнопкой мыши, чтобы разместить его. Цвет датчиков соответствует цвету канала (луча) в окне осциллографа.
3.5. Настройка и запуск процесса моделирования
Посредством раскрывающегося меню Simulate ? Setup Simulation (рис. 14) можно задавать время начала и окончания процесса моделирования. Значения указываются в секундах.
Значение в поле Time Step (временной шаг) вычисляется автоматически как величина, равная половине самого высокого значения частоты системного тактового генератора. Количество повторений (поле Iterations) зависит от числа этапов моделирования. Количество повторений и временной шаг вычисляются только после нажатия кнопки Apply (Применить) или кнопки ОК.
Запуск процесса моделирования осуществляется путем выбора пункта раскрывающегося меню Simulate ? Begin Simulation, или же нажатием «горячей» клавиши F5. «Display Equations During Simulation Run» означает пошаговое выполнение моделирования. Обычно эту опцию выбирают только опытные разработчики. Статистические данные при моделировании могут быть использованы для определения длительности процесса моделирования. Все данные могут быть сохранены для последующего анализа.
3.6. Окно осциллографа: просмотр результатов моделирования
Окно виртуального осциллографа показано на рис. 15.
Каждый из просматриваемых сигналов окрашен в свой цвет в соответствии с цветами щупов осциллографа, размещенных на схеме. Отображение того или иного сигнала может быть включено или отключено путем нажатия соответствующей кнопки «Channel». Шкала отображения амплитуды сигнала может быть настроена при помощи элемента управления «Volts Per Division». При помощи элемента управления «Position» можно разделить сигналы по вертикали, что облегчает просмотр.
Одиночный вертикальный курсор можно перемещать внутри окна вправо или влево. Имеется четыре дисплея «Voltage», по одному для каждого из каналов, и один индикатор «Time». При перемещении курсора по горизонтали значения индикаторов Voltage и Time изменяются, отображая результаты процесса моделирования в каждый конкретный момент времени. Изменение положения луча осциллографа вверх или вниз при помощи задания величины «Position» никак не влияет на показания «Voltage».
Элемент управления «Time Per Division» позволяет масштабировать сигналы по горизонтали. Под окном просмотра имеется горизонтальный «движок», который позволяет перемещать сигнал по времени в случае, когда ширины окна не хватает для отображения всего сигнала. Дополнительные элементы управления включают или выключают отображение вертикального курсора («Cursor»), линий сетки в окне форм волн («Grid»), или закрывают окно («Close»).
Продолжение следует.