Марсоход

МАРСОХОД

Open Source Hardware Project

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Блог о плате-конструкторе Марсоход, САПР Altera Quartus II, Verilog

и еще про всякое-разное!



Игра Жизнь внутри ПЛИС

E-mail Печать PDF

bacteria

Пришло мне в голову реализовать игру «жизнь» в ПЛИС в плате Марсоход2.
Не знаю, стоит ли объяснять правила этой игры — они, кажется, общеизвестны. Очень хорошее описание есть в википедии.

Ну, ладно, вкратце повторюсь:

  • есть прямоугольная решетка, в каждой ячейке решетки может жить «микроорганизм», клетка. Есть два состояния клетки решетки — «живая» или «не живая»;
  • каждая клетка имеет восемь возможных соседей. Даже на краях решетки у клеток есть 8  соседей. Решетка рассматривается как «бесконечная плоскость»: нижний край соединен без шва с верхним, а правый край с левым. Такая поверхность называется «тор». По тору-бублику можно ходить бесконечно, в любом направлении, не встречая препятствия;
  • если живых соседей меньше двух, то клетка умирает от одиночества;
  • если живых соседей больше трех, то клетка умирает от перенаселения;
  • если у клетки живых соседей ровно три, то в клетке зарождается новая жизнь;
  • если у клетки два живых соседа — ее жизнь продолжается;
  • в начале игры пространство как-то заполняется живыми клетками — на каждом шаге в каждой клетке происходит таинство жизни — где-то кто-то рождается, а где-то кто-то и умирает. Ну а зритель просто наблюдает за эти процессом.

Эта модель жизни получила название «клеточный автомат».
Программных реализаций для клеточного автомата существует огромное множество. Игру «жизнь» наверное уже написали на всех возможных языках программирования: C/C++, Javascript, Python, Pascal..

Я решил написать клеточный автомат игры «жизнь» для ПЛИС на Verilog HDL.
Меня заинтересовала эта игра тем, что в некотором роде на этой модели я могу попытаться реализовать эдакий «суперпроцессор». Это как раз задача для ПЛИС.

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

 

Блог новичка: Hello World

E-mail Печать PDF

board4

Первое сентября традиционно ассоциируется с началом учебного года и возвращением в отдохнувшее за время летних каникул здание школы или иного учебного заведения за новыми знаниями. Как человек, давно закончивший школу, и по случайному стечению обстоятельств студент-заочник, волнующих переживаний в связи с началом календарной осени я не испытываю. Тем не менее, я тоже решил заняться изучением чего-нибудь нового, интересного и полезного. Тема была выбрана не самая простая – проектирование цифровых устройств, ПЛИС и языки описания аппаратуры (в частности, VHDL).

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

Наверное, поэтому я захотел поделиться своим опытом изучения ПЛИС с аудиторией блога Марсоход. С программируемой логикой ранее мне сталкиваться не приходилось, а идея познакомиться с ПЛИС поближе возникла после изучения курса схемотехники – появилось желание почувствовать процесс разработки изнутри, а отсутствие практических навыков заставляет действовать именно в таком формате. Свои заметки – эту, и, надеюсь, будущие – я бы хотел представлять в виде "докладов" и "лабораторных работ", нарочно уделяя повышенное внимание возможно очевидным аспектам затронутой темы. Разумеется, любое описываемое устройство будет протестировано в плате Марсоход2, а соответствующие проекты для Quartus II будут доступны для загрузки.

 

Ваш первый проект на Nios II

E-mail Печать PDF

nios2

Мне очень нравится проект Марсоход – это сообщество замечательных людей, увлеченных интересной темой. Оно состоит как из опытных разработчиков на ПЛИС, так и из начинающих, как профессиональных разработчиков, так и любителей. Кто-то шел по тернистому пути освоения программируемой логики сам, кого-то вели преподаватели в ВУЗе. Сам я отношусь ко второй категории, и считаю, что мне повезло: обучали меня схемотехнике и, в частности, ПЛИСам на кафедре автоматики и вычислительной техники (ныне компьютерных систем и программных технологий) Санкт-Петербургского Политеха, на базе которой создан официальный центр обучения Altera в России.

Не знаю, сознательно или нет, на сайте http://marsohod.org не затронута тема синтезируемого процессора Altera Nios II. Пробежавшись по темам на сайте, не обнаружил ни одного проекта на Nios II, зато нашел целую ветку, посвященную процессору Amber ARM. Считаю, что Nios незаслуженно обошли вниманием. Бытует мнение, что процессор Nios утратил свою актуальность, что в реальных проектах его никто не использует, что с появлением Altera SoC FPGA с аппаратным процессором ARM Nios исчезнет за ненадобностью и т.д. Сразу скажу, что слухи о его смерти несколько преувеличены, более того, недавно вышла новая ревизия процессора Nios II Gen 2, которая и будет развиваться, начиная с версии 14.0, однако в данном тексте речь пойдет исключительно о Nios II Gen 1.

 

Новый Quartus II v 14.0

E-mail Печать PDF

q14
Примерно две недели назад (30го июля 2014) компания Альтера выпустила новую версию программного обеспечения Altera Quartus II v14.0. Вот сейчас дошли руки скачать, установить и посмотреть.

 

Артефакты разработчика

E-mail Печать PDF

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

Вот, например, что это такое?

cy3654-devkit

Никогда не угадаете...

 


Страница 1 из 45

GitHub YouTube Twitter

Подписка RSS

marsohod.org - лента

Последние комментарии:

На форуме:

Нет новых сообщений.