Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
|
(926)274-88-54 ГлавнаяИнтернет-магазинТкани в наличииМягкая мебельДиваны еврокнижка
Диван-кровать
Диван книжка
Кожаные диваны
Угловые диваны
Кресло-кровать
Недорогие диваны
Кресла
Диваны с фабрики
Кожаная мебель
Производство
Недорогая мебель
Как купитьЗаказ мебелиМебель для домаКухниШкафы купеОфисная мебельШкольная мебельПродажа мебели
Карта сайта
Вакансии
Схема проезда
(926)274-88-54
|
Читальный зал --> Программные средства foundation !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, чтобы сэкономить на его объявлении в определениях функций. ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |