Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
|
(926)274-88-54 ГлавнаяИнтернет-магазинТкани в наличииМягкая мебельДиваны еврокнижка
Диван-кровать
Диван книжка
Кожаные диваны
Угловые диваны
Кресло-кровать
Недорогие диваны
Кресла
Диваны с фабрики
Кожаная мебель
Производство
Недорогая мебель
Как купитьЗаказ мебелиМебель для домаКухниШкафы купеОфисная мебельШкольная мебельПродажа мебели
Карта сайта
Вакансии
Схема проезда
(926)274-88-54
|
Читальный зал --> Программные средства foundation СИГНАЛЫ и ПЕРЕМЕННЫЕ В процессе, приведенном в табл. 5.58, используются переменные, а не сигналы, чтобы ускорить процесс моделирования. Работа с переменными происходит быстрее, потому что моделирующая программа следит за их значениями только тогда, когда процесс запущен. Поскольку значения присваиваются переменным последовательно, для их вычисления в нужном порядке процесс в табл. 5.58 должен быть написан очень аккуратно. Другими словами, переменную нельзя использовать раньше, чем ей будет присвоено значение. С другой стороны, сигналы имеют те или иные значения постоянно. Когда сигнал в процессе изменяется, моделирующая программа заносит необходимость изменения его значения в будущем в свой список событий. Если сигнал появляется в процессе в правой части оператора присваивания, то этот сигнал должен быть включен также в список чувствительности процесса. Если сигнал изменяется, то процесс выполняется снова и продолжает повторяться до тех пор, пока все сигналы в его списке чувствительности не примут установившиеся значения. Если желательно видеть промежуточные значения и отсчет времени в процессе моделирования, то в профамме в табл. 5.58 можно было бы заменить все переменные (кроме i и j) на сигналы и включить их в список чувствительности. Полученная профамма будет синтаксически правильна, если объявления type и signal помещены сразу после заголовка архитектуры и все операторы присваивания := заменены на <= . Моделирование будет вьеполняться намного медленнее после того, как вы выполните указанные выше замены. Как отмечалось в связи с рис. 5.99, в наихудшем случае при распространении сигнала по массиву сумматоров он проходит через 14 сумматоров. Таким же является число циклов моделирования, которые должны быть выполнены измененной VHDL-программой, чтобы получить установившиеся значения сигналов, плюс еще один цикл, на котором моделирующая профамма обнаруживала бы, что сигналы не изменяются. От выбора между сигналами и переменными зависит скорость моделирования, но в большинстве случаев это не оказывает влияния на результаты синтеза в среде VHDL. В этой программе демонстрируется эффективное использование оператора genera te (genera testatement) для создания массивов компонентов, используемых в умножителе. Оператор generate должен иметь метку; подобно оператору for-loop, им задается итеративная схема управления повторением включенных в него операторов. Операторами, содержащимися в конструкции for-generate, могут быть любые параллельные операторы вида IF-THEN-ELSE и структурные компоненты, в свою очередь предусматривающие выполнение циклов. Иногда операторы generate обьединяются с операторами IF-THEN-ELSE, обеспечивая возможность своего рода условной компиляции. Ну, мы говорили, что лучшее прибережем на конец, и вот этот момент наступил. В библиотеке IEEE std logic arith, введенной нами в разделе 5.9.6, имеются функции умножения для классов SIGNEDh UN SIGNED,h эти функции представлены оператором * . Таким образом, в программе, приведенной в табл. 5.60, умножение чисел без знака можно осуществить в одну строку простым оператором присваивания. В библиотеке IEEE stci logic arith функция умножения определена поведенчески, в соответствии с алгоритмом сдвига и сложения. Мы могли бы указать на эту возможность в самом начале данного раздела, но тогда вы не стали бы читать все остальное. Не так ли? library IEEE; use IEEE.std logic 1164.all; use IEEE.std.logic.arith.all; entity vmul8x8i is port ( X: in UNSIGNED (7 downto 0); Y: in UNSIGNED (7 downto 0); P: out UNSIGNED (15 downto 0) end vmulSxSi; architecture vmul8x8i arch of vmul8x8i is begin P <= X * Y; end V2nul8x8i arch; Табл. 5.60. Истинно поведенческая VHDL-программа для комбинационного умножителя 8x8 на пороге мечты В начале табл. 5.58 определена мажоритфная функция MAJ трех переменных, используемая затем при вычислении выходов переноса. Знанешемажоритарной функции п переменных равно 1, если большинство переменных равно 1; в случае 3-входовой схемы, реализующей мажоритарную функцию, 1 появляется на выходе, когда на двух из трех входов присутствуют единицы. (Если п - четное число, то единицы должны быть на п/2 +1 входах.) Более тридцати лет назад заметный академический интерес вызывал более общий класс и-входовых пороговых схем, на выходе которых вырабатывается 1, если на к или большем числе входов присутствует 1. Помимо обеспечения полной занятости теоретиков в области логического проектирования, с помощью пороговых схем многие логические функции можно бьшо бы реализовать, используя меньшее число элементов, чем при применении обычных схем И/ИЛИ. Например, для формирования переноса в сумматоре щжтл три вентиля И и один вентиль ИЛ И, и всего лишь однатрехвходовая пороговая логическая схема К счастью или к несчастью, так и не появилась экономичная технология изготовления пороговых логических схем, и поэтому до сих пор они остаются академической диковиной. СИНТЕЗ ПОВЦДЕНЧЕСКИХ ПРОЕКТОВ Вы, вероятно, слышали, что трансляторы языков программирования высокого уровня, типа С, обычно создают программы в кодах лучше, чем люди, пишущие на ассемблере, даже при вылизывании вручную. Большинство разработчиков цифровых схем надеются, что компиляторы поведенческих VHDL-программ также однажды дадут лучшие результаты, нежели типичный проект, выполненный вручную независимо от того, является он схемным решением или структурным описанием на языке VHDL. Лучшие компиляторы не оставят проектировщиков без работы; они просто позволят им справляться с большими по масштабам проектами. Пока мы не достигли этого уровня. Тем не менее наиболее совершенные программные средства синтеза позволяют осуществлять довольно тонкую оптимизацию обычно используемых поведенческих структур. Например, я вполне допускаю, что средства синтеза FPGA, которые я применял для тестирования VHDL-программ этого раздела, создают по программе в табл. 5.60 столь же быстрый умножитель, какой получится при любой более детальной проработке структуры! Обзор литературы Разработчикам цифровых схем, желающим улучшить свой стиль изложения, следует начать с классического труда Странка и Уайта Элементы стиля (William Strunk, Jr., and E. В. White. Elements of Style, third edition. Allyn & Bacon, 1979). Вероятно, самое дешевое и краткое, но очень полезное руководство по составлению технических описаний - это Элементы технического письма Блейка и Блая (Gary Blake and Robert W. Bly. The Elements of Technical Writing. Macmillan, 1993). Более энциклопедический характер имеет Справочник по техническим описаниям Брюсоу, Алреда и Олиу (Brusaw, Aired and Oliu. Handbook of Technical Writing, fifth edition. St. Martins Press, 1997). Стандарт ANSI/IEEE условных обозначений логических схем установлен документом Std 91 -1984, IEEE Standard Graphic Symbols for Logic Functions. Другим стандартом, представляющим интерес для разработчиков логических схем, является документ ANSI/IEEE 991 -1986, Logic Circuit Diagrams. Эти два стандарта и десяток других, включая условные обозначения 10-дюймовых звонков и гнездовых сигнальных разъемов, можно найти в одном удобном пятифунтовом справочнике Electrical and Electronics Graphic and Letter Symbols and Reference Designations Standards Collection, изданном IEEE в 1996 году (www. ieee. org). Реальные логические устройства описаны в информационных изданиях и справочниках, издаваемых производителями. Обычно каждые несколько лет выходят обновленные издания справочников, но в последнее время наметилась тенденция к сокращению или ликвидации бумажных изданий и замене их самой последней информацией в сети Интернет. Двумя крупнейшими компаниями-поставщиками, имеющими наиболее полные сайты, являются Texas Instruments (www. t i. com) и Motorola (www. mot. com). ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |