Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Средства функционального проектирования



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

Разработка RTL-кода – это, как правило, циклический процесс, т.е. производится оценка его реализуемости, повторные изменения до тех пор, пока качество исходного кода не позволит его передать на этап логического синтеза.

Использование подобных средств направленно на обеспечение переносимости проекта с ПЛИС на ASIC (средств оценки дальнейшей реализуемости RTL-кода).

Средства оценки реализуемости RTL-кода включают:

1. проверку семантики;

2. учет целостности и завершенности проекта;

3. стиль кодирования;

4. временные ограничения;

5. анализ площади блоков;

6. анализ нетрассируемых структур;

7. анализ времени распространения сигнала.

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

Это позволит сократить число циклов при логическом синтезе и дает возможность передавать в дизайн-центры не список цепей в элементном базисе производителя, а RTL-код на языках VHDL или Verilog.

Пример. Компания LSI Logic и NEC для анализа проектов с учетом возможности и их реализации на своих структурных ASIC используют специально настроенную САПР компании TeraSystems.

Для получения качественного RTL-кода необходимо использовать средства моделирования. Для ПЛИС эти средства моделирования отличаются простотой, удобством отладки и низкой стоимостью. Для ASIC (в т.ч. и структурных) необходимо исключить любые ошибки в одном цикле. Поэтому средства логической и временной верификации моделирования отличаются высокой стоимостью. Наиболее популярными системами моделирования являются продукты компании Aldec, Cadence, Mentor Graphics и Synopsys. Средства Cadence и Synopsys ориентированы на ASIC, а Aldec и Mentor Graphics на ПЛИС. Фирма Aldec выпускает систему моделирования ActivHDL. Эта система обеспечивает интегрированную среду проектирования и моделирования для ПЛИС любых производителей, содержит средства групповой разработки, управления проектами и библиотеками, кросс-отладки и анализа тестового покрытия, текстовые и графические редакторы, а вместе с системой Riviera, включающей средства для верификации ASIC, предоставляет единую среду проектирования для всех возможных способов реализации проекта.


Лекция 25

Так как передача проекта на разработку топологии осуществляется на уровне списка цепей, разработчикам функционального уровня необходимо иметь средства логического и физического синтеза. Наиболее универсальным продуктом для решения этих задач является продукт компании Simplicity. Этот продукт позволяет проводить логический и физический синтез для ASIC и ПЛИС любых производителей, поддерживает моделирование ASIC на ПЛИС с возможностью разделения проекта на несколько ПЛИС и имеет средства отладки ПЛИС на уровне RTL-описания. Эта компания предоставляет также и средства синтеза для структурных ASIC. Эти средства работают в более крупном базисе, т.е. включающем мультиплексоры, триггеры, блоки памяти. Ряд крупных фирм используют продукты Simplicity для разработки структурных - LSI Logic и NEC.

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

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

 

Компании-производители структурных ASIC и средств САПР для них

1. Accel Chip;

2. LDec;

3. AMI Semiconductor;

4. Jujitsu;

5. Leopard Logic;

6. LSI Logic;

7. NEC Electronics;

8. Symplycity.

 

Под разработкой микросхемы на VHDL понимается разработка описания устройства с точки зрения алгоритма его функционирования. Как правило, используется концепция модулей, т.е. микросхема делится на несколько логических структур. В сложных системах их число может быть очень большим. В описании модуля указывается характеристика входных и выходных данных и алгоритм их взаимосвязи. Понятие «модуль» соответствует языку Verilog, который допускает описание одного модуля. А язык VHDL допускает несколько описаний.

Структура модулей иерархическая. Каждый модуль включает в себя экземпляры других модулей, выполняющих более простые процедуры. Сама микросхема также является модулем со своими входами и выходами. Например, надо разработать комбинационный модуль – сумматор. Сначала разработчик описывает одноразрядный двоичный сумматор с тремя входами и двумя выходами. Для описания многоразрядного сумматора описывается модуль, которое включает необходимое число модулей, описывающих одноразрядный сумматор. Результатом синтеза является логическая схема устройства (уровень логических элементов), при разработке, которой используются логические элементы из библиотеки логических элементов и описываются связи между ними. Состав модулей в библиотеки зависит от используемого базиса. Базис дает фирма-производитель.

Если мы изготавливаем полузаказную ИС (FPGA), то она проектируется из блоков более крупных готовых блоков. HDL-языки имеет достаточно развитые средства описания задержек сигналов в библиотечных модулях (либо в логических элементах, либо в блоках), и описания других временных характеристик для конкретных типов микросхем.

Далее происходит моделирование микросхемы по исходному описанию и по результатам синтеза. Т.к. исходное описание не учитывает конкретные временные характеристики элементов/блоков, а инженер часто описывает асинхронные процессы (триггеры, срабатывающие по уровню, а не по фронту синхросигнала), то возникает вопрос несоответствия результатов естественного и синтезируемого описания микросхем. Инженер устраняет причины такого несоответствия, корректируя исходное описание, проводит повторный синтез и опять проводит повторные испытания. Число повторных циклов может быть очень большим. После совпадения результатов, моделирование передается средством синтеза более низкого уровня. Далее производится размещение блоков на кристалле с учетом маршрутизации соединения. На основе этих результатов разрабатываются «маски» для изготовления микросхем. Если микросхема содержит цифровую и аналоговую часть, то дополнительно производится моделирование аналоговой части, и возможные помехи устраняются путем переразмещения элементов и блоков и получения новой топологии.


Лекция 26

Уровни кодирования на VHDL

1. уровень транзисторов (switch level) – HDL-языки позволяют описывать устройства в Понтиях отдельного MDP-MOS-транзистора и шин земля и питание. Потребность в таком описании возникает редко из-за большого уровня интеграции транзисторов в современных микросхемах. Применять этот уровень необходимо с большим вниманием, учитывая, что для разных базисов и для полузаказных ИС результат может очень сильно отличаться от задуманного.

2. уровень логически элементов (gate level) – наиболее часто применяемый. Описание микросхемы производится в понятиях инверсное " И", инверсное " ИЛИ" и т.д. далее синтезирующая программа приводит всю логику к базису, описываемому в библиотеке элементов. Этот уровень применяется для разработки небольших устройств.

3. уровень передачи данных или межрегистровых передач (data flow level or register transfer level). Т.к. число логических элементов может быть очень большим, то описание устройства происходит в понятиях передачи данных между регистрами. Далее программа логического синтеза переводит это описание на уровень логических элементов. Последовательность этого перевода такая:

a. разработка RTL-описания;

b. трансляция;

c. получение неоптимизированного непосредственного представления;

d. логическая оптимизация;

e. топологическое отображение и оптимизация с учетом заданных ограничений и библиотеки логических элементов;

f. получение оптимизированного описания на уровне логических элементов.

Трансляция RTL-описания микросхемы – это перевод RTL-описания в некоторое внутреннее преставление, при этом такие ограничения как площадь, временные характеристики и энергопотребление не учитываются. Неоптимизированное описание – это описание соответствующее внутренним структурам данных инструментов логического синтеза. Логическая оптимизации я – это упрощение логических выражений с помощью различны методов оптимизации. До этапа топологического отображения, описание устройства не зависело от метода его изготовления. На данном этапе программа синтеза переводит разработанное описание на язык конкретных элементов с учетом особенности их производства. Логические элементы (ячейки) могут быть как обычными элементами цифровой логики, так и микроячейками (мультиплексор, триггер, сумматор и т.д.). Из этих блоков строится микросхема. Каждая логическая ячейка сначала получает свою физическую интерпретацию, и вычисляются временные характеристики в формате, понимаемом средствами топологического синтеза.

 

Описание ячейки включает:

1. функциональность ячейки;

2. занимаемая ею площадь;

3. временные характеристики;

4. характеристики энергопотребления.

 

Такое описание находится в библиотеке элементов. В библиотеке стандартных модулей могут быть описаны АЗУ, АЛУ и различные периферийные устройства, если речь идет об СНК. При разработке СНК часть блоков может разрабатываться заново, а часть берется из библиотеки.

 

Условием записи модуля/блока в библиотеку является:

1. ясное описание блока;

2. хороший интерфейс;

3. документация на него;

4. необходимые комментарии;

5. испытательный стенд с надежными тестами.

 

Продажи обычно подлежит лицензия на разработку данного блока или всей СНК. Вычислительные заготовки различаются по гибкости своей настройки на условии потребителя: гибкие – описанные на языке VHDL на уровне межрегистровых передач, жесткие – логическая схема и EDIF-файл, твердая – маска под определенную технологию или прошивка ПЛИС. Гибкие заготовки, как правило, настраиваются в широком диапазоне и не зависят от технологий изготовления. Выигрыш от их применения – это не только уменьшение стоимости СНК, но и уменьшение его энергопотребления.

 

Чтобы проект был принят как гибкая заготовка, он должен иметь:

1. исчерпывающую ясную документацию;

2. текст описания на VHDL или Verilog в хорошем стиле для синтеза заготовка должна быть настраиваемой на технические условия потребителя;

3. хорошие средства верификации в виде стендов, исчерпывающих тестов и иногда опытных макетов;

4. четкая методика того, как вычислительное устройство вставлять в СНК, включающая надежные скрипты (это программа на макроязыке используемой САПР, автоматизирующая тестирование и создание жесткой и твердой заготовок).

 

Сейчас наиболее рациональным способом считается сборка СНК из готовых модулей или блоков. Есть платные и бесплатные библиотеки модулей. Бесплатный банк заготовок (модулей, блоков) создан по инициативе организаций, содействующий развитию технологий СНК, так е в этом могут принимать участие отдельные инженеры, желающие, чтобы их проект был общедоступным.


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-04-11; Просмотров: 562; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.023 с.)
Главная | Случайная страница | Обратная связь