Главная страница Автономные управляющие системы Group Create Section Начинается с ключевого слова GROUP CREATE Данный раздел требуется не всегда для групп, шин, или конечных автоматов, которые были созданы в исходных файлах проекта. Все узлы в группе должны иметь тип I/O. В Vector File, используемом для симуляции, узлы должны иметь имена, совпадающие с именами узлов, заведенными в файле-проекте, включая иерархический путь, если это необходимо Раздел заканчивается символом ; Пример GROUP CREATE groupABC = nodeA nodeB nodeC; Radix Section Начинается с ключевого слова RADIX с последующим указанием обозначения системы счисления Параметр необязательный По умолчанию принимается шестнадцатеричная система счисления Различают четыре системы В1М(двоичная), ОЕС(десятичная), НЕХ(шестнадцатиричная), ОСТ(восьмеричная) Раздел заканчивается символом , Пример RADIX DEC; Inputs Section Начинается с ключевого слова INPUTS Далее следует список узлов и/или имен групп В Vector File, используемом для симуляции, имена узлов должны совпадать с именами узлов в файле-проекте, включая иерархический путь, если это необходимо Пример INP0T databus elk OEN nodeA; Раздел заканчивается символом , В приведенном ниже примере, при задействовании следующей секции входных данных значения в предыдущей сек1;ии теряются Пример INPUTS А1 А2; START 0; STOP 25; PATTERN %Секция модели 1 со входами А1 и А2% ООО 0 0 1; START 26; STOP 50; PATTERN %Сехция модели 2 со входами А1 и А2% 0 10 10 0; INPUTS А1 В1; START 51; STOP 100; PATTERN %Секция модели 3 со входами А1 и В1% 110 0 11; Outputs Section Начинается с ключевого слова OUTPUTS Используется для описания выходов Аналогия с Inputs Section Пример OUTPUTS RCO QA QB QC, Пример OUTPUTS Al A2, START 0, STOP 25; PATTERN %Свкция модели 1 с выходами Al и А2% ООО 0 0 1; START 26; STOP 50; PATTERN %Секция модели 2 с выходами А1 и А2% 0 10 1 О 0; OUTPUTS Al Bl; START 51; STOP 100; PATTERN %Се1щия модели 3 с выходами Al и В1% Oil; Buried Section Начинается с ключевого слова BURIED. Используется для описания узлов Аналогия с Inputs Section Пример BURIED nodeQAO nodeQAl nodeQBO nodeQBl; Pattern Section Начинается с ключевого слова PATTERN В этом разделе используются данные предыдущих разделов Inputs, Outputs и Buried Section Добавление новых Inputs, Outputs и Buned Section очищает все предыдущие данные этих типов, т. е старые данные заменяются новыми (см примердля Inputs Section) Раздел заканчивается символом ; Vector File, используемый, чтобы создать WDF может содержать дополнительные разделы Combinatorial Section, Machine Section, Registered Section. Эти разделы игнорируются, если Vector File используется для моделирования Рассмотрим пример создания Vector File для восьмибитного сумматора Описание на AHDL sum8 .tdf SUBDESIGN S0M8 %8 разрядный сумматор без знака% ( elk-INPUT; а[7..0].INPUT = GND; Ь[7 0]:INPUT = GND; sum[7 .0].OUTPUT; cr. OUTPUT; VARIABLE c[7..1]:NODE; sum[7..0] DFF, cr:DFF; BEGIN sum[7 0] clk=clk, sum[7..0] prn=VCC; sum[7. .0] .clrn=VCC, cr.clk=clk; cr.prn=VCC; cr.clrn=VCC, If (a[0]sb[0])=VCC then sum[0]=GND; c[l]=VCC; Elslf (alO]#blO])==GHD then sum[0]=GNO, c[l]=GKD; Else sum[01=VCC; c[l]=GND; End If, FOR 1 IN 1 TO 6 GENERATE If (a[x]sb[i]Sc[i.l)==VCC then sum[i]=VCC; c[i+l]=VCC; Elslf (a[i.]#b[i]#c[i])=GND then sum[i]=GND; c[i+l]=GND; Elslf (((a[i]sb[i])#(a[i]tc[i])#(b[i]Sc[i]))S (a[i] Sb[i] Sc[i ]))=VCC then aum[i]=GND; c[i+l]=VCC; Else sum[i]=VCC, c[i+l]=GND; End If; END GENERATE; If (a[7]Sb[7]So[7])=VCC then sum[7]=VCC, cr=VCC; Elslf (a[7]#b[7]#c[7])==GND then sum[7]=GND; cr=GND, Elslf (((a[7]Sb[7])#(a[7]Sc[7])#(b[7]Sc[7]))Si (a[7] Sbt7] Sc[7 1))==VCC then sum[7]=GND, cr=VCC, Else aum[7]=VCC, cr=GND, End If, END; suniS .vec START 0; STOP 500; INTERVAL 25, RADIX BIN; INPUTS elk; PATTERN 0 1; START 0; STOP 500; INTERVAL 50; RADIX BIN; INPUTS a7 а6 a5 a4 аЗ a2 al aO b7 b6 b5 b4 b3 b2 bl OUTPUTS sum[7. 0] cr, PATTERN %a7 aS aS a4 aS a2 al aO b7 b6 bS b4 b3 b2 bl b0% 1 1 0 0 В данном примере будут сложены 6 пар двоичных чисел При этом будет звдан твктирующий меандр elk (тактирующий импульс для D-триггеров) с периодом повторения 50 не и скважностью 2 Начальным значением импульса будет О Преобразование будет проводиться от О НС до 500 не При начале симуляции необходимо отсутствие в рабочей директории соответствующего файла sum8 scf, т к иначе симулятор будет по умолчанию использовать файл не с расширением vec, а файл с расширением scf После процесса симуляции с использованием vec файла, файл с расширением scf будет создан автоматически На Рис. 2.25 показано окно поуровневого планировщика (Floor-Plan Editor), с помощью которого пользователь назначает ресурсы физических устройств и просматривает результаты разветвлений и монтажа, сделанных компилятором Окно поуровневого планировщика открывается при выборе опции FIccrplan Editcr в меню МАХ PLUS II В окне поуровневого планировщика мог/т быть представлены два типа изображения - Device View (Вид устройства) показывает все выводы устройства в сборке и их функции, - LAB View (Вид логического блока) показывает внутреннюю структуру устройства, в том числе все логические блоки (LAB) и отдельные логические элементы или макроячейки Рис. 2.25. Поуровневый планировщик МАХ PLUS II MAX+plus II - c:\maK2work\democlulator4fin1\deniOGb5 л 2lCuiien) Assignments) - Ftooiplan Ediloi Г:СЫр Name: Jdem06b5 (EPF10K50RI240-4) Coloi Legend ------------ -------------- □ Unastigned El Dedicated Input Ш Uniouled CD Row Fa lTiack OS Column FaitT rack rfl Carry/Catcade -i Local LAB Fan-Out - Chain* -only Unassigned Nodes (Pint:
i;r.5 Id Сс3 2/ 2.4. ПРОЦЕСС компиляции Сначала компилятор извлекает информацию об иерархических связях между файлами проекта и проверяет проект на простые ошибки ввода дизайнов Он создает организационную карту проекта и затем, комбинируя все файлы проекта, превращает их в базу данных без иерархии, которую может эффективно обрабатывать Компилятор применяет разнообразные способы увеличения эффективности проекта и минимизации использования ресурсов устройства Если проект слишком большой, чтобы быть реализованным в одной ПЛИС, компилятор может автоматически разбить его на части для реализации в нескольких устройствах того же самого семейства ПЛИС, при этом минимизируется число соединений между устройствами В файле отчета { rpt) затем будет отражено, как проект будет реализован в одном или нескольких устройствах Кроме того, компилятор создает файлы программирования или загрузки, которые программатор системы IVIAX PLUS ii или другой будет использовать для программирования одной или нескольких ПЛИС фирмы Aitera Несмотря на то что компилятор может автоматически компилировать проект, существует возможность задать обработку проекта в соответствии с точными указаниями разработчика Например, возможно задать стиль логического синтеза проекта по умолчанию и другие параметры логического синтеза в рамках всего проекта Кроме того, удобно задать временные требования в рамках всего проекта, точно указать разбиение большого проекта на части для реализации в нескольких устройствах и выбрать варианты параметров устройств, которые будут применены для всего проекта в целом Вы можете также выбрать, сколько выводов и логических элементов должно быть оставлено неиспользованными во время текущей компиляции, чтобы зарезервировать их для последующих модификаций проекта Компиляцию можно запустить из любого приложения IVIAX PLUS II или из окна компилятора Компилятор автоматически обрабатывает все входные файлы текущего проекта Процесс компиляции можно наблюдать в окне компилятора в следующем виде (Рис. 2.26) - опустошаются и переворачиваются песочные часы, что указывает на активность компилятора, - высвечиваются прямоугольники модулей компилятора по очереди, по мере того как компилятор завершает каждый этап обработки - под прямоугольником модуля компилятора появляется пиктограмма выходного файла, сгенерированного данным модулем Для
|
© 2000 - 2024 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования. |