Учебное пособие Москва Издательство Московского государственного университета леса 2012 удк 004. 896(075) Е92 Разработано в соответствии с Федеральным государственным


НазваниеУчебное пособие Москва Издательство Московского государственного университета леса 2012 удк 004. 896(075) Е92 Разработано в соответствии с Федеральным государственным
страница3/10
ТипУчебное пособие
1   2   3   4   5   6   7   8   9   10

Use – выполнив щелчок левой кнопкой мыши в соответствующем поле этого столбца, пользователь указывает какие компоненты из списка будут использоваться в создаваемой системе. Об этом будет свидетельствовать установленная галочка. Повторный щелчок мыши в этом поле приведет к запрету использования компонента в системе (галочка удаляется).

  • Connections – в этом столбце графически отображаются соединения компонентов, которые, при необходимости, пользователь может изменить.

  • Name – в данном столбце приводятся имена компонентов, которые, при необходимости, пользователь может изменить, а также перечисляются использованные интерфейсы этого компонента с шиной Avalon.

  • Descriptions – здесь содержится краткое описание компонентов и их интерфейсов.

  • Clock – в этом столбце отражаются назначенные компонентам синхросигналы.

  • Base – в данном столбце отображаются начальные адреса компонентов для доступа к ним со стороны процессора. Адреса назначаются автоматически, тем не менее, пользователь может изменить их вручную.

  • End – здесь отображаются конечные адреса компонентов, назначаемые автоматически.

  • IRQ – в полях данного столбца компонентам назначаются номера прерываний, а также осуществляется соединение соответствующих линий запросов прерываний от компонентов источников к компонентам приемникам сигналов прерываний.

  • Tags – в этом столбце указываются комментарии к компонентам.

    1.3.1.3 Список синхросигналов SOPC системы

    Данная область отображает используемые в SOPC системе синхросигналы, рис. 1.8. Здесь можно задать имя синхросигнала и его частоту.



    Рис 1.8 – Список используемых синхросигналов

    В правой части окна содержатся следующие кнопки:

    для добавления синхросигналов;

    – для удаления выделенных синхросигналов из процессорной системы.

    Двойной щелчок левой кнопки мыши по имени или частоте дает возможность их редактировать. В этом случае редактируемые значения будут выделены синим цветом.

    1.3.1.4 Информационная область

    Данная область содержит рекомендации, предупреждения и сообщения о возникших в процессе проектирования ошибках. Представленная здесь информация поможет пользователю быстро их устранить. На рис. 1.9 приведен пример информационного окна.



    Рис 1.9 – Информационное поле

        1. Пункты меню SOPC Builder

          1. Пункты меню File

    В меню File содержатся следующие пункты (рис. 1.10):

    New System…” – создание новой SOPC системы;

    Open…” – открытие ранее созданной SOPC системы;

    Save – сохранение текущей SOPC системы;

    Рис. 1.10 – Меню File

    Save As…” – сохранение текущей SOPC системы под другим именем ;

    Refresh System – проверка папок Quartus II и проекта на наличие IP компонентов;

    New component…” – запуск мастера создания новых компонентов;

    Browse Project Directory…” – отображение рабочей директории проекта;

    Exit – выход из приложения SOPC Builder.

    1.3.2.2 Пункты меню Edit

    Меню Edit включает следующие три пункта (Рис. 1.11):

    Remove Dangling Connections – удаление неподключенного соединения;

    Рис. 1.11 – Пункты меню Edit

    Undo – отмена последнего действия;

    Redo – повтор последнего действия.

    1.3.2.3 Пункты меню Module

    Представленные в меню Module пункты (рис. 1.12):

    Edit…” – изменение параметров выбранного компонента;

    Rename – переименование выбранного компонента;

    Duplicate – создание копии выбранного компонента;

    Remove – удаление выбранного компонента;

    Lock Base Address – блокирование изменения адреса компонента;

    Move To Top – перемещение компонента на самую верхнюю позицию списка;

    Move Up – перемещение компонента на одну позицию вверх в списке;

    Move Down – перемещение компонента на одну позицию вниз в списке; Рис. 1.12 – Меню Module

    Move To Bottom – перемещение компонента на самую нижнюю позицию.

    1.3.2.4 Пункты меню System

    Представленные в меню System пункты (рис. 1.13):

    Assign Base Addresses – автоматическое назначение адресов компонентов;

    Assign Interrupt Numbers – автоматическое назначение номеров прерываний для компонентов; Рис. 1.13 – Меню system

    Insert Avalon-ST Adapters – данный пункт меню запускает автоматическую вставку Avalon-ST Adapter для согласования интерфейсов шины Avalon.

    1.3.2.5 Пункты меню View

    Меню View содержит пункты (рис.1.14), предназначенные для указания объектов, отображаемых в области проектирования процессорной системы. А именно:

    Show Connected – отображение всех соединений в системе;

    Show Connections Column – включение столбца «Connections» в область проектирования SOPC системы;

    Show Arbitration Shares – отображение приоритетов компонентов при разделении шин;

    Show Description Column – включение столбца описания компонентов в область проектирования SOPC системы;

    Show Clock Column – включение столбца синхросигналов;

    Show Base Column – отображение столбца с начальными адресами компонентов;

    Рис 1.14 – Меню View

    Show End Column – отображение столбца с конечными адресами компонентов;

    Show Tags Column – отображение столбца с комментариями;

    Show IRQ Column – включение столбца с назначенными номерами прерываний от компонентов;

    Expand All – раскрытие интерфейсов компонентов в области проектирования SOPC системы;

    Collapse All – скрытие интерфейсов компонентов в области проектирования SOPC системы;

    Set Color…” – установка цветов для изображения интерфейсов и линий соединения.

    1.3.2.6 Пункты меню Tools

    Меню Tools включает следующие пункты (рис.1.15):

    System Console – вызов системной консоли для исполнения TCL скриптов;

    Options…” – настройка опций SOPC Builder;

    Download Components…” – загрузка дополнительных компонентов.

    Рис. 1.15 – Меню Tools

    1.3.2.7 Пункты меню Nios II

    Меню Nios II включает следующие пункты (рис. 1.16):

    Nios II Software Build Tools for Eclipse – запуск инструмента разработки программного обеспечения для процессора Nios II; Рис. 1.16 – Меню Nios II

    Nios II Command Shell[gcc4]” – вызов командной консоли.

    1.4 Основные операции SOPC Builder

    1.4.1 Добавление нового компонента в систему

    Чтобы добавить IP компонент в процессорную систему, необходимо вначале выбрать его в библиотеке готовых компонентов SOPC Builder. Для этого наведите курсор мыши на соответствующее имя в окне библиотеки, при необходимости открыв некоторые вложенные папки. Затем выполните щелчок левой кнопкой мыши. Далее следует нажать кнопку Add, расположенную ниже. К такому же результату можно прийти, выполнив двойной щелчок левой кнопкой мыши по имени компонента в библиотеке. После этого на экране появится окно настройки IP ядра, в котором необходимо задать требуемые параметры. Добавление компонента считается завершенным после того, как он появится в рабочей области SOPC Builder. Пример добавления компонента в создаваемую систему представлен на рис. 1.17. В нем в систему включается модуль статической памяти IDT71V416, который должен присутствовать на отладочной плате. Настройка параметров этого модуля сводится к выбору объема памяти из предложенного списка.



    Рис. 1.17 – Добавление компонента в процессорную систему



    Рис. 1.18 – Редактирование компонента sram_0

    1.4.2 Редактирование параметров IP компонента

    Редактирование компонента системы, представленного в рабочей области SOPC Builder, осуществляется следующим образом.

    Вначале курсор мыши наводится на имя соответствующего компонента в списке. Затем выполняется щелчок левой кнопкой мыши. После этого, соответствующая строка в списке выделится синим цветом. Далее следует нажать кнопку Edit, расположенную в нижней части рабочей зоны SOPC Builder, после чего появится окно настройки параметров соответствующего компонента. Аналогичный результат можно получить, выполнив двойной щелчок левой кнопкой мыши по имени редактируемого модуля в списке компонентов системы. На рис. 1.18 приведен пример выбора модуля статической памяти для последующего его редактирования.

    1.4.3 Соединение IP компонентов

    Если в процессе добавления компонентов в систему они имеют соответствующие интерфейсы, то их соединение в системе осуществляется автоматически. Однако в ряде случаев может потребоваться ручная коммутация. В примере, представленном на рис.1.19, требуется выполнить соединение компонентов sram_0 и tri_state_bridge_0.



    Рис. 1.19 – Пример процессорной системы, в которой требуется ручная коммутация компонентов

    Чтобы создать соединение между компонентами, вначале необходимо навести курсор мыши на столбец Connections. После этого в этой области будут отражены все соединения, в том числе и возможные. Причем пустым кружком на пересечении соответствующих линий отображаются несоединенные компоненты. Чтобы их соединить, необходимо кликнуть левой кнопкой мыши по соответствующему кружку. В примере на рис. 1.20 показано выполнение соединения sram_0 и tri_state_bridge_0.



    Рис. 1.20 – Соединение компонентов в системе

    1.4.4 Переименование компонента

    Чтобы переименовать компонент, дважды кликните его имя в списке имен компонентов системы. После этого редактируемое имя выделится в списке синим цветом. Затем введите новое имя, используя клавиатуру. Другой способ заключается в следующем. Нажмите правой кнопкой мыши по выбранному элементу из списка и в появившемся меню выберите Rename, как показано на рис. 1.21.



    Рис. 1.21 – Переименование компонента в системе

    1.4.5 Установка начальных адресов, назначение сигналов синхронизации и прерываний

    Чтобы изменить начальный адрес некоторого компонента, дважды кликните по текущему значению начального адреса в столбце Base. Затем введите новое значение, используя клавиатуру. Соответствующий пример приведен на рис. 1.22. Если вводимое значение адреса является недопустимым, SOPC Builder сообщит об ошибке. В большинстве случаев задачу назначения адресов можно предоставить приложению SOPC Builder. Для этого надо выбрать пункт Assign Base Addresses в меню System.



    Рис. 1.22 – Установка начального адреса

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



    Рис. 1.23 – Назначение сигналов синхронизации

    В процессоре Nios II для формирования запросов прерываний от компонентов процессорной системы, обладающих такой способностью, используется один из 32 входов IRQ0 – IRQ31. Каждый вход соединен с компонентом системы соответствующей линией. Причем, запросы, поступающие по линии IRQ0, имеют наибольший приоритет. По мере возрастания номера линии приоритет запросов убывает. Назначение соответствующей линии каждому компоненту выполняется в столбце IRQ рабочей области SOPC Builder. Подключенные к компонентам линии для передачи запросов прерываний отображаются в столбце IRQ в виде их номеров. Чтобы изменить номер линии, дважды щелкните левой кнопкой мыши по соответствующему числу и введите с клавиатуры его новое значение. Если необходимо отключить линию для формирования сигналов прерывания от некоторого компонента системы, то в этом случае следует удалить соответствующее число в столбце IRQ. Соединение линий передачи запросов прерываний осуществляется так же, как и соединение компонентов в системе. На рис. 1.24 приведен пример отключения линии формирования запросов прерываний от параллельного порта ввода/вывода PIO.

    1.4.6 Удаление компонентов из процессорной системы

    Чтобы удалить компонент из процессорной системы, выберите его описанным ранее способом, затем нажмите кнопку Remove (рис. 1.25), либо кнопку Delete на клавиатуре.



    Рис. 1.24 – Удаление линии запроса прерываний от PIO



    Рис. 1.25 – Удаление компонента из процессорной системы

      1. Пример создания процессорной системы

    В данном разделе рассматривается пример создания простейшей процессорной системы, содержащей:

    • процессор Nios II;

    • оперативную память, реализуемую в кристалле FPGA;

    • два параллельных порта ввода/вывода (PIO).

    Вначале запускаем Quartus II и создаем проект, как это описано в учебном пособии [5]. Потом запускаем приложение SOPC Builder любым из способов, представленных в разделе 1.2. Задаем имя SOPC системы и расположение папки с ее проектными файлами в файловой системе инструментального компьютера. После чего, начинаем добавлять компоненты в процессорную систему.

    1.5.1 Добавление внутрикристальной памяти в систему

    В рассматриваемом примере создание процессорной системы начинается с добавления внутрикристальной памяти. Соответствующий компонент присутствует в библиотеке готовых компонентов SOPC Builder. Для доступа к нему используется следующий путь: Memories and Memory Controllers/On-Chip/On-Chip Memory (RAM or ROM). Пример выбора памяти из библиотеки показан на рис. 1.26.

    После выбора памяти из библиотеки появляется окно, приведенное на рис. 1.27. В нем необходимо задать параметры выбранной памяти, представленные в группах: тип памяти (Memory type), размер памяти (Size), задержка чтения (Read latency) и необходимость инициализации памяти (Memory initialization).

    В первой группе определяется, будет ли память использоваться только для чтения (ROM) или разрешается выполнять также операции записи (RAM), будет ли память двухпортовой, или нет. Во второй группе параметров задаются размеры памяти, а именно разрядность и количество хранимых в памяти слов. В оставшихся вкладках определяются задержки чтения и способы инициализации памяти. Более подробное описание параметров приводится в приложении, в конце учебного пособия.

    В рассматриваемом примере оставляем все параметры без изменений и нажимаем кнопку Finish, рис. 1.27;



    Рис. 1.26 – Выбор компонента внутрикристальной памяти



    Рис. 1.27 – Окно настройки внутрикристальной памяти

    1.5.2 Добавление процессора в систему

    Следующим шагом в создании процессорной системы является добавление процессора. Для этого выберите в библиотеке IP ядро Processors/Nios II Processor, как показано на рис. 1.28. Затем надо настроить процессор. Для этого необходимо определить его параметры во вкладках Core Nios II, Caches and Memory Interfaces, Advanced Features, MMU and MPU settings, JTAG Debug Module, Custom Instruction.

    Приведенное ниже описание вкладок отражает параметры процессора Nios II, используемого в процессорной системе «DE2-70 Media Computer», представленной в третьей части учебного пособия.



    Рис. 1.28 – Выбор процессора Nios II из библиотеки

    Во вкладке Core Nios II, приведенной на рис. 1.29, необходимо выбрать одну из трех конфигураций процессора: Nios II/e, Nios II/s или Nios II/f. Основные характеристики процессорных ядер представлены на вкладке. Более подробное их описание содержится в разделе 4 настоящего пособия. В этой же вкладке определяются векторы сброса и прерываний (адреса памяти, на которые передается управление в результате сброса или возникновения прерываний в процессорной системе), а также способы реализации умножения и деления.

    Вкладка Caches and Memory Interfaces предназначена для определения параметров используемых КЭШа инструкций и КЭШа данных, а также интерфейсов со сильносвязанной памятью в процессорной системе. Фрагмент вкладки изображен на рис. 1.30.



    Рис. 1.29 – Вкладка Core Nios II



    Рис. 1.30 – Фрагмент вкладки Cache and Memory Interfaces

    Во вкладке Advanced Features определяются дополнительные возможности процессора, такие как тип используемого контроллера прерываний, количество теневых регистров, особые исключения и прочее. Данная вкладка представлена на рис. 1.31.



    Рис. 1.31 – Вкладка Advanced Features

    Вкладка MMU and MPU settings предназначена для настройки модулей управления памятью и защиты памяти. Опции становятся активными при подключении соответствующих модулей во вкладке Core Nios II для процессора Nios II/f . Эти модули используются для организации виртуальной памяти, а также для выполнения защиты памяти. Следует заметить, что MMU и MPU подключаются, когда в приложении используется операционная система. Внешний вид вкладки представлен на рис. 1.32.

    Параметры вкладки JTAG Debug Module настраивают модуль отладки процессорной системы Nios II. Определение параметров осуществляется выбором одного из уровней отладки. Чем выше уровень, тем больше возможностей отладки. В то же время, для реализации более высокого уровня отладки требуется большее количество ресурсов кристалла. Заполненная вкладка для процессора системы «DE2-70 Media Computer» представлена на рис. 1.33.

    Вкладка Custom Instructions используется для подключения пользовательских инструкций к системе команд процессора. В левом списке данной вкладки находятся инструкции, готовые к подключению. Список справа содержит подключенные инструкции и их настройки. Нижняя часть вкладки содержит управляющие кнопки. Внешний вид вкладки заполненной для процессорной системы «DE2-70 Media Computer» представлен на



    Рис. 1.32 – Вкладка MMU and MPU Settings



    Рис. 1.33 – Вкладка настройки модуля отладки процессорной системы

    рис. 1.34. Как видно из рисунка, к процессорной системе «DE2-70 Media Computer» подключены пользовательские инструкции fpoint с номерами 252-255 для реализации 4 арифметических операций над числами с плавающей запятой.



    Рис. 1.34 – Вкладка Custom Instructions



    Рис. 1.35 – Настройка процессора Nios II

    Для создаваемой в примере процессорной системы, выбираем ядро Nios II/s, с аппаратным умножением и делением. Векторы сброса и исключений указываем на встроенную память onchip_memory2_0 со смещением 0x0 и 0x100, соответственно. Остальные параметры оставляем без изменений. Заполненное окно для рассматриваемого примера представлено на рис. 1.35.

    1.5.3 Добавление параллельных портов ввода/вывода в систему

    Следующим шагом в создании процессорной системы является добавление двух портов ввода/вывода PIO, один из которых будет настроен как входной порт, с возможностью формирования сигналов прерывания, а второй как выходной порт. Параллельные порты ввода/вывода находятся в библиотеке в следующем разделе: Peripherals / Microcontroller Peripherals, рис. 1.36.

    После добавления компонента в процессорную систему, на экране появляется окно, представленное на рис. 1.37. В нем необходимо указать параметры параллельного порта ввода/вывода. Основными параметрами являются тип порта, ширина данных, подключение регистров захвата фронта и способ формирования прерываний. Все параметры организованы в 5 групп: базовые параметры (Basic Settings), параметры выходного регистра (Output Register), параметры регистра захвата фронта (Edge capture register), параметры формирования прерываний (Interrupt) и параметры для тестирования (Test bench wiring).



    Рис. 1.36 – Добавление параллельных портов ввода/вывода

    Для первого порта ввода/вывода (рис. 1.37) задаем следующие параметры:

    • ширина (Width) – 8 бит;

    • направление (Direction) – входной порт (Input);

    • включить регистры захвата фронта (Synchronously capture);

    • тип фронта (Edge type) – восходящий (Rising);

    • включить генерацию сигналов прерываний (Generate IRQ);

    • тип прерываний (IRQ Type) – по фронту (Edge).

    Второй порт (рис. 1.38) настроим так:

    • ширина (Width) – 32 бита;

    • направление (Direction) – выходной порт (Output).

    Остальные параметры оставляем без изменений.



    Рис. 1.37 – Настройка первого

    параллельного порта ввода/вывода



    Рис. 1.38 – Настройка второго

    порта ввода/вывода

    1.5.4 Генерация проектных файлов процессорной системы

    Последним шагом в создании процессорной системы является ее генерация. Это действие инициируется нажатием кнопки Generate, расположенной в нижней части окна SOPC Builder, рис.1.39. После завершения генерации, процессорная система станет доступна в Quartus II. На рис. 1.40 приведено условное графическое обозначение (символ) созданной системы. В дальнейшем к системе могут быть добавлены другие модули и узлы стандартным образом [5].



    Рис. 1.39 – Кнопка запуска генерации процессорной системы



    Рис. 1.40 – Символ сгенерированной SOPC системы

      1. Создание внешнего интерфейса шины Avalon в проектируемой системе

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

    1. Нажмите кнопку New…”, размещенную под окном библиотеки компонентов системы, либо выполните команду New component…” из меню “File, как показано на рис 1.41. После этого появится окно редактора нового компонента, показанное на рис. 1.42.



    Рис. 1.41 – Запуск мастера создания новых компонентов

    1. В появившемся окне, вначале необходимо определить интерфейсы нового компонента. Для этого надо открыть вкладку Interfaces, после чего выбрать один из интерфейсов, используя пункт меню Templates, как показано на рис 1.43. Если необходимо создать несколько интерфейсов, то необходимо повторить этот шаг несколько раз. Для подключения к системе устройств с интерфейсом Avalon-MM, необходимо выбрать шаблон Add Typical Avalon-MM Master. Если же к процессорной системе подключается подчиненное устройство, тогда нужно выбрать шаблон Add Typical Avalon-MM Slave. После этого редактор заполнит все необходимые вкладки самостоятельно. Однако может потребоваться коррекция некоторых параметров во вкладках Signals и Library Info.



    1. Во вкладке Signals, в некоторых случаях, необходимо определить ширину шины данных и адресной шины выбранного интерфейса, как показано в примере на рис. 1.44.



    Рис. 1.42 – Окно создания нового компонента



    Рис. 1.43 – Выбор интерфейсного шаблона



    Рис. 1.44 – Определение разрядности шин данных и адреса

    интерфейса компонента

    1. Последним шагом является задание имени подключаемого компонента во вкладке Library Info, рис. 1.45. После завершения заполнения вкладки, новый компонент будет добавлен в проектную библиотеку, после чего он может быть добавлен в процессорную систему стандартным образом, как это описано в предыдущих разделах, рис. 1.46. После генерации процессорной системы, получим файл с условным графическим обозначением системы. На рис. 1.47 приведен символ ранее созданной системы с добавленным внешним интерфейсом шины Avalon.



    Рис. 1.45 – Задание имени нового компонента



    Рис. 1.46 – Вставка интерфейсного компонента в систему



    Рис. 1.47 – Символ процессорной системы с выведенным интерфейсом

    1.7 Добавление нового компонента в систему

    В этом разделе рассматривается пример подключения аппаратного модуля, описанного на языке VHDL, к библиотеке готовых компонентов SOPC Builder, взятый из [7].

    Чтобы быть подключенным, аппаратный модуль должен состоять, как минимум, из двух частей – блока, описывающего функционирование модуля и блока, реализующего интерфейс с шиной Avalon. Шина Avalon имеет достаточно широкий набор интерфейсов. Один аппаратный модуль может использовать несколько подобных интерфейсов. В рассматриваемом примере созданы блоки с использованием языка VHDL, описания которых приведено ниже. Блок my_register.vhd, представленный в листинге 1, реализует простой 32-битный регистр, а модуль my_register_slave_interface.vhd, представленный в листинге 2, описывает интерфейсную часть создаваемого компонента. Он подключает регистр через шину Avalon к процессорной системе с одной стороны, и соединяет выход регистра со светодиодами, содержащимися на стенде, с другой стороны. Следует отметить, что подключение к процессорной системе аппаратных модулей, реализующих специализированные инструкции, осуществляется похожим образом. Отличие состоит в использовании вместо интерфейсного модуля с шиной Avalon интерфейсного модуля с шиной nios custom instruction slave.

    В представленном ниже примере интерфейсный модуль предназначен для создания соединения с шиной Avalon посредством интерфейса Avalon-MM Slave [8].

    Листинг 1. Блок my_register.vhd

    прямая соединительная линия 135

    LIBRARY ieee;

    USE ieee.std_logic_1164.all;

    ENTITY my_register IS

    PORT ( clock, resetn : IN STD_LOGIC; --синхросигнал и сигнал сброса

    byte_enable : IN STD_LOGIC_VECTOR(3 DOWNTO 0); --побайтное разрешение записи

    data : IN STD_LOGIC_VECTOR(31 DOWNTO 0); --вход данных

    q : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); --выход регистра

    END my_register;

    ARCHITECTURE Behavior OF my_register IS

    BEGIN

    PROCESS ( clock, resetn)

    BEGIN

    IF resetn = '0' THEN

    q <= "00000000000000000000000000000000";

    ELSIF clock'EVENT AND clock = '1' THEN

    IF byte_enable(0) = '1' THEN

    q(7 DOWNTO 0) <= data(7 DOWNTO 0); END IF;

    IF byte_enable(1) = '1' THEN

    q(15 DOWNTO 8) <= data(15 DOWNTO 8); END IF;

    IF byte_enable(2) = '1' THEN

    q(23 DOWNTO 16) <= data(23 DOWNTO 16); END IF;

    IF byte_enable(3) = '1' THEN

    q(31 DOWNTO 24) <= data(31 DOWNTO 24); END IF;

    END IF;

    END PROCESS;

    прямая соединительная линия 135END Behavior;

    Листинг 2прямая соединительная линия 135. Блок my_register_slave_interface.vhd

    LIBRARY ieee;

    USE ieee.std_logic_1164.all;

    ENTITY my_register_slave_interface IS

    PORT( clock, resetn, read, write, chip_select : IN STD_LOGIC; --

    byte_enable : IN STD_LOGIC_VECTOR(3 DOWNTO 0); -- Основные сигналы

    writedata : IN STD_LOGIC_VECTOR(31 DOWNTO 0); -- шины Avalon

    readdata : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); --

    to_lights : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); -- вывод на светодиоды

    END my_register_slave_interface;

    ARCHITECTURE Structure OF my_register_slave_interface IS

    SIGNAL local_byteenable : STD_LOGIC_VECTOR(3 DOWNTO 0);

    SIGNAL to_reg, from_reg : STD_LOGIC_VECTOR(31 DOWNTO 0);

    COMPONENT my_register

    PORT ( clock, resetn : IN STD_LOGIC;

    data : IN STD_LOGIC_VECTOR(31 DOWNTO 0);

    byte_enable : IN STD_LOGIC_VECTOR(3 DOWNTO 0);

    q : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) );

    END COMPONENT;

    BEGIN

    my_instance: my_register PORT MAP( clock, resetn, to_reg, local_byteenable, from_reg );

    to_lights <= from_reg; --

    to_reg <= writedata; -- Создание Avalon MM Slave интерфейса

    readdata <= from_reg; -- для регистра

    WITH (chip_select AND write AND not read ) SELECT --

    local_byteenable <=byte_enable WHEN '1',

    "0000" WHEN OTHERS;

    END Structure;

    прямая соединительная линия 135

    Последовательность действий, выполняемых пользователем для создания нового компонента SOPC Builder, должна быть следующей.

    1. Вначале необходимо запустить редактор нового компонента, как это описано в предыдущем разделе 1.6, затем в открывшемся окне редактора открыть вкладку HDL Files, как показано на рис. 1.48.

    2. Далее необходимо нажать кнопку Add” и в появившемся окне найти созданные HDL файлы в файловой системе инструментального компьютера, как это показано на рис. 1.49. После нажатия кнопки Open в правой нижней части окна, редактор начнет анализ файла верхнего уровня на наличие в нем интерфейсных сигналов. В случае если он выберет неверный файл верхнего уровня, необходимо его указать в явном виде, кликнув левой кнопкой мыши в столбце Top, напротив соответствующего файла. Заполненная вкладка HDL Files для рассматриваемого примера, представлена на рис. 1.50. В ходе анализа файлов редактор попытается заполнить вкладки Signals и Interfaces самостоятельно.



    Рис. 1.48 – Вкладка HDL Files

    1. Следующим шагом является исправление ошибок и предупреждений, отображенных редактором в нижней части окна, путем коррекции параметров во вкладках Signals и Interfaces. Вкладка Signals для рассматриваемого примера представлена на рис. 1.51. Как видно из рисунка, необходимо скорректировать сигналы clock, resetn, byte_enable, chip_select и to_lights. Сигнал resetn это сигнал сброса, относится к типу интерфейса clock_reset, а типом сигнала является reset_n. Ввод таких корректировок осуществляется нажатием левой кнопки мыши, по соответствующему элементу и выбору из выпадающего списка необходимого параметра, как это показано на рис. 1.52. Сигнал byte_enable соответствуют интерфейсу avalon_slave_0 с типом сигнала byte_enable.



    Рис. 1.49 – Выбор файлов HDL описания нового компонента



    Рис.1.50 – Заполненная вкладка HDL Files



    Рис. 1.51 – Вкладка Signals для рассматриваемого примера



    Рис. 1.52 – Корректировка параметров

    Сигнал chip_select является сигналом типа chip_select интерфейса avalon_slave_0. Шина to_lights предназначена для вывода содержимого регистра на светодиоды, поэтому она должна относиться к интерфейсу Conduit с типом сигналов export. Последним шагом является настройка сигнала clock. Для этого, необходимо перейти во вкладку Interfaces, так как редактор нового компонента неправильно распознал этот сигнал и необходимо изменить его тип. Во вкладке Interfaces представлены все используемые интерфейсы и их параметры, рис. 1.53. Здесь необходимо для интерфейса clock_reset установить тип “Clock Input”, выбрав его в выпадающем списке, рис. 1.54. После чего, необходимо вернуться во вкладку Signals и для сигнала clock установить тип сигнала – clk. Полностью заполненная правильными значениями вкладка представлена на рис. 1.55.

    Последним шагом по корректировке параметров является назначение сигнала синхронизации для интерфейса Avalon_slave_0 и временных задержек для него во вкладке Interfaces. Чтобы назначить синхросигнал, необходимо выбрать “clock_reset” в выпадающем списке рядом с надписью Associated Clock. Ввиду того, что при доступе к созданному аппаратному блоку отсутствует задержка, в полях раздела Timing интерфейса Avalon_slave_0 должны быть нулевые значения. Для удобства пользователя, в разделах Read Waveform и Write Waveform отображаются временные диаграммы работы интерфейса с учетом параметров задержек. Фрагмент заполненной вкладки представлен на рис. 1.56.



    Рис. 1.53 – Фрагмент вкладки Interfaces



    Рис. 1.54 – Выбор типа интерфейса



    Рис. 1.55 – Заполненная вкладка Signals

    1. Далее во вкладке Library Info необходимо назначить имя для создаваемого компонента и нажать кнопку “Finish”. После чего данный компонент появится в списке компонентов SOPC Builder, готовый для вставки в процессорную систему, как это показано на рис. 1.57.



    Рис. 1.56 – Фрагмент заполненной вкладки Interfaces



    Рис. 1.57 – Результат работы мастера создания новых компонентов

  • 1   2   3   4   5   6   7   8   9   10

    Похожие:

    Учебное пособие Москва Издательство Московского государственного университета леса 2012 удк 004. 896(075) Е92 Разработано в соответствии с Федеральным государственным  iconУчебное пособие Издательство Иркутского государственного технического университета 2012
    Тимофеева С. С. Защита литосферы и обращение с опасными отходами : учеб пособие. – Иркутск : Изд-во Иргту, 2012. – 159 с

    Учебное пособие Москва Издательство Московского государственного университета леса 2012 удк 004. 896(075) Е92 Разработано в соответствии с Федеральным государственным  iconУчебное пособие Москва «Альтаир» 2010 удк 349. 6(470)(075) ббк 67. 407 Я 7
    Негосударственное (частное) образовательное учреждение дополнительного профессионального образования (повышения квалификации) специалистов...

    Учебное пособие Москва Издательство Московского государственного университета леса 2012 удк 004. 896(075) Е92 Разработано в соответствии с Федеральным государственным  iconУчебное пособие. М.: Издательство Московского университета, 2004
    «Вся Россия», «Моя провинция», «Новости – время местное» и др Представлены также некоторые особенности совместной работы журналистов...

    Учебное пособие Москва Издательство Московского государственного университета леса 2012 удк 004. 896(075) Е92 Разработано в соответствии с Федеральным государственным  iconУчебное пособие Москва 2008
    Юдин В. П. Профсоюзная работа в школе. Учебное пособие. Москва, Издательство мгоу, 2008. 126 с

    Учебное пособие Москва Издательство Московского государственного университета леса 2012 удк 004. 896(075) Е92 Разработано в соответствии с Федеральным государственным  iconУчебное пособие Издательство Казанского (Приволжского) федерального университета 2014
    Учебное пособие предназначено для студентов, аспирантов, преподавателей юридических учебных заведений, работников судов, адвокатуры,...

    Учебное пособие Москва Издательство Московского государственного университета леса 2012 удк 004. 896(075) Е92 Разработано в соответствии с Федеральным государственным  iconУчебное пособие Издательство Казанского (Приволжского) федерального университета 2014
    Учебное пособие предназначено для студентов, аспирантов, преподавателей юридических учебных заведений, работников судов, адвокатуры,...

    Учебное пособие Москва Издательство Московского государственного университета леса 2012 удк 004. 896(075) Е92 Разработано в соответствии с Федеральным государственным  iconУчебное пособие для бакалавров направления подготовки 230700. 62...
    Учебное пособие для бакалавров направления подготовки 230700. 62 «Прикладная информатика в области экономики»

    Учебное пособие Москва Издательство Московского государственного университета леса 2012 удк 004. 896(075) Е92 Разработано в соответствии с Федеральным государственным  iconПермский филиал Факультет бизнес-информатики Кафедра информационных...
    Описание процесса разработки системы поддержки принятия решений в управлении персоналом 38

    Учебное пособие Москва Издательство Московского государственного университета леса 2012 удк 004. 896(075) Е92 Разработано в соответствии с Федеральным государственным  iconУчебно-методическое пособие Красноярск сфу 2012 удк 625. 7: 338(075) ббк 65. 315. 373
    Г12 Экономика отрасли (Экономика дорожного строительства): учебно-методическое пособие [Текст] / сост. В. В. Гавриш, Е. В. Гуторин....

    Учебное пособие Москва Издательство Московского государственного университета леса 2012 удк 004. 896(075) Е92 Разработано в соответствии с Федеральным государственным  iconУчебно-методическое пособие Красноярск сфу 2012 удк 625. 7: 338(075) ббк 65. 315. 373
    Г12 Экономика отрасли (Экономика дорожного строительства): учебно-методическое пособие [Текст] / сост. В. В. Гавриш, Е. В. Гуторин....

    Вы можете разместить ссылку на наш сайт:


    Все бланки и формы на filling-form.ru




    При копировании материала укажите ссылку © 2019
    контакты
    filling-form.ru

    Поиск