Главная страница
Навигация по странице:

  • Приложение А Параметрические элементы САПР MAX+PLUS II

  • Adder Subtractor

  • Absolute Value

  • Библиографический список

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


    Скачать 1.05 Mb.
    НазваниеМетодические указания по выполнению лабораторных работ для студентов вечернего и заочного отделений
    АнкорQuartus
    Дата15.11.2021
    Размер1.05 Mb.
    Формат файлаdoc
    Имя файла3-4__1.doc
    ТипМетодические указания
    #272746
    страница2 из 2
    1   2

    Пример выполнения Варианта №1


    1. Составим таблицу перекодировки состояний автомата и их двоичный код (таблица 2).

    2. Подставляем новые значения в граф состояний (рис.2.2).

    3. Составим таблицу истинности автомата (таблица 3).

    4. После получения таблицы истинности автомата создается функциональная схема в САПР Max+Plus II без минимизации (рис.2.3).

    5. Временные диаграммы для этого варианта после компиляции проекта приведены на рис.2.4.

    Таблица 2

    Таблица перекодировки состояний автомата и их двоичный код

    № состояния

    № состояния из табл.1

    Двоичный код

    q3,q2,q1,q0

    0

    0

    0000

    1

    3

    0011

    2

    11

    1011

    3

    12

    1100

    4

    1

    0001

    5

    9

    1001

    6

    2

    0010

    7

    14

    1110

    8

    8

    1000

    9

    7

    0111

    10

    6

    0110

    11

    4

    0100

    12

    13

    1101

    13

    10

    1010

    14

    15

    1111

    15

    5

    0101



    Рис.2.2. Граф полученный с учетом таблицы перекодировки

    Таблица 3

    Таблица истинности автомата

    старое состояние

    условие

    новое состояние



    код






    Код

    0

    0000

    -

    3

    0011

    3

    0011

    A=0

    8

    1000

    3

    0011

    A=1

    11

    1011

    8

    1000

    -

    7

    0111

    7

    0111

    -

    6

    0110

    6

    0110

    B=0

    13

    1101

    6

    0110

    B=1

    4

    0100

    13

    1101

    -

    14

    1110

    14

    1110

    -

    10

    1010

    10

    1010

    -

    15

    1111

    15

    1111

    -

    5

    0101

    5

    0101

    -

    0

    0000

    11

    1011

    -

    12

    1100

    12

    1100

    B=0

    1

    0001

    12

    1100

    B=1

    9

    1001

    1

    0001

    -

    2

    0010

    2

    0010

    -

    14

    1110

    4

    0100

    -

    14

    1110

    9

    1001

    -

    2

    0010

    Р ис. 2.3. Функциональная схема без минимизации




    Рис. 2.4. Временные диаграммы

    Приложение А

    Параметрические элементы САПР MAX+PLUS II
    Counter

    Входные выводы

    Имя вывода

    Описание

    data [ ]

    Параллельный вход данных счетчика

    clock

    Вход счетных импульсов

    clk_en

    Разрешение синхронизации.

    cnt_en

    Разрешение счета

    updown

    Управление направлением счета

    (1 = сложение, 0 = вычитание)

    aclr

    Асинхронный сброс входов

    aset

    Асинхронная установка входов

    aload

    Асинхронная загрузка входов. Установка счетчика в значение data[ ].

    sclr

    Синхронный сброс входов. Сброс счетчика следующим тактовым импульсом

    sset

    Синхронная установка входов. Установка счета следующим тактовым импульсом.

    sload

    Синхронная загрузка входов. Загрузка в счетчик значения data[ ] следующим тактовым импульсом.




    Выходные выводы




    Имя вывода

    Описание




    q [ ]

    Выход счетчика




    eq [15..0]

    Декодированный выход счетчика. Высокий активный уровень появляется в момент, когда счетчик достигает заданного значения.




    cout

    Перенос в старший разряд




    Параметры

    Параметр

    Описание

    LPM_WIDTH

    Разрядность счетчика или входных

    значений data[ ] и выходных q[ ].

    LPM_DIRECTION

    Может принимать значения “UP”, “DOWN” или “UNUSED”. Если этот параметр используется, то вход updown не должен быть подключен. Если вход updown не подключен, то значение LPM_DIRECTION по умолчанию – “UP”

    LPM_MODULS

    Максимальный счет, плюс один. Число уникальных состояний в цикле счетчика. Если введенное значение больше, чем LPM_MODULUS параметр, поведение счетчика не определено.

    LPM_AVALUE

    Постоянное значение, которое загружается, когда aset высок. Если введенное значение больше чем , поведение счетчика - неопределенный (X) логический уровень, где - LPM_MODULUS. Параметр ограничен значением в 32 бита.

    LPM_SVALUE

    Постоянное значение, которое загружается по переднему фронту тактовых импульсов, когда sset или sconst высок. Должен Использоваться, если sconst используется.

    LPM_HINT

    Позволяет определять специфические Altera-параметры в файлах проекта VHDL.

    LPM_TYPE

    Идентифицирует LPM имя файлах проекта VHDL


    Multiplier

    Входные выводы

    Имя вывода

    Описание

    dataa[]

    Множимое

    datab[]

    Множитель

    sum[]

    Частичная сумма

    clock

    Вход тактовых импульсов

    clken

    Разрешение использования тактового входа

    aclr

    Асинхронный сброс

    Выходные выводы

    Имя вывода

    Описание

    result[]

    result = dataa[] * datab[] + sum. The product

    LSB is aligned with the sum LSB.




    Параметры

    Параметр

    Описание

    LPM_WIDTHA

    Разрядность dataa[ ].

    LPM_WIDTHB

    Разрядность datab[ ].

    LPM_WIDTHP

    Разрядность result[ ].

    LPM_WIDTHS

    Разрядность sum[ ]. Обязателен, даже если порт суммы не используется.

    LPM_ REPRESENTATION

    Тип выполняемого сравнения “SIGNED”, ”UNSIGNED”, “UNUSED”. Если значение не указанно, то по умолчанию устанавливается ”UNSIGNED”

    LPM_HINT

    Позволяет определять специфические Altera-параметры в файлах проекта VHDL.

    LPM_TYPE

    Идентифицирует LPM имя файлах проекта VHDL

    INPUT_A_IS_CONSTANT

    Altera параметр. Принимает значения "YES", "NO", и "UNUSED". Если dataa [] связан с постоянным значением, устанавливая INPUT_A_IS_CONSTANT "YES" оптимизирует multiplierпо использованию ресурсов и скорости. Если опущено, значение по умолчанию - "NO".

    INPUT_B_IS_CONSTANT

    Altera параметр. Принимает значения "YES", "NO", и "UNUSED". Если datab [] связан с постоянным значением, устанавливая INPUT_B_IS_CONSTANT "YES" оптимизирует multiplierпо использованию ресурсов и скорости. Значение по умолчанию - "NO".

    USE_EAB

    Altera параметр. Принимает значения "ON", "OFF", и "UNUSED". Устанавливая параметр USE_EAB "ON" позволяет MAX+PLUS II использовать блоки дополнительных атрибутов, чтобы использовать 4 x 4 или (8 x значение константы) стандартные блоки в ACEX1К и FLEX10К устройствах.

    LATENCY

    Altera параметр. То же, что и LPM_PIPELINE. Параметр обеспечивает совместимости с MAX+PLUS II проектами версии ниже 7.0. Для всех новых проектов, используется параметр LPM_PIPELINE

    MAXIMIZE_SPEED

    Altera параметр. Возможные значения от 0 до 10. Если параметр используется то MAX+PLUS II пытается оптимизировать данную функцию lpm_mult для скорости, а не для уменьшения занимаемой области, и отменяет установку опции Optimize в диалоговом окне Global Project Logic Synthesis (меню Assign). Если MAXIMIZE_SPEED не использован, значение опции Optimize используется вместо него. Если установлено MAXIMIZE_SPEED - 6 или выше, компилятор оптимизирует мегафункции lpm_mult для более высокой скорости; если установлено - 5 или меньше, компилятор оптимизирует для уменьшения занимаемой области.


    Comparator

    Входные выводы

    Имя вывода

    Описание

    dataa[]

    datab[] сравнивается с этим значением

    datab[]

    Значение с которым сравнивается dataа[]

    clock

    Вход тактовых импульсов

    clken

    Разрешение использования тактового входа

    aclr

    Асинхронный сброс

    Выходные выводы

    Имя вывода

    Описание

    alb

    “High” (1) если dataa[] < datab[]

    aeb

    “High” (1) если dataa[] == datab[]

    agb

    “High” (1) если dataa[] > datab[]

    ageb

    “High” (1) если dataa[] >= datab[]

    aneb

    “High” (1) если dataa[] != datab[]

    aleb

    “High” (1) если dataa[] <= datab[]




    Параметры

    Параметр

    Описание

    LPM_WIDTH

    Разрядность входов dataa[] и datab[]

    LPM_REPRESENTATION

    Тип выполняемого сравнения “SIGNED”, ”UNSIGNED”, “UNUSED”. Если значение не указанно, то по умолчанию устанавливается ”UNSIGNED”

    LPM_PIPELINE




    LPM_HINT

    Позволяет определять специфические Altera-параметры в файлах проекта VHDL.

    LPM_TYPE

    Идентифицирует LPM имя файлах проекта VHDL

    CHAIN_SIZE




    ONE_INPUT_IS_CONSTANT

    Специфический Altera - параметр. Принимает значения "YES", "NO", или "UNUSED". Обеспечивает большую оптимизацию, если один из входов постоянен. По умолчанию - "NO".


    Adder Subtractor

    Входные выводы

    Имя вывода

    Описание

    dataa[]

    Первое слагаемое/ Уменьшаемое

    datab[]

    Слагаемое/ Вычитаемое

    add_sub

    Если “1” (high), операция = dataa[]+datab[] +cin. Если “0” (low), операция = dataa[]- datab[] +cin-1

    clock

    Вход тактовых импульсов

    clken

    Разрешение использования тактового входа

    aclr

    Асинхронный сброс




    Выходные выводы

    Имя вывода

    Описание

    result[]

    dataa[] +datab[] +cin или

    dataa[] -datab[] +cin-1.

    cout

    Обнаруживает переполнения в операциях "UNSIGNED".

    overflow

    Результат превышает доступную точность




    Параметры

    Параметр

    Описание

    LPM_WIDTH

    Разрядность входов dataa[],datab[],result[]

    LPM_DIRECTION

    Значения - "ADD", "SUB", и "UNUSED". Если не указано, значение по умолчанию "DEFAULT", в этом случае используется значение add_sub порта. Add_sub порт не может использоваться, если используется LPM_DIRECTION.

    LPM_REPRESENTATION

    Тип выполняемого сравнения “SIGNED”, ”UNSIGNED”, “UNUSED”. Если значение не указанно, то по умолчанию устанавливается ”UNSIGNED”

    LPM_HINT

    Позволяет определять специфические Altera-параметры в файлах проекта VHDL.

    LPM_TYPE

    Идентифицирует LPM имя файлах проекта VHDL

    ONE_INPUT_IS_CONSTANT

    Altera параметр. Принимает значения "YES", "NO", и "UNUSED". Обеспечивает большую оптимизацию, если один вход постоянный. Если не указано, значение по умолчанию - "NO"

    MAXIMIZE_SPEED

    Altera параметр. Возможные значения от 0 до 10. Если параметр используется то MAX+PLUS II пытается оптимизировать данную функцию lpm_mult для скорости, а не для уменьшения занимаемой области, и отменяет установку опции Optimize в диалоговом окне Global Project Logic Synthesis (меню Assign). Если MAXIMIZE_SPEED не использован, значение опции Optimize используется вместо него. Если установлено MAXIMIZE_SPEED – 6 или выше, компилятор оптимизирует мегафункции lpm_mult для более высокой скорости; если установлено - 5 или меньше, компилятор оптимизирует для уменьшения занимаемой области.


    Absolute Value

    Входные выводы

    Имя вывода

    Описание

    data []

    Число со знаком




    Выходные выводы

    Имя вывода

    Описание

    result[]

    Абсолютное значение data [] .

    overflow







    Параметры

    Параметр

    Описание

    LPM_WIDTHА

    Разрядность data [] и result[]

    LPM_HINT

    Позволяет определять специфические Altera-параметры в файлах проекта VHDL.

    LPM_TYPE

    Идентифицирует LPM имя файлах проекта VHDL



    Divider


    Входные выводы

    Имя вывода

    Имя вывода

    numer[]

    Числитель

    denom[]

    Знаменатель

    clock

    Вход тактовых импульсов

    clken

    Разрешение использования тактового входа

    aclr

    Асинхронный сброс

    Выходные выводы

    Имя вывода

    Описание

    quotient[]

    Частное

    remain[]

    Остаток




    Параметры

    Параметр

    Описание

    LPM_WIDTHN

    Разрядность numer[] и quotient[].

    LPM_WIDTHD

    Разрядность denom[] и remain[].

    LPM_NREPRESENTATION

    Определяет параметр числителя “SIGNED” или “UNSIGNED” Сейчас поддерживается только “UNSIGNED”.

    LPM_DREPRESENTATION

    Определяет параметр знаменателя “SIGNED” или “UNSIGNED” Сейчас поддерживается только “UNSIGNED”

    LPM_HINT

    Позволяет определять специфические Altera-параметры в файлах проекта VHDL.

    LPM_TYPE

    Идентифицирует LPM имя файлах проекта VHDL


    Библиографический список
    1. Соловьев В. В. Проектирование цифровых систем на основе программируемых логических интегральных схем. – М.: Горячая линия - Телеком, 2001. – 636 с.

    2. Стешенко В. ПЛИС фирмы ALTERA: проектирование устройств обработки сигналов - М.: Додека, 2000. – 128 с.

    3. Стешенко В. ПЛИС фирмы ALTERA: элементная база, система проектирования и языки описания аппаратуры - М.: Додека, 2002. – 576 с.

    4. Антонов А.П. Язык описания цифровых устройств AlteraHDL: Практический курс. – М.: ИП «Радиософт», 2001. – 224 с.

    5. Пухальский Г.И., Новосельцева Т.Я. Цифровые устройства: учебное пособие для втузов. СПб.: «Политехника», 1996. 885 с.

    Литературный редактор
    Подписано в печать 00.00.2006. Формат 60х84 1/16.

    Бумага офсетная. Печать офсетная.

    Усл. печ. л.0,00 Усл. кр.-отт. 0,00. Уч.-изд. л. 0,0.

    Тираж 000 экз. Заказ 000
    Государственное образовательное учреждение
    высшего профессионального образования
    “Московский государственный институт радиотехники,
    электроники и автоматики (технический университет)”

    119454, Москва, пр. Вернадского, 78
    1   2


    написать администратору сайта