![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Программные средства foundation 9.4, и не понадобятся комбинационные выходы. Чтобы реализовать такой подход необходимо в предыдущей профамме изменить только назначение выводов и определения состояний; в результате получим профамму на языке ABEL для устройства с новым именем, приведенную в табл. 9.4. В каждом из шести результирующих уравнений возбуждения используются только четыре терма-произведения. 9.1.4. Игра на угадывание В разделе 7.7.1 было дано следующее описание автомата для ифы на угадывание: Построить тактируемый синхронный автомат с четырьмя входами G1-G4, подключенными к кнопкам. У автомата четыре выхода L1-L4, к которым подключены лампочки или светодиоды, расположенные рядом с кнопками с теми же номерами. Имеется также выход ERR, к которому подключена красная лампочка. При нормальной работе на выходах L1-L4 индицируется комбинация 1 из 4 . На каждом такте комбинация сдвигается на одну позицию; частота тактового сигнала равна 4 Гц. Задача ифОка состоит в том, чтобы вовремя нажать кнопку, соответствующую горящей лампочке. При нажатии /-ой кнопки вырабатывается единичный сигнал Gi. Если подан неправильный сигнал, то возникает сигнал на выходе ERR и загорается красная лампочка; это происходит в том случае, когда автомат на очередном такте обнаруживает сигнал, номер которого не совпадает с номером лампочки, зажженной на предыдущем такте. Когда кнопка нажата, ифа останавливается, и сигнал на выходе ERR сохраняет свое значение в течение одного или нескольких тактов, пока не будет снят удерживаемый вами сигнал Gi, и тогда ифа возобновляется. Как мы видели в разделе 7.7.1, этому автомату необходимы шесть состояний: по одному состоянию на каждую зажженную лампочку и два состояния для тех случаев, когда Ифа остановлена после правильного или неправильного нажатия на кнопку. В табл. 9.5 приведена профамма на языке ABEL для ифы на угадывание. Добавлены два усовершенствования, обеспечивающие возможность тестирования и повышающие надежность автомата: введен вход RESET, позволяющий переводить автомат в известное начальное состояние, и предусмотрены два неиспользуемых состояния с указанными в явном виде переходами в начальное состояние. Кодирование состояний в автомате, описываемом данной профаммой, такое же, как и в исходной версии в разделе 7.7.1. Следуя этому кодированию, компилятор языка ABEL выдает минимизированные равенства с числом термов-произве-дений, указанным в табл. 9.6. У выходного сигнала Q0 восемь термов-произведений, и это - предел того, что можно реализовать в ИС GAL16V8. Можно попытаться иначе кодировать состояния и написать профамму так, чтобы сохранять значения отдельных термов (см. задачу 9.4). Более продуктивной может оказаться попытка записьтать состояние в форме вы-Тодного кода. Можно воспользоваться однобитовым представлением состояний и выходов (l1. . l4) в отношении каждой из лампочек и еще одним битом (err) для того, чтобы различать состояния sok и serr, когда все лампочки погашены. Это позволяет опустить в табл. 9.5 равенства для l1. . l4 и err. Новое юдирование представлено в табл. 9.7. При такой записи состояний для l1 нужны два терма-произведения, а для aodule ggame Title Guessiag-Qaae State Machine GGAME device PieVSR; Inputs and outputs CLOCK, RESET, Gl..G4 L1..L4, ERR Q2..QO Sets pin 1, 2, 3..6; pia 12,.15, 19 istype com pia 16..18 istype reg;
state diagraa QSTATE state SI; IF RESET THEN SOK ELSE IF G2 # G3 # G4 TrfEN SERR ELSE IF Gt THEN SOK ELSE S2; state S2: IF RESET THEN SOK ELSE IF Gl # G3 # G4 THEN SERR ELSE IF Q2 THE.V SOK ELSE S3; state S3: IF RKET THEN SOK ELSE IF Gl # G2 # G4 THEN SERR ELSE IF G3 THEN SOK ELSE S4; state S4: IF RESET ШЕН SOK ELSE IF Gl # G2 # G3 THEN SERR ELSE IF G4 THEN SOK ELSE SI; state SOK: IF RESET THEN SOK ELSE IF Gi # G2 # G3 # G4 THEN SOK ELSE SI; state SERR; IF RESET THEN SQK ELSE IF Gl # G2 # G3 # G4 THEN SERR ELSE SI; state EXTRAl: state EXTRA2: GOTO SOK; GOTO SOK; equations QSTATE.CLK = CLOCK; Ll (QSTATE SI); L2 = (QSTATE == S2); L3 - (QSTATE == S3); L4 = (QSTATE == S4); ERR = (QSTATE == SERR); end ggaae L2. . L4 - лишь по одному терму-произведению на каждый выходной сигнал. К сожа лению, для сигнала на выходе ERR необходимы 16 термов-произведений. Табл. 9.5. Программа на языке ABEL, описывающая автомат для игры на угадывание
Total Pins: 14 Average P-Tera/Output; 2 Табл. 9.7. Определения на языке ABEL применительно к автомату для игры на угадывание в случае записи состояний в форме выходного кода module ggameoc Title Guessing-Gajne State Machine GGAMEOC device Pi6V8R; Inputs and outputs CLOCK, RESET, Gl..G4 Ll. ,L4, ERR States QSTATE = [L1,L2,L3,L4,ERR] 51 = [ 1, 0, 0, 0, 0] 52 = [ 0, 1, 0, 0, 0] 53 = [ 0, 0, 1, 0, 0] 54 = [ 0, 0. 0, 1, 01 SOK = [ 0, 0, 0, 0, 03 SERR = [ 0, 0, 0, 0, 1] pin 1, 2, 3..6; pin 12..15, 18 istype reg; Применяя указанный конкретный способ записи состояний в форме выходного кода, мы не в полной мере используем достоинства такого подхода. Запись состояний в форме выходного кода является, по существу, прямым кодированием , но для декодирования каждого состояния нужны все пять битов представления состояния согласно определению состояний в табл. 9.7. Возможен другой вариант кодирования с использованием безразличных значений, как показано в табл. 9.8. Табл. 9.6. Использование термов-произведений при реализации в ПЛУ конечного автомата для игры на угадывание ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |