Дальше IEESD-2000/HLCCAD Пример работы в команде при проектировании цифровых систем сектор НИТ Гомельского госуниверситета Карточная игра Black Jack Карточная игра Black Jack Цель карточной игры BlackJack - набрать большее количество очков. Перед началом раздачи карт игрок делает ставку исходя из тех очков, которые у него есть. Далее ему выдаётся две карты. Каждая карта имеет свой вес ( номинал; валет - 2; дама - 3; король - 4; туз - 11, но одного из тузов можно считать равным 1). Играющему необходимо набрать количество карт, вес которых больше чем у крупье, но не больше чем 21. При равном количестве очков, но меньшем чем 22, крупье выигрывает. В случае выигрыша игрока количество очков увеличивается на размер ставки, в случае выигрыша крупье уменьшается. При проигрыше обоих (перебор) - остаётся неизменным. Каждая брошенная в автомат монета увеличивает количество очков игрока на 10.
Создание интерактивной среды отладки Модель игрового автомата будет состоять из двух основных блоков: n специализированный терминал BJTerminal n синтезируемый цифровой блок BJMain А также двух вспомогательных устройств: генератор импульсов GEN генератор импульсов GEN генератор случайных чисел RND генератор случайных чисел RND Информация с клавиатуры Информация для дисплея
Специализированный терминал BJTerminal Создаём модель терминала на ЯВУ Исходный текст модели терминала на Delphi Внешний вид терминала кнопочная панелькнопочная панель дисплейдисплей Внешний вид терминала кнопочная панелькнопочная панель дисплейдисплей
Структура устройства BJMain Управление игрой BJControl Колода BJCards Крупье BJComputer Кто победитель BJChecker Накопитель BJBank Игрок BJSummer Принимаем решение разбить устройство BJMain на 6 блоков: BJControl - управляет ходом игры: тасование, раздача карт, останов игры BJControl - управляет ходом игры: тасование, раздача карт, останов игры BJControl BJCards - хранит информацию о последовательности карт BJCards - хранит информацию о последовательности карт BJCards BJBank - хранит количество очков набранных игроком и размер ставки BJBank - хранит количество очков набранных игроком и размер ставки BJBank BJSummer - определяет оптимальный вес набранных игроком карт BJSummer - определяет оптимальный вес набранных игроком карт BJSummer BJComputer - определяет оптимальный вес набранных крупье карт и принимает решение о дальнейшем ходе BJComputer - определяет оптимальный вес набранных крупье карт и принимает решение о дальнейшем ходе BJComputer BJChecker - определяет победителя игры BJChecker - определяет победителя игры BJChecker
Управление игрой BJControl Колода BJCards Крупье BJComputer Игрок BJSummer Кто победитель BJChecker Накопитель BJBank Схема устройства BJMain
Эскизное проектирование Для каждого из блоков создаём модель на ЯВУ Моделируем устройство BlackJack Добиваемся правильной работы всех устройств в соответствии со спецификациями
Пакетная среда отладки Генерация тестового файла по результатам интерактивного моделирования Пакетное тестирование проекта по сгенерированному тестовому файлу
Функциональное проектирование n Выделяем 6 групп разработчиков. n Выносим каждый из блоков устройства BJMain в отдельный проектный файл. n Ставим задание группам: представить блоки композицией синтезируемых устройств из библиотеки Standard. Система обеспечивает возможность разрабатывать только свою часть проекта, моделируя весь проект! Библиотека синтезируемых устройств Главный проект Отдельный проект с блоком BJCards
Распределённое проектирование BlackJack.prj BJControl.prj BJComputer.prj BJSummer.prj BJBank.prj BJChecker.prj BJCadrs.prj Сервер проекта Рабочая станция Моделируемая система состоит из двух частей: BJCards - проект, разрабатываемый на рабочей станции BJCards - проект, разрабатываемый на рабочей станции все остальные компоненты системы, расположенные на сервере проекта. все остальные компоненты системы, расположенные на сервере проекта. На сервере проекта хранятся устройства, полученные на этапе эскизного проектирования. На рабочую станцию копируется часть проекта, подлежащая функциональному проектированию данной группой разработчиков BJCadrs.prj
Принципиальное проектирование Автоматическая генерация синтезируемого VHDL описания спроектированного устройства BJMain Результат функционального проектирования блока BJCards
Контакты Лаборатория Новых Информационных Технологий Гомельский государственный университет им. Ф. Скорины WWW: