Суворова Е.А., Шейнин Ю.Е. Проектирование цифровых систем на VHDL (2003), страница 40
Описание файла
DJVU-файл из архива "Суворова Е.А., Шейнин Ю.Е. Проектирование цифровых систем на VHDL (2003)", который расположен в категории "". Всё это находится в предмете "микропроцессорные системы (мпс)" из 8 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "микропроцессорные системы" в общих файлах.
Просмотр DJVU-файла онлайн
Распознанный текст из DJVU-файла, 40 - страница
Пример такого объекта приведен в листинге 4.29. ОбЪЕКт ИМЕЕТ ВХОД таКтИрОВаНИя с1)с И даа ИНфОрМацИОННЫХ ВХОда йата И ров. ОН ИМЕЕТ даа ВЫХОда йатао И йатао1. На ПЕрВЫй ИЗ НИХ ВЫдаЕтея ЗНачение функции дев ров, вызываемой с параметрами йаса и ров. На выход йатао1 ВЫдаЕтСя ЗНаЧЕНИЕ фуНКцИИ тапй 1, ВЫЗЫВаЕМОй С ПараМЕтраМИ 433 (ядро) и апта.
Сигнал йсвпг — внутренний сигнал, используемый для хранения значения множителя. (с)спп2, йвшп, йв декларированы как сигналы, поскольку так удобнее просматривать их на временных диаграммах). Эти действия выполняются в первом процессе, который выполняется при каждом изменении сигнала тактирования с1н.
Таким образом, каждый раз при изменении сигнала тактирования генерируется новое псевдослучайное число. Второй процесс предназначен для того, чтобы оценить качество псевдослучайной последовательности. В нем выполняются следуюп(ие действия: сигнал йвшп используется для накопления суммы значений получаемых псевдослучайных величин, а сигнал йв — для подсчета количества полученных псевдослучайных величин.
На базе этих двух сигналов может быть вычислено среднее значение случайной величины в любой момент времени. Лнетннг 4л26 Рае)саде тапйссс 1 1в Суре С1 йв аттау (1 ео 2) оя пасита1с аопвеапе тес васе:пасита1: = 3; ссспеезоп вес ров п(ппелседет; ров:патпта1) тесптл патита1; сппеезспс тапй 1()заве: паспта1; пп2спасша1) тепптл с1; епй рае)саде тапдопс 1; Рае)саде Ъойу тапйосв 1 ъв яасее1оп вес ров п(ппьпеедетс ров:паепта1) теешл пасша1 йв еатзаЫе 1:пасита1; атъаЫе п1,п2спасита1; ЬедЗп п2: = и; тот 1 ъл 1 По ров 1оор п1: = п2 пюй 10; пг: = пг Г 1О; елй 1оор; гов Глава 4 пепитл п1; впй йипои1с~ь дес ров п; йипоМоп гапй 1(Ьаве: папипа1; ип2:папша1) пвиипп С1 1в .ювп(вЪ1в рп,пп2 2,гев,11:папипа1; чап1аЪ1а гев Пси1; Ъед1п рх" = )Завеассп2 ° пев: = 0; йод 11 1п пех прае йсввпио 1 1оор пев: = пав*10 + деп ров п(рп,11); впй 1оор; сев С(1): = гев; п2 2: = 0; йог 11 йп пек вове + 2 йоапио 3 1оор пп12 2: = пп2 2*10 + деп ров п(рп,11); епй 1оор; пев с(2): = ип2 2; гисипп (пев с); епй йипоийоп папй 1; епй рао)сада Ьойу папюса 1; ивв папйов 1.папйссп 1.а11; епМиу сЬ01 1в ропп (с1)с: 1п пасша1с йапапеп Ьппедег; ров пеп папша1; дасао:оии папша1; йасао1:оии пагша1); вси( епп1пу оь21с агоЬЫеопипа тс1 ой оЬ21 1в в1ппис1 йгев: пасипа1; в1дпий йпп2:папша1: = 10; ° витий бваь:папипа1: = 0; вйдаа1 йв:пасша1: = 0; Проектирование на МН01 209 риссова (с1)с) се(тАп с)асао< = 9ее ров п(с)аса,ров); с)асао1< = галс) 1(433,сЪп2) (1); с)гев< = галс) 1(433,с)сп2) (1); с)лгс2< = галс) 1(433,с)пгс2) (2); етиз ргосевв; ргосевв (с)гев) ЬееАп басса< = с)соса + с)гев; с)в< = с)в а 1; отсе ргосевв; есе агсп4еесссге гг1; Результаты работы примера приведены на рис.
4.19 и 4.20. Рис. 4.19. Временные диаграммы работы устройства (начальный фрагмент листинга 4.28) Рис. 4.20. Временные диаграммы работы устройства (другой фрагмент листинга 4.29) Глава 4 г10 Объединение сигналов на шине Выбор типа сигнала для выходов на общую шину Промоделируем устройство, структура которого изображена на рис. 4.21.
Рис. 4.21. Структурная схема устройства, представленного в листинге 4.30 В модели имеется шина, на которую подключаются выходные сигналы от блока л (сигнал является и входным и выходным) и блока с. Предполагается, что система должна работать так, чтобы в один момент времени на эту шину выдавал данные только один компонент. Для этого используется управляющий сигнал с1, который определяет моменты времени, в которые на шину выставляет данные тот или иной компонент.
Если о1 = 1, то данные на шину выставляет компонент л (в модели ему соответствует сущность ааа), в противном случае на шину выставляет данные компонент с (в модели ему соответствует сущность оос). Компонент л выставляет на шину константу, например, 23. Компонент с выставляет на шину данные, поступающие на его информационный вход. Компонент в (в модели ему соответствует сущность ььь) выставляет на свой информационный выход то, что в данный момент находится на его информационном входе, т. е.
— то, что в данный момент находится на обшей шине. Таким образом, при о1 = '1' на выходе мы должны наблюдать значение константы 23, а в противном случае — значение, которое в данный момент находится на информационнои входе компонента с. Модель может быть реализована с использованием механизма компонентов (листинг 4.30). Она может быть целиком расположена в одном файле или каждое из устройств может быть расположено в отдельном файле. Если все эти файлы включены в один проект, то на работе это не отражается. Один из файлов, входящих в состав модели, может содержать описание каждого из устройств л, в, с, а другой файл — описание устройства в целом, в состав которого входят устройства л, в, с как блоки. Проектирование на )ГН01 г» Предпочтительным является вариант расположения каждого устройства в отдельном файле, поскольку это облегчает процесс проектирования и позволяет нескольким разработчикам одновременно работать над одной моделью.
: Листинг 4.30 впейьу ааа йв РОГЕ (ааа).ПОиез ЕПОиг йигвдЕГЗ с1зй Ме)з вп6 епейсу аааз вгоМЕеоеиге ааа Ьеьаи1оиг оЕ ааа йв Ьед1п ргооевв(с1) Ьедйп йе с1 = '1' еьеп ааа1поис< = 23) еп6 1е; еп6 ргооеввз вп6 агоьйгеосиге ааа ЬеЬагзоиг) в Меу ЬЬЬ йв роге (ЬЬЬоиезоие йпседег; ЬЬЬ).пз 1п йпеедег; с1зйп МЬ); вп6 епсйву ЬЬЬ; вгсьйееоеиге ЬЬЬ Ьеьазз1оиг оЕ ЬЬЬ 1в Ьвддп ргооева (Ьььзп) Ьедйп Ьььоие< = ЬЬЫп; еп6 ргооеаа; вп6 агоьйееоеиге ЬЬЬ ЬеЬаззйоиг; впьйеу ссс йв рзге (сссоисзоие 1пседег; ссс1пз йп 1пеедег; с1з йп Ыс) з вп6 епейеу ссс; агсМееоеиге ссс Ьеьаийоиг оЕ ссс 1в Ьедз.п )госева (сссзп) Ьедйп ЕЕ с1 = '0' еьеп сссоие< = сссдп) езъй ЕЕ; вп6 ргосевв; езд агоьйееогиге ссс Ьеьаиз.оизз 1зЬгагу зееез вве зеее.аес) 1одзс 1164.а11 г(г Глава 4 апЫсу всЬевас?св1 1а епс? всЬевас?св1; агсЫПессиге всЬ1 аттис?иге ой всЬевет?св1 1в ссвропепв ааа 1в роги (ааа?поит: 1поиа ?птедег; с1: 1п Ыс); еснй ссвропепа ааа; ссивопепс ЬЬЬ 1а рога (ЬЬЬоит:оиа ?птедет; ЪЬЫп: 1п ?птедет; с1: 1п Ыт); освропюьа ссс 1в рога (сссоис:оиа ?пседег; ссс?п: 1п 1пседег; с1: 1п Ыс) / епо ссаропепа ссс; в1всаа1 огсас).
ипивес):втс1. ?од?с; в1аава1 М00037: ?п?едет; в1два1 И00034: ?п?едет; в10авс1 И00012: ?птедет; в1дямй И00015: ЫС; — включение компонента-экземпляра и1 типа ааа и1: ааа Рога вар(ааа?поит = > И00037, с1 = > (Ч00015); — включение компонента-экземпляра и2 типа ЬЬЬ и2. "ЬЬЬ Рога вар(ЬЬЫп = > ?(00037, Ьььсит = > НОООЗС, с1 = > (Ч00015); — включение компонента-экземпляра иЗ типа ссс иЗ: ссс Рога пар (сссоит = > И00037, ссс?п = > И00012, с1 = > )Ч00015); епо всЬ1 аттис?иге; Проектирование иа МИОЕ Зто структурное описание было синтезировано средствами ОгСАР 7.0 на базе рисунка схемы.
Названия сигналов (линий связей между компонентами в000хх) сгенерированы автоматически. Обшей шине соответствует сигнал в00037. Сигнал н00011 соответствует информационному входу компонента, ссс — информационному входу системы в целом. Сигнал нсооз4 соответствует выходу компонента, ььЬ вЂ” информационному выходу системы в целом.
Результат работы этого устройства представлен на рис. 4.22. Рис. 4.22. Временная диаграмма работы устройства, описанного в листинге 4.30 Описание устройства, представленного листингом 4.30, выглядит вполне логично. Однако устройство не работает желаемым образом: на выходе все время присутствует то же самое, что и на входе, независимо от значения сигнала с1. Зто связано с выбором типа сигнала для выходов на обшую шину. Выбран логический тип, который не позволяет промоделировать отсутствие сигнала.
Для этого типа не определена вычисляемая функция, которая позволяла бы определить, какое значение будет иметь сигнал на шине, если от разных источников поступают различные значения. Рассматриваемые инструменты проектирования не позволяют пользователю описывать новые вычисляемые функции. Заменим логический тип физическим, причем таким, который содержит третье состояние 1например, на тип нш н1одьс, для которого определена вычисляемая функция в пакете нтд 1одьс 1104). В ЛИСТИНГЕ тИП 4пседев ВЕЗДЕ дОЛжЕН бЫтЬ ЗаМЕНЕН ТИПОМ нш н1одас. Константа 23 в компоненте л должна замениться константой '1'. Описание блоков л, в, с будет иметь вид, представленный в листинге 4.31. Листинг 4.31 ',':::;;=,::- -:: нве 1еее.внб 1од1с 1104.а11; нве геее.птннехьс внб.а110 епн1ву ааа 1в ровс (аааьпонс: 4понс всб и1одгс; г(4 Глава 4 с1;Еп Ы? ) епа епе1еу ааа; агаМЕеагиге ааа Ьеьач?оиг2 оЕ ааа 1в Ьедвп ргоаевв(с1) Ьед1п Ее с1 = '1' еьеп ааа?пои?< = '1'; е1ве ааа?пои?< = 'а'; епа 1Е1 епй ргоаевв; епй агаЫееагиге ааа Ьеьач?оиг2; иве Ееее.в?с).
1од?с 1164.а11; иве ?еае.пипег?с в?с).а11; епЫеу ЬЬЬ Ев роге (Ьььои?:оие в??) и1од).с; ЬЬЫп: Еп в?ст и1од?с; с?пеп ЫЕ); епа епИ.Еу ЬЬЬ; агаЫ.Ееагиге ЬЬЬ ЬеЬач?оиг2 оЕ ЬЬЬ Ев Ьед1п ргоаевв (ЬЬЫп) Ьед1п ЬЬьоие< = Ььып; епй ргоаевв; епо ага?пгеагиге ЬЬЬ Ьеьач?оиг2; иве Ееее.в?с) 1од?с 11б4.а11; иве ?еее.пинг?с в?с).а11; епе1еу ссс Ев роге (сссоис:оие в?с( и1од?с; ссс1п: Еп 5?с) и1одЕс; с?: Еп Ые); еп(( епезеу ссс; агаЫ.ееаеиге ссс Ьеиач?оиг2 оЕ ссс Ев ргооевв (ссс?п,с1) Ьедап 1Е с1 = '0' Еьеп сссои?< = ссс?п; е1ве сссои?< = '2'; епа 1Е; епа ргоаевв; епо агаЫЕеаииге ссс ЬеЬач?оиг2; В описании архитектуры устройств л, в и с, при изменении сигналов нз входах ггг?п, запускаются процессы, выставляющие на выходной порт значения сигнала с входного порта. Когда устройство л или с не должно выхо- Проектирование на УНОь 2(о лить на шину, его выход переводится а третье состояние, а значение сигнала на шине определяется в соответствии с вычисляемой функцией для данного типа (текст решаюшей функции из пакета вгй 1од'с 11ь4 приводится я листинге 4.32): если один из выходяших на шину сигналов установлен в 2, то значение сигнала на шине такое же, как и значение второго выходного сигнала на шину.
Листинг 4.'32-" ! ! О Х С 1 2 Н 1 Н уоистхои гево1чей (в: вей и1одьс чесгог) Ветоаи вгй и1одьс гя чаяххвье геви1г: вгй и1одгс: = 'г'; — ееахевг агапе йегаи12 ъттвхеоте вупгиевав гегигп ОР гевиьс:члдтлеье хв гл1ВЕО ТНРЕЕ ЯТАТЕ" -- гпе гевг гог а в1пд1е йгьчег тв еввепгьа1 огпегнгве гпе 1оор нои1й гегигп 'х' Гог а вапд1е йгьчег ог ' †' апй гпаг -- еои1й соп211сг нггь Гпе ча1ие ог а вгпд1е йг1чег ипгево1чей РОВ 1 ЗИ в'ВВЗВЖ ЬООР геви1Г : = гево1исьоп ГаЫе(геви1Г, в(1)); ЕИО ЬООРу ЕВ(О Хву ВЕтОВИ гвяи1Г; ЕВО гево1чей; О)ивтаыт гево1иггоп га)о1е: вгй1од1с гаьье: = ( (О, О, О, О, О, О, О, (О, Х, О, Х, О, О, О, О (О, Х, Х, ('О', 'Х', 'О', '1', 'Н', И , 'Н , Н ( О', Х, С, 1, ь , и, ь, н -- вгдпа1.
ХГ (в'ЬЕНОТН = 1) ТНЕМ ВЕТОВИ в(в'ЬСН); О'), — ! О ! х'), — ! х ! х ), -- ! о ! х ), -- ! 1 ! х'), -- ! 2 ! х), -!н! х),-/ь! х'), — ! н ! х ) Глава 4 ггб Теперь устройство в целом работает правильно. Временная диаграмма его работы приведена на рис. 4.23.