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

7.4. Проектирование тактируемых синхронных конечных автоматов

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

1. На основе словесного описания составляется таблица состояние/выход ; для состояний используются мнемонические имена. (Можно также начинать с диаграммы состояний; этот метод рассмотрен в параграфе 7.5.)

2. (Необязательный шаг) Минимизируется число состояний в таблице состояние/выход {state minimization).

3. Выбирается набор переменных состояния и комбинации переменных состояния ставятся в соответствие именам состояний {state assignment).

4. Чтобы получить таблицу переход/выход , комбинации переменных состояния подставляются в таблицу состояние/выход ; в результате каждой возможной комбинации состояние/вход теперь соответствует желаемая следующая комбинация переменных состояния и желаемый выход.

5. Выбирается тип триггеров для памяти состояния (например, D- или JK-триггеры). В большинстве случаев этот выбор бывает уже произведен в уме на начальной стадии проекта, но данный шаг - это ваша последняя возможность передумать.

6. Составляется таблица возбуждения {excitation table), в которую заносятся значения возбуждающих воздействий, необходимые для того, чтобы получить желаемое следующее состояние для каждой комбинации состояние/вход .

7. Из таблицы возбуждения выводятся уравнения возбуждения.

8. Из таблицы переход/выход выводятся уравнения выхода.

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

В данном парафафе мы рассмотрим каждый из этих шагов в процессе построения конечного автомата. Самым важным является шаг 1, так как именно здесь разработчик занимается собственно проектированием в творческом процессе перевода словесного (возможно, неоднозначного) описания конечного автомата на обычном языке в формальное табличное описание. Шаг 2 практически никогда опытными разработчиками не выполняется, а вот для шага 3 требуется большое мастерство.

После того как первые три шага пройдены, все остающееся можно считать рутинной работой, требующей следования вполне определенным правилам синтеза. Самыми утомительными являются шаги 4 и 6 - 9, но их легко автоматизировать. Например, при разработке конечного автомата, который предстоит реализовать в программируемом логическом устройстве, рутинную часть работы можно поручить компилятору языка ABEL, как это будет сделано в разделе 7.П.2. Но все же важно понимать детали процедуры синтеза как для того, чтобы иметь возможность оценивать работу компилятора, так и для того, чтобы была возмож-



составление таблицы состояний -это своего рода программирование

Составление таблицы состояний (или, что эквивалентно, вычерчивание диаграммы состояний) - творческий процесс, многими своими чертами напоминающий написание профаммы для компьютера:

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

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

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

Вероятно, при выполнении этой работы вам надо будет не упускать из виду несколько идей.

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

Когда, наконец, вы запустите конечный автомат или профамму, он или она будут делать точно то, что вы им повелели, - ни больше и ни меньше.

Нет гарантии, что ваш продукт заработает с первого раза; возможно, придется его отлаживать или даже весь процесс в целом повторить.

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

7.4.1, Пример составления таблицы состояний

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

Процесс составления таблицы состояний, а затем - в следующих разделах - вся процедура синтеза, будут представлены нами на примере следующей простой задачи:

Построить тактируемый синхронный конечный автомат с двумя входами А и В и одним выходом Z, таким что выходной сигнал Z равен 1, если

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



реализация надежной начальной установки

Система будет работать надлежащим образом только в том случае, если конструкция конечного автомата гарантирует, что при включении он войдет в известное начальное состояние типа состояния INIT в разбираемом нами примере.

Обычно для этого аналоговой схемой генерируется сигнал начальной установки RESET. Такая схема, как правило, обнаруживает напряжение, близкое к полному напряжению питания (скажем, 4.5 В) и повторяет это напряжение на своем выходе в течение времени (например, порядка 100 мс), достаточного для того, чтобы все компоненты (в том числе генераторы) успели войти в установившийся режим, пока система еще остается незапущенной . Такой аналоговой ИС, предназначенной для начального запуска, является микросхема TL7705 фирмы Texas Instruments; она имеет встроенный эталонный источник напряжения 4.5 В, используемый для обнаружения включения питания, а время, в течение которого система остается незапущенной , задается внешними резистором и конденсатором.

Если конечный автомат строится на дискретных триггерах с асинхронными входами установки в состояние 1 и сброса, то автомат можно ввести в желаемое начальное состояние, подавая сигнал RESET на эти входы. Когда таких входов нет, или в том случае, когда запуск должен быть синхронным (как это бывает в системах с быстродействующими микропроцессорами), для сигнала RESET можно выделить отдельный вход конечного автомата, такой что при действии сигнала на этом входе происходит желаемая начальная установка всех элементов, ответственных за следующее состояние автомата.

- входной сигнал А имел одно и то же значение на каждом из двух предыдущих тактов в тактовом сигнале или

- входной сигнал В равен 1 с последнего момента времени, когда первое условие было выполнено.

В противном случае выходной сигнал должен равняться 0.

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

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



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


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