3_1 (774787), страница 2
Текст из файла (страница 2)
Процесс функционального моделирования проекта активизируется двойным щелчком левой кнопки мыши на строке Simulate Behavioral Verilog Model в окне процессов Навигатора проекта (см. рис.2.6). Пример результата функционального моделирования спроектиро-ванного в лабораторной работе 1 устройства приведен на рис 2.9.
Рис. 2.9
При этом средствами пакета Web PACK ISE автоматически создается пакетный файл, который содержит последовательность команд управления программой ModelSim, необходимых для проведения сеанса функционального моделирования проектируемого устройства. Далее автоматически производится запуск средств моделирования, сразу после инициализации которых выполняется этот командный файл (если только параметр Use Automatic Do File не был установлен в состояние "выключено"). Информация о ходе выполнения пакетного файла отображается в консольной области основного окна программы ModelSim. При этом последовательно открываются дочерние окна этой программы, которые были указаны в параметрах инициализации. После завершения выполнения командного файла при необходимости моделирование может быть продолжено в интерактивном режиме.
Наибольший интерес для разработчика представляют результаты моделирования, которые отображаются в графическом виде в окне временных диаграмм программы ModelSim. Для раскрытия диаграммы на весь экран нажмем в правом верхнем ее углу на кнопку
. Для просмотра временных диаграмм необходимо выбрать требуемый масштаб изображения. Увеличение масштаба осуществляется с помощью кнопки
, расположенной на оперативной панели управления окна временных диаграмм. Чтобы уменьшить масштаб изображения, следует использовать кнопку быстрого доступа
на оперативной панели или команду Zoom Out. Однократное применение этих инструментов приводит к изменению масштаба в два раза. Для детального просмотра выбранного фрагмента временных диаграмм следует воспользоваться кнопкой
на оперативной панели или командой Zoom Mode.
Перемещение по временным диаграммам осуществляется с помощью элементов прокрутки, расположенных вдоль нижней и правой границ панели результатов моделирования в окне временных диаграмм. Кроме того, на оперативной панели имеются кнопки быстрого доступа
и
, обеспечивающие перемещение курсора в предыдущую или следующую точку переключения выбранного сигнала. Для измерения временных интервалов на диаграммах сигналов, полученных в результате моделирования, следует использовать дополнительные курсоры. Чтобы добавить еще один курсор, необходимо нажать кнопку
на оперативной панели управления. При наличии нескольких указателей активный курсор изображается сплошной линией, а остальные - штриховой. Поместив курсоры на границах измеряемого временного интервала, можно определить его длительность, которая отображается в нижней части окна диаграмм в виде разности координат указателей (рис. 2.10).
Рис. 2.10
Чтобы сохранить результаты моделирования в файле с другим именем, следует выполнить команду Save из всплывающего меню File основного окна программы ModelSim.
1.2. Описание функциональной модели проектируемого устройства на языке Verilog
Интерес также может представлять схемотехническое описание функциональной модели проектируемого устройства на языке высокого уровня для описания аппаратуры Verilog. Это описание можно просмотреть, открыв соответствующую вкладку View Verilog Functional Model процесса Design Entry Utilities (рис. 2. 11).
Рис. 2. 11
Для модуля shema получим следующий вид функциональной модели на языке Verilog:
////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 1995-2003 Xilinx, Inc.
// All Right Reserved.
////////////////////////////////////////////////////////////////////////////////
// ____ ____
// / /\/ /
// /___/ \ / Vendor: Xilinx
// \ \ \/ Version : 6.3.01i
// \ \ Application :
// / / Filename : shema.vf
// /___/ /\ Timestamp : 10/16/2008 09:27:47
// \ \ / \
// \___\/\___\
//
//Command:
//Design Name: shema
//
`timescale 1ns / 1ps
module shema(c,
clr,
pre,
Q);
input c;
input [4:0] clr;
input [4:0] pre;
output [4:0] Q;
FDCP tr_0 (.C(c),
.CLR(clr[0]),
.D(Q[3]),
.PRE(pre[0]),
.Q(Q[0]));
FDCP tr_1 (.C(c),
.CLR(clr[1]),
.D(Q[4]),
.PRE(pre[1]),
.Q(Q[1]));
FDCP tr_2 (.C(c),
.CLR(clr[2]),
.D(Q[0]),
.PRE(pre[2]),
.Q(Q[2]));
FDCP tr_3 (.C(c),
.CLR(clr[3]),
.D(Q[1]),
.PRE(pre[3]),
.Q(Q[3]));
FDCP tr_4 (.C(c),
.CLR(clr[4]),
.D(Q[2]),
.PRE(pre[4]),
.Q(Q[4]));
endmodule
1.3. Размещение и трассировка проектов
в кристаллах ПЛИС структуры CPLD
Этап реализации проектов (Implement Design), выполняемых на базе ПЛИС семейств CPLD фирмы Xilinх, включает в себя пять фаз (рис.2.12): синтез (Synthesize-XST, уже рассмотренный в лабораторной работе 1), трансляция (Translate), распределение ресурсов кристалла для реализации проектируемого устройства (Fit), программирование (Generate Programming File) и возможные дополнения (Optional Implementation Tools).
В процессе трансляции выполняется объединение всех списков соединений в формате EDIF, входящих в состав проекта, и информации обо всех ограничениях, которая содержится в файлах UCF и NCF (Netlist Constraints File). Результатом фазы трансляции является формирование логического описания проекта в терминах примитивов Xilinх низкого уровня с учетом временных и топологических ограничений, выполненного в формате NGD (Native Generic Database). На фазе Fit производится разбиение логического описания проекта, полученного на предыдущей фазе, на блоки в соответствии с ресурсами выбранного типа ПЛИС. При этом выполняется оптимизация с целью минимизации используемых (необходимых) ресурсов кристалла с учетом заданных ограничений. В результате выполнения процесса размещения и трассировки создается двоичный файл, который описывает использование физических ресурсов кристалла для реализации функций проектируемого устройства.
Рис. 2. 12
1.3.1. Установка параметров этапа реализации проектов, выполняемых на основе ПЛИС структуры CPLD
Перед активизацией процедур рассматриваемого этапа необходимо установить значения их параметров. Эти значения могут быть заданы отдельно для каждой фазы, например, перед ее активизацией, или единовременно для всего процесса в целом. В первом случае следует выделить в окне модулей строку модуля исходного описания проекта, например shema, а в окне процессов (рис.2.12) название соответствующей фазы этапа реализации, после чего нажать кнопку
, расположенную на оперативной панели Навигатора проекта, или воспользоваться командой Properties контекстно-зависимого всплывающего меню, которое выводится при щелчке правой кнопки мыши. Затем в появившейся диалоговой панели нужно установить требуемые значения параметров.
При втором способе в окне процессов (рис.2.12) выделяется строка с названием этапа Implement Design и далее выполняется та же последовательность действий, что и в первом случае. При использовании второго способа диалоговая панель параметров содержит пять страниц с закладками (рис. 2.13): Synthesis, Fitting, Reports, Simulation Model, Programming. Страница Synthesis содержит таблицу дополнительных параметров проекта, используемых на этапе реализации. Значения этих параметров описаны в работе №1. На странице Fitting (рис.2.13) расположены основные параметры управления процессом размещения и трассировки.
Рис. 2.13
Параметр Implementation Template позволяет разработчику выбрать стратегию оптимизации и соответствующие ей параметры процесса размещения и трассировки. Выпадающий список содержит следующие значения: Optimize Balance, Optimize Speed, Optimize Density. Значение Optimize Speed устанавливает в качестве критерия оптимизации - быстродействие разрабатываемого устройства. При выборе значения Optimize Density целью оптимизации является достижение максимальной плотности размещения проекта в кристалле (минимизация используемых ресурсов кристалла). Значение Optimize Balance, установленное по умолчанию, позволяет сочетать рассмотренные выше стратегии оптимизации.
Параметр Use Location Constraints управляет использованием информации о топологических ограничениях проекта в процессе размещения и трассировки. Выпадающий список возможных значений этого параметра содержит три элемента: Always, Never, Try. Если установлено значение Always, то процесс размещения и трассировки выполняется с учетом топологических ограничений. Значение Never блокирует информацию о топологических ограничениях проекта. При значении Try средства размещения и трассировки пытаются учитывать топологические ограничения, но при отрицательном результате эта информация игнорируется.
Параметр Output Slew Rate предназначен для управления длительностью фронтов выходных сигналов. Выпадающий список доступных значений содержит следующие варианты: Fast, Slow, Timing Driven. Значение Fast, установленное по умолчанию, задает режим быстрого переключения выходных сигналов. При выборе значения Slow снижается скорость изменения (увеличиваются фронты) выходных сигналов, что позволяет снизить уровень паразитных колебаний (шума) на выходах проектируемого устройства. Значение Timing Driven устанавливает скорость переключения выходных сигналов согласно спецификации. Следует обратить внимание на то, что если в модуле исходного описания или в файле ограничений явно задан режим переключения какого-либо выходного сигнала, то эти данные имеют более высокий приоритет, чем параметр Output Slew Rate.
С помощью параметра Default Powerup Value of Registers определяется состояние регистров (триггеров), устанавливаемое при включении напряжения питания. В выпадающем списке представлено три возможных значения: Low, High, FPGA Equivalent. Для кристаллов структуры CPLD используются только первые два варианта. Значение Low, установленное по умолчанию, соответствует состоянию логического нуля. Если выбрано значение High, то все триггеры реализуются таким образом, что при включении питания находятся в состоянии высокого логического уровня. При этом следует учитывать, что значение, указываемое с помощью атрибута INIT для какого-либо триггера или регистра, имеет более высокий приоритет по сравнению с параметром Default Powerup Value of Registers.















