Методические указания к выполнению лабораторных работ по дисциплин icon

Методические указания к выполнению лабораторных работ по дисциплин


Смотрите также:
Методические указания к выполнению лабораторных работ Факультет информатики и систем управления...
Методические указания по выполнению лабораторных работ для студентов дневной и заочной форм...
Методические указания к выполнению лабораторных работ Санкт-Петербург, 2007 г...
Методические указания к выполнению лабораторных работ по теоретической электротехнике Часть...
Методические указания к выполнению лабораторных работ по теоретической электротехнике Часть...
Методические указания к выполнению лабораторных работ по курсу «вычислительная техника и...
Методические указания к выполнению лабораторных работ 4 8 по курсу «Сопротивление материалов»...
Методические указания для выполнения лабораторных работ для студентов специальностей 220400...
Методические указания по выполнению лабораторных работ по дисциплине «Безопасность...
Методические указания к выполнению лабораторных и курсовых работ иркутск 2007...
Методические указания к выполнению лабораторных и курсовых работ иркутск 2007...
Методические указания к дисциплине по выполнению лабораторных работ (практикумов) для студентов...



Загрузка...


МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОУ ВПО «ИЖЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ»

КАФЕДРА «ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА»

МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ВЫПОЛНЕНИЮ

ЛАБОРАТОРНЫХ РАБОТ

по дисциплинам «Основы комплексной автоматизации проектирования и производства СВТ»

«Организация ЭВМ и систем»

(Часть I)


Ижевск 2008


УДК 681.32.003

Составитель: канд.техн.наук, доцент кафедры «ВТ» К. Ю. Петухов.


Методические указания содержат основные сведения по работе в САПР QUARTUS II v. 4.1 WEB EDITION, а также приводится описание лабораторного стенда SDK 6.1, способы его подключения и конфигурирования.

Методические указания предназначены для выполнения лабораторных работ по дисциплинам «Основы комплексной автоматизации проектирования и производства средств вычислительной техники», «Организация ЭВМ и систем».


Ил. 33. Табл. 2. Библиограф.: 2 назв.


Рецензент: канд.техн.наук, доцент кафедры «РАДИОТЕХНИКА»

О. Б. Юминов


 Петухов К. Ю.


Содержание

ВВЕДЕНИЕ………………………………………………………………………………...............4

2. Процесс Создания проекта ....….. 5


Начало создания проекта.......................................................................................................5

Создание нового файла проекта...……………...……………………............….……….....7

Ввод и редактирование схемы……………………………..……………………….….…...7

Рисование цепи……………………………………………………………………….…..…10

Присвоение имени цепи.…………………………………………………………………....11

Задание констант «0» и «1»………………………………………………………………...11

Рисование шины……………………………………………………………….………........11
^

3. Формирование собственной библиотеки


МАКРОЭЛЕМЕНТОВ……………………………………………………………………...….... 11

Создание макроэлемента……………………………………………………………..….....13

Выбор подсхемы из библиотеки……………………………………………...……..…......13

Редактирование УГО макроэлемента……………………………………………..…….....13


^ 4. КОМПИЛЯЦИЯ ПРОЕКТА…………………………………………………….……….…...14

5. моделирование схемы…………………………………………………18



6. ПОДГОТОВКА К РАЗМЕЩЕНИЮ СХЕМЫ……………………………….….….21

Редактор Назначений (Assignment Editor)………………………………………………...21

Поуровневый планировщик (FloorРlan Editor)……………………………………….…...23


7. реализация проекта на стенде SDK 6.1…..………………..….26


Особенности SDK-6.1…………………………………………………………….…….….26

Назначение SDK-6.1……………………………………………………………….…….....26

Подготовка схемы для размещения ее на кристалле…………………….…….………....27

Состав и параметры SDK-6.1………………………………………….………….………..28

Структурная схема SDK 6.1………………………………………………….………….....30

Конфигурирование ПЛИС…………………………………………….……….……….….29


8. ЛИТЕРАТУРА …………………………………………………………………………….....…34


ПРИЛОЖЕНИЕ……..………………………………………………….…….………..…….……35

Таблица распайки выводов и сигналов ПЛИС и элементов управления стендa…..…....35

Таблица каналов дискретного ввода-вывода…………………………………….………..36

Тест стенда SDK-6.1…………………………………………………...………….…….…..38


ВВЕДЕНИЕ




Основные возможности пакета Quartus II v.4.1:


  • Различные способы ввода поведенческих , потоковых и структурных описаний проекта

  • Интегрированные средства помощи для создания сложных проектов Mega Wizard & SOPC

  • Система синтеза проекта

  • Система размещения внутренних ресурсов и разводки ПЛИС

  • Система моделирования проекта

  • Система временного анализа и анализа потребляемой энергии проекта

  • Система программирования ПЛИС

  • Средства оптимизации быстродействия проекта - LogicLock

  • Система интеграции с другими САПР

  • Система проектирования блоков цифровой обработки сигналов (DSP)

  • Поддержка использования IP-модулей (IP-Cores - от англ. Intellectual Property – интеллектуальная собственность)

  • Поддержка ОС – Windows, Linux, Solaris, HPUS


Способы ввода описания проекта в рамках пакета Quartus II:


  • Текстовый ввод (VHDL, AHDL, VerilogHDL)

  • Посредством редактора памяти (Hex-, Mif-файлы)

  • Схемный ввод (Block Diagram File)

  • Импорт проекта из других САПР в виде списка соединений (EDIF Netlist File)

  • Использование мегафункций фирмы Altera и IP- модулей

  • Сочетание различных способов


Текстовый ввод описания проекта:


  • Возможности:

  • Нумерация линий

  • Использование заготовок языковых конструкций

  • Отображение ключевых слов цветом

  • Используемые языки

  • AHDL (Altera Hardware Design Language) - <файл.tdf>

  • VHDL (Very High Speed Integrated Circuit Hardware Description Language - язык описания аппаратных средств сверхбыстродействующих интегральных микросхем) - <файл.vhd>

  • VerilogHDL (Verilog Hardware Description Language) - <файл.v>


Схемный ввод описания проекта:


При схемном вводе описания проекта могут использоваться:

  • Простейшие логические элементы (примитивы)

  • Параметризируемые модули

  • Мегафункции компании Altera

  • Ранее созданные компоненты


^

Вход в систему



Для входа в систему Quartus II v.4.1 Web Edition необходимо на рабочем столе Windows дважды щелкнуть мышью пиктограмму системы:



^ Начало создания проекта


Работа в системе начинается либо с выбора уже существующего проекта File->Open Project… (Ctrl+J), либо с создания нового проекта File->New… (Ctrl+N).

Создайте новый проект: выберите из меню File пункт New Project Wizard… - мастер создания новых проектов. В открывшемся окне нажмите кнопку Next и в окне для задания текущей директории проекта заполните все строки (в данном случае текущий проект будет назван top и будет создана директория по адресу C:/Program Files/altera/Primer- рис.1), нажмите кнопку Next несколько раз до тех пор, пока не дойдете до окна «Device Family».


^

Рис.1 Меню задания текущей директории проекта




В окне «Device Family» выберите семейство «Cyclone», а на вопрос: «Хотите ли вы выбрать конкретную модель?» ответьте утвердительно.

В следующем окне «Select a Target Device» значение Speed Grade выберите равным 8, а тип кристалла – EP1C3T144C8 – это марка ПЛИС типа FPGA, использованной в лабораторном стенде.


Следующие файлы автоматически генерируются мастером ^ New Project Wizard:

- Project Configuration File – файл хранит конфигурацию проекта, Имя, задаваемое по умолчанию – <имя_проекта.quartus>. Может редактироваться в текстовом редакторе.

- Project Settings File - файл с установками проекта - имя, задаваемое по умолчанию – <имя проекта.PSF >.


^ Создание нового файла проекта


После создания нового проекта произведем создание нового файла проекта. Меню File пункт New… в открывшемся диалоговом окне Рис.2 выберем тип создаваемого файла.



^

Рис.2 Меню выбора типа файла проекта



На закладке Device Design File можно выбрать:


- АHDL File – создать файл с описанием проекта на языке AHDL,

- Block Diagram/Schematic File ­– создать описание проекта в виде схемы,

- EDIF File – файл Electronic Design Interchange Format,

- VerilogHDL File – создать файл с описанием на языке VerilogHDL,

- VHDL File – создать файл с описанием на языке VHDL.

Создадим файл, содержащий описание схемы. Для этого выберем пункт ^ Block Diagram/Schematic File и нажмем OK. На рабочей панели Quartus II откроется окно с файлом Block1.bdf, в котором и создадим наш проект.

!
Файлы графического редактора, созданные в Quartus II не могут быть открыты в системе Quartus 1.1 и более ранних версиях, включая САПР МАХ PLUS.

^

Ввод и редактирование схемы


Графический (Схемный) редактор позволяет увеличивать или уменьшать масштаб изображения проекта на экране, выбирать размер шрифта, задавать стили линий, получать зеркальное отображение, поворачивать выделенные фрагменты на 90, 180 и 270 градусов, задавать размер и ориентацию текущего листа схемы (рис. 3).


При создании схемы могут использоваться:

    • Простейшие логические элементы, триггеры, элементы ввода-вывода и другие элементы (primitives);

    • Параметризируемые модули (мегафункции, megafunctions) - созданные фирмой Altera модули с нефиксированными параметрами;

    • Ранее созданные (в текстовом или графическом редакторах) компоненты.

Для операций создания схемы применяется следующая панель инструментов (рис. 3).


Выбор / перемещение объекта
^

Рисование шины

Рисование цепи

Ввод текста

Рисование канала связи

Разместить блок

Разрешить выделять часть цепи





^

Открыть окно «Symbol»



Увеличить / уменьшить

Разрешить “Rubberbanding“ *



^

Во весь экран

Поиск (Ctrl+F)



^

Отразить зеркально

Повернуть на 900





^

Графические элементы



Рис. 3 Свойства панели инструментов

* “Rubberbanding“ или “Rubber-banding“ – от англ. «эластичное соединение, соединение резиновой нитью» (в компьютерной графике) – при выбранной функции соединение (цепь, проводник или шина) останется неразрывно связанным с элементом при его перетаскивании в другое место.

Рассмотрим процедуру создания простой схемы на примере. На рис. 4 приведена схема, которую следует ввести в графическом редакторе..






Рис. 4. Логическая схема


В схеме используются два элемента AND2 (2И) и один элемент NOR2 (2ИЛИ-НЕ). Эти элементы являются стандартными для системы Quartus II (т. н. «примитивы»), доступ к ним осуществляется как показано на рис. 5. Также можно просто ввести наименование элемента в поле «Name».




Рис. 5 Окно Symbol Tool

Подключите ко всем внешним контактам схемы входные и выходные элементы и дайте им названия (например, А1, А2, А3, А4 и F) (рис. 6);




Рис. 6. Логическая схема с подключенными внешними элементами


На рис. 7 показано как задать имя и тип элементов ввода-вывода в схемном редакторе.


Выберите объект, щелкните правой клавишей мыши, в появившемся окне выберите строку “Properties”

В окне “Pin name(s)” задают имя элементов ввода-вывода.

В окне “Default value” - значение по умолчанию (GND или VCC)


Рис.7 Окно Pin Properties

Рисование цепи


Создание новой цепи осуществляется путем рисования ее фрагментов. Фрагмент цепи - это отрезок, соединяющий два объекта. Объектом является либо контакт (входной или выходной) элемента, либо цепь. Таким образом, фрагмент цепи соединяет контакт с контактом, контакт с цепью, цепь с контактом.

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

Можно начать рисование фрагмента цепи и на свободном поле, но закончить его вы должны на объекте.

Щелкните на панели инструментов (рис. 3)

  1. кнопку «Рисование цепи» (Orthogonal Node Tool). Курсор примет вид перекрестия с маленькой пиктограммой цепи.

  2. укажите щелчком левой клавиши мыши первый объект или желаемую точку на свободном поле (начало фрагмента цепи), затем вторым щелчком - второй объект (конец фрагмента цепи). После этого на экране появится автоматически прорисованный фрагмент цепи.

  3. Повторите действия пункта 2 для рисования всей цепи.

Для перемещения цепи:

  1. Переместите курсор на цепь и нажмите левую клавишу мыши.

  2. Не отпуская клавишу, переместите цепь на требуемую позицию и отпустите клавишу мыши.

Для удаления цепи:

1. Щелкните мышью цепь, которую вы хотите удалить. Она будет выделена синим цветом. 2. Нажмите на клавиатуре клавишу Delete.

Присвоение имени цепи:

  1. Щелкните правой кнопкой мыши на цепи, которой вы хотите присвоить имя. Откроется окно Node Properties (рис. 8).

  2. Введите имя и нажмите кнопку OK.




Не отображать имя цепи



Рис. 8 Окно Node Properties

Задание констант «0» и «1»

Для подачи на вход элемента постоянного сигнала «0» необходимо подсоединить к нему символ «земля». Для этого из библиотеки элементов (кнопка «Symbol» на рис. 3 или выберите команду Edit->Insert Symbol) необходимо извлечь элемент с именем GND.

Для подачи на вход элемента постоянного сигнала «1» необходимо подсоединить к нему символ «питание». Для этого из библиотеки элементов необходимо извлечь элемент с именем VCC. Элементы удобно выбирать, задавая их имя в поле «Name».



^ Рисование шины

Для более наглядного представления схемы и создания удобств ее рисования в системе предусмотрено использование шин.

Шина - это совокупность одиночных проводников, изображаемая на рисунке одной утолщенной линией.

Имя шины состоит из идентификатора и индексных пределов, заключенных в квадратные скобки: BUS_NAME [X..Y], где X и Y - целые числа больше или равные 0.

Каждый проводник (сигнал), входящий в шину, получает имя шины и индекс: BUS_NAMEN, где n - индексное значение, заключенное между X и Y. Например, шина DATA[3:0] представляет набор дискретных сигналов:

DATA3, DATA2, DATA1, DATA0,

здесь DATA3 - старший бит шины,

а шина DATA[0:3] представляет тот же набор сигналов, но в обратном порядке:

DATA0, DATA1, DATA2, DATA3,

здесь старший бит шины - DATA0.

Это позволяет изменять соединения в схеме без удаления и перерисовки шинных соединений, для этого достаточно в имени шины поменять местами индексы X и Y.

!
^ Имя шины не должно заканчиваться цифрой. Иначе могут быть непредвиденные подключения. Например, шины DATA1[0:7] и DATA[0:10] совместно используют сигнал DATA10, который является членом обеих шин.


Для примера приведем схему шинного соединения:



Рис. 9. Шина BUS[5..0]c подключенными контактами


Как видно из рис. 9 выходы QА … QЕ сдвигового регистра (Shift Register) получают имена QА … QЕ и выходят на некую комбинационную схему.

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


^

3. Формирование собственной библиотеки МАКРОэлементов



При проектировании цифровых устройств может потребоваться элемент, отсутствующий в библиотеке моделей базовых элементов системы. В этом случае требуемый элемент можно создать на основе базовых элементов системы, а затем оформить его в виде подсхемы (макроэлемента) с прорисовкой условного графического обозначения (УГО). C этой задачей призван справляться Символьный редактор позволяет создавать и редактировать УГО (символ). Символьный файл имеет то же имя, что и проект, с расширением .bsf


^ Создание макроэлемента


Под макроэлементом понимается определенным образом оформленная и записанная в рабочую библиотеку проекта схема, которой поставлен в соответствие рисунок УГО. Макроэлементы целесообразно использовать для оформления функционально законченных частей сложного проекта. Само собой разумеется, что оформление схемы в форме макроэлемента выполняется после ее отладки.

1) Откомпилируйте проект, нажав кнопку ^ Start Compilation на верхней горизонтальной панели инструментов, или, выбрав пункт File->Processing->Start Compilation в главном меню);

2) Выполните команду File-> Create/Update->Create Symbol Files from Current File из главного меню. Появится сообщение о создании символа (УГО) – файл будет включен в вашу библиотеку (top .BSF), автоматически будет сформирован рисунок УГО.

^ Выбор подсхемы из библиотеки

Созданный системой рисунок УГО вы можете в дальнейшем использовать в своих схемах, а также при создании более сложных макроэлементов. Нажмите на панели инструментов окна редактора схем кнопку «Symbol Tool» . Появится диалоговое окно Symbol выбора модели элемента (рис. 10). В этом окне найдите и выделите имя макроэлемента. Затем выберите в поле рисования требуемую позицию для размещения УГО макроэлемента и нажмите левую клавишу мыши. Появится рисунок УГО выбранного макроэлемента.



Рисунок УГО макроэлемента


^ Рис. 10. Выбор макроэлемента

Редактирование УГО макроэлемента

Созданный системой рисунок УГО можно изменить по своему усмотрению.

Для редактирования УГО макроэлемента необходимо выполнить следующие действия:

  1. Выберите в папке проекта редактируемый макроэлемент (<имя_файла>.BSF) (рис. 11).



Рис. 11. УГО макроэлемента

  1. При помощи графических элементов панели инструментов отредактируйте изображение УГО макроэлемента (рис. 12).



Рис. 12. Отредактированный рисунок УГО макроэлемента

  1. Сохраните введенные изменения в УГО макроэлемента.

Чтобы увидеть логическую структуру макроэлемента, необходимо дважды щелкнуть мышью по УГО элемента.


^ 4. КОМПИЛЯЦИЯ ПРОЕКТА


После того как схематическое описание проекта введено в САПР Quartus II оно обрабатывается множеством специализированных инструментов (Tools). Вначале производится синтез проекта для перевода проекта из схематического описания в логические выражения. Затем в процессе, называемом «составление технологической карты» (technology mapping) определяется, как каждое логическое выражение будет представлено на логических вентилях кристалла.


^ Использование Компилятора (Compiler):


Специализированные инструменты доступные в Quartus II делятся на несколько модулей. Выполните команду Tools->Compiler Tool для просмотра пяти основных модулей (рис. 13).




^ Рис. 13 Инструмент Compiler Tool


- Модуль «Analysis & Synthesis» (Анализ и Синтез) обеспечивает функцию синтеза в САПР Quartus II. Он производит схему из логических элементов, в которой каждый элемент может быть отображен на требуемый кристалл.

- Модуль «Fitter» (Размещение и Трассировка) определяет конкретное место на кристалле для каждого логического элемента.

- Модуль «Assembler» (Сборщик) генерирует конфигурационные файлы для прошивки ПЛИС.

- Модуль «Timing Analyzer» (Временной Анализатор) позволяет разработчику анализировать работу проектируемой логической цепи после того, как она была синтезирована и оптимизирована компилятором. Разработчик может исследовать все пути прохождения сигналов в проектируемой логической цепи и определить критические задержки в цепях.

- Модуль «EDA Netlist Writer» - подготавливает список сетей для других САПР.

Все эти модули управляются программой-приложением, называемой компилятором. Компиляция предусматривает синтез проекта, т. е. построение базы данных и оценку быстродействия объекта компиляции.


В Quartus II предусмотрено несколько способов компиляции проекта. Доступ ко всем режимам компиляции осуществляется через меню File->Processing->Start (рис.14). Компиляцию можно остановить в любой момент, просто нажав кнопку «Stop Processing» на главной панели инструментов.



кнопка «^ Stop Processing»



Рис. 14 Меню File->Processing->Start


Перед осуществлением компиляции, если еще не выбран тип кристалла, то его необходимо выбрать. Для этого выберем пункт Assignments(Назначения)->Device… В открывшемся окне в строке Family выберем семейство Cyclone, а в окне Available Devices выберем нашу микросхему – EP1C3T144C8. Нажатием кнопки OK подтвердим выбор кристалла.

Существует такое понятие, как объект компиляции «Focus Points». Это такой компонент в иерархии описаний проекта, который будет компилироваться так, как если бы он был компонентом верхнего уровня в иерархии описаний. Файл верхнего уровня в иерархии описания проекта (Top-level entity) является объектом компиляции по умолчанию (рис. 15).



^ Рис. 15 Пример назначения Focus Points


Для запуска процесса компиляции выберем пункт Start Compilation из меню Processing или нажмем Ctrl+L. Подтвердив сохранение текущего файла, ожидаем окончания процесса компиляции. По окончании компиляции появляется окно Compilation Report с сообщениями о результатах компиляции, количестве ошибок и предупреждений.

Индикация процесса компиляции осуществляется следующим образом (рис. 16):

- опустошаются и переворачиваются песочные часы, что указывает на активность компилятора, процент завершения компиляции постепенно увеличивается до 100% и время, прошедшее с начала компиляции;

- один за другим высвечиваются прямоугольники модулей компилятора, по мере того как компилятор завершает каждый этап обработки;

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



Окно отчета появляется автоматически после окончания компиляции. Оно содержит:

  • сводную информацию (поле Summary)

  • детальную информацию, разбитую по отдельным разделам.

  • модули компилятора

  • окно обработчика сообщений


Рис 16 Окно Compilation Report


Возможно переключение режима отображения результатов в режим измерительных приборов. Для этого необходимо нажать правую кнопку мыши в поле Summary (рис. 16) и выбрать пункт Gauge Summary (Измерительные Приборы - Итог). Любой датчик можно переключить в режим отображения результатов в процентном соотношении (Percent) (рис. 17).



Рис. 17 Режим Gauge Summary
^

5. моделирование схемы




Создание временных диаграмм (временное моделирование) в САПР QuartusII (Waveform entry) осуществляется одним из следующих способов:

    • .vwf (vector waveform file) – файл редактора временных диаграмм пакета Quartus II

    • .vec (vector file) – векторный файл, использовавшийся в пакете MAX+PLUS II, поддерживается для обратной совместимости пакетов

    • .tbl (table file) – табуляционный файл, используемый для импортирования временных диаграмм, созданных в пакете MAX+PLUS II (.scf), в пакет Quartus II

    • Создание тестовых воздействий на языке Tcl/TK

    • Использование систем моделирования сторонних производителей (Modelsim, ActiveHDL и др.)

    • Создание тестов на языках Verilog и VHDL.

Перед началом симуляции требуется задать файл временных диаграмм – ^ File->New->Other Files->Vector Waveform File. Откроется окно моделирования (рис. 18).




Рис. 18 Окно моделирования схемы

Сохраните файл под именем top.vwf. Задайте желаемый временной интервал моделирования равным 1 мкс - ^ Edit->End Time и загрузите список входов и выходов схемы, для которых необходимо провести симуляцию. Для этого дважды щелкните в левом свободном поле (рис. 18) или выберем команду Edit->Insert Node or Bus в главном меню. Появляется окно Insert Node or Bus (рис. 19), в котором нажимаем кнопку Node Finder…


Рис. 19 Окно Insert Node Bus


В окне Node Finder в поле Filter (Фильтр) устанавливаем Pins:all (Выводы: все) и нажимаем List (Отобразить) и переводим найденные входы и выходы в выбранные (т. е из левой части в правую). После чего последовательно нажимаем ОК до выхода. Результат приведен на рис. 20.




^ Рис. 20 Список всех входов и выходов


Выделяя необходимые сигналы на требуемом интервале времени, при помощи панели инструментов (рис. 21), задаем на данном интервале необходимые логические уровни из меню сигналов, расположенного непосредственно над выделяемой областью. Для навигации в окне симуляции удобно пользоваться комбинациями горячих клавиш Ctrl+Shift+Space – для уменьшения масштаба и Ctrl+Space – для увеличения (или удерживая клавишу Ctrl крутить колесико мыши).


^

Неинициализированный

Принудительно в 0

Принудительно в 1




Задать неопределенным




^

Слабый неизвестный




Без разницы

^

Высокоимпедансный

Слабая 1



Слабый 0




^

Интервал счета

Инвертировать



Задать частоту



Сортировка



^

Привязать к сетке

Задать значение (знаковое, беззнаковое,

десятичное, двоичное, восьмеричное)




Неинициализированный

^

Ввести комментарий




Масштабирование




Во весь экран

Поиск

^

Инструмент ручного редактирования






Рис. 21 Панель инструментов для задания векторов сигнала





Рис. 22 Окно симуляции после задания векторов сигналов

После задания всех уровней сигналов запускаем симуляцию. Для запуска системы моделирования могут использоваться следующие команды:

    • Processing =>Start Compilation & Simulation

    • Processing => Start Simulation

    • Иконка на главной панели инструментов.

Просмотреть результат моделирования в виде временной диаграммы можно, если в разделе Simulator выбрать Simulation Waveforms (рис. 23).


Обобщенные результаты

Отчет о результатах моделирования

Simulation Waveforms



^ Рис. 23 Отчет о результатах моделирования


Отметим, что САПР Quartus II позволяет проводить сравнение двух временных диаграмм. Для этого, находясь в режиме просмотра файла временных диаграмм, нужно выбрать в меню View пункт Compare to Waveforms in File… и указать тот файл временных диаграмм, с которым нужно произвести сравнение.


^ 6. ПОДГОТОВКА К РАЗМЕЩЕНИЮ СХЕМЫ


Для размещения схемы, созданной в системе Quartus II, непосредственно на кристалле необходимо задать физическое отображение (иначе - назначение, распределение, задание) созданных элементов ввода - вывода (input/output) на реальные выводы конкретной ПЛИС. Эту задачу призван выполнять Редактор Назначений (Assignment Editor). Для доступа к нему выполните команду Assignments->Assignment Editor или нажмите Ctrl+Shift+A.

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

Окно Редактора Assignment Editor состоит из четырех вкладок – ^ Category (Вид), Node Filter (Фильтр Цепей), Edit (Редактирование), Information (Информация) и главной таблицы (рис. 24).

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

Вкладка Node Filter отображает все назначения только для цепей, указанных фильтром. Галочка «^ Show assignments for specific nodes» должна быть включена.

Вкладка Edit позволяет вводить и изменять значения в таблицу назначений.

Вкладка Information отображает справочную информацию о конкретной ячейке таблицы.



Номер назначения




^ Рис. 24 Редактор Assignment Editor


Данный редактор поддерживает Систему динамической проверки назначений (Dynamic Checking of Assignments) (рис. 25), которая обеспечивает:

- проверку допустимости назначений в процессе их ввода;

- отображение цветом статуса назначения.


Если назначение выделено:

- коричневым цветом – это значит, что назначение неполное,

- черным – назначение активно,

- зеленым – новое назначение может быть задано,

- серым – назначение отключено,

- красным – назначение содержит ошибку,

- желтым – назначение содержит предупреждения (warnings), например, из-за неизвестного имени цепи.



^ Рис. 25 Проверка назначений


Все заданные назначения хранятся в файле <имя_файла>.pin. Файл будет автоматически создан пакетом Quartus II при компиляции. В рабочей папке проекта может быть несколько файлов <имя_файла>.pin.


Теперь рассмотрим возможности FloorРlan Editor (Редактора Общей Топологической Структуры ПЛИС или Поуровневого Планировщика), с помощью которого пользователь назначает ресурсы физических устройств и просматривает результаты разветвлений и монтажа, сделанных компилятором.

В окне поуровневого планировщика могут быть представлены два типа изображения:

1)^ Chip Editor (Редактор кристалла) показывает все соединения устройства в сборке и их функции;

2) Timing Closure Floorplan представляет собой проект, размещенный внутри кристалла - показывает внутреннюю структуру устройства, в том числе все логические блоки (LAB) и отдельные логические элементы или макроячейки.

В окне Compilation Report выберем из меню ^ Fitter пункт Floorplan View или выберем Assignments->Timing Closure Floorplan. Окно Floorplan View изображено на рис. 26. На этом рисунке представлено укрупненное внутреннее содержимое выбранного нами кристалла с назначенными выводами. Внутреннее содержимое кристалла типа FPGA представляет собой совокупность логических блоков, каждый из которых содержит по 10 логических элементов.


Легенда

Show detail

(показать детально)

Логический блок

Логический элемент



Рис. 26 Floorplan Editor для кристалла типа FPGA


Окно Floorplan View, изображенное на рис. 27, соответствует проекту, реализуемому на базе ПЛИС типа CPLD (МАХ 3000А). Представлены макроячейки этой ПЛИС, которые, как известно, организованы в логические блоки по 16 в каждом.

Вместо того, чтобы отображать логические блоки, бывает полезно взглянуть на то, где конкретно расположены нужныевыводы ПЛИС. Для этого перейдите (View->Package Top) к виду сверху или снизу (View->Package Bottom).




Рис. 27 Floorplan Editor для кристалла типа CPLD


^

7. реализация проекта на стенде SDK 6.1



После отработки логической схемы с использованием функционального моделирования необходимо поместить её на кристалл. Затем выполнить моделирование схемы с учетом фактических задержек элементов, полученных после размещения схемы на кристалле. При необходимости откорректировать полученные решения. После чего осуществляется загрузка схемы в ПЛИС и отработка её на макете (рис. 28).


^

Верификация проекта




Создание и модификация проекта

Функциональное


моделирование






Реализация проекта на ПЛИС


Временное

моделирование



Загрузка проекта в ПЛИС


Отработка проекта на стенде



Рис.28 Этапы проектирования цифрового устройства на ПЛИС


^

Подготовка схемы для размещения её на кристалле


Перед помещением схемы на кристалл её необходимо надлежащим образом подготовить. Для этого следует определить, какие точки схемы будут выводиться на внешние контакты корпуса ПЛИС. Контакты корпуса ПЛИС уже распаяны на печатной плате универсального лабораторного стенда и выведены на его органы управления (клавишные переключатели, тумблеры и индикаторы). Поэтому подготовка схемы сводится к подключению органов управления стенда.


Назначение SDK-6.1


Учебный лабораторный комплекс SDK-6.1 предназначен для обучения основам проектирования современных электронных модулей на базе микросхем программируемой

логики (ПЛИС) средней и большой степени интеграции. Внешний вид стенда изображен на рис. 29. В SDK-6.1 использованы ПЛИС фирмы ALTERA семейства CYCLONE и МАХ3000. Кроме того, стенд оснащен постоянной и оперативной памятью значительного объема, разнообразными интерфейсными каналами, устройствами консольного ввода-вывода, надежной системой электропитания, что позволяет применять его в качестве прототипа при разработке разнообразных электронных модулей: контроллеров и приборов.





Рис. 29 Внешний вид учебного стенда SDK-6.1


Особенности SDK-6.1


·    ПЛИС семейства Cyclonе фирмы Altera, установленная в SDK-6.1, обладает достаточной емкостью для реализации проектов различной сложности: от простых автоматов до процессорного ядра NIOS/NIOSII (Altera)

·   Стенд оснащен подсистемой памяти (FLASH, EEPROM), необходимой для построения полнофункционального  вычислительного ядра.

·    SDK-6.1 может функционировать автономно, без подключения к инструментальному компьютеру.

·    Допускается хранение во внутренней FLASH-памяти и загрузка по выбору до 16 конфигурационных файлов ПЛИС.

·    Ввод конфигурационного файла с ПК в ПЛИС может осуществляться через порты RS232 с помощью адаптера BBA 1.0, или по интерфейсу JTAG с помощью адаптера ByteBlasterMV.

·    JTAG-порт обеспечивает поддержку механизмов внутрисистемной отладки.

·    Повышенная надежность системы электропитания: диапазон 9..36В, встроенный супервизор напряжения и корректного перезапуска.

·    Конструкция стенда может быть модифицирована для установки на монтажную рейку DIN35 при необходимости использовании стенда в промышленных условиях




Состав и параметры SDK-6.1


− основная ПЛИС EP1C3T144-8 (Altera)

− вспомогательная ПЛИС EPM3128ATC100-10 (Altera)

− объем памяти конфигураций (FLASH) 1 Мбайт

− объем EEPROM I2C 256 байт

− количество хранимых конфигураций ПЛИС 8 шт

− параллельный высокоскоростной порт ввода/вывода 22 разряда

− последовательный порт RS232 1 шт.

− ЖКИ 2 строки х 16 символов 1 шт.

− управляемые светодиоды 9 шт.

− двухпозиционные переключатели 8 шт.

− кнопка тактовая 1 шт.

− кнопка сброса 1 шт.

− интерфейсы отладки/программирования JTAG, цепочка из 2-х ПЛИС

− габариты модуля стенда, не более 120 мм x 160 мм x 40 мм

− питание постоянным током с напряжением 9–30 В

− потребляемая стендом мощность, не более 5 Вт


Структурная схема SDK 6.1





Рис.30 Структурная схема SDK 6.1


Конфигурирование ПЛИС


Общие сведения:


Учебно-лабораторный стенд SDK-6.1 допускает несколько режимов конфигурирования ПЛИС, каждый из которых используется на определенных этапах работы со стендом, для решения различных задач:


1. Конфигурирование через последовательный порт RS232;

2. Конфигурирование через интерфейс JTAG;

3. Конфигурирование из микросхемы автоконфигурации EEPROM (не используется в данной версии SDK-6.1).


Конфигурирование ПЛИС с использованием интерфейса RS232


Режим конфигурирования через интерфейс RS232 используется только в процессе разработки и отладки учебных или прикладных проектов и, в отличие от режима конфигурирования через интерфейс JTAG, не может использоваться для начальной инициализации стенда, однако обеспечивает большее удобство в работе. При работе в данном режиме конфигурационные файлы будут сохраняться во flash-памяти, и, следовательно, не будут утеряны при отключении питания.

Порядок конфигурирования ПЛИС с помощью RS232:


1. Подключите разъем J7 стенда SDK-6.1 к COM-порту ПК при помощи

интерфейсного кабеля;


2. Подключите питание к SDK-6.1;


3. Переключите стенд в режим загрузки конфигурационных файлов для EP1C3 по

последовательному каналу. Для этого: либо установите на переключателе «PAGE» номер страницы flash-памяти, в которой находится Flash-загрузчик (по умолчанию - 0) и нажмите кнопку «RESET», либо нажмите кнопку «RESET» при нажатой и удерживаемой кнопке «CONTROL» (это приведет к тому, что будет загружен файл из нулевой страницы, независимо от того, в каком положении находится переключатель «PAGE»).

После этого на ЖКИ стенда будет выведено сообщение «SDK6.1 Flash Writer», светодиоды «D0»-«D7» будут по очереди зажигаться и гаснуть, а светодиод «CONFIG» будет погашен. Если этого не произошло – воспользуйтесь режимом конфигурирования через интерфейс JTAG и загрузите конфигурационный sof-файл Flash-загрузчика (cyclone_flash_writer.sof) в ПЛИС EP1C3;


4. Создайте и скомпилируйте проект (лабораторную работу), предназначенный для основной ПЛИС EP1C3 стенда SDK-6.1, в инструментальной среде Altera Quartus II Web Edition. В результате успешной компиляции должен быть создан конфигурационный файл с расширением .rbf.

Для создания этого файла в меню Quartus II включите опцию генерирования

rbf-файла при компиляции проекта. Для этого нужно открыть диалоговое окно настроек (Assignments->Device), в котором нажать кнопку «Device & Pin Options».

В открывшемся окне выберите вкладку «Programming Files» и отметить галочкой пункт «Raw Binary File (.rbf)» (рис. 31).





Рис. 31 Создание Raw Binary File (.rbf)


5. Запустите на ПК программатор sdk61fw для того, чтобы произвести запись конфигурационного файла во flash-память стенда. Например, чтобы записать файл file1.rbf в страницу номер 5 через СОМ-порт 1, нужно вызвать программатор со следующими параметрами:


sdk61fw write 0x0A0000 file1.rbf com1

или

sdk61fw write page5 file1.rbf com1

где:

sdk61fw - имя программы,

write – режим записи во flash-память,

0x0A0000 – адрес пятой страницы во flash-памяти стенда,

page5 - номер пятой страницы во flash-памяти стенда,

file1.rbf – имя записываемого конфигурационного файла,

com1 – имя последовательного порта, к которому подключен конфигурационный кабель.

!
Нужно помнить, что по умолчанию в нулевой странице расположен Flash-загрузчик. Если записать в эту страницу другой конфигурационный файл, то дальнейшее конфигурирование с использованием интерфейса RS232 станет невозможным! (По-крайней мере до тех пор пока не будет снова «прошит» Flash-загрузчик).

6. После того, как программатор завершит работу, путем нажатия кнопки «RESET»производится рестарт системы, при этом в ПЛИС EP1C3 будет загружен конфигурационный файл из той страницы flash-памяти, номер которой указан на переключателе «PAGE» (см. таблицу 1). В случае, когда нажатие кнопки «RESET» производится при нажатой кнопке «CONTROL», независимо от состояния переключателя «PAGE» в ПЛИС будет загружен конфигурационный файл из нулевой страницы.


^ Конфигурирование через интерфейс JTAG


Интерфейс JTAG был разработан группой специалистов по проблемам тестирования электронных компонентов (Joini Action Group). Oн был зарегистрирован в качестве промышленного стандарта IEEE Std 1149.1-1990 (IEEE Standard Test Access Port and Boundary-Scan Architecture). Он может быть использован для следующих целей:

  • тестирования печатных плат

  • конфигурирования (программирования) кристалла

  • внутрисхемной отладки


Применительно к лабораторному стенду режим конфигурирования через интерфейс граничного сканирования JTAG используется в процессе разработки и отладки учебных или прикладных проектов. Данный режим позволяет: конфигурировать вспомогательную ПЛИС EPM3128 (возможно только в режиме конфигурации через JTAG) и основную ПЛИС EP1C3, выполнять внутрисхемную отладку проекта, используя встроенные средства пакета проектирования Altera Quartus II. Конфигурационные файлы для основной ПЛИС EP1C3 при таком режиме работы не сохраняются в энергонезависимой памяти стенда и будут утеряны при отключении питания или рестарте системы. Еще одним недостатком данного способа конфигурирования ПЛИС можно считать потенциально опасное подключение стенда к ПК.





^ Рис. 32 Подключение SDK-6.1 к ПК по интерфейсу JTAG


Порядок конфигурирования ПЛИС с помощью JTAG:


1. Проверьте, что на инструментальном компьютере установлен и функционирует

драйвер адаптера интерфейса JTAG ByteBlaster. Для этого запустите программу его инициализации bblpt.exe /i из подкаталога C:\Programm Files\altera\quartus41\drivers\i386\.


2. Если SDK-6.1 уже подключен к ПК, перейдите к п.4.


3. Отключите питание SDK-6.1: адаптер питания из розетки или разъем кабеля адаптера от стенда.


4. Подключите SDK-6.1 к параллельному порту LPT компьютера с помощью адаптера

ByteBlaster (рис. 30).


5. Подключите питание к SDK-6.1.


6. Создайте и скомпилируйте проект, предназначенный для основной ПЛИС EP1C3

стенда SDK-6.1, в инструментальной среде Altera Quartus II. В результате успешной компиляции должен быть создан конфигурационный файл с расширением .sof (SRAM Object File – файл для конфигурирования ПЛИС на базе статической памяти, к которым, в частности, относятся микросхемы семейства Cyclon).


7. Запустите встроенный в Quartus II программатор для этого щелкните по пиктограмме программатора на горизонтальной панели инструментов или выберите пункт меню Tools->Programmer (Рис.33).

Настройте цепочку JTAG устройств. Первым устройством обязательно должно быть указано устройство EPM3128AT100 (кнопка - Add Device – Добавить Устройство), вторым - EP1С3T144. Для основной ПЛИС EP1С3 укажите SOF файл для программирования, установите флажок в колонке Program/Configure.

Для вспомогательной ПЛИС EPM3128 программируемый файл не указывать (кроме случаев обновления системной конфигурации вспомогательной ПЛИС), не устанавливать флажки ни в одной из колонок (рис. 33).





Рис. 33 Окно диалога настройки цепочки JTAG устройств


8. Нажмите кнопку RESET на стенде. Должен загореться светодиод «CONFIG».


9. Для запуска процесса программирования нажмите кнопку «Start».


10. В случае успешного окончания программирования линейка «Progress» дойдет до 100%, после чего загруженная конфигурация активизируется и погаснет светодиод «CONFIG».


11. Если программирование невозможно, то процесс автоматически прервется и в окне системных сообщений Quartus II выведется надпись с описанием причины. Например, «Error: Can't access JTAG chain» означает, что адаптер ByteBlaster не подключен к ПК или стенду, или к стенду не подключено питание.


12. Перезагрузка конфигурации может быть выполнена выполнением только пп. 8 и 9,

без отключения питания и реинициализации системы.

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


8. ЛИТЕРАТУРА


  1. Грушвицкий Р.И., Мурсаев А.X. Угрюмов Е.П. Проектирование систем на микросхемах программируемой логики. — СПб.: БХВ-Петербург, 2002.

  2. Угрюмов Е.П. Цифровая схемотехника. – СПб.: БХВ, 2000.



ПРИЛОЖЕНИЕ


^ Таблица распайки выводов и сигналов ПЛИС EP1C3T144-8 и элементов управления стендa

Табл. 1


Название

Вывод (Pin)

^ Генератор тактовых импульсов (clk)

Pin_93







Осциллограф




Channel A

Pin_1

Channel В

Pin_3







^ Движковые переключатели




sw0

Pin_112

sw1

Pin_120

sw2

Pin_113

sw3

Pin_121

sw4

Pin_114

sw5

Pin_122

sw6

Pin_119

sw7

Pin_123







Светодиоды




led0

Pin_104

led1

Pin_105

led2

Pin_106

led3

Pin_107

led4

Pin_108

led5

Pin_109

led6

Pin_110

led7

Pin_111







Кнопка «Control»

Pin_133











Все каналы дискретного ввода-вывода, выведенные на переднюю панель лабораторного макета, представлены в таблице 2.


Табл. 2





^ «EXTERNAL PIO»

КАНАЛЫ ДИСКРЕТНОГО ВВОДА-ВЫВОДА

1

2

3

1

EXT_GND

Общий

2

EXT_GND

Общий


3

ELVDS0N

Дискретный порт ввода-вывода,

инвертирующий вход порта LVDS4 ПЛИС

4


ELVDS1N

Дискретный порт ввода-вывода,

инвертирующий вход порта LVDS3 ПЛИС

5

EXT_OE_G0

Разрешение гальванически изолированных портов нн. 3-6

6

EXT_GND

Общий


7


ELVDS2P

Дискретный порт ввода-вывода,

неинвертирующий вход порта LVDS2 ПЛИС


8


ELVDS2N

Дискретный порт ввода-вывода,

инвертирующий вход порта LVDS2 ПЛИС

9

EVREF0B1

Дискретный порт ввода-вывода,опорное напряжение банка выводов №1

10

EDPCLK1

Дискретный порт ввода-вывода

11

EXT_OE_G1

Разрешение гальванически изолированных портов нн. 9-12

12

EXT_GND

Общий

13

ELVPIO0


Дискретный порт ввода-вывода

14

ELVPIO1

Дискретный порт ввода-вывода

15

EPLL1_OUTP

Дискретный порт ввода-вывода, выход PLL1

16

EPLL1_OUTN

Дискретный порт ввода-вывода, выход PLL1

17

EXT_OE_G2

Разрешение гальванически изолированных портов нн. 15-18

18

EXT_GND

Общий

19

EVREF1B1

Дискретный порт ввода-вывода,

опорное напряжение банка выводов №1

20

EDPCLK0

Дискретный порт ввода-вывода


21


EVREF2B1

Дискретный порт ввода-вывода,

опорное напряжение банка выводов №1

22

ELVPIO2

Дискретный порт ввода-вывода


23


EXT_OE_G3

Разрешение гальванически изолированных портов нн. 21-24

24

EXT_GND

Общий


25


ELVDS3P

Дискретный порт ввода-вывода,

неинвертирующий вход порта LVDS1 ПЛИС

26

ELVDS3N

Дискретный порт ввода-вывода,

неинвертирующий вход порта LVDS1 ПЛИС


27


ELVDS4P

Дискретный порт ввода-вывода,

неинвертирующий вход порта LVDS0 ПЛИС


28


ELVDS4N

Дискретный порт ввода-вывода, неинвертирующий вход порта LVDS0 ПЛИС


29


EXT_OE_G4

Разрешение гальванически изолированных портов нн. 27-30

30

EXT_GND

Общий

31

ELVDSCLK1P

Дискретный порт ввода-вывода

32

ELVDSCLK1N

Дискретный порт ввода-вывода

33

EXT_OE_G5

Разрешение гальванически изолированных портов нн. 33, 34, 37, 38

34

EXT_GND

Общий


35

ELVDS5P

Дискретный порт ввода-вывода

36

ELVDS5N

Дискретный порт ввода-вывода

37

EXT_GND

Общий

38

EXT_GND

Общий



(На разъемы осциллографа - Channel A и Channel В – выведены сигналы ELVDS0Р и ELVDS1Р соответственно).


Тест стенда SDK-6.1


Тестирование стенда может помочь в обнаружении и локализации возникших неполадок.

Перед проведением теста переведите все 8 движковых переключателей в нижнее положение и установите на переключателях «PAGE» номер 0001 (куда записана программа тестирования по умолчанию), нажмите «Reset» – стенд перейдет в тестовый режим. На ЖКИ будет выведена надпись «I’m sdk 6.1! Select test…» (Я - sdk 6.1! Выберите тест…). После этого выберите нужный тест путем перевода соответствующего переключателя в верхнее положение, при этом на ЖКИ внизу отобразится название теста. Для запуска теста нажмите кнопку «Control».


переключателя

Тест

sw0

тест интерфейса RS-232

sw2

тест каналов ввода-вывода

sw4

тест движковых переключателей и светодиодов

sw5

тест памяти EEPROM




  1. Тест интерфейса RS-232:


Подключите стенд SDK-6.1 к компьютеру при помощи интерфейсного кабеля RS-232. Переведите стенд в тестовый режим и передвиньте переключатель sw0 в верхнее положение. Нажмите кнопку «Control» и запустите на ПК программу-терминал (например, Hyper Terminal, на скорости 115200 Кбит/с) и вводите с клавиатуры символы. Стенд принимает символ, отображает его и эхом отправляет обратно на компьютер. Если каждый введенный символ будет появляться в начале нижней строки ЖКИ и на экране терминала, значит интерфейс RS-232.функционирует корректно.

Для выхода из теста нажмите кнопку «Control» или передвиньте переключатель в нижнее положение.


2. Тест дискретных портов ввода-вывода:


Переведите стенд в тестовый режим и передвиньте переключатель sw2 в верхнее положение, нажмите кнопку «Control». На дискретные порты (каналы дискретного ввода-вывода – «External PIO») будет подаваться «бегущая единица» и «бегущий ноль» с частотой примерно 1 Гц.

Для выхода из теста нажмите кнопку «Control» или передвиньте переключатель в нижнее положение.


3. Тест движковых переключателей и светодиодов


Переведите стенд в тестовый режим и передвиньте переключатель sw4 в верхнее положение, нажмите кнопку «Control». На второй строке ЖКИ появится надпись – «Move switches» («Двигайте переключатели»). Теперь состояние восьми переключателей отображается на восемь светодиодов. Для выхода из теста нажмите кнопку «Control».


4. Тест памяти EEPROM


Переведите стенд в тестовый режим и передвиньте переключатель sw5 в верхнее положение, нажмите кнопку «Control». Если EEPROM работает правильно во второй строке появится надпись «ОК», в противном случае появится надпись «Failed». Для выхода из теста нажмите кнопку «Control».





Скачать 409.72 Kb.
оставить комментарий
К. Ю. Петухов
Дата28.09.2011
Размер409.72 Kb.
ТипМетодические указания, Образовательные материалы
Добавить документ в свой блог или на сайт

Ваша оценка этого документа будет первой.
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Загрузка...
Документы

Рейтинг@Mail.ru
наверх