Звоните! 
 (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.16. VHDL-архитектура, пригодная для работы с различными активными уровнями сигналов

architecture V74xl38 b of V74xl38 is

signal G2A, G2B: STD.LOGIC;

signal У: STD LOGIC VECTOR (0 to 7);

signal y s: STD.LOGIC.VECTOR (0 to 7); begin

G2A <= not G2A L; - convert inputs G2B <= not G2B L; - convert inputs Y L <= not Y; - convert outputs with A select Y.s <=

10000000 when ООО .

01000000 when 001 ,

00100000 when 010 ,

00010000 when Oil ,

00001000 when 100 ,

00000100 when 101 ,

00000010 when 110 ,

00000001 when 111 ,

00000000 when others; Y <=Y s when (Gl and G2A and G2B) = l else 00000000 ; end V74xl38 b;

- active-high version of inputs

- active-high version of outputs

- internal signeil

Табл. 5.16 демонстрирует такой подход. Изменения не коснулись объявлений в разделе entity. Однако в архитектуре V7 4х138 а для каждого из внешних выводов с низким активным уровнем определена версия сигнала с высоким активным уровнем, и переход от сигналов с высоким активным уровнем к сигналам с низким активным уровнем осуществляется явными операторами присваивания. Функция самого дешифратора определена с использованием только сигналов с высоким активным уровнем, что является, вероятно, самым большим достоинством этого подхода. Другой плюс состоит в том, что если требуется изменить активные внешние уровни, то это легко сделать путем исправлений лишь в определенных местах в программе, число которых невелико.

программа выполняется не по порядку

В табл. 5.16 все три оператора преобразования активного уровня собраны вместе в начале программы, хотя никакое значение не может быть присвоено сигналу y l до тех, пока не будет присвоено значение сигналу y, что делается в программе позднее. Помните, что это правильно, поскольку операторы присваивания в теле архитектуры выполняются параллельно. Это означает, что присвоение значения любому сигналу вызывает пересчет во всех других операторах, в которых фигурирует этот сигнал, независимо от его расположения в теле архитектуры.

Если место расположения оператора y l <= not y беспокоит вас, то можно поместить его в конце тела архитектуры, но программа немного более удобна для отладки в представленном виде, когда все преобразования активных уровней собраны вместе.



Табл. 5.18. Определение дешифратора 3x8 с высокими активными уровнями сигналов в потоковом стиле

library IEEE;

use IEEE.std.logic.1164.all;

entity V3to8dec is

port (Gl. G2, G3: m STD.LOGIC;

A: in STD.LOGIC.VECTOR (2 downto 0); Y- out STD.LOGIC.VECTOR (0 to 7) ); end V3to8dec;

architecture V3to8dec a of V3to8dec is

signal Y.s: STD.LOGIC.VECTOR (0 to 7); begin

with A select Y.s <=

10000000 when ООО ,

01000000 when 001 ,

00100000 when 010 ,

00010000 when Oil ,

00001000 when 100 ,

00000100 when 101 ,

00000010 when 110 ,

00000001 when 111 ,

00000000 when others; Y <= Y.s when (Gl and G2 and G3)-l else 00000000 ; end V3to8dec a;

С активными )овнями можно оперировать даже более систематическим образом. Как показано в табл. 5.17, архитектуру V7 4x138 можно организовать иерархически, используя компонент v3to8 dec, в котором фигурируют сигаалы только с высокими активными уровнями; определение самого компонента в стиле потокового проектирования приведено в табл. 5.18. Еще раз: не требуется никаких изменений в определении объекта У74х138на верхнем уровне. Соотношение между объектами показано нарис. 5.43.

Табл .5.17. Иерархическое определение дешифратора типа 74x138 с преобразованием активных уровней

architecture V74xl38 c of V74xl38 is

signal G2A, G2B: STD.LOGIC; ~ active-high version of inputs

signal Y: STD LOGIC VECTOR (0 to 7); ~ active-high version of outputs component V3to8dec port (Gl, G2, G3: in STD.LOGIC;

A: in STD.LOGIC.VECTOR (2 downto 0);

У: out STD.LOGIC.VECTOR (0 to 7) ); end component;

begin

G2A <= not G2A L; - convert inputs G2B <= not G2B L; - convert inputs Y.L <= not Y; - convert outputs

Ul: V3to8dec port map (Gl, G2A, G2B, A, Y); end V74xl38.c;



объект V74X138

- mA>j.

- eae t.

- mm

объект V74x138

объект V3tCi8deC

-[T-

Gl G2 G3 A(2 01

Yt0 7]

Рис. 5.43. VHDL-объект V74x138. (a) верхний уровень; (b) внутренняя организация с архитектурой V74x138 с

Еще один подход к конструированию дешифратора позволяет заменить архитектуру V3to8dec a втабл. 5.18 архитектурой V3to8dec b, представленной в табл. 5.19. Вместо параллельных операторов используются процесс и последовательные операторы, в результате чего работа дешифратора оказывается заданной в поведенческом стиле. Однако внимательное сравнение этих двух вариантов показывает, что реально они отличаются только синтаксисом.

Табл. 5.19. Определение архитектуры дешифратора 3x8 в поведенческом стиле

architecture V3to8dec b of V3to8dec is

signal Y.s: STD LOGIC VECTOR (0 to 7); begin

process(A, Gl, G2, G3, Y s) begin

case A is

when ООО => Y.s <= 10000000 ;

when 001 => Y s <= 01000000 ;

when 010 => Y s <= 00100000 ;

when Oil => Y s <= 00010000 ;

when 100 => Y.s <= 00001000 ;

when 101 => Y s <= 00000100 ;

when 110 => Y.s <= 00000010 ;

when 111 => Y s <= 00000001 ;

when others => Y s <= 00000000 ; end case;

if (Gl and G2 and G3)=l then Y <= Y.s; else Y <= 00000000 ; end if; end process; end V3to8dec b;



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 
Продажа и изготовление мебели.


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