Интересно, вот я ни разу не встречал об аппаратной реализации клеточного автомата "Жизнь". Вот в выходные решие сделать набросок одной ячейки. Получилось следующее: Одна К155РЕ3 с таблицей ситуаций для рождения клетки; Одна К155РЕ3 с таблицей ситуаций для умерания клетки; Два К155КП5 вспомогательных мультиплексора; Собственно, К555ТВ9 в качестве памяти состояния клетки. В общем, К155ТВ1 использовать слишком расходно. Тогда как К555ТВ9 - два JK-триггера и можно хранить состояние двух клеток. Тем самым, на две клетки с одним К555ТВ9 придётся по 9 микросхем, а с К155ТВ1 - по 5 на клетку. Так что разумно одним узлом реализовать две клетки. Но, паять всё это в кубики - неблагодарный труд. Хотя конструкция кубика уже придумана, чтобы легко стыковать их магнитными краями. И кнопочки сверху будут для ручной установки состояния клетки. Но всё равно резона возиться нету... Скажите, есть ли ПЛИС довольно бедной интеграции, чтобы было очень дёшего? К тому же с ПЗУ, куда прошить правила можно. Хотелось бы одной маленькой микрухой такой реализовать хотя бы матрицу 4x4 или 8x8. Если что, изготовить десяток для полноценного автомата. Вот, собственно, схема одной ячейки с таблицами прошивок:
Другая версия схемы (упрощённая). Используется одна К155ЛН1 на 6 клеток. Тем самым, всего на 6 клеток распределяется: 12 микросхем К155РЕ3; 6 микросхем К155КП2; 6 микросхем К555ТВ9; 1 микросхема К155ЛН1. Итого - 25 микросхем на 6 клеток. Вполне оптимальный вариант. Вот эта схема и прошивки (не проверял на корректность): (РЕ3 графически совмещены. Лишь выводы EO раздельны) опытный электронщик легко разберётся с прошшивками и расключением всех клеток. поэтому излишних подробностей и особенностей не описываю. тем более врятли кто-то бросится реализовывать эту чушь )
если ам/кит/прочий ебай отпадают, то $13 http://www.evodbg.com/index.php?option=com_content&task=view&id=25&Itemid=90 1750 Руб. http://starterkit.ru/html/index.php?name=shop&op=view&id=14 оба - частники. охотно говорят по русски. поспрашивайте, может и к вам в узб отправят. можно еще спаять самому, но это ж микрух искать, травить, паять и прочие 1.2 вольта
Ого-го! Ничего себе дёшего! Матрицу из сотен за $14 почти - роскошь! После долгих размышлений стало ясно, что оптимальнее использовать по одной микросхеме на одну клетку. В домашних условиях это практически идеальное решение! За основу берётся микросхема КР556РТ16 ёмкостью 8кб. Правда используется всего один бит данных, замыкаемый на адрес A12 с целью организации триггера. Также, выводы A8 и A9 используются как X и Y для предустановки состояния клетки на вывод A10. Перепады тактовых импульсов подаются на A11. Тем самым, к одной микросхеме подаётся состояние восьми окружающих соседей, X и Y подключаются матрицей по горизонтали и вертикали соответстенно. Все A10 подключаются вместе. Чтобы сменить состояние нужной ячейки, на A10 всех микросхем подаётся нужное состояние, затем на нужные Xn и Yn подаётся логический 0. В остальное время на них необходимо подавать только 1. Тактируются все ячейки подобно счётчику Грея на РЕ3 - перепадами: От 0 к 1 и от 1 к 0... Таблица с прошивкой микросхемы клетки генерируется в соответствии с правилами игры "ЖИЗНЬ" и имеет размер 8кб. Заинтересованные лица могут и сами алгоритмически её синтезировать. Естественно, здесь я её не привожу даром. Собственно, вот третий вариант схемы. Последний:
Paguo_86PK Бред какойто. Вам что ресурсов вашего пк мало ? Гвозди в элт, клетки какието.. как вы такие задачи придумываете только %.
Paguo_86PK да, железяки в рассыпную - только для развития цифрового мышления. ну а для реализации - взял МК и вот тебе за 4бакса целое стадо клеток - что хош то и делают, плодяться\умирают - заражают.)
Какие микроконтроллеры? На одну клетку программа сколько машинного времени будет расходовать? А если чисто аппаратно по моим схемам - за один так будет развиваться вся колония! А если подать частоту 16мГц, то никакая программа такое не обеспечит! 16 миллионов поколений в секунду при неограниченном пространстве... Даже если на одну клетку программа будет терять один такт, то при частоте 1гГц она вычислит колонию 100x100 всего 100 тысяч поколений! Но пространство то мизерное - 100x100. Чушь! А всякие МК - для начинающих. В блоге один хвастался, что аппаратно на PIC сделал жизнь. А его на место поставили, мол аппаратно - чисто на ТТЛ микросхемах. Стыдно сравнивать одно с другим! А я уже говорил, что по большей части - электронщик и в ассемблере мне и то тесно! Нет уж, МК - для лентяев. Вот ПЛИС или дискретки - для людей с мозгами! Не хочу вас обидеть, но программное никогда не превзойдёт аппаратное в конкретных случаях. Программно можно выполнить за раз ну пусть десяток операций, а аппаратно - бесконечно много. Если спорите, значит не понимаете прелесть копания в железе... Люди в 70-ые на логике ТВ-игры делали: Морской бой, ПВО, Хоккей... И там всё продумать надо было. Не то что сейчас. Компилишь тыщу глюков и отлаживаешь год. А в то время ошибка - микросхемы стоила...
Paguo_86PK тут вот раз разговор о ПЛИСах, что бы не создавать новой темы вклинюсь) в плисах какой тип выхода логических элементов? логический? если он логический, то при не аккуратной конфигурации, запаралеливании нескольких логических выходов и на них будут разные потенциалы - выравнивающий ток сожгёт изделие?
Paguo_86PK Для начала обьясните подробно что это такое. На схеме у вас я вижу шину данных ROM'а коммутируемую мультиплексором в один канал. Если предположите что на адресную шину нагружен закольцованный счётчик, то это всеголишь генератор определённого пакета. Что далее делать с этим сигналом ? Обьясните откуда эти цифры.
Сейчас читаю журнал РАДИО и сказано, если даже входной уровень выше допустимого - это грозит потерей... Разве вы не знаете http://ru.wikipedia.org/wiki/Жизнь_(игра)? Клетку окружают восемь соседей - таких же клеток. Их состояния подаются на адрес. Т.е. на схеме ПЗУ с A0-A7 подключенных к D7 окружающих других восьми ПЗУ. D7 замкнуто на адрес - имитация триггера. А сама прошивка - таблица с правилами игры. Я же сказал, кто понимает суть игры, тот и в схеме разбирётся, и прошивку алгоритмически сгенерирует. А цифры - какие именно? Например, пусть клетки кодируются массивом L 100x100 и каждая хранит число 0 или 1. Массив M - буферный. Тогда, пробегая в цикле по всем клеткам нам нужно сделать так: (нет проверки на выход за пределы массива) Code (Text): for(y = 0; y < height; ++ y) for(x = 0; x < width; ++ x) { sub = L[y-1][x-1] + L[y-1][x] + L[y-1][x+1] + L[y][x-1] + L[y][x+1] + L[y+1][x-1] + L[y+1][x] + L[y+1][x+1]; if(sum == 3) M[y][x] = 1; else if(sum != 2) M[y][x] = 0; } for(y = 0; y < height; ++ y) for(x = 0; x < width; ++ x) L[y][x] = M[y][x]; Вот собственно весь алгоритм игры! И вот посчитайте, сколько тактов уходит на ячейку? Очень простой и в сети можно найти Java и Flash версии. Так вот, за один шаг нужно пробежать по всем элементам (представьте, что это - экран 1024x768). Тогда анимация будет чудовищно медленной! А аппаратно - в ПЗУ прошиваем таблицу, берём этих ПЗУ 10 000 штук и делаем из них полигон 100x100. К каждой подключен светодиод. И начинаем тактировать. Можно сделать миллионы шагов в секунду! Никакой компьютер, кроме супера, это не потянет. ) Вот. Кстати, вот счётчик Грея на ПЗУ с печатной платой:
никто и не спорил - предложил же всего лишь...сам дискретки когда-то "насиловал". кто знал что вы собрались спаять в кучу 10 000 ПЗУ) не то что бы упрекаю - у каждого есть свои сумасшедшие идеи)) Может тогда для быстродействия уже ОЗУ взять? Например регистров кучу ну и для изначальной загрузки предусмотреть "шину" какуюнить , подал питание накликал кнопками, запустил генератор... Вообщем интересная штука, но вот паянины там совсем не мало!)
ну, если не учитывать возможность и стоимость доставки, то 95-тку за $1-3 можно найти. но вам же гдетотамный рай не очень интересует? можно их понаходить на импорных цифровых платах. встречаются. если, конечно, оно вам нада.
Paguo_86PK Когда-то я на этом форуме выкладывал свою версию, но найти не могу, возможно это было еще на старой версси форума. На одну клетку у меня уходило половина такта при использовании MMX и чуть больше четверти такта при использовании SSE. То есть полигон 100 на 100 на 2.5ГГц проце будет успевать обрабатываться миллион раз в секунду, без всяких 10000 ПЗУ, а теперь сравните стоимость.
Так-с. Если XC90xx стоят $1…3, реально ли заказать дюжину, чтобы не покупать одну за $13, а сразу 10 за $30…40? Тут я слышал, Ubuntu на сайте купил человек и по почте пришло не 2 диска, а пачка. Достались все практически даром. Так вот, как вы меня поняли, очень не хочется переплачивать за дорогу+таможню. Даже не знаю, в какой компании нет таких проблем. И ещё. Я так понял, единовременно JTag может подключаться к одному кристаллу? А если я десяток чипов этих вместе подключу, их как, по очереди все прошивать придётся? Тем более процесс у меня может быть не очень чистым, т.е. циклы перешивки могут исчерпаться. Вот это меня волнует! И наконец, почему схемы LPT<->JTag самые популярные? Нету более удобных, скажем с USB или ещё лучше, USB-1Wire <-> J-Tag, чтобы проводков как можно меньше, а значит, безопаснее было. Мало ли, оборвётся один и всё полетит. Тем более я в НЧ-входу телевизора или S-Video платы захвата подключать планирую… Думаю, для начала, как нубу, мне пойдёт какрас те XC95xx. Привык работать в OrCAD. Только понятия не имею, как схему разбивать на несколько кристаллов и согласовывать их. Т.е. если я разобью всё на законченные узлы и вручную спаяю эти кристаллы, в проекте это никак не обозначится и снимать показания будет сложнее? Просто мне нужно теорию проверить с динамической памятью на К565РУ5 с низкой частотой регенерации. И ещё свой процессор попытаться пожечь.
Ubuntu рассылают бесплатно. Хотя ее намного проще скачать и удалить. Если есть желание создать модель жизни то воспользуйтесь ресурсами видео карты NVIDIA GeForce GTX 460..480, или их аналогами. Стоит всего от 200-500 usd. Насчет JTag ничего не понял. Про то как им пользоваться информации валом. Как пом не намного проще ,и без нервотрепки купить хороший инструмент. Например AVREAL-USB, стоит 250 грн. Да и на отечественных микросхемах лучше поставить жирный крест. Их тяжело достать, даташиты скудные, обычно стоят больше чем китайские аналоги. ЗЫ: Некоторые микроконтроллеры фирмы atmel можно отлаживать по одному проводу. Но там есть куча условий для этого.
Я один раз придумывал схему аппаратного построения линий. Скажем ТВ-сигнал 352x288 и с помощью обычных счётчиков выводятся стрелки часов, минут и секунд. Никакой памяти, просто цифровой компаратор сравнивает текущий адрес пиксела растра с показаниями счётчиков. Некий векторный дисплей получается с ограничением в три вектора. Разве не кайф без набора кодов и алгоритма на экране получить подобное? Вот хочу в ПЛИС тоже ту давнюю задумку реализовать... А вы всё о программном. Либо я так и не стал программистом, либо переростаю эту кодовую чушь... Хочется узнать подробнее...
Вы уже определитесь тогда что вам надо. Скорость вычислений или что то другое. Программная реализация экономит кучу денег и нервов. Да и вообще, прежде чем что-то реализовывать следует ответить на вопрос: "Зачем это надо?".
Paguo_86PK в локальной. или ищете у себя такое, либо едете в гости. во втором случае таможня остается. насчет таможни - позвоните или зайдите к ним и узнайте условия прохождения посылок. совершенно необязательно последние штаны сымать придется если пересылка обычной почтой, то это не очень дорого. но очень долго. сдаю секретные места http://www.altera.com/buy/buy-index.html http://www.xilinx.com/onlinestore/index.htm ебай http://shop.ebay.com/i.html?rt=nc&LH_BIN=1&_nkw=xilinx&_trksid=p3286.c0.m301 http://shop.ebay.com/i.html?rt=nc&LH_BIN=1&_nkw=altera&_trksid=p3286.c0.m301 ну и прочий гуголь. копайтесь. торгуйтесь. только вы внимательно читайте что продается как доставляется (проверяйте ходит ли к вам эта доставка) и на каких условиях. жтаг подключается к скольки надо чипам. читайте доки. чтоб циклы не исчерпались а) есть симуляторы в ассортименте б) 10000 это не так мало в) фпга (не кплд) основаны на озу и циклов перепрошивки имеют оо. в флэшку зальете когда в автономное плаванье уже запустите. потому что самые простые и удобные. usb http://www.hdl.co.jp/en/index.php/bitcfg3m1.html насчет обрыва проводков - подумайте еще раза 3. либо не довели до конца одно, начинаете не доводить другое. насчет проганья кроме всех прочих ++ открывается больший рынок труда. это же касается и фпга. те вы не ограничены локальными предложениями.
Помните экран ZX-Spectrum? Когда с ленты скрин грузился, то полосками через 8 рисовался. Я когда эмуль экрана писал на ассемблере, матюкался из-за того, что три младших бита надо переставить с тремя следующими. zx_addr = (addr & 0x181F) | ((addr >> 3) & 0x00E0) | ((addr << 3) & 0x0700); Тогда как аппаратно вообще вопросов нет: Перенаправил сигналы и всё. Вот это ну очень раздражает. Постоянно таблицы подготавливать и всюду XLAT'ить каждый пустяк. Тогда как аппаратно это вообще не вопрос!!! В этом плане у программ огромный недостаток и за 50 лет цифровой истории процессоров он не разрешён. А тут вот нашёл http://www.buyaltera.com/scripts/partsearch.dll?Cat=2556261&PV-5=9 с EPM3032ATI44-10N за $1.45. Думаю, для пробы сойдёт. Правда не знаю, в дата-шит по-моему внутренность бедная. Да и про доставку не знаю... А насчёт "ЖИЗНИ". Меня интересует ни сколько сам реализация в деле. Просто жутко интересно, на сколько сложно аппаратно строить такие схемы. Однажды и ТЕТРИС пытался понять как аппаратно сделать. Хотя на КР580ВМ80А давно свой написал без шаблона, только своим кодом и в дампе (без ассемблера). Сидел и думал, сколько 2И-НЕ нужно на каждую фигуру. А поворот был простым КП11-мультиплексированием осей X и Y. Кто в 70-ые не пробовал воздушный бой собрать или конные скачки, не поймёт всю прелесть решения проблем чисто аппаратного построения фигур без ПЗУ и процессоров! Вот я и хочу опробовать все свои задумки в реале... Не хочу, мечтаю! И потом, все эти видяхи с аппаратным ускорением, такая же чушь, как и аппаратный декодер MPEG-4. Уважающий себя человек всё равно должен думать, что это - псевдо-аппаратное. Так-как на деле там сверхскоростные программные схемы. Какой дурак будет строить в GeForce линии счётчиками, когда легче микрокодом? А я когда говорю "аппаратно" имею ввиду буквально - на логике и счётчиках. Без всяких PIC! Но я уже так понял, что "ЖИЗНЬ" на ПЗУ, т.е. чисто аппаратно - 100% реализуемо! Хотя и дорого. Но теория доказана. Или будете спорить? Сейчас нужно решить ещё проблему аппаратного РЕВЕРСИ http://ru.wikipedia.org/wiki/Реверси... Я который год всё никак не найду подход к построению одной клетки... Поверьте, это очень увлекательный досуг, чем тупой Call Duty Ваш!
Paguo_86PK внутренность бедная. доставка будет дороже микрух. кварус это не тянет. на древнем компо-утиле их можно наповыпаивать. есть такие люди, которые просто любят мечтать. обсуждать свои мечты. но страшно боятся их осуществить. ведь в воображении оно такое новенькое, незаплевеное. а реализуешь - тут и пыль, и пролетающий ороль какнуть может. или, о ужас, может ничего не получиться. они фантазеры называются. или мечтатели. или выдумщики. самые хитрые записывают свои выдумки и так-сяк с этого живут. кто боится проиграть - тот никогда не выиграет.