Новые возможности OrCAD 10.0
 

С. Кузнецова

Новые возможности OrCAD 10.0

В статье приведено краткое описание возможностей системы OrCAD для разработки проектов на базе программируемых логических устройств FPGA/CPLD. Из достоинств системы можно отметить высокую степень интеграции пакета и возможность поддержки языка описания аппаратуры Verilog. Правда, высокая стоимость продукта, а также необходимость приобретения дополнительных программных модулей NC VHDL Desktop и Synplify несколько снижают его конкурентоспособность по сравнению с системами Protel DXP компании Altium (www.protel.com) и Active-HDL компании Aldec (www.aldec.com).

Весной этого года компания Cadence (www.cadence.com) выпустила новую версию системы проектирования печатных плат OrCAD 10.0 (www.orcad.com). В этой версии просматривается ряд изменений, направленных на совершенствование возможностей проектирования FPGA/CPLD интегральных схем, реализация которых была начата в версии 9.2.3.

В частности, создана улучшенная среда проектирования, которая позволяет работать с программами синтеза фирмы Synplicity Synplify, с VHDL-симулятором программы Cadence NC VHDL Desktop, программами размещения и трассировки (place and route) фирм производителей микросхем Xilinx, Altera и Actel (все перечисленные программы должны быть предварительно инсталлированы на вашем компьютере). Работа с перечисленными программами осуществляется без выхода из пакета OrCAD Capture, обеспечивая непрерывный процесс проектирования устройства FPGA/CPLD, по окончании которого будет сформировано условное графическое изображение элемента для разработки печатной платы.

Доработана среда Verilog проектирования. Вдобавок к уже существующим возможностям проектирования на VHDL, OrCAD Capture обеспечивает Verilog- проекты текстовым редактором с подсветкой ключевых слов и проверкой синтаксиса. Специальная функция позволяет получить список готовых конструкций Verilog, которые могут быть вставлены в файл проекта. Также значительно улучшен процесс получения Netlist для Verilog.

Кратко рассмотрим процесс проектирования устройств с программируемой логикой. Перед этим введём несколько определений:

Проекты с программируемой логикой - это такие проекты, которые используются для разработки устройств FPGA и CPLD на базе специальных семейств микросхем различных фирм-производителей.

Структура проекта - совокупность модулей, которые должны содержать информацию, необходимую для выполнения всех этапов процесса разработки устройства. Она включает в себя: исходные описания проектируемого устройства в графической или текстовой форме; промежуточные результаты, используемые в качестве исходных данных для последующих шагов проектирования; отчёты о выполнении основных этапов проектирования; описания тестовых воздействий, необходимых для моделирования устройства; окончательные результаты проектирования, используемые для конфигурирования элемента.

FPGA (Field Programmable Gate Array) - базовые матричные кристаллы, например, устройства (кристаллы) Xilinx.

CPLD (Complex Programmable Logic Device) - сложные программируемые устройства, например, устройства типа ACTEL.

VHDL и Verilog - языки высокого уровня, предназначенные для описания аппаратуры HDL (High Device Language).

NC Desktop simulators - программа, использующаяся в качестве средства компиляции, моделирования и отладки устройства программируемой логики, описанного на языках высокого уровня описания аппаратуры VHDL и Verilog.

Synplify Synplicity - пакет программ для синтеза программируемых логических схем.

Программа OrCAD Capture, в совокупности с другими продуктами Cadence, предоставляет пользователю все необходимые средства для выполнения следующих этапов процесса проектирования: входного проектирования; функционального моделирования; синтеза, размещения и трассировки; моделирования задержек; генерации элемента.

При разработке проекта, включающего HDL-модели, следует помнить, что программа OrCAD Capture не поддерживает проекты на смешанных языках, а значит, все HDL-модели в проекте должны быть выполнены с использованием одного из языков: VHDL или Verilog.

Создание проекта

На этой стадии осуществляется физическое проектирование, начиная от выбора технологического и библиотечного базиса. OrCAD Capture предоставляет все средства для создания функционирующего проекта в схемотехнической форме, или в VHDL- или Verilog-моделях. При этом проект не обязательно должен состоять полностью из схемотехнических или HDL-моделей, программа Capture даёт возможность работать со смешанными проектами. Обычно на этой стадии процесса проектирования схемы создаются без расчёта временных характеристик.

Таким образом, если пользователь решил, что проект будет содержать программируемые логические матрицы, следует сразу выбрать нужный тип проекта при его создании: New / Project / Programmable Logic Wizard. Далее будет предложено выбрать тип кристалла и конкретное семейство. Список устройств, поддерживаемых версией OrCAD Capture 10.0, приведён в таблице.

Таблица. FPGA, поддерживаемые OrCAD версии 10.0

ACTEL Altera Xilinx
ACT1 Family Max 5000 Family XC3000A/L Family
ACT2 Family Max 7000 Family XC4000EFamily
ACT3 Family Max 9000 Family XC4000EXFamily
1200XL Family Flex 6000 Family XC4000XLFamily
3200DX Family Flex 8000 Family XC5200FFamily
40Mx Family Flex 10k Family XC9500TFamily
42MX Family   Spartan TFamily
54SX Family   Spartan XLFamily
  Spartan 2FFamily
  Virtex FFamily

Virtex 2FFamily
  Virtex EFFamily
  CoolpackFamily

После выбора нужного типа и семейства будет создан новый проект с подключенными библиотеками логических матриц и вентилей, из которых в дальнейшем будет формироваться указанное устройство. При этом появится новая панель инструментов с командами, обеспечивающими процесс его проектирования.

При работе с проектом такого типа появляются две папки PIC Resource и Simulation Resource, в них будут храниться данные для моделирования, файлы синхронизации и промежуточные списки соединений (Netlist). Структура такого проекта приведена на рис. 1. Для создания описания проектируемого устройства на языке VHDL или Verilog используется встроенный редактор этого языка, при этом ключевые слова подсвечиваются, пользователь в любой момент может проверить синтаксис или воспользоваться уже готовыми конструкциями (рис. 2).

Структура проекта с программируемой логикой
Рисунок 1. Структура проекта с программируемой логикой

Выбор готовых конструкций VHDL-описаний
Рисунок 2. Выбор готовых конструкций VHDL-описаний

Если схема проектируемого устройства была нарисована с использованием библиотечных примитивов, с помощью команды Properties к ней могут быть добавлены специфические свойства устройств фирмы-изготовителя.

При запуске процесса функционального моделирования программа OrCAD Capture выполняет компилирование библиотек от производителя и установку параметров. Компиляция библиотек производится только один раз, при последующих запусках её выполнять не нужно.

Функциональное моделирование

На этом этапе проектирования производится отладка проекта на обнаружение ошибок в проектируемой логике без временных расчётов. Для инициализации функционального моделирования используются ресурсы, размещённые в папке администратора проекта. При необходимости, для моделирования проекта могут быть использованы средства внешней программы NC VHDL Desktop.

В процессе функционального моделирования генерируются сигналы, подаваемые на входы проекта, и рассчитываются выходные сигналы, которые пользователь может сравнить с ожидаемыми результатами. Если результаты расчёта не соответствуют ожидаемым, пользователь возвращается к редактированию проекта. При необходимости, имеется возможность создания и включения в проект контрольных тестовых файлов для проверки модели TESTBENCH.

Запуск функционального моделирования осуществляется командой Simulate Preroute из меню Picflow. При работе с программой NC VHDL Desktop имеется возможность использовать интерактивный или пакетный режим для работы. Интерактивный режим позволяет взаимодействовать с модулем NC VHDL Desktop "на лету", в то время как пакетный режим вызывает его, чтобы запустить в фоновом режиме и выполнять моделирование в соответствии с указанными в существующем пакетном файле командами.

Система позволяет управлять процессом моделирования и передавать в программу NC VHDL Desktop специальные опции. Например, включить отображение процесса моделирования на дисплее с помощью опции Start Sim Vision (рис. 3) или запустить интерактивный режим с помощью опции Enter Interactive Mode. Все данные, полученные в результате функционального моделирования, сохранятся в папке PIC Resource в подпапке Preroute.

Просмотр результатов функционального моделирования
Рисунок 3. Просмотр результатов функционального моделирования

Синтез, размещение и трассировка

На данном этапе для проекта генерируется список соединений в формате EDIF, который передаётся во внешнюю программу синтеза логики Synplify компании Synplicity (www.synplicity.com). Полученный список соединений содержит всю необходимую информацию для средств размещения и трассировки ПЛИС, генерирующих материальную модель проекта, которая может быть использована для моделирования задержек (рис. 4).

Окно программы Synplify
Рисунок 4. Окно программы Synplify

Данная модель имеет иерархическую структуру и базируется на примитивных моделях, представленных в поставляемых производителем VHDL-библиотеках. При этом проект оптимизируется и из проекта удаляется избыточная логика.

Моделирование задержек

Временное моделирование позволяет рассчитать задержки в сигнальных трактах и убедиться, что временные характеристики поставляемых производителем микросхем не изменяют функционирования проекта. То есть, на данном этапе оценивается, что задержки распространения сигналов и некоторые другие параметры, например, форма фронтов сигнала, находятся в рамках допустимых пределов и не затрагивают логику проекта. Временные данные подключаются к проекту во время процесса размещения и трассировки (place and route) и имеют форму стандартного файла синхронизации (SDF) или аннотированного списка соединений.

Для расчёта задержек могут быть использованы входные сигналы, созданные на этапе функционального моделирования проекта с помощью средств NC VHDL Desktop. На этом этапе моделирования обнаруживается любое нарушение временных параметров, произошедшее в результате неправильной трассировки или логической реализации проекта. При обнаружении нарушений пользователь может вернуться на этап проектирования, чтобы найти более оптимальное решение или выполнить другую логическую реализацию. Ресурсы для этого вида моделирования сохраняются в папке Timer.

Генерация элемента

Как только результаты анализа будут полностью удовлетворять пользователя и будет получен конечный список соединений, с помощью функции Generate Part может быть сформирован элемент для последовательного использования в других проектах, в том числе, и для разработки печатной платы. Этот элемент представляет собой законченный FPGA/CPLD элемент, который является результатом процесса проектирования программируемой логики, который может быть включен в другой проект как самостоятельный компонент.

При создании элемента программа OrCAD Capture создаёт новую библиотеку и элемент с выводами, назначенными согласно спискам, представленным производителем микросхемы. Файлы "распиновки" для микросхем Actel, Vanits, Lattice, Xilinx включают номера выводов, имена сигналов и режим упаковки программируемых контактов в процессе размещения и трассировки. Контакты сортируются по именам в алфавитном порядке, входные контакты располагаются с левой стороны, выходные или двунаправленные - с правой стороны.

Функция Generate Part может создавать новые элементы или обновлять номера контактов уже существующих библиотечных элементов, используя опцию UPDATE pins on existing part in library, которая разрешает при техническом проектировании проекта программируемой логики обновлять символы элементов. По умолчанию, создаётся элемент с количеством контактов, равным количеству входных и выходных портов в таблице соединений.

Созданному элементу может быть присвоен определённый тип, определяющий его иерархию при системном моделировании. Это может быть:

  • Primitive - базовый библиотечный элемент;
  • Edif Non-primitive - элемент, подсоединяющий файл списка соединений в EDIF-формате;
  • Schematic View Non-primitive - элемент, подсоединяющий подчинённый лист электрической схемы;
  • VHDL Non-primitive - элемент, содержащий VHDL-модель;
  • Verilog Non-primitive - элемент, содержащий Verilog-модель.

Вы можете использовать сгенерированный элемент как библиотечный в схемах для других проектов, включая PCB-проект.

 
Автор документа: Сергей Гаврилюк , http://www.gaw.ru"
Дата публикации: 08.08.2007
Дата редактирования: 08.08.2007
Кол-во просмотров 3465
 
 Все новости одной лентой