Это мой первый взгляд на ПЛИС, но я много знаю в области разработки программного обеспечения. Хотел бы приобрести плату для обучения, но в конечном итоге хотел бы иметь возможность использовать компьютер начала 80-х в стиле Z80 (думаю, модель TRS80, я говорю).
Я изучал платы Spartan 3E и Spartan 6, но не совсем уверен в различиях производительности и емкости.
Я думаю, что-то вроде этого:
- Достаточно места для:
- смоделированный Z80 с использованием softcore opencores T80.
- смоделированные бортовые периферийные устройства, такие как видеоконтроллер, звуковой контроллер (простой 1 бит), контроллер флоппи-дисковода
- возможно пара контроллеров picoblaze для использования встроенных кнопок для выбора изображений с дискет и т. д.
- Разъем VGA (достаточно 16 цветов, бонус 256)
- Разъем для клавиатуры PS2
- Достаточно встроенной флэш-памяти для хранения нескольких образов виртуальных дискет и системного ПЗУ (16 МБ должно быть достаточно)
- На плате неплохо было бы использовать ЖК-дисплей, вероятно, хватило бы 4х7-сегментного светодиода.
- какой-нибудь разъем для флеш-карты был бы хорош, но не обязателен.
- Питание подключается к электросети, возможно, через блок питания.
Вот доски, которые я сейчас рассматриваю:
- Плата Nexys ™ 3 Spartan-6 FPGA
- Spartan 3E Starter Board
- Spartan 3E-1600 Совет по развитию
- Плата Basys ™ 2 Spartan-3E FPGA (500 КБ) + 16M флэш-памяти pMod
- Плата Basys ™ 2 Spartan-3E FPGA (1200K) + 16M Flash pMod
РЕДАКТИРОВАТЬ: Просто заметил, что у Basys нет встроенной оперативной памяти, поэтому я бы ограничился ОЗУ FPGA - не идеально.
Главное, в чем я не уверен, это то, сколько места останется после загрузки softcore T80. Любой совет с благодарностью.
Ответы:
Хотя амбициозные цели хороши, мой совет - начинать с малого. Значительно меньше. Проект, который вы предлагаете, будет сложным для промежуточного дизайнера FPGA и почти невозможным для начинающего. Я большой сторонник FPGA и хотел бы видеть, что вы добились успеха - начинание с такого амбициозного проекта, скорее всего, приведет к большому разочарованию и, вероятно, к отказу от дизайна FPGA вообще.
Позвольте мне выразить это в терминах программного обеспечения: этот проект подобен тому, кто никогда не занимался программным обеспечением, пишущим полный компилятор C - с нуля.
Начните с меньшего, и вы будете намного счастливее.
Изменить: добавлены вещи ниже.
При этом трудно дать хорошую рекомендацию для правления. Причина этого в том, что любая плата, которую я бы порекомендовал для тех, у кого нет опыта работы с ПЛИС, абсолютно не та же самая плата, которую я бы порекомендовал для выполнения проекта с процессором. Доска для начинающих может стоить 50-100 долларов США, в то время как плата для работы с CPU + VGA + Flash_Card + Независимо от 1000-2000 долларов США.
Существует также большая вероятность того, что как только вы сделаете пару простых проектов FPGA, вы передумаете и захотите сделать другой проект позже.
Тогда я рекомендую вам сначала получить простую доску в ценовом диапазоне до 100 долларов США. Тогда, когда вы будете готовы взяться за более крупный проект, вы можете купить более дорогую доску, которая будет близка к тому, что вы хотите (что бы это ни было в то время).
Мне нравится эта доска: http://www.xilinx.com/products/boards-and-kits/AES-S6MB-LX9.htm
Он недорогой, использует детали текущего поколения, изготовлен на уровне 1 и может даже выполнять некоторые простые операции с процессором.
источник
Хм, к сожалению, это vhdl, я собирался сказать начать с verilator или icarus verilog. Вместо этого, возможно, используйте ghdl. Первое предложение состоит в том, чтобы создать среду моделирования, начать строить эту вещь там.
Перед тем, как выбрать доску fpga, вы должны почувствовать, насколько большой она будет, различные инструменты бесплатны или бесплатны, жертвуя своим адресом электронной почты и некоторой другой информацией. Попробуйте инструменты lattice, altera, xilinx и т. Д., Начните строго с ядра T80 и с некоторыми из этих целевых fpgas, которые вы просматриваете. Я предполагаю, что все, что вы хотите добавить, значительно увеличит процент полного числа, которое вы придумали, когда внедрили ядро T80. Бьюсь об заклад, одно ядро, вы сможете устранить некоторые из кандидатов.
Возможно, вы ищете плату fpgaarcade, которая в той или иной форме использует ядро T80 ... Когда она будет доступна.
Я должен полностью согласиться с другим Дэвидом, если вы еще не профессиональный разработчик fpga / board, это не то, с чего вы начинаете, вы смотрите на годы работы, вероятно, собираетесь купить несколько плат за несколько тысяч долларов, пока вы уничтожайте их ошибками и т. д. Если у вас есть такие деньги, возможно, вам следует нанять консультанта, который проведет вас через весь процесс. Или есть доска, построенная по спецификации.
Больше энергии, если вы действительно хотите что-то сделать, просто проявите смекалку, начните с ядра и некоторых простых программ, которые мигают некоторые светодиоды и медленно продвигаются оттуда. Я очень рекомендую симуляцию маршрута. Кроме мгновенного удовлетворения, не беспокойтесь о кремнии, пока не окажетесь дальше по дороге. К тому времени у вас будет больше дизайна и вы сможете использовать инструменты, чтобы увидеть, что он может вписаться. Если вы не можете запустить эту вещь в симуляции, вы, вероятно, не сможете запустить ее в кремнии.
источник
Если вы хотите смоделировать компьютеры с видеовыходом, попробуйте получить что-то с достаточным количеством оперативной памяти, поскольку вам это понадобится как для системной, так и для видеопамяти. Очевидно, что встроенный разъем для VGA - это хорошо, хотя, если вы хотите провести точную синхронизацию некоторых ранних систем, вам может понадобиться генерировать композитное видео, прививая ЦАП или даже резисторный ЦАП R2R.
Затем, возможно, выберите самый большой чип на плате , поддерживаемый бесплатной версией инструментов FPGA . У более крупных чипов неявно больше блоков памяти (я видел много проектов, основанных на этом, а не на счетчике шлюзов), однако вы можете оказаться на территории приложения, где внешний процессор и меньшая FPGA дешевле, чем FPGA, достаточно большая, чтобы делать все это на чипе ,
Флэш-память всегда может быть установлена позже - например, карта SD объемом в несколько гигабайт, подключенная в режиме SPI.
Обычно платы FPGA относятся к классу 100-200 долларов, а затем и к действительно дорогому классу. Вы можете, вероятно, сделать довольно большой прогресс с одним из первых.
источник
Я был автором этого вопроса, но я не должен был войти в систему или еще не создал аккаунт ...
Как бы то ни было, в конце концов я отложил проект на 4 или 5 месяцев, но затем перешел на плату Nexys3, и теперь у меня запущен и работает компьютер Microbee. Вы можете прочитать об этом здесь: http://www.toptensoftware.com/fpgabee .
В целом я был очень доволен Nexys3, он обрабатывает ядро T80 с запасом места, он не был слишком дорогим (250 долларов) и имеет все, что мне нужно (и даже больше).
Главное разочарование в том, что я не смог заставить работать интерфейс клавиатуры USB-HID, и хотя я все еще обсуждаю это с Digilent, я подозреваю, что он работает только с некоторыми клавиатурами, и я не смог найдите совместимую (сейчас я попробовал около 8 разных клавиатур). Для него нет эталонных дизайнов, периферийные тесты не тестируют клавиатуру, и я читал о других, имеющих такие же проблемы.
источник