Звоните! 
 (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

Ties t. vectors

([RESET.L,

CLOCK,

->

CQSTATE .

LASTA,

[ 0

.C. ,

->

[INIT

0 ,

Chec-it ->INIT (RESET)

[ 0

.C. ,

->

1 ,

and LASTA flip-flop

[ 2 ,

.0. ,

->

[LOQKIKG,

0 ,

Сове out of iaitialization

f 0

.C. ,

->

[INIT

0 ,

Check LOO.KI.VG->INIT (RESET)

[ 1 ,

.C. ,

->

[LODKIKG,

0 ,

Cooe out of initialization

[ 1

-C, ,

->

[LOOKING,

t ,

-> tOOKI-NG since 0> = 1

[ 1

,c. ,

>

->

1 ,

-~> OK since 1-1

f 0

,c. ,

->

0 ,

Check OK~>JNIT (RESET)

[ 1

.0. ,

->

[LQOKIKG,

0 ,

Go back towards OK ...

E 1

.0, ,

->

0 .

OK since 0==0

С 1

,c. ,

->

1 ,

-> OK since B, even though IO

f 1

,c. ,

->

1 ,

-> OK since

i 1 .

,c, ,

->

[LOfiKIKG,

0 .

-> LOOKING since Of=l

Мы встретимся с еще одной трудностью, если попытаемся составить проверочные векторы для кодового замка, описанного в табл. 7.31. При тестировании этого автомата главной проблемой оказывается отсутствие у него входа сброса. Его исходное состояние может быть различным при реализации на основе разных технологий и в разных ПЛУ: при включении питания все триггеры могут устанавливаться в единичные состояния или сбрасываться, либо случайным образом попадать в то или в другое состояние. В реальном воплощении рассматриваемому автомату не нужен вход сброса, но для целей тестирования его необходимо как-то заставлять входить в известное начальное состояние.

К счастью, у кодового замка есть синхронизирующая последовательность (synchronizing sequence), то есть фиксированная последовательность из одного или большего числа значений входного сигнала, которая всегда приводит автомат в определенное, известное состояние. В данном конкретном случае, независимо от того, в каком состоянии находился автомат сначала, при подаче на его вход значения X = 1 в течение четырех тактов на четвертом такте он всегда будет оказьшаться в состоянии ZIP. Это именно то, что делается первыми четырьмя векторами в табл. 7.35. До тех пор, пока автомат не достигнет известного состояния, мы указываем ему в правой части проверочных векторов в качестве следующего состояния безразличное состояние, благодаря чему ни моделирующая профамма, ни тестер, реализованный в виде отдельного усфОйства, не отреагирует на случайное состояние как на ошибку.

комбинационных схем состоят в том, что векторы должны сначала ставить автомат в желаемое состояние, перед тем как будет протестирован переход, а затем возвращать автомат назад и делать это столько раз, сколько необходимо для тестирования каждого перехода из данного состояния.

В табл. 7.34 приведены проверочные векторы для конечного автомата, описанного в табл. 7.27. Важно понимать, что, в отличие от комбинационных векторов, эти векторы должны подаваться на входы автомата точно в том порядке, в каком они написаны. Заметьте, что векторы пищутся так, чтобы не зависеть от кодов состояний, в результате они могут оставаться одними и теми же при изменении способа кодирования состояний.

Табл. 7.34. Проверочные векторы для конечного автомата из табл. 7.27



СИНХРОНИЗИРУЮЩИЕ ПОСЛЕДОВАТЕЛЬНОСТИ И ВХОДЫ СБРОСА

Нам повезло с кодовым замком: не у каждого конечного автомата есть синхронизирующие последовательности. Вот почему в большинстве случаев конечные автоматы проектируются с входом сброса, при наличии которого длина синхронизирующей последовательности становится равной единице.

Табл. 7.35. Проверочные векторы для кодового замка из табл. 7.31

test vectors

[CLOCK,

->

[ s

, U.NLK,

HINT])

С.

>

->

[.X.

, .X. ,

Since no reset input, apply

>

->

[.X.

, -X. ,

a synchronizing sequence

->

[.X.

, .X. ,

to reach a taiown starting

->

[ZIP

, -X. ,

state

->

[ZIP

. 0 .

Test Mealy outputs for both

>

->

[ZIP

, 0 ,

values of X

>

->

[ZIP

, .X. ,

Test ZIP->ZIP (X==l)

->

, .X. ,

and ZIP->X0 (X==0)

->

. 0 ,

Test Mealy outputs for both

->

. 0 ,

values of X

->

, .X. ,

Test XO->X0 (X==0)

->

[XOl

, .X. ,

and XO->X01 (X==l)

->

[XOl

. 0 ,

Test Mealy outputs for both

~>

[XOl

, 0 ,

values of X

->

, .X. ,

Test XOl->X0 (X =0)

->

[XOl

, .X. ,

Get back to XOl

->

[XOll

, .X. ,

Test XOl->X011 (X==:)

Приступив к проверке, мы встретимся еще кое с чем новым: с необходимостью тестирования выходов Мили. Как видно из пятого и шестого векторов, не в каждом проверочном векторе нам нужен тактовый сигнал для перехода. Вместо этого мы можем удерживать тактовый сигнал равным нулю - при этом автомат будет оставаться в состоянии, в которое он попал при последнем переходе, - и посмотреть, какими будут сигналы на выходах Мили при двух значениях входного сигнала X. Затем проверяется переход в следующее состояние.

При переходе в новое состояние мы указываем ожидаемое состояние, но значения выходных сигналов отмечаем как безразличные. В правильно записанном проверочном векторе должны быть указаны значения выходных сигналов, которые возникают после перехода, определяемые следующим состоянием. Хотя в нашем случае эти значения можно бьшо бы найти и включить в таблицу, задача уже достаточно сложна; поэтому, чтобы избавить вас от головной боли, мы повсюду проверяем выходные сигналы следующими векторами с CLOCK = 0.



Составление проверочных векторов для конечного автомата вручную - трудоемкий процесс, и, независимо от вашей старательности, нет никакой гарантии, что будут протестированы все функции автомата и найдены все возможные недостатки схемной реализации. Например, проверочными векторами в табл. 7.34 не проверяется комбинация (А LASTA) = 10 в состоянии (LOOKING) и комбинация (А В LASTA) = 100 В состоянии ОК. Таким образом, составление полного набора проверочных векторов для обнаружения возможных недостатков лучше всего поручить программе, автоматически генерирующей проверочные векторы. В табл. 7.35, после составления векторов для первых нескольких состояний, мы бросили это дело, оставив для вас завершение данной процедуры в виде задачи 7.92. Все же полезно бывает проверить работоспособность конструкции, написав хотя бы несколько векторов для проверки того, как автомат выполняет свои самые главные функции; это позволит выявить и исправить очевидные ошибки на ранней стадии разработки. Более тонкие пофешности проекта лучше обнаруживать путем детального моделирования на системном уровне.

7.12. Особенности проектирования последовательностных схем на языке VHDL

Большая часть средств, предоставляемых в языке VHDL и используемых при проектировании последовательностных схем, уже была введена нами в парафафе 4.7, в частности, процессы, и мы пользовались этими средствами в параграфах главы 5, связанных с употреблением языка VHDL. В данном парафафе мы познакомим вас еще с нескольким возможностями и приведем простые примеры того, как ими воспользоваться. Примеры проектирования более сложных схем будут даны в относящихся к языку VHDL парафафах главы 8.

7.12.1. Последовательностные схемы С обратной связью

фундамент для работы с последовательностными схемами с обратной связью средствами языка VHDL образуют VHDL-процессы и механизм списка событий моделирующей профаммы. Напомним, что состояние последовательностной схемы с обратной связью может измениться под воздействием входных сигналов, и переход в новое состояние проявляется в изменениях, распространяющихся по петле обратной связи до тех пор, пока в петле не наступит стабилизация. При моделировании переход от одного состояния к другому сопровождается занесением изменений сигналов в список событий и составлением расписания, по которому процессы запускаются вновь с элементарным сдвигом по времени; при этом изменения сигналов продолжаю гея до тех пор, пока их список не будет исчерпан.

Втабл. 7.36 приведена ViroL-профамма для SR-защелки. Сфуктура содержит два параллельных оператора присваивания, каждый из которых запускает процесс, как это бьшо объяснено в разделе 4.7.9. Взаимодействие этих процессов реализует одиночную процедуру защелкивания в SR-защелке.



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


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