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

!5st?

wlSA = ЙХЫАЗ. .WIHAO]

BI.KA [BE,KA3..BLKA03

HOVE = [ШУЕЗ. .MOVEO]

mm = Ci(iNB3..wmo3;

BLKS - [BLKB3..BU5B03;

Kon-rots.ted move input aad output encoding

MOVEli - [1.0,0,0]; M0/Ei2 [0,1,0,03; M0VE13 = [0,0,1,0]

M0 /E21 - [0,0,0,13; M0VE22 = [1,1,0,03; Н0УЕ23 = [0,1,1,1]

M0VE31 = [1,0,1,13; M0¥E32 = [1,1,0,1]; H0VE33 = [1,1,1,03 NOHE - [0,0,0.03;

equations

ШШМ VISA NOSE THEN HOVS - VISA;

ELSE W.4EN WINS != NCSKE THEN MOVE = ! [WlJffiO.. WIKB33 ; Hap rotated -coding ELSE ШЕИ BLKA != SONE THES HOVE = BLKA;

ELSE mm BLK3 != KONE THES KOVE ! [8Ш0. .BUCB33 ; Кар rotated coding

ELSE ЧЯт !X22 * !Y22 THEK .MOVE = M0VE22; Pick center cell if its espty

ELSE MOVE RONE;

end pick!

Последним блоком в схеме на рис. 6.13 является ПЛУ PICK2. Это ПЛУ должно обеспечить использование опыта на 3-м шаге игрового алгоритма, если Р1СК1 не находит хода.

С блоком PICK2 возникает небольшая проблема, состоящая в том, что у ИС 22V10 нет достаточного числа выводов для 4-разрядного входа со стороны блока PICK1, собственного 4-разрядного выхода и 18-разрядного входа, по которому в блок PICK2 могла бы поступать информация о состоянии игрового поля: у этой ИС только 22 вывода вход/выход . На самом деле нам нет необходимости подключать Х22 иY22, так как они анализируются уже в блоке PICK1, но даже с учетом этого нам все еще не хватает двух выводов. Поэтому назначение дополнительной логики на рис. 6.13 заключается в преобразовании части информации, чтобы сэкономить два вывода. Метод, который мы применим здесь, состоит в том, чтобы объединить сигналы, соответствующие средним клеткам

да, воспользуемся ими для ввода состояния центральной клетки. Тогда можно будет выполнить первую часть 3-го шага игрового алгоритма, выбирая центральную клетку, если нет ни победного, ни блокирующего хода. ПЛУ PICK1 нужно не более 9 термов-произведений на выход.

Табл. 6.15. Программа на языке ABEL для выбора хода по сигналам на четырех входах

Bodule pickl

Ti-s-le Pick Осе Move froffi Four Possible PICKl dovice P22V10;

Inputs from таОХ.ЧНАГ PLDs

WINA3..WIK.4,0 pin I,.4; W.ini!iag aioves iu cells 11,12,13,21,22

WISB3. .WISiBO pia 5.,8; WinKlng moves in cells 11,12,13,21,22 of rotated grid

втЗ..ВШ0 pin 9..11,13; Blocking moves ic oells 11.12,13,21.22

BLKB3..BLKB0 pin 14.,16, 21; Blocking aoves ir, cells 11,12,13,21,22 of rotated grid

Inputs fro.n grid

X22, У22 Bin 22, .23; Center cell; pick if no other aoves

Move ontputs to PICK2 PLD

Н0УЕЗ..НаУЕ0 pin 17..20 istype com;



12, 21, 23 и 32 по краям игрового поля, и вырабатывать четыре сигнала Е12, Е21, Е23 и Е32, принимающих единичное значение только в том случае, когда соответствующие клетки пусты. Это можно сделать с помощью четырех 2-вхо-довых схем ИЛИ-НЕ, оставляя незанятыми два входа или выхода у ИС 22V10.

Табл. 6.16. Программа на языке ABEL для выбора хода на основании опыта

aodaie pick2

Title Pick a move using experience PICK2 device P22V10;

Inputs froa .ICKl PLD

PICK3..PICK0 pin 1..4; Move, if ar.y, froB PICK! PLD

Inputs iron Tic-Tac-Toe grid comers XII, YU, X13, Y13. X31, Y31, X33, Y33 pin 5..11, 13;

CoEbined inputs froa external NOB gates; 1 corresponding cell is empty E12, E21, E23, E32 pin 14..15, 22..23;

Move output

MOVES.. -MDVEO pin 17.. 20 istj.pe com;

PICK = [PICKS..PICKO]; Set definition

Hon-rotated move input and output encoding

.MOVE = [MOVES.. HO VE03;

HCVEll = [1,0,0,0]; MGVEia = [0,1,0,03; .40VE13 = [0,0,1,03 M0VE21 = [0,0,0,11; MQVE22 = [1,1,0.0]; M0VE23 = [0,1,1,1] .M0VE31 = [1,0,1,13; MQVE32 = [1,1,0,13; K0VE33 = [1.1,1,03 ЯОЯЕ = [0,0,0,0];

Tnteirniediate equations for empty corner cells

Ell !X1I к !YU; E13 = !Xi3 & !Y13; E31 = !X31 & !У31; ЕЗЗ = !X33 t !Y33; equations

Simplest approach - pick comer if available, else side

WHE.M PICK ffOSE THE.V MOVE = PICK;

ELSE -mm Ell THEK MOVE = MQVEll;

ELSE НЕЙ E13 THEK MOVE KQVE13;

ELSE WHEN E31 THEK MOVE MOVESl;

ELSE WHEN E33 ТНЕ.Ч ИОЧК = MDVE33;

ELSE mmi E12 THEN MOVE = M0VE12;

ELSE WHEN E21 ТНЕ.Ч MOVE - H0VE21;

ELSE WHEK E23 ТНЕ.Ч .4DVE M0VE23;

ELSE WHEN E32 THEN .HOVE = M0VE32;

ELSE MOVE = mm

end pick2

В табл. 6.16 приведена программа для ПЛУ PICK2, где предполагается, что в качестве дополнительной логики применены четыре схемы ИЛИ-НЕ. Для выбора хода в этой программе использован простейший эвристический алгоритм: если имеется пустая угловая клетка, то она и выбирается; в противном случае выбирается средняя клетка на краю поля. Эту программу надо бы немного улучшить, потому что иногда она проигрывает (см. задачу 6.8). К счастью, равенствам, возникающим в результате компиляции программы из табл. 6.16, требует только от 8 до 10 термов на выход, поэтому еще есть возможность сделать эту программу более умной (см. задачи 6.9 и 6.10).



6.3. Примеры проектирования с использованием языка VHDL

6.3.1. Устройство быстрого сдвига

в разделе 6.1.1 устройство быстрого сдвига было определено как комбинационная логическая схема с п входами данных, п выходами данных и набором входных управляющих сигналов, которые задают величину сдвига выходных данных относительно входных. Там же было показано, как построить простое устройство быстрого сдвига, выполняющее только циклические сдвиги влево, используя стандартные микросхемы средней степени интеграции. Затем в разделе 6.2.1 было показано, как на языке ABEL описывается устройство быстрого сдвига, обладающее ббльшими возможностями, но там мы отметили также, что для реализации такого устройства ПЛУ обычно не подходит В этом разделе мы покажем, как можно воспользоваться языком VHDL длописания как поведения, так и структуры устройств быстрого сдвига при их реализации на основе специализированных ИС или ИС типа FPGA.

В табл. 6.17 представлена поведенческая программа на языке VHDL для 16-разрядного устройства быстрого сдвига, которое выполняет сдвиг для любой из шести возможных комбинаций типа сдвига и направления. Как мы уже видели ранее (см. в табл. 6.3), сдвиги бывают циклическими, логическими и арифметическими, и сдвиг может производиться, естественно, влево или вправо. Как видно из объявления объекта, 4-разрядным входным сигналом управления S задается величина сдвига, а 3-разрядным входным сигналом управления С определяется режим сдвига (тип и направление). Используя пакет ШЕЕ std logic arith, мы определяем тип величины сдвига S как UNSIGNED для того, чтобы позже можно было воспользоваться функцией CONV INTEGER из этого пакета.

Обратите внимание, что объявление объекта включает шесть определений постоянных, которыми устанавливается соответствие между режимами сдвига и значением С. Хотя мы не обсуждали это в разделе 4.7, но язык VHDL позволяет помещать константу, тип, сигнал и другие объявления в объявление объекта. Определение таких элементов в объявлении объекта имеет смысл только в том случае, когда они должны быть одними и теми же в любой архитектуре. В нашем случае за режимами сдвига закрепляются вполне определенные двоичные коды, поэтому здесь им самое место. Другим элементам предстоит появиться в определении архитектуры.

В части программы, относящейся к архитектуре, мы определяем шесть функций, по одной для каждого вида сдвига 16-разрядного элемента типа STD LOGIC VECTOR. В архитектуре определен также подтип DATAWORD, чтобы сэкономить на его объявлении в определениях функций.



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


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