![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> База цифровых устройств Перейдем к анализу автомата AvtOutBi, управляю(исго выоодом последовательного кода по запросу и сопровождающего такую выдачу сигналами стробпрования ![]() Рис. 9.8. Граф-схема автомата управления для проектируемого средствами САПР устройства Основу а.1Горитма составляют два последонательно выполняемых блока. Первый блок по сигналу Rd автомата, образуемому vm сигнала READ внешнеш управляющего устройства, считывает байт из памяти, а ем запружает его в сдвигающий регистр. Второй блок содержит последовательность действий, которая в ответ на запускающие! внешний сигнал OuiAck, преоб15азусмый в сигнал Аск автомата, осуществляет циклический вывод на выходной контакт OiitData данных из сдвигающего регистра и при jtom сопровождает каждый бит сфобируюшим СИ1 палом OutStrob (контакт автомата Sirob). Количество требуемых итераиий цикла подсчитывает счетчик сдвигов. Следует обратить внимание на петли ожидания в состояниях Idle, EndLdBt и WaitOnu наличие которых обеспечивает необходимую синхронизацию сигналю запрос-oiRei от 1ЛистингЗ 5* AHOL code created by visual Software Solutions StateCAD Version 3 2 i This AHDL code was generated using: % % enumerated state assignment with structured code format, % % Minimizai-..Lon is enabled, implied else is enabled, * S and outputs are manually optimized. % SUBDESTGN AVTOUTBT (CLK, tteset, count, RD, ACK: INPUT; load, shift, clkcou, clrcou, ready, strob, ENDOut, ENDRd: OUTPUT;) VARIABLE внешнего устройства (квитирование). Необходимую для правильной работы автомата синхронизацию асинхронных сигналов READ и ОшАск выполняют дополнительно введенные в схему цепочки D триггеров. Пояснения к синтаксису AHDL и VHDL программ устройства управления Для автомата нашего примера с помощью пр01раммы StateCAD Version 3.2 пакета Workview ОШсе фирмы Viewlogic были выполнены две трансляции диаграммы (лля разных вариантов языкового описания). Во-первых, был создан вариант, ориентированный на возможности языка описания аппаратуры низкого уровня AHDL (листинг 2). Во-вторых, было создано описание этого же автомата на языке высокого уровня VHDL (листинг 3). Начнем с анализа программы автомата AvtOutBt на языке AHDL. Этот вариант описания автомата AvtOutBt, используемый в проекте, компилировался с помощью прораммы StateCAD с ориентацией на язык AHDL фирмы Altera. Как и в больщинстве других языков, прежде всего в программу вводится фрагмент, отвечающий за интерфейс пр01раммы. После ключевого слова suBDESiGN И имени проекта AutOutBt в круглых скобках перечислены все входные и выходные сигналы с отнесением их к соответствующим типам. После этого начинается собственно про1рамма. Как и в других языках (если есть в этом необходимость), она начинается с раздела описания переменных (VARiABiF.). В нашем примере в данном разделе определяется автомат (машина состояний) с именем .чгед и перечисляются все его состояния. Кроме этого, в этом же разделе для устранения недопустимых пиков у сигнала READY вводится дополнительный триггер DFF. входному контакту (NODE) которого присваивается имя TempReady. TempReady: NODE; sreq: MACHINE WITH STATES (Idle, BegLdBt, LdBt, EndLdBt, WaitOut, StateStbOut, StateCount, Quit); BEGIN % Clock setup % sreg.clk=CLK; ready=DFF(TempReady, CLK, VOC, VCCi; IF (Reset) THEN sreg=Idle: load=GND; shift.=GND; clkcou=GND; clrcDu=GND; TempReady-GND; strobGND; ENDOutGND; ENDRd=GND; ELSE CASE sreg IS WHEN Idle=> load=GND; shift=GND; clkcou=GND; c] rcou=GND; TeinpReady=GND; strolD-GND, ENDOut-GND; ENDRd=GND; IF (RD) THEN sreg=BegLdBt; END IF; IF (iRD) THEN sreg=Idle; END IF; WHEN BegLdBt=> load=VCC; shift=GND; clkcou=GND; clrcou=GND; TempReady-GND; strob=GND; ENDOut=GND; NDRd-GND; sreg=LdBt; WHEN LdBt=J load VCC; shift=VCC; clkcou=GND; clrcou=GND; TempReady=GND; strob=GND; ENDOut=GND; ENDRd=GND; sreg=EndLdBt; WHEN EndLdBt=> load-GND; shift-GND; clkcou=GND; clrcouGND; Ten!pReady=GND; strobGND; ENDOut=GND; ENDRd=VC. IF (RD) THEN sreg=EndLdBt; END IF; IF (IRD) THEN sreg=WaitOut; END IF; WHEN Wait.Out-> load=GND; shift=GND; clkcou=GND; clrcouVCC; TempReady=VCC; strob=GND; ENDOut=GND; ENDRd=GND;
ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |