![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Программные средства foundation MIN/MAX X Y =Г х>у тах(Х, Y) MIN/MAX X : min (X, У) Х>У дрпоштель-наялсгаа ВЫБОР =>z 74LS682 74x157 Х[7:01. ус7:01. 2<j 1 Y1 i i i.V2 i 7 1 9 9 MIN/MAX-
74x86 ![]() Zt7:0] Рис. 6.8. Схема компаратора с управляемым режимом работы: (а) блок-схема первого приходящего на ум решения (mux - мультиплексор); (Ь) блок-схема более рационального решения с точки зрения стоимости; (с) принципиальная схема для варианта на рис. (Ь) Наше первое решение достигает цели, но оно дороже, чем могло бы быть. Хотя схема содержит три двухвходовых мультиплексора, в конце концов нужно выбрать и пропустить на выход только одно из двух имеющихся входных слов X и У. Поэтому задача состоит в том, чтобы построить схему, в которой решение о выборе одного из двух входных слов осуществлялось бы единственным двух-входовым мультиплексором и некоторой дополнительной логикой. Иллюстрацией такого подхода служат схемы на рис. 6.8(b) и (с). Дополнительная логика оказывается совсем простой: это всего лишь единственный вентиль ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ. 6.2. Примеры проектирования схем с использованием языка ABEL и их реализация в ПЛУ 6.2.1. Устройство быстрого сдвига Устройство быстрого сдвига, рассмотренное в разделе 6.1.1, является хорошим примером проектирования некоторой схемы, когда не используются ПЛУ. Однако для описания подобного устройства удобно воспользоваться языком ABEL, и мы увидим, почему ПЛУ не вполне подходит для реализации типичного устройства быстрого сдвига. В табл. 6.2 приведены равенства для 16-разрядного устройства быстрого сдвига с теми же самыми функциональными возможностями, что и в примере в разделе 6.1.1. В этом устройстве осуществляются только циклические сдвиги влево, а величина сдвига определяется сигналами, поступающими на 4-разрядный управляющий вход 5[3...0]. Язык ABEL позволяет легко описать в целом выполняемые схемой функции, не заботясь о том, как схема могла бы быть разбита на несколько отдельных микросхем. Кроме того, компилятор языка ABEL послушно находит минимальное выражение вида сумма произведений для каждого выходного бита. В данном случае каждому выходному сигналу необходимы 16 термов-произведений. Табл. 6.2. Программа для 16-разрядного устройства быстрого сдвига на языке ABEL module ЪаггеИб title 46-bit Barrel Shifter Inputs адс1 Outputs DIN15..DIN0. S3..SO pin; D0UT15. .DOUTO pm istype com; S = CS3..S0]; equations [DOUTIS.-DOUTO] (S==0) к [DIN15..DINO] # (S==l) & [DIH14..DIN0,DIN15] # (S==2) & CDIN13..DIN0,DIN15..DIN14] # (S3) & [DIN12..DINO.DINIS..DIN13] #(Sf=12) & [DIN3..DIN0,Dm5..DIN43 # (S==13) к [DIN2..DINO,DIN15..DINS] # (S-=i4) fe CDINi..DIN0.DIN15..DIH2] # (S==15) & CDINO.DINiS..DINl]; end baxrelie Разбиение 16-разрядного устройства быстрого сдвига на составные части для реализации в нескольких ПЛУ является трудной задачей по двум причинам. Во-первых, очевидно, что природа этой функции такова, что каждый выходной бит зависит от каждого входного бита. ПЛУ, которое вырабатывает, скажем, выход DOUT0, должно иметь доступ ко всем 16 входам DIN и ко всем четырем входам S Поэтому явно нельзя использовать ИС GAL16V8. у нее только 16 входов. ИС GAL20V8 подобна ИС GAL16V8, но имеет четыре дополнительных вывода, работающих только на вход Если мы воспользуемся всеми 20 имеющимися входами, то останутся два вывода (эквивалентные верхнему и нижнему выводам на рис. 5.27), работающие только на выход. Таким образом, кажется возможным реализовать устройство быстрого сдвига на восьми микросхемах 20V8, вырабатывая по два выходных бита в одной микросхеме Но это не все. Вторая причина затруднений при попытке реализовать устройство быстрого сдвига в ПЛУ кроется в числе термов-произведений, приходящихся на один выход. Для построения устройства быстрого сдвига требуется 16 термов-произведений, а в ИС 20V8 их только 7. Мы зашли в тупик, любая реализация устройства быстрого сдвига на основе ИС 20V8 приводит к необходимости применять логику с несколькими проходами. В этой ситуации имеет смысл подумать о разделении, аналогичном тому, какое мы производили в разделе 6.1.1. 16-разрядное устройство быстрого сдвига нетрудно реализовать в более крупном программируемом устройстве, то есть в ИС типа CPLD или FPGA с достаточным количеством выводов вход/выход . Однако представьте себе, какие сложности возникнут при проектировании 32-разрядного или 64-разрядного устройства быстрого сдвига. Ясно, что нам понадобится ИС с еще большим числом выводов вход/выход , но и это еще не все. Из-за большого числа термов-произведений и множества связей (все входы соединяются со всеми выходами) нам по-прежнему придется пошевелить мозгами . Действительно, типичной профамме компоновки в случае ИС типа CPLD или FPGA будет трудно реализовать большое усфойство быстрого сдвига с малой задержкой, и она может вообще не справиться с этой задачей. При разбиении усфойства бысфого сдвига на стандартные блоки в разделе 6 1.1 мы считали само собой разумеющейся возможность осуществления необходимых соединений! В ИС типа FPGA возможности образования внуфенних связей офаниче-ны, а у ИС типа CPLD эти офаничения еще больше. Следовательно, даже в том случае, когда вы пользуетесь современными средствами проектирования применительно к ИС типа FPGA и CPLD, вам все же придется поработать головой , чтобы в какой-то степени разбить схему на части и таким образом помочь профаммным средствам справиться со своей работой. Усфойства быстрого сдвига могут быть даже более сложными, чем те, о которых мы говорили до сих пор. Толью ради шутки в табл. 6.3 приведена профамма для усфойства быстрого сдвига, шгорое выполняет шесть различных видов сдвига. Для его реализации фебуется даже большее число термов-произведений, до 40 на вьеход! Хотя вы никогда не стали бы реализовать такое усфойство на основе ПЛУ, ИС типа CPLD или на небольшой ИС типа FPGA, минимизированные равенства, выдаваемы компилятором языка ABEL, все же полезны, потому что позволяют понять, к чему ведет тот или иной выбираемый вами вариант. Например, изменяя кодирование SLA и ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |