Менеджмент. Если возникает ситуация, когда одной и той же шине данных необходимо задать разные имена, то для этого удобно использовать элемент wire из стандартной
Если возникает ситуация, когда одной и той же шине данных необходимо задать разные имена, то для этого удобно использовать элемент wire из стандартной библиотеки Quartus. Пример использования показан на рисунке ниже. Рисунок 9.1 – Использование wire
Необходимо отметить, что у элементов памяти, а также дешифратора, необходимо изменить значение «inst» на «UAinst» (это необходимо для правильного функционирования программы «Управляющий автомат»). Для этого просто дважды щелкните на надписи, и внесите изменения (рисунок 9.2). Рисунок 9.2 – Правильные значения «inst» у элементов схемы
Следующим шагом после того, как Вы завершите построение схемы, будет создание дополнительного регистра, который необходим для устранения гонок. Скопируйте в проект файлы с именем reg из каталога с программой и разместите регистр на схеме. Разрядность данного регистра должна соответствовать количеству выходных сигналов управляющего автомата (управляющие сигналы для ОА «у»). В окне MegaWizard Plug-In Manager – LPM_FF (рисунок 9.3) в пункте How many flipflops do you want? (Сколько входов необходимо?) укажите количество выходных сигналов для Вашей схемы (учитывая, что нумерация начинается с нуля). Нажмите Finish 2 раза.
Рисунок 9.3 – Окно MegaWizard Plug-In Manager
Схема подключения регистра указана на рисунке ниже. Рисунок 9.4 – Дополнительный регистр в схеме
Если в схеме значения некоторых выходных сигналов напрямую зависят от внутренних связей или состояния выходов КС, например y(4) формируется сигналом, поступающим с выхода a(5) дешифратора, то входную шину данных на регистре можно обозначить следующим образом: вместо y[12..0] Вы можете написать y[12..5], a[5], y[3..0]. При проектировании цифровых устройств может потребоваться элемент, отсутствующий в библиотеке моделей базовых элементов системы. В этом случае требуемый элемент можно создать на основе базовых элементов системы, а затем оформить его в виде подсхемы (макроэлемента) с прорисовкой условного графического обозначения (УГО). Для решения этой задачи необходим Символьный редактор, который позволяет создавать и редактировать УГО (символ). Символьный файл имеет расширение *.bsf. Под макроэлементом понимается определенным образом оформленная и записанная в рабочую библиотеку проекта схема, которой поставлен в соответствие рисунок УГО. Макроэлементы целесообразно использовать для оформления функционально законченных частей сложного проекта. Само собой разумеется, что оформление схемы в форме макроэлемента выполняется после ее отладки. Создадим для примера два таких элемента. Первый элемент представлен на рисунке 9.5. Рисунок 9.5 – Макроэлемент 1
Выберите File> New. В появившемся окне укажите Block Diagram/Schematic File. Сохраните схему, задав ей содержательное имя, отражающее назначение данного макроэлемента. Разместите на схеме следующие элементы (рисунок 9.6): ¾ 2 элемента input и 1 элемент output из библиотеки libraries/primitives/ pin; ¾ элементы not и xor из libraries/primitives/logic.
Рисунок 9.6 – Схема макроэлемента 1
Скомпилируйте проект, нажав кнопку Start Compilation, или выбрав пункт File> Processing> Start Compilation в главном меню. Выполните команду File> Create/Update> Create Symbol Files from Current File из главного меню. Сохраните файл < имя_Вашего_макроэлемента>.bsf в папке проекта. Перейдите на вкладку с основной схемой Вашего проекта и щелкните левой кнопкой мыши дважды по пустому месту. Появится окно библиотеки символов. Перейдите в папку Project и выберите только что созданный макроэлемент (рисунок 9.7).
Рисунок 9.7 – УГО макроэлемента
Теперь элемент можно разместить на схеме. Создадим следующий элемент, представленный на рисунке 9.8. Рисунок 9.8 – Макроэлемент 2
Выберите пункт File> New> Block Diagram/Schematic File. Создайте схему, приведенную на рисунке 9.9.
Рисунок 9.9 – Схема макроэлемента 2
Выберите File> Create/Update> Create Symbol Files from Current File. Внешний вид макроэлемента можно изменить. Для этого выберите File> Open. Укажите файл < имя_Вашего_макроэлемента>.bsf. В появившемся окне Вы можете редактировать изображение элемента по своему усмотрению или как представлено ниже. Рисунок 9.10 – УГО макроэлемента 2
Для проверки работы УА необходимо создать специальную временную диаграмму. Для этого выберите в меню File> New. Далее укажите Vector Waveform File. Появится новая вкладка. Слева находится таблица, в которой столбец Name отвечает за названия входных и выходных шин (портов), а столбец Value отображает значения входов/выходов. Чтобы все порты из Вашего проекта оказались в этом списке сделайте следующее. Щелкните правой кнопкой в пустом месте таблицы. В появившемся контекстном меню выберите пункт Insert> Insert Node or Bus. Далее нажмите Node Finder. В графе Filter укажите «Pins: all» и нажмите кнопку List (рисунок 9.11). Слева появятся все наименования портов из Вашей схемы. Далее нажмите кнопку «> >» (Copy all to Selected Nodes List – Скопировать все в список выбранных узлов). Нажмите ОК дважды.
Рисунок 9.11 – Окно Node Finder
Найдите в таблице сигнал CLK (рисунок 9.13). Щелкните по нему правой кнопкой мыши. Выберите Value> Clock… (или нажмите Ctrl+Alt+K) В Time Period необходимо указать параметры стробирующего сигнала, а именно период (Period), значение которого можно оставить по умолчанию 10 нс, и длительность сигнала высокого уровня в течение этого периода (Duty cycle –оставьте 50%). Нажмите ОК. Найдите в таблице сигнал Reset. Щелкните по нему правой кнопкой мыши. В контекстном меню выберите пункт Value> Arbitrary Value (Ctrl+Alt+B). Задайте параметры как на рисунке ниже.
Рисунок 9.12 – Окно «Arbitrary Value»
Зайдите в меню Processing> Simulator Tool (рисунок 9.14). В Simulation Mode выберите Functional. В Simulation Input укажите файл < имя_Вашего_проекта>.vwf. После этого нажмите кнопку Generate Functional Simulation Netlist (процедуру Generate Functional Simulation Netlist необходимо проводить после каждого изменения проекта). Если возникли ошибки, необходимо их исправить. Обязательно поставьте галочку в пункте Overwrite simulation input file with simulation results.
Рисунок 9.13 – Диаграмма
Рисунок 9.14 – Окно Simulation Tool
Далее перейдите на вкладку с файлом.vwf попробуйте указать некоторые входные сигналы xpin, аналогично работе с сигналом Reset выбирая курсором нужный временной диапазон, и задавая ему значения. Срабатывание идет по фронту синхроимпульса, поэтому изменять значения линий входной шины нужно до начала такта и после сигнала общего сброса Reset. Нажмите Ctrl+I или в меню Processing> Start Simulation и запустите процесс модуляции. После того как он закончится, Вы можете снова выбрать вкладку с файлом.vwf и подтвердить изменения. По результатам диаграммы при необходимости нужно подогнать длительность тактового сигнала так, чтобы функционирование УА было стабильным. В полученном файле диаграмм обнулите все сигналы кроме CLK и Reset. Запустите процесс модуляции (Processing> Start Simulation). Cохраните данный файл как < имя_Вашего_проекта> _.vwf. 10 Построение объединенной схемы ОА и УА
Для того, чтобы объединить синтезированные на ранних этапах ОА и УА, необходимо проделать следующие действия. Откройте в Quartus проект с ОА. Откройте схему (не проект, а только схему!) *.bdf из папки проекта с УА. Сохраните данную схему как *.bdf в папке проекта с ОА! Далее, выберите пункт меню Project> Add/Revove Files in Project… В появившемся окне (рисунок 10.1) добавьте в проект с ОА все те файлы из проекта с УА, которые Вы использовали для построения регистров, дешифраторов, счетчиков, а также тех элементов, которые Вы непосредственно синтезировали сами.
Рисунок 10.1 – Добавление файлов к проекту с ОА
Перейдите на вкладку со схемой УА. Уберите в ней лишние выводы (такие как «out», и выводы со входов элементов памяти). Добавьте еще два вывода (разместите на схеме элементы output и назовите их «Z» и «clkout»). Подключите вывод Z к x[8]. Из таблицы 5.2 видно, что х9 является интерпретацией осведомительного сигнала Z, а в схеме УА осведомительные сигналы формируются с нуля. Проинвертируйте тактовый сигнал clk и соедините его инверсию с выводом clkout (рисунок 10.2).
Рисунок 10.2 – Выводы УА
Выберите пункт меню File> Create/Update> Create Symbol Files for Current File. Теперь УА может быть представлен в виде блока и доступ к нему можно осуществить из библиотеки проекта (Project\< имя_файла_со_схемой_УА>) как показано на рисунке 10.3.
Рисунок 10.3 – Выбор схемы с УА
Далее удалите из схемы с ОА функциональный блок, который был интерпретацией УА, и добавьте вывод Reset (элемент input из стандартной библиотеки Quartus), необходимый для сброса УА в исходное состояние. На входы xpin схемы УА нужно подавать осведомительные сигналы p. Поскольку осведомительный сигнал xpin[0] (х1 в таблице 5.2) в первом случае реализации УА не использовался, то здесь его нужно сформировать. Это можно сделать, используя внутренние состояния УА. Анализируя граф на рисунке 6.1, можно сделать вывод, что состояния a[0] и a[2] можно использовать для формирования данного осведомительного сигнала. Аналогично с сигналом xpin[8] (рисунок 10.4).
Рисунок 10.4 – Формирование осведомительных сигналов xpin[8] и xpin[0]
При компиляции проекта может возникнуть конфликт из-за того, что на входе xpin схемы УА используются имена осведомительных сигналов как с шины p[7..1], так и с выходов других элементов, которые (выходы) также обозначены, как и некоторые осведомительные сигналы шины p[7..1] (рисунок 10.5).
Рисунок 10.5 – Возникновение конфликта имен
Для того, чтобы избежать подобной ситуации, необходимо переименовать все выходы элементов в схеме ОА, имена которых совпадают с именами элементов шины осведомительных сигналов (рисунок 10.6).
Рисунок 10.6 – Переименование выводов
Схему, построенную таким образом, можно исследовать также, как и схему ОА, где в качестве УА использовался функциональный блок с записанной микропрограммой фукнционирования на Verilog. Структура ОА, у которого в качестве входных данных используются числа с ПЗ с порядками, имеет некоторые отличия от аналогичной структуры ОА, входными данными которого являются числа с ПЗ с характеристиками. Характеристики являются смещенными порядками. Значения порядков могут быть как положительными, так и отрицательными. Старший разряд порядка является знаковым. До начала работы с порядками необходимо обратить внимание на знак порядка: ¾ «0» – порядок неотрицателен, в преобразовании не нуждается; ¾ «1» – порядок отрицателен, необходимо преобразовать в ДК; для этого можно воспользоваться управляемым инвертором (рисунок 41).
Рисунок 41 – пример схемы преобразования порядков
Если при сложении порядков одного знака в результате получен порядок, знак которого отличается от знаков операндов, то эта ситуация сигнализирует о возникновении ПРС. Таким образом, для того чтобы выявить ПРС, необходима комбинационная схема (рисунок 42).
Рисунок 42 – пример КС для выявления ПРС Особого внимания требует ситуация, когда в результате может возникнуть комбинация «100..0», т.е. «1» в знаковом разряде порядка, а во всех остальных – нули. Это может быть как признак временного ПРС (в дальнейшем, если возникает необходимость в нормализации мантиссы результата, устраняется, в противном случае нужно выдать сигнал «ПРС»), так и ПМР. Поэтому необходимо различать эти ситуации (рисунок 43).
Рисунок 43 – Пример схемы выявления ПМР и ПРС
Перед тем, как выдать результат умножения на выходную шину, в случае, если порядок отрицателен, необходимо его преобразовать обратно в ПК. Для этого достаточно из текущего значения порядка вычесть 1 и проинвертировать его. Менеджмент
Д. Д. Костоглодов В.А. Бондаренко
Ростов-на-Дону – 2013
УДК 339.1(075) ББК 65.291
Рецензенты:
Маркетинг: учебное пособие для бакалавров. Направление подготовки 080200 «Менеджмент» / Д.Д. Костоглодов, В.А. Бондаренко. – Ростов-н/Д: РГЭУ, 2013. - 247 с.
ISBN В пособии рассмотрены разносторонние аспекты маркетинга: эволюция и концепции маркетинга, управление маркетингом на предприятии, сегментирование рынка и позиционирование товара, маркетинговые исследования и маркетинговая информация, исследование поведения потребителей, комплекс маркетинга, управление товаром, ценовая политика фирмы, распределение товаров, маркетинговые коммуникации, программа маркетинговой деятельности предприятия и система маркетингового контроля, специфика интегрированного и международного маркетинга, а также правовое обеспечение маркетинговой деятельности. Представленные тематики, характеризующие современную маркетинговую деятельность, сгруппированы в три модуля «Современный маркетинг: методология и основной инструментарий», «Комплекс маркетинга», «Управление маркетингом фирмы» для удобства изучения и овладения слушателями необходимыми умениями, знаниями, навыками и компетенциями. Пособие предназначено бакалаврам. В учебное пособие включены материалы по основным разделам курса «Маркетинг».
УДК 339.1 ББК 65.291 ISBN © Костоглодов Д.Д., Бондаренко В.А. 2013 © Оформление. РГЭУ, 2013
Содержание
|