- •САПР Xilinx Foundation Series
- •ВХОД В СИСТЕМУ
- •Открытие нового проекта
- •ВВОД И РЕДАКТИРОВАНИЕ СХЕМЫ
- •Как задать размер листа и присвоить ему имя
- •ОСНОВНЫЕ ОПЕРАЦИИ
- •Выбор элемента
- •Перемещение элемента или фрагмента схемы
- •Удаление элемента
- •Присвоение имени элементу
- •Рисование цепи
- •Перемещение цепи
- •Удаление цепи
- •Присвоение имени цепи
- •Переименование цепи
- •Удаление имени цепи
- •Задание констант 0 и 1
- •ШИННЫЕ СОЕДИНЕНИЯ
- •Пример простого шинного соединения
- •Шинные контакты элемента
- •Правила соединений
- •Простые и сложные шины
- •Примеры шинных соединений
- •Редактирование изображения шины
- •Контроль соединений
- •Сохранение схемы
- •ФОРМИРОВАНИЕ СОБСТВЕННОЙ БИБЛИОТЕКИ МОДЕЛЕЙ ЭЛЕМЕНТОВ
- •СОЗДАНИЕ МАКРОЭЛЕМЕНТА НА ОСНОВЕ БАЗОВЫХ ЭЛЕМЕНТОВ
- •Создание макроэлемента
- •Выбор макроэлемента из библиотеки
- •Редактирование УГО макроэлемента
- •ВВОД И ОТЛАДКА МАКРОЭЛЕМЕНТА НА VHDL
- •Ввод описания макроэлемента
- •Ввод описания архитектуры объекта с использованием Language Assistant
- •Сохранение документа
- •Проверка синтаксиса
- •Редактирование текста описания
- •Синтез макроэлемента
- •Создание VHDL-макроса
- •Выбор макроса из библиотеки
- •Редактирование УГО макроэлемента
- •Коррекция VHDL-описания макроэлемента
- •Автоматическое создание модели памяти
- •Редактирование начального состояния памяти
- •ФУНКЦИОНАЛЬНОЕ МОДЕЛИРОВАНИЕ СХЕМЫ
- •Окно моделирования схемы
- •Выбор контрольных точек схемы
- •Удаление контрольных точек из окна моделирования
- •Изменение порядка имен в окне моделирования
- •Задание входных воздействий
- •Задание синхросигналов
- •Как отсоединить генератор от внешнего входа схемы
- •Задание входных воздействий в окне моделирования
- •Выполнение моделирования схемы
- •Сохранение результатов моделирования
- •Моделирование макроэлемента
- •РЕАЛИЗАЦИЯ ПРОЕКТА НА ПЛИС
- •ПОДГОТОВКА СХЕМЫ ДЛЯ РАЗМЕЩЕНИЯ ЕЁ НА ПЛИС
- •Универсальный лабораторный стенд
- •Макроэлементы органов управления стенда
- •Подключение макроэлементов стенда к проекту
- •РАЗМЕЩЕНИЕ СХЕМЫ НА КРИСТАЛЛЕ
- •ВРЕМЕННОЕ МОДЕЛИРОВАНИЕ СХЕМЫ
- •Измерение задержек на временной диаграмме
- •ЗАГРУЗКА ПРОЕКТА В ПЛИС
- •ПРОСМОТР РЕЗУЛЬТАТОВ РАЗМЕЩЕНИЯ СХЕМЫ
- •ВВЕДЕНИЕ В ЯЗЫК VHDL
- •ВЫБРАННЫЕ МЕСТА ИЗ ОПИСАНИЯ ЯЗЫКА VHDL
- •Структура описания объекта проекта
- •Интерфейс объекта проекта
- •Синтаксис
- •Тип сигнала
- •О правилах записи программы
- •Описание архитектуры объекта
- •Синтаксис
- •Параллельные операторы
- •Стили описаний архитектур
- •Элементы потокового проектирования
- •Элементы поведенческого проектирования
- •VHDL-стандарты IEEE
- •Пакеты std_logic_arith, std_logic_signed u std_logic_unsigned
- •Библиотеки и пакеты
- •Логические элементы
- •Триггеры
- •Мультиплексоры
- •Дешифратор
- •Сумматоры
- •Счетчики
- •Регистры
- •Исходные данные
- •Составление программной модели АЛУ
- •СПИСОК ЛИТЕРАТУРЫ
Рис. 19. Шинное соединение
8. После окончания нажмите правую клавишу мыши и в появившемся меню выберите режим Select and Drag.
Шинные контакты элемента
Элементы, доступные в библиотеках, могут иметь два вида контактов: одноразрядный и шинный (рис. 20). Каждый шинный контакт представляет собой упорядоченную совокупность одноразрядных контактов. Например, шинный контакт S[7:0] (см. рис. 20) представляет собой следующий набор одноразрядных контактов: S7, S6, S5, S4, S3, S2, S1, S0, где S7 — старший разряд.
Шинные контакты обеспечивают прямые подключения элементов через шины, т.е. с шинного выхода одного элемента на шинный вход другого.
25
Рис. 20. Типы контактов элемента
Правила соединений
При подсоединении шины к шинному контакту элемента подключения между проводниками шины и шинным контактом элемента определяются следующим образом:
старший разряд шины (левый индекс) подсоединяется к старшему разряду шинного контакта элемента (левый индекс);
число соединений определяется размерностью шин.
В случае неравной ширины шины и шинного контакта элемента некоторые члены шины или члены шинного контакта шины элемента остаются несвязанными.
Рис. 21. Примеры подключений шин к шинным контактам элемента
Согласно этому правилу в примере, показанном на рис. 21, бу-
дут произведены следующие подключения: |
|
|
|
DT7 A7 |
EA15 B7 |
XOUT8 |
S7 |
DT6 A6 |
EA14 B6 |
XOUT9 |
S6 |
|
26 |
|
|
DT5 A5 |
EA13 B5 |
XOUT10 S5 |
|
DT4 A4 |
EA12 B4 |
XOUT11 S4 |
|
DT3 A3 |
EA11 B3 |
|
|
DT2 A2 |
EA10 B2 |
|
|
DT1 A1 |
EA9 |
B1 |
|
DT0 A0 |
EA8 |
B0 |
|
Простые и сложные шины
Шина, состоящая из одноименных одноразрядных проводников, называется простой, или однородной, шиной. Например, А[7:0].
Шина, состоящая из простых шин и/или разноименных одноразрядных проводников, называется сложной, или составной, шиной. Все проводники и простые шины, входящие в сложную шину, должны иметь имя.
Составная шина состоит из нескольких названий (с указанием диапазона или без диапазона), отделенных запятыми:
NAME[F:L:I],NAME,NAME[F:L],
где F — первое число; L — последнее число; I — интервал между числами в указанном диапазоне. Если интервал не задан, то он принимается равным 1.
Примеры:
A[0:3],B,D[1:4] = A0,A1,A2,A3,B,D1,D2,D3,D4
A[2:1],B[3:0],C = A2,A1,B3,B2,B1,B0,C
Примеры шинных соединений
Далее рассматриваются тпичные примеры шинных соединений с использованием как простых, так и сложных шин, которые имеют место при выполнении технического задания на проектирование процессора.
При реализации алгоритмов умножения со сдвигом множимого вправо или влево необходимо загружать четырехразрядный операнд (множимое) в восьмиразрядный регистр, заполняя оставшиеся разряды (слева или справа) либо нулем, либо значением знакового разряда в зависимости от исходного представления числа. Не кон-
27
кретизируя тот или иной алгоритм умножения, покажем на частных примерах организацию соответствующих шинных соединений. Здесь не детализируется последовательность шагов, которые необходимо выполнить для получения требуемого соединения. Их выполнение было рассмотрено ранее и не нуждается в повторении.
Пример 1. На рис. 22 приведен вариант загрузки восьмиразрядного кода А[7:0] с использованием шинного соединения. Разряды А[7:4] представляют исходное четырехразрядное число, остальные разряды А[3:0], как следует из рис. 22, равны 0. В этом примере будут произведены следующие подключения к входам D[7:0] реги-
стра: A7 D7, A6 D6, A5 D5, A4 D4, 0 D3, 0 D2, 0D1, 0 D0.
Рис. 22. Подключение шин к шинным контактам элемента
Другие особенности приведенной схемы. Реверсивный регистр сдвига SR8CLED (см. рис. 22) закоммутирован на выполнение микроопераций загрузки и сдвига от Q7 к Q0. На последовательный вход данных SRI подклюючен выход Q7 регистра. Загрузка кода выполняется при Y1 = 1 и Y2 = 0 с поступлением синхроим-
28
пульса С. Сдвиг реализуется при Y1 = 0 и Y2 = 1 с поступлением синхроимпульса С. При сдвиге от Q7 к Q0 в освобождающийся разряд Q7 запишется его прежнее значение (см. рис. 22). Таким образом, однократный сдвиг загруженного кода А7, A6, A5, A4, 0, 0, 0, 0 даст на выходе Q значение A7, A7, A6, A5, A4, 0, 0, 0.
Пример 2. Рассмотрим вариант загрузки восьмиразрядного кода с использованием сложной шины. Допустим, необходимо в восьмиразрядный регистр загрузить четырехразрядное двоичное число A[3:0], а в остальные разряды регистра записать значение знакового разряда числа А3.
Рассмотрим по шагам потроение указанной шины.
1.Выберите на вертикальной панели инструментов кнопку «Ри-
сование шины» (Draw Buses) .
2.Щелкните левой клавиши мыши шинный контакт элемента, и затем, фиксируя расположение и повороты проводимой шины, щелчком левой клавиши мыши создайте требуемый рисунок шины.
Взавершении рисунка шины нажмите правую клавишу мыши, появится выпадающее меню (рис. 23).
Рис. 23. Рисование шины
29
3. Выберите в меню Add Bus Label (см. рис. 23). Откроется ок-
но Add Bus Terminal/Label (рис. 24).
Рис. 24. Окно Add Bus Terminal/Label
4. Погасите галочку в поле Simple Bus (см. рис. 24). Окно Add Bus Terminal/Label изменит свой вид (рис. 25). Вверху появится пример описания сложной шины, а поле, в котором задаются имена проводников, входящих в сложную шину, будет озаглавлено как
Complex Bus Label.
Рис. 25. Видоизмененное окно Add Bus Terminal/Label
30
5. В поле Complex Bus Label задайте требуемые имена проводников (рис. 26) и нажмите кнопку OK. На рисунке шины появятся введенные имена (рис. 27).
Рис. 26. Задание имен проводников
Рис. 27. Сложное шинное соединение
31