Звоните! 
 (926)274-88-54 
 Бесплатная доставка. 
 Бесплатная сборка. 
Ассортимент тканей

График работы:
Ежедневно. С 8-00 до 20-00.
Почта: soft_hous@mail.ru
Читальный зал -->  Программные средства foundation 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 [ 172 ] 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359

СИГНАЛЫ и ПЕРЕМЕННЫЕ

В процессе, приведенном в табл. 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).



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 [ 172 ] 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359



ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку.



Звоните! Ежедневно!
 (926)274-88-54 
Продажа и изготовление мебели.


Копирование контента сайта запрещено.
Авторские права защищаются адвокатской коллегией г. Москвы
.