В любой более мене современной FPGA есть DDR SDRAM
береш корку и на этом действия заканчиваются
и для Lattice программаторы стоят безумных денег
В любой более мене современной FPGA есть DDR SDRAM
береш корку и на этом действия заканчиваются
и для Lattice программаторы стоят безумных денег
А, ну так это для штучного производства дорого. А для крупно-серийного вообще-то пофигу. Ладно, как на крупное производство перейду, обязательно припомнюСообщение от heroy
Возможно не открою Америки, но думаю в этом случае будет полезен ресурсСообщение от Vladimir Kladov
http://iosifk.narod.ru/articles.html
Там есть несколько статей про создание форт-подобного микропроцессора "своими руками" в FPGA. Статьи публиковались в журнале "Компоненты и технологии", выложены собственно на страничке их автора.
В качестве примера разбирается проект на базе Altera, язык AlteraHDL, пакет MaxPlus. Автор статей считает AlteraHDL более доступным, а переход с него на другие языки - более простым.
По-моему для начального проекта архитектура "перетяжелена" новшествами и наворотами вроде наличия в ней сразу аппаратных вычислений с плавающей запятой. Мне кажется, что было бы перспективнее уделить внимание массовому параллелизму в массиве более простых узлов, с очень большим количеством их (узлов).Сообщение от Vladimir Kladov
http://www.lenta.ru/news/2006/11/07/multicore/
У меня были идеи попытаться поэкспериментировать с такими на симуляторе. Со стековым языком типа форт в масштабе узла и в перспективе с языком явного параллелизма типа Occam для системы.
Дальше идей к сожалению дело не пошло.
давно уже читал. Там AHDL, которому пора уже в отставку. Как-то понятно, но мне не понравилось, verilog мне больше по душе.
Вещественные - опционально. Естественно, в младших моделях и не будет. Я наверное вообще, начну с 16-битной модели данных (но адреса - 32). Мне не очень интересно делать даже простой конвейер. Хочу сделать именно асинхронное выполнение, принцип БЭСМ-6 (водопровод != конвейер!). Не, массив не хочу. Люблю классику. (Сами же упрекаете, что слишком много новшеств. Массивные вычисления - это такое новшество для меня, что новшествее дальше только квантовые вычисления...)
По мне так AHDL это ваще не язык для описания железа, а текстовое представление схемы, на нем ничего серьезно в принципе нельзя реализовать
я так понял, просто разработка древняя (во, время летит - 5 лет, уже древняя!). Тогда и чипы были меньше, и медленнее. А сейчас - Lattice - 800MHz, внутри PCI, Ethernet, флэш для прошивки, и чего там только нет. Только что пентиум не хватит сделать... И даже хватит - в урезанном виде, но нафиг не надо. Ибо отстой и помойка хлама!
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Это время преключения тригера если у тебя они 2 последовательно рабочая частота 400МГц а если еще пару LUT разныцы между ихними входами синхронизации + задержки трасировочного ресурса то максимум на 300 надеятся можно, допустим то же MAX3128-10 рабочяя частота макроячейки 100МГц (даже больше 175) то допустим в ULA на 64 Макроячейки рабочая частота максимальной цепочки тока 9МГц (самый дальний угол получился - формирование сигнала FLASH), Но так как те узлы где нада 14МГц работают на 14 смело (учитывая все защелки,счетчики и мультиплексоры) а FLASH если будет запаздывать на пол такта не страшно, то можно сказать что схема работает на 14МГц устойчивоСообщение от Vladimir Kladov
Далее еще более жестокий пример
EP2C5 у которого макроячейки запросто на 380МГц работают - всунул туда ARM7 ядро в результате после расчета всех задержек (оптимизация была установлена по размеру) рабочая частота ARM Получилась чуть менее 3МГц, а это один из наиболее линейных процесоров
Последний раз редактировалось ZEK; 22.01.2007 в 20:26.
Немножко не потеме ивините у меня есть Алтера ЕРХ740LC68-10Z. Что это за чудо?
что значит 2 последовательные. Я дурак, что ли, последовательно триггеры соединять? За такт триггер должен 1 раз переключиться, и все. На то, батенька, конвейер существует. Сейчас как раз делаю-думаю конвейер для очереди выделения номерков на свободные "вешалки в гардеробе" (узкий ресурс - операционные ячейки, их надо на каждом такте 8 штук давать на конвейер команд, и соответственно забирать у тех, кому уже не надобно). Получается 5 стадий конвейера, зато гарантируется работа одновременно 8 гардеробщиков, на каждом такте до 8 пальто выдали, до 8 пальто приняли. (Одно плохо - не представляю пока себе, сколько это будет лютов и вентилей - для 128 номерков например, там 32 мукса на 4 входа на нижнем каскаде, 32 мукса-смесителя на 2м, дальше 8 + 8 примерно по той же схеме, так ведь еще обратные линии на переосвобождение непринятых пальто, еще и сами номерки 7-битные толкать надо по шинам вперед...).
АРМ7 вообще-то Г. Там конвейер пропускает стадии, и работает четко последовательно. Каждый такт может выполняться только 4 одновременно разных стадии конвейера. Я хочу сделать, чтобы у меня выполнялось от 4 до 16 команд одновременно, и в среднем режиме за такт выполнялось 4 операции. Конвейер очень длинный, и с асинхронным выполнением операций: команда, пришедшая позже, может закончить свои дела раньше, зависимости определяются автоматом. Для этого я убрал нафиг само понятие флажков. Ладно, я ссылку давал? Давал. Спать хочу... наверилогился за сёдни.
Ну дык, я о том что конвеер это можно сказать единственный способ повышения частоты, чем цепочка прохождения сигнала тем естественно частота выше. Но у длинных конвеером ты думаю и без меня знаеш есть и минусы.
Зы: насчет паралельности управляемой пользователем (компилятором) очень силь E2K Бабаяна напомнило, наверное проще не предумаеш способ для разруливания связи по данным и возможности паралельного исполнения команд.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)