![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Программные средства foundation Рис. 5.40. Условное изображение микросхемы PAL16L8, используемой в качестве дешифратора 74x138 (N.С. -не подключен) PAL16L8 ![]() 274X138 Обратите также внимание, что в программе на языке ABEL введено константное выражение для ENB. Здесь ENB не является ни входным, ни выходным сигналом; просто это определяемое пользователем имя. Всюду, где в разделе equations появляется ENB , транслятор подставляет выражение (G1 & G2A & G2B). Присвоение константному выражению определяемого пользователем имени делает программу легко читаемой и более удобной для работы с ней. Если бы вам бьш нужен только дешифратор типа 138, то лучше применить реальный дешифратор 138, нежели более дорогое ПЛУ. Если же необходимо выполнять нестандартные функции, то с помощью ПЛУ обычно это достигается намного дешевле и легче, чем в результате применения МИС и СИС. Пусть, например, вам нужен дешифратор типа 138, но с высокими активными уровнями 5.4.6. Описание дешифраторов на языке ABEL и их реализация в ПЛУ При проектировании логических схем нет ничто проще, чем описать дешифратор в ПЛУ с помощью подходящих соотношений. Так как логическое выражение для каждого выхода обычно представляет собой только один терм-произведение, дешифраторы очень легко реализовать в ПЛУ при малом расходе ресурса, выражаемого возможным числом термов-произведений. В качестве примера в табл. 5.8 приведена программа на языке ABEL для полного дешифратора 3x8, реализуемого в микросхеме PAL16L8, аналогичного дешифратору 74х 138. Заметьте, что некоторые из входных выводов и все выходные выводы имеют имена, соответствующие низкому активному уровню (присутствует суффикс L ) в соответствии с принципиальной схемой, изображенной на рис. 5.37. Однако в программе введены также для каждого из сигналов имена, соответствующие высокому активному уровню, чтобы все соотношения можно было записать естественным образом в терминах сигналов, имеющих высокий активный уровень. Ниже в отступлении, заключенном в рамку, приведен другой способ достижения того же самого результата. выходных сигналов; тогда в табл. 5.8 необходимо изменить только одну строку в объявлении выводов: Y0,Y1,Y2, Y3,Y4,Y5, Y6, Y7 pin 19..12 istype com; Табл. 5.8. Программа на языке ABEL для полного дешифратора 3x8, аналогичного дешифратору 74x138 module 274X138 title 74x138 Decoder PLD J. Wakerly, Stanford University Z74X138 device P16L8; Input and output pins A, B, C, G2A L, G2B L, Gl pin 1, 2. 3, 4. S, 6; YO L, Y1 L, Y2 L, Y3 L. Y4 L. Y5 L, Y6 L, Г7 Ь pin 19..12 istype com; Active-high signal names for readability G2A = !G2A L; G2B = !G2B L; YO = !YO L; Yl = !Y1 L; Y2 = !Y2 L; Y3 = !Y3 L; Y4 = !Y4 L; Y5 = !Y5 L; Y6 = !Y6 L; Y7 = !Y7 L; Constant expression ENB = Gl & G2A & G2B; equations YO = ENB & !C & !B & !A Yl - ENB * !C & !B & A Y2 = ENB & !C fc В t !A Y3 = ENB & !C & В & A Y4 = ENB & С & !B & !A Y5 = ENB & С tc !B tc A Y6 = ENB Л С Л В fc !A Y7=ENB& С* Ъ к А end Z74X138 (В табл. 5.8 необходимо удалить также независимые определения сигналов Y0-Y7.) Так как для каждого из равенств требовалось одно произведение шести переменных (включая три переменных в выражении для ENB), для каждого инвертированного выражения необходима сумма шести термов-произведений, что меньше семи возможных в PAL 16L8. Если программируется микросхема PAL 16V8 или какая-либо другая микросхема, в которой можно выбирать полярность выходных сигналов, то транслятор выберет неинвертирующую полярность выходных сигналов, чтобы использовать только по одному терму-произведению на выход. ОПИСАНИЯ ВЫВОДОВ С низким АКТИВНЫМ УРОВНЕМ СИГНАЛА Язык ABEL позволяет использовать префикс инверсии (!) в именах сигналов при определении выводов в программе. Если при определении имени вывода употреблен префикс инверсии, то транслятор автоматически добавляет спереди к имени сигнала префикс инверсии, где бы в программе ни появился этот сигнал. Если где-то он уже инвертируется, то это приведет к двойной инверсии. Данное свойство можно использовать для задания различных, но непротиворечивых обозначений при определении входов и выходов с низкими активными уровнями сигналов, а именно: каждому сигналу с низким активным уровнем дают имя, соответствующее высокому активному уровню, но в описании вывода, относящегося к этому сигналу, предваряют его префиксом инверсии. Для дешифратора 3x8, описанного в табл. 5.8, мы заменяем первую часть программы текстом, приведенным в табл. 5.9; раздел equations остается в программе неизменным. Это дело вкуса, какое из обозначений применять, но выбор может зависеть также от возможностей программных средств автоматизированной системы проектирования, используемой для изображения схемы. Многие программные средства позволяют автоматически создавать схематическое изображение логического блока, задаваемого программой на языке ABEL. Если программные средства позволяют помещать кружки инверсии на выбранных входах и выходах условного обозначения элемента, то, согласно табл. 5.9, мы получим имена сигналов, имеющих высокий активный уровень внутри изображаемого блока. Затем можно ввести внешние кружки на пути сигналов с низким активным уровнем, чтобы получить условное обозначение элемента, показанное на рис. 5.41 (а), соответствующее требованиям, изложенным в разделе 5.4.2. С другой стороны, у вас может не быть возможности или желания вводить кружки инверсии в условное обозначение элемента, создаваемое системой CAD. В этом случае следует использовать обозначения из табл. 5.8; это приведет к созданию системой CAD условного обозначения, в котором активный уровень указан в имени сигнала внутри контура функционального обозначения элемента; никакие внешние кружки инверсии в этом случае не нужны [см. рис. 5.41(b)]. Заметьте, что в отличие от рис. 5.36(a) мы используем обозначение, записываемое в виде текстовой строки ( L), и не применяем надчеркивания в имени сигнала для указания активного уровня. Правильно выбранные обозначения, записываемые в виде текстовой строки, обеспечивают возможность использования программных средств различных систем CAD. В дальнейшем в каждом из примеров описания на языке ABEL мы в значительной мере произвольно выбираем то или другое обозначение только ради того, чтобы помочь вам освоиться с обоими подходами. ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |