МАРСОХОД

Open Source Hardware Project

FPGA & CPLD Блогchips

САПР Altera Quartus II / Quartus Prime, язык Verilog HDL, ПЛИС Cyclone III, Cyclone IV, MAX II, MAX10.
Платы разработчика серии Марсоход, Марсоход2, Марсоход3.


Компилируем и испытываем процессор MIPSfpga в плате Марсоход3

Здесь расскажу, как откомпилировать проект MIPSfpga для платы Марсоход3, как загрузить образ в плату, откомпилировать простую сишную программу и запустить ее в плате на процессоре MIPS.

Далее описано по шагам, что нужно сделать.

Проект MIPSfpga

imgtech mipsfpga

В последнее время на habrahabr.ru появилось очень много статей о процессоре с архитектурой MIPS. Конечно это интересно. Компания Imagination Technologies Group еще 2013 году приобрела MIPS Technologies, Inc. и ее разработки в области архитектурных решений микропроцессорного ядра и IPCores. С тех пор многое изменилось. Стремясь вернуть МИПСу былое влияние на рынок, компания Imagination предприняла ряд решительных мер. Например, она открыла исходные тексты ядра всем заинтересованным лицам. Университеты могут бесплатно получить исходники и обучающие материалы по MIPS процессору и могут преподавать студентам его внутреннее устройство и принципы работы. Ядро MIPS можно запустить на многих платах с ПЛИС: de0_cv, de0_nano, de10_lite, nexys4 и других.

Мы подумали, что запуск ядра MIPSfpga в плате Марсоход3 должен быть интересным нашим читателям. Именно поэтому последнее время я занимаюсь портированием этого проекта на нашу плату.

Виртуальные светодиоды и 7-ми сегментный индикатор

 

Когда человек начинает осваивать какой нибудь микроконтроллер или ПЛИС, то первый проект, который он делает - это моргание светодиодом. На нашем сайте есть примеры таких простых проектов и для первой платы Марсоход, и для второй платы Марсоход2 и для третьей.

Плата Марсоход3 имеет 8 светодиодов, но даже этого иногда оказывается мало для отображения нужной информации. Конечно, можно отображать и изображения или даже видео, это слишком сложно и требует много ресурсов.

На плате Марсоход3 есть разъем видеовыхода HDMI. Я подумал, почему бы не сделать простой проект для отображения простейшей двоичной информации - такие виртуальные светодиоды и семисегментный индикатор, которые показываются на экране монитора?

Я сделал такой проект, его исходники можно взять на github: https://github.com/marsohod4you/hdmi_leds_seg7

Далее - описание проекта.

Новая версия драйвера программатора MBFTDI

knott pcie

Готова новая версия драйвера программатора MBFTDI для Altera Quartus II или более новой версии квартуса Intel Quartus Prime. Драйвер, как обычно представляет собой DLL которую нужно скопировать в папку квартуса, например, в папку d:\altera\16.1\quartus\bin64.

Долгое время мы пользовались версией 1.6b, но вот пришло время версии 1.8b. Нечетные версии думаю буду оставлять для Linux версии драйвера, которая выйдет чуть позже. У нас уже была версия драйвера для Linux  - это была версия драйвера 1.7b.

Немного волнуюсь, так как исходный код драйвера был значительно изменен, можно сказать на 90% - это новый код. Значительно изменена внутренняя структура, так называемый рефакторинг, переход на C++11 (всего лишь) вместо чистого C и многое другое. Это позволит нам в будущем делать новые продукты основанные на этом же коде. Кое какие планы на этот счет есть.

С точки зрения пользователя возможно изменилось не многое. Вероятно, кто-то сможет заметить (но это не точно), что программатор стал работать чуть-чуть быстрее в режиме JTAG и значительно быстрее в режиме Active Serial. В частности, на фото выше я программирую чип памяти EPCS16 платы Knott PCIe Dev Kit в режиме Active Serial. Вместо 60 секунд со старым драйвером 1.6b теперь программирует 12 секунд с новым драйвером 1.8b.

POF файл в ПЛИС  MAX10 10M50SAE144 теперь зашивается 45 секунд вместо 50-ти. Конечно, не кардинально, но чуть быстрее.

И еще одна фича: DLL должна работать с программаторами построенными не только на FT2232H, но и FT4232H. Возможно кому-то это важно.

Новая DLL v1.8b тестировалась с ПЛИС Cyclone II и Quartus II Web Edition v13.0SP1, а так же с ПЛИС MAX10 и Quartus Prime Lite v16.1. Думаю так же она должна работать и со всеми промежуточными версиями квартуса.

Скачать новую версию 1.8b можно вот здесь:

 

Предыдущая версия 1.6b вот здесь:

 

 

Размышления о майнинге криптовалют на FPGA

 
btc mining

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

По данным сайта http://whattomine.com сейчас используется два типа майнинга - ASIC и GPU. GPU - это майнинг на видеокартах. Из за своей универсальности поддерживается большое количество алгоритмов (Ethash,Groestl,X11Gost и т.д.). Алгоритмы довольно разные, по разному "ложатся" в код видеокарты и соответственно дают различную производительность. Быстрее всего работают односложные алгоритмы (Blake и т.п. ). Хуже - пакетные (X11Gost и т.п.) Алгоритм Ethash требователен к размеру памяти (болле 1 ГБ) и ее скорости. Поэтому ожидать повышения скорости по алгоритму Ethash следует от производителей в первую очередь ОЗУ, а затем и самих видеокарт (AMD , NVIDA) Есть попытки энтузиастов сделать на существующих графических чипах специализированных устройств для алгоритма Ethash, но, на мой взгляд, они мало перспективны по нескольким причинам. Сама такая разработка потребует затрат времени и средств с неизвестным заранее результатом. С течением времени может измениться ситуация на рынке (цена на валюту, переход на POS, выход новых чипов, и т.д.).

ASIC-mining - это майнинг на специализированных чипах, реализующих какой-то конкретный алгоритм хеширования. В оличии от видеокарт, алгоритмов гораздо меньше (SHA-256,Scrypt,X11,Quark,Qubit), но гораздо выше производительность. В частности, по SHA-256 - примерно на четыре порядка.
В качестве примера такого оборудования - Antminer S9, вышедший на рынок около года назад. Чипы выполнены по технологии 16нм, что очень близко к технологическому пределу на настоящий момент.

Как заявляют производители этого майнера, ожидать значительного роста производительности в ближайшее время не стоит, новые чипы могут быть быстрее не более чем в два раза: https://bits.media/news/bitmain-nachinaet-proizvodstvo-novogo-pokoleniya-maynerov-antminer-s9/.

К нашему огромному сожалению, сейчас не представлено FPGA-майнера. Он исчез из майнинга около пяти лет назад, так-как уступил в производительности видеокартам. Для количественной оценки разницы можно взять какой-то конкретный алгоритм, например Blake-256: 
https://bitcointalk.org/index.php?topic=306894.0

В таблице производительности указаны четыре разные FPGA-платы, но все они реализованы на одном, двух или четырех чипах - Spartan-6 LX150. Таким образом, средняя производительность одного чипа около 350-400MH/s. Цены на FPGA и видеокарты можно посмотреть в интернете, и по нашим оценкам
FPGA уступает видеокартам по соотношению цена/производительность где-то в два раза.

Конечно, по другим алгоритмам это соотношение может быть другим, но вряд-ли возможно получить на FPGA значительного превосходства, в лучшем случае - паритет.

И конечно- же всегда нужно "держать руку на пульсе" - ситуация может измениться.


facebook  GitHub  YouTube  Twitter
Вы здесь: Начало