» ГЛАВНАЯ > К содержанию номера
 » Все публикации автора

Журнал научных публикаций
«Наука через призму времени»

Декабрь, 2020 / Международный научный журнал
«Наука через призму времени» №12 (45) 2020

Автор: Акифьев Максим Владимирович, Студент
Рубрика: Технические науки
Название статьи: Разработка программы-игры «угадай число» на программируемой логической интегральной схеме

Статья просмотрена: 257 раз
Дата публикации: 23.11.2020

РАЗРАБОТКА ПРОГРАММЫ-ИГРЫ «УГАДАЙ ЧИСЛО» НА ПРОГРАММИРУЕМОЙ ЛОГИЧЕСКОЙ ИНТЕГРАЛЬНОЙ СХЕМЕ

Акифьев Максим Владимирович

ШеллеВсеволодСергеевич

студент

Омский государственный технический университет, г. Омск

 

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

Ключевые слова: программируемая логическая интегральная схема, игра, устройство, код

 

Ограниченность философского или социально-психологического анализа становится очевидной при обращении к вопросу о возникновении и становлении электронных игр, поэтому здесь не обойтись без исторических и историко-культурных изысканий чисто эмпирического свойства. Можно сказать, что компьютерные игры появились случайно. Произошло это в 1958 году в Брукхэвенской Национальной Лаборатории. (США), когда ее сотрудник, Вильям Хигинботам, представил первый в истории электронный пинг-понг посетителям этой известной научной организации. Вот как эту историю описывают на одном тематическом российском сайте: «В далеком 1958 году физик Уильям Хигинботам (William A. Higinbotham, один из соавторов американской атомной бомбы) решил доказать своим друзьям (и, разумеется, подругам), что настоящая наука – это не только интересно, но и весело. Потратив три недели времени и списав из фондов родной лаборатории изрядное количество радиодеталей, он собрал некое устройство и подключил его к обычному осциллографу. На экране прибора не замедлили появиться стилизованные ракетка и мячик. Создатель окрестил свое детище TennisforTwo и немедленно ограничил доступ к нему: слишком много было желающих тратить рабочее время на невиданное развлечение. Как и следовало ожидать, широкого распространения TennisforTwo не получил. Осциллограф – это не рояль, его не найдешь под каждым кустом». Позднее физик признавался, что и вообразить себе не мог, какой успех ожидает в будущем его незатейливое новшество. Он ведь просто поиграл с технологией, а результатом этой свободной деятельности стало рождение новой культурной формы.

Спустя четыре года – в 1961-м – программисты знаменитого Массачусетского Технологического Института (MIT) на своих суперкомпьютерах (для того времени, конечно) создали еще одну игру. Она называлась «Звездные войны» и разрабатывалась как способ компьютерного моделирования военных действий. В разные версии этой игры и сегодня можно поиграть в некоторых моделях сотовых телефонов. В 1970-х годах электронные игры быстро превратились в бизнес. Отцом этого бизнеса считается НоланБашнелл (он основал первую фирму по производству нового типа игр, которую назвал Atari).

Уже в 1972 году его знаменитый «Понг» ворвался в мир игровых развлечений. Это была первая игровая приставка (к телевизору), с помощью которой два игрока (или игрок и компьютер) могли на экране перекидывать через сетку шарик, стремясь удержать его в экранном поле. Так что не зря этот вид игр называли и называют «электронные игры» или «видеоигры», поскольку они производились в виде специальных приставок к телевизору или игровых автоматов. Коммерческий успех привел в этот бизнес другие компании (среди них такие производители игр, как Nintendo, Magnavox, Namco, Sega и др.). В результате, еще до появления персональных компьютеров  электронные игры обрели огромную популярность, показав всем возможности и ценность развития информационных технологий. Правда, пока только в США, Японии и Европе.

 Первые игры для персональных компьютеров появились лишь в начале 80-х годов, когда бум игровых приставок уже прошел, но начинался новый бум компьютерных игр, который продолжается до сих пор. Примечателен тот факт, что видеоигры появились раньше, чем был создан персональный компьютер. Еще в 1960-х годах компьютерные технологии были, прежде всего, военной технологией (американцы во время войны во Вьетнаме пугали ею весь мир) и даже не рассматривались как серьезный инструмент в гражданской сфере. Именно электронные игры – и здесь во многом прав М. Маклюэн – сыграли важную роль в мирной социализации компьютерной техники и ее интеграции в популярную культуру.

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

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

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

С помощью HDLVerilog цифровая система может быть описана на структурном, поведенческом (главная особенность и достоинство HDL) и потоковом уровнях. Такое описание называется Verilog-описанием или Verilog-моделью устройства.

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

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

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

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

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

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

На основе этих принципов был создан код на языке Verilogдля правильного функционирования программы «Угадай число» на ПЛИС.

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

Снимок экрана (11)

Рисунок 1. Процесс разработки игры «Угадай число» на ПЛИС. Шаг первый.

C:\Users\acer\Desktop\Снимок экрана (9).png

C:\Users\acer\Desktop\Снимок экрана (12).png

Рисунок 2. Процесс разработки игры «Угадай число» на ПЛИС. Шаг второй.

Мы создаём некий генератор случайных чисел «random», который каждый раз при нажатии KEY3 будет генерировать случайные числа. Генерация всегда будет производиться только лишь среди 10 чисел (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) При генерации числа больше 10 оно будет принимать значение 0.

Мы создаём условие «if», где говорим о том, что если сгенерированное рандомом число будет равно числу, которое выбрано пользователем, то загорается LEDR 5. Если число, заданное пользователем больше загаданного, то загорается LEDR 9, и если число, заданное пользователем меньше загаданного, то загорается LEDR 0.

Нажимая кнопку KEY3 программируемая-логическая интегральная схема загадывает случайное число от 0 до 9. Ответом к загаданному числу является светодиоды.

Смысл игры заключается в том, что компьютер случайным образом загадывает число от 0 до 9, а пользователь должен угадать это число, посредством загорания лампочек.

Рисунок 3. Было сгенерировано число 9, загорается LEDR 9.

Рисунок 4. Было сгенерировано число 0, загорается LEDR 0

Рисунок 5. Было сгенерировано число 6, загорается LEDR 6

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

Разработали игру «угадай число» (подобрана разрядность регистров выходов, прописан код на языке Verilog).  На один из входов подали сигнал с тактового генератора. На второй подали 10-битную последовательность цифр двоичной системы счисления. На третий вход подали однобитный сигнал. На выходе три однобитных регистра.

Разработанная игра работоспособна. Это означает, что разработанный код является верным.



Список литературы:

  1. Стешенко, В.Б. ПЛИС фирмы ALTERA: проектирование устройств обработки сигналов / В.Б. Стешенко. - Москва: Додэка, 2000. — 128 с.
  2. Попок, А.Ю. Проектирование цифровых устройств с использованием ПЛИС / А.Ю. Лукаш. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2009. – 80 с.
  3. DE1-SoCUserManual
  4. Кафаи Э. Игра и технология. Изменение реалий, новый потенциал // Игра со всех сторон. М.: Фонд «Прагматика культуры», 2003.


Комментарии:

Фамилия Имя Отчество:
Комментарий: