Микроэлектроника/Создание библиотеки для синтеза в LeonardoSpectrum: различия между версиями

м
мелкие правки
м (мелкие правки)
==Основные правила и ограничения описания библиотеки==
*Программа lGen требует по крайней мере двух элементов в библиотеке: элемент И-НЕ и инвертор.
::'''!''' ''{{info|Минимальный состав библиотеки в LeonardoSpectrum – это элементы типа И-НЕ, НЕ.'' }}
*В библиотеку должны быть добавлены элементы VCC (константа 1) и GND (константа 0) с соответствующими функциями.
*В именах элементов и портов не различаются строчные и прописные буквы.
В листинге 1.3 показан пример задания инвертора и одним, и другим способами.
 
: '''!''' ''{{info|В описании одной библиотеки синтеза нельзя использовать и тот, и другой подходы описания нагрузочных параметров элементов. Следует использовать только один из подходов для всех элементов библиотеки.''}}
 
Листинг 1.3
Таким образом, для библиотеки, состоящей из КМОП-элементов, определяющим при построении схемы будет динамический коэффициент разветвления N<sub>AC</sub>.
 
:'''!''' ''{{info|Коэффициент разветвления, рассчитанный по формулам (1.3)–(1.5), является максимальным значением, реально в синтезированной схеме он может ограничиваться требуемой суммарной задержкой блока, дополнительной емкостью связей и др.''}}
 
В листинге 1.4 приведено описание элемента И-НЕ, имеющего имя NA2. Описание данного элемента не имеет принципиальных отличий от описания инвертора, поэтому ограничимся только короткими комментариями по тексту листинга. Комментарий начинается с символа <tt>#</tt> и продолжается до конца строки.
сохраняется структурное описание схемы (netlist) на языке VHDL, которое представляет собой список связей между библиотечными элементами, входящими в схему. Для моделирования схемы в ModelSim (или другой системе моделирования) необходимо иметь VHDL-модели библиотечных элементов. Такие модели можно написать «вручную». Например, VHDL-модель инвертора, описанного в листинге 1.2, представлена в листинге 1.6.
 
'''!'''''{{info|При написании VHDL-моделей элементов библиотеки синтеза необходимо '''строгое соответствие''' имен портов и реализуемых функций в VHDL-моделях и в описаниях элементов для программы lGen.}}
'''соответствие''' имен портов и реализуемых функций в VHDL-моделях и в описаниях элементов для
программы lGen.''
 
{| class="prettytable"
signal NOT_B, NOT_A: std_logic ;
begin
NOT_B <= NOT B ; NOT_A <= NOT A ;
NOT_A <= NOT A ;
Y <= NOT_B OR NOT_A ;
end NETLIST ;
25

правок