![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Программные средства foundation 9.2. Примеры проектирования на языке VHDL 955 Табл. 9.23. VHDL-программа для контроллера светофора в г Саннивейл librazy IEEE; use IEEE,std logic US4,all; eati-ty Vsvaie is port С CLOCK, RESET, isSCAR, EWCAR, TXSHORT, IMLOSQ: in STD.LOGIC; OVERRIDE. FLASHCLK: in STD.LOQIC; NSSED, NSYELLOW, SSGREEN: out STD...LQGtC; EWSED, EWYEr.LD , EWQREES, TMKESET: out STD.LOGIC ); end; arcititecture Vsvale.arch of Vsvaie is typs Sreg.type is (SSGO, SSWAIT, KSWAIT2, MSDELAY, E OQ. EWAIT, EWWAIT2, EWDELAY); signal Sreg; Sreg ..type; begin process (CLOCK) begia if CLOCKavent and CLOCK 1- zbea if RESET = -r ther. Sreg <= NSDELAY; else сазе Sreg is whfeii ssao it TMSHORT-0 then Sreg <- NSGO; elsif THLONG=l tben Sreg <= NSWAIT; elsix EWCAR*1 and SSCAR=0 then Sreg <= elsif EWCAR=r and KSCA.4-l thers Sreg <= elsif EWCAR=0 ar-d SSCAP=r then Sreg <= else Sreg <= ead if; wlien NS,<A1T => Sreg <- MSWA.:Ta; whea NSWAIT2 -> Srsg <- NSDELAY; vhen NSDELAY Sreg <- EWGO; when EVGO => if TMSHORT=0 then Sreg <= EWOO; slsiif TKLOSG-l thea Sreg EWWAIT; - Korth-south green. - Miniffius 5 seconds. - Maxiffiua 5 minutes. N350; - .Make EW car wait. NSWAIT; - Thrasih if cars both ways. NSWAIT; - Mew KS car? Make It stop! KSGO; ...... No one coding, no change. - Yellow light, two ticks isr safety. - Red both ways for safety. - East- est green. - Same behavior as above. a d EWC&R= and E CAR= and ШСАК! thea Sreg < then Srsg <-then Sreg <-Srsg <= EWGQ; EWWAIT; EWWAIT; EWGO; Sreg <- EWWAIT2; => Sreg EWDELAY; Sreg <= KSGO; => Sreg <= NSDELAY; - Reset state. elsif JiSCAR=4 elsif NSCAR=i-elsif KSCAR-O else end if; when EWWAIT when SWWAIT2 when EELAY when others end case; end if; end if; end process; TXHESbT <= Ч hen Sreg MSWAIT2 or Sreg=EWWAlT2 else 0; SSRH> FLASHCLK when OVERRIDE-1 else 1 when Sreg/=.4Sao and Sreg/=MSKAIT and Sreg/=NSWAIT2 else 0 NSYELLOW <- 0 when OVERRIDE-1 else Ч when Sreg-SSWAIT or Sreg=KSWA.IT2 else 0; NSGREEN <= 0 vhen OVERRIDE1 else 1 when Sreg=NSGO else 0; EWRED <= FLASHCLK vhen OVERRIDE=l else 1 vhen Sreg/=EWGO and Sreg/=EWWAIT and SregZ-EWWAITS else 0 EWYET.LOW <= 0 vhen DVERRIDEl else 1 when Sreg=EWWAIT or Sreg-EWWA1T2 else 0; EWGREF,R <= 0 vhen OVERRIDE-1 else 1 when Sreg-EWGO else 0; end Vsvale.arch; STD.LOGIC.VECTQR (1 to 7) STD LOGIC VECTOR (i to 7) constant HSWAIT2: STD.LOGIC.VECTOR {1 to 7) constant NSDELAY; STO.LDGIC.VECTQR (1 to Г) STD.LOGIC.VECTOR (1 to 7) STD.LOGIC.VECTOR (1 to 7) constaat EWAIT2: STD.LOGIC.VECTOR (1 to 7) constant EWDELAY: STD.LOGIC.VECTOR (1 to 7) constant NSGO: constant NSWAIT; constant EWGO; constant EWWAIT: 0101000 0101001 1001000 1000010 loooioo loooioi 1001001 process (CLOCK) (no change to process) end process; TRESET KSRED NSYELLOW SSGREES EWRE0 <= Ч when Sreg=SSWAIT2 or Sreg EWWAIT2 else 0 <= Sreg(l); < Sreg<2) <= Sreg(3) <= Sreg(4) EWYELLOW <= Sreg(5) EWGREEN Sreg(6) end Vsvaleoc.arch; Задачи 9.1. Напишите программу на языке ABEL для конечного автомата, описанного в задаче 7.30. 9.2. Видоизмените профамму на языке ABEL, приведенную в табл. 9.2, добавив выход HINT согласно первоначальному описанию этого конечного автомата в парафафе 7.4. 9.3. Постройте заново автомат для управления задними огнями автомобиля марки Ford Thunderbird, у которого, в отличие от автомата из раздела 9.L3, было бы предусмотрено включение стоп-сигнала и габаритных огней. Когда подан входной сигнал BRAKE ( тормоз ), все фонари должны загореть- Табл. 9.24. Определения для автомата, управляющего светофором в г Саннивейл, при записи состояний в форме выходного кода library lEEZ; use IEEE.std logio 1164.all; entity Vsvale is port ( CLOCK, RESET, SSCAR, EWCAR, TKSHORT, TMLOKG: in STD LQGIC; OVERRIDE. FLASHCLK: in STD.LOGIC; HSKED, .4SYELLDW, NSGREEN: out STD.LOGIC; EWBED, EWYELLOW, EWGREEN, TMRESET; out STD.LOGIC ); and; architecture Vsvalecc.arch of Vsvale is signal Sreg: STD.LOGIC.VECTOR (1 to 7); - bit positions of output-coded aBSigsEeot: (i) KSRH), (2) NSYELLOW, (Э) JiSGREEK, (4) EWRED, (6) EWYELLOW. (6) EWGREEN, (7) EXTRA 0011000 ся немедленно и оставаться включенными до тех пор, пока сигнал BRAKE не будет снят, независимо от каких-либо условий. При возникновении сигнала на входе PARK ( парковка ) каждый фонарь горит в половину яркости в течение всего времени, пока система не перейдет в другой режим. Это достигается подачей на фонари сигнала D1MCLK с частотой 100 Гц и 50-процентным коэффициентом заполнения. Начертите принципиальную схему автомата на одном или двух ПЛУ, напишите программу на языке ABEL и представьте краткое описание того, как работает ваша система. 9.4. Найдите такое 3-разрядное кодирование состояний автомата для игры на угадывание из табл. 9.5, при котором максимальное число термов-произведений, приходящихся на один выход, сокращается до 7. Можно ли сделать еще лучше? 9.5. Работа автомата для ифы на угадывание из раздела 9. L4 полностью предсказуема; игроку нетрудно подстроиться под темп, с которым переключаются лампочки, и всегда нажимать на кнопку в нужный момент. Ифа становится более забавной, если темп переключения сделать меняющимся. Видоизмените профамму на языке ABEL, приведенную в табл. 9.5, так, чтобы выход конечного автомата из состояний s1-s4 происходил только тогда, когда подан новый входной сигнал sen. (Предполагается, что сигнал sen поступает с выхода генератора псевдослучайного потока битов.) Правильное и ошибочное нажатие кнопки должно распознаваться независимо от того, подан сигнал sen или нет. Посмотрите, помещается ли по-прежнему ваше устройство в одной ИС 16V8? 9.6. Напишите профамму на языке ABEL для 8-разрядного регистра с линейной обратной связью в расчете на реализацию в одной ИС 16V8, которым можно было бы воспользоваться в качестве генератора псевдослучайного двоичного сигнала в условиях предыдущей задачи. Чему равен период двоичной последовательности, выраженный числом тактов? Каково максимальное число нулей, следующих подряд? А число единиц? 9.7. Добавьте конечному автомату, представленному на рис. 9.7, вход OVERRIDE, не выходя за пределы одной ИС 16V8. Когда на этот вход подан сигнал, красные фонари светофоров должны мигать, включаясь и выключаясь раз в секунду. Напишите полную профамму на языке ABEL для вашего автомата. 9.8. Видоизмените профамму из табл. 9.9 для автомата, управляющего светофором, заставив светофор переключаться так, как вам хотелось бы, чтобы это происходило в вашем собственном городе. 9.9. Напишите VHDL-профамму для конечного автомата, описанного в задаче 7.30. 9.10. Покажите, как следует изменить профамму в табл. 9.13, чтобы у устройства был асинхронный вход reset, возникновение сигнала на котором заставляло бы конечный автомат переходить в состояние init. Повторите эту задачу для синхронного входа сброса так, чтобы конечный автомат переводился в состояние init в случае, когда сигнал reset принимает активное значение по нарастающему фронту тактового сигнала. ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |