FPGA – теория программируемой логики (шлюзовой матрицы) – Zetsila

FPGA или микроконтроллер?

Микроконтроллеры выступают доминирующим компонентом современного электронного конструирования. Микроконтроллеры относительно недорогие и универсальные электронные модули.

Это мощные инструменты, благодаря которым успешно решаются различные задачи проектирования. Тем не менее, микроконтроллеры построены на основе процессоров, а процессоры характерны некоторыми фундаментальными ограничениями.

Как же достичь превосходства FPGA над традиционным микроконтроллером? Конечно же, посредством программного обеспечения и аппаратных средств.

Процессор решает задачи, выполняя инструкции последовательно. Таким образом, операции процессора по существу ограничены. Требуемая функциональность должна быть адаптирована к доступным инструкциям, и в большинстве случаев невозможно одновременно выполнить несколько задач обработки.

Структура микроконтроллера: 1 – процессор; 2 – контроль прерываний; 3 – генератор импульсов; 4 – ROM; 5 – управление шиной; 6 – RAM; 7 – порты ввода/вывода; 8 – счётчики; 9 – последовательный порт

Набор инструкций рассчитан на высокую универсальность, и в настоящее время инструкции могут выполняться на чрезвычайно высоких частотах; однако эти характеристики не устраняют недостатки программного подхода к цифровому конструированию.

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

Тогда нет необходимости писать программное обеспечение:

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

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

Программируемая шлюзовая матрица

FPGA – это, по сути, массив логических вентилей. Этот массив может быть запрограммирован пользователем для конкретного устройства. Рассмотрим подробнее такую возможность.

Так называемая «стартовая» (макетная) плата электронного устройства типа FPGA — доступного по цене и лёгкого в использовании для конечного пользователя

Логические шлюзы (AND, OR, XOR и т. д.) являются основными строительными блоками цифровой схемы. Поэтому неудивительно, когда цифровое устройство, которое необходимо конфигурировать (запрограммировать пользователем), состоит из множества шлюзов, связанных методом настройки.

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

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

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

Конфигурируемые логические блоки

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

Структура программируемой шлюзовой матрицы: CLB – настраиваемый логический блок; SB – переключающий бокс; CB – соединительный бокс; I/O – блок ввода/вывода; H – горизонтальный канал маршрутизации; V – вертикальный канал маршрутизации; C – «W» трек

Технически CLB взаимодействуют друг с другом и с внешней схемой. Для этих целей FPGA использует матрицу программируемых соединений и блоков ввода/вывода (I/O).

Программа FPGA хранится внутри ячеек SRAM, которые влияют на функциональность CLB и управляют коммутаторами, устанавливающими пути подключения.

Подробное объяснение внутренней структуры и работы CLB потребует отдельной публикации (или даже нескольких публикаций). Общая идея заключается в том, что CLB включают в себя:

  • таблицы поиска,
  • элементы хранения (триггеры или регистры),
  • мультиплексоры.

Все эти включения позволяют CLB выполнять логические операции, операции хранения данных и арифметические операции.

Блок ввода-вывода состоит из различных компонентов, которые облегчают на электронной плате связь между CLB и другими компонентами. К ним относятся:

  • подтягивающие резисторы,
  • буферы,
  • инверторы.

Пользовательская программируемая логика (как программировать FPGA?)

Каким же образом превратить массив CLB в цифровую схему, которая делает именно то, чего желает пользователь? На первый взгляд это действие кажется довольно сложной задачей.

Действительно, реализация  FPGA обычно считается сложнее, чем программирование микроконтроллера. Однако разработка FPGA не требует глубоких знаний функциональности CLB или кропотливой компоновки внутренних взаимосвязей.

Это аналогично тому, когда разработка микроконтроллеров не требует глубокого знания инструкций на языке ассемблера процессора или внутренних сигналов управления.

На самом деле несколько неверно представлять FPGA как отдельный компонент. Система FPGA всегда поддерживается программным обеспечением разработки.

Такое ПО выполняет сложный процесс преобразования аппаратного конструирования в биты программирования. Этими битами определяется поведение взаимосвязей и CLB.

Языки программного «описания» оборудования

Существуют средства, которые позволяют пользователю «описывать» аппаратное обеспечение. Эти средства называются языками описания аппаратных средств (HDL). Среди наиболее распространенных языков следует отметить «сладкую парочку»: —

Несмотря на очевидное сходство между кодеком HDL и кодом, написанным на языке программирования высокого уровня, эти два средства принципиально отличаются друг от друга.

Пример программирования шлюзовой матрицы с помощью VHDL кода, благодаря чему достигаются все необходимые операции, на которые рассчитывает конечный пользователь

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

Есть ли третий вариант?

 Всегда есть третий вариант, верно? Если бы было только такое аппаратное обеспечение, которое бы сочетало гибкость выбора алгоритма для добычи (как у видеокарт) и мощность хэширования ASIC ... все бы использовали это оборудование, верно?

FPGA - это такое оборудование, поэтому он – новый фаворит в сообществе майнеров. Неудивительно, почему спрос на него огромен.

FPGA существует с 1982 года. Они использовались и продолжают использоваться в науке, моделировании транспортных средств и даже в военных технологиях.

FPGA - теория программируемой логики (шлюзовой матрицы) - Zetsila

Первым производителем этих устройств была американская технологическая компания под названием Xilinx. Позже, другая американская компания под названием Altera (теперь входящая в состав Intel) присоединилась к этой отрасли и с тех пор является основным конкурентом Xilinx.

Внедрение и развитие схем ПЛИС (программируемых логических интегральных схем), разновидностью которых является FPGA, очень приветствовалось во многих отраслях промышленности, и спрос на такое оборудование и технологии все еще растет. Например, в 2013 году размер объема рынка для плат FPGA составил 5,4 миллиарда долларов США, и, согласно оценкам, он достигнет отметки в 9,8 миллиардов долларов США в 2020 году.

Прежде, чем говорить о технической стороне, ответим на вопрос: «Если FPGA настолько хороши, почему бы людям не использовать их для майнинга с самого начала?»

Почему FPGA никогда не использовались в майнинге?

На самом деле, как только Bitcoin стал популярен, некоторые люди, у кого были ПЛИС старого образца, начали добывать первую криптовалюту на своем оборудовании. Но в массы это не пошло.

Есть две причины, почему платы FPGA для майнинга массово начинают использовать только сейчас.

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

В отличие от графического процессора (GPU), который Вы можете настроить с помощью BIOS и майнера, плата FPGA должна быть запрограммирована с нуля, чтобы она могла добыть определенный алгоритм. Для этого вам нужно написать код на языке Verilog или VHDL - ни Python, ни C ++ не работают.

Так как только некоторые программисты способны это сделать, потребуется время, чтобы они выполнили эту работу. Затем эти программисты должны будут сделать бизнес-модель для продажи программ для общественности и так далее. Это, в конечном счете, произойдет, но пока они это делали, появилась причина №2.

Вторая причина - создание первой ASIC для добычи криптовалют. В отличие от FPGA, ASIC не нужно настраивать: подключи и он работает. Любой может использовать его. Очевидно, что это само по себе было решающим фактором. Кроме того, было много альтернатив для майнинга ASIC - таких, как возможность использовать фермы GPU и добывать меньше монет.

Теперь, когда ASIC доминируют в майнинг пулах, а графические процессоры немного отстают, FPGA становятся все более интересными для среднего майнера.

FPGA - теория программируемой логики (шлюзовой матрицы) - Zetsila

Что такое программируемая пользователем вентильная матрица?

Хорошее название может быть довольно информативным, и я бы подумал, что «программируемая пользователем вентильная матрица» («field-programmable gate array») будет достаточно хорошим названием. FPGA – это матрица логических вентилей (ну вроде – смотрите ниже) и эта матрица может быть запрограммирована (на самом деле, «сконфигурирована», вероятно, более подходящее слово) в поле, то есть пользователем устройства, как противоположность людям, которые его разработали. Давайте посмотрим на основные характеристики.

Логические вентили (элементы) (И, ИЛИ, исключающее ИЛИ и т.д.) являются основными строительными блоками цифровой схемы. Поэтому неудивительно, что цифровое устройство, которое должно быть чрезвычайно конфигурируемым (то есть "field-programmable" / программируемым в поле / программируемым пользователем), будет состоять из множества вентилей, которые могут быть связаны между собой настраиваемым способом.

Однако FPGA не является огромной коллекцией отдельных булевых элементов. Это было бы очень неоптимальным способом обеспечения функциональности конфигурируемой логики, потому что не использовало бы тот факт, что распространенные операции могут быть реализованы гораздо эффективнее как фиксированные модули. Тот же принцип проявляется и в мире дискретных цифровых микросхем. Вы можете купить микросхемы, которые состоят из элементов И, элементов ИЛИ и т.д., но вы не захотите создавать сдвиговый регистр из отдельных элементов. Вместо этого вы купите микросхему сдвигового регистра.

Матрица конфигурируемых логических блоков

Конфигурируемые логические блоки (CLB) должны взаимодействовать друг с другом и с внешней схемой. Для этих целей FPGA использует матрицу программируемых межсоединенй и блоков ввода/вывода (I/O). «Программа» FPGA хранится в ячейках SRAM, которые влияют на функциональность блоков CLB и управляют коммутаторами, которые устанавливают пути подключения.

Подробное объяснение внутренней структуры и работы блоков CLB потребует целой статьи (если не нескольких статей). Общая идея заключается в том, что CLB включают в себя таблицы поиска, элементы хранения (триггеры и регистры) и мультиплексоры, которые позволяют CLB выполнять логические операции, операции хранения данных и арифметические операции.

Блок ввода/вывода состоит из различных компонентов, которые облегчают связь между CLB и другими компонентами на плате. К ним относятся подтягивающие резисторы, буферы и инверторы.

Заключительный момент обзора

Современные FPGA — это сложные, высокопроизводительные устройства. На первый взгляд это пугающе сложные системы для тех пользователей, кто привык работать с микроконтроллерами.

Микроконтроллеры видятся проще для сбора данных, управления ASIC и выполнения математических операций. Однако на практике легко обнаруживается, что для некоторых конкретных применений улучшенная производительность и универсальность достигаются именно разработкой на FPGA.

Принцип работы FPGA

Микросхема FPGA — это та же заказная микросхема ASIC, состоящая из таких же транзисторов, из которых собираются триггеры, регистры, мультиплексоры и другие логические элементы для обычных схем. Изменить порядок соединения этих транзисторов, конечно, нельзя. Но архитектурно микросхема построена таким хитрым образом, что можно изменять коммутацию сигналов между более крупными блоками: их называют CLB — программируемые логические блоки.

Также можно изменять логическую функцию, которую выполняет CLB. Достигается это за счет того, что вся микросхема пронизана ячейками конфигурационной памяти Static RAM. Каждый бит этой памяти либо управляет каким-то ключом коммутации сигналов, либо является частью таблицы истинности логической функции, которую реализует CLB.

Так как конфигурационная память построена по технологии Static RAM, то, во-первых, при включении питания FPGA микросхему обязательно надо сконфигурировать, а во-вторых, микросхему можно реконфигурировать практически бесконечное количество раз.

fpga плата

Блоки CLB находятся в коммутационной матрице, которая задает соединения входов и выходов блоков CLB.

плата fpga

На каждом пересечении проводников находится шесть переключающих ключей, управляемых своими ячейками конфигурационной памяти. Открывая одни и закрывая другие, можно обеспечить разную коммутацию сигналов между CLB.

fpga это

CLB очень упрощенно состоит из блока, задающего булеву функцию от нескольких аргументов (она называется таблицей соответствия — Look Up Table, LUT) и триггера (flip-flop, FF). В современных FPGA LUT имеет шесть входов, но на рисунке для простоты показаны три. Выход LUT подается на выход CLB либо асинхронно (напрямую), либо синхронно (через триггер FF, работающий на системной тактовой частоте).

fpga что это

Интересно посмотреть на принцип реализации LUT. Пусть у нас есть некоторая булева функция y = (a & b) | ~ c. Ее схемотехническое представление и таблица истинности показаны на рисунке. У функции три аргумента, поэтому она принимает 2^3 = 8 значений. Каждое из них соответствует своей комбинации входных сигналов. Эти значения вычисляются программой для разработки прошивки ПЛИС и записываются в специальные ячейки конфигурационной памяти.

Значение каждой из ячеек подается на свой вход выходного мультиплексора LUT, а входные аргументы булевой функции используются для выбора того или иного значения функции. CLB — важнейший аппаратный ресурс FPGA. Количество CLB в современных кристаллах FPGA может быть разным и зависит от типа и емкости кристалла. У Xilinx есть кристаллы с количеством CLB в пределах примерно от четырех тысяч до трех миллионов.

Помимо CLB, внутри FPGA есть еще ряд важных аппаратных ресурсов. Например, аппаратные блоки умножения с накоплением или блоки DSP. Каждый из них может делать операции умножения и сложения 18-битных чисел каждый такт. В топовых кристаллах количество блоков DSP может превышать 6000.

Другой ресурс — это блоки внутренней памяти (Block RAM, BRAM). Каждый блок может хранить 2 Кбайт. Полная емкость такой памяти в зависимости от кристалла может достигать от 20 Кбайт до 20 Мбайт. Как и CLB, BRAM и DSP-блоки связаны коммутационной матрицей и пронизывают весь кристалл. Связывая блоки CLB, DSP и BRAM, можно получать весьма эффективные схемы обработки данных.

С чего начать?

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

Если вы разрабатываете шину передачи данных для своего устройства или конструируете плату обработки сигналов с разложением в ряд Фурье, то ПЛИС — это то, что необходимо. Прекрасным решением является и построение отказоустойчивых систем с быстрым временем реакции на основе ПЛИС в системах автоматики.

Это лишь некоторые примеры, позволяющие оценить мощь и гибкость FPGA. Поэтому главными критериями при выборе определим быстродействие и оригинальную архитектуру, ради которых стоит пойти на дополнительные трудозатраты. 

Приняв по тем или иным причинам твёрдое решение освоить ПЛИС, встают следующие вопросы – с чего начать и насколько это затратно?

По поводу денежных затрат – микросхемы начального уровня, средства программирования и отладки ненамного дороже микроконтроллеров. Освоение сред разработки и языков программирования нисколько не сложнее тех же МК. Всё вышесказанное относится к продукции компании Altera, которую и рассмотрим более детально. 

Средства разработки и отладки

Возникает справедливый вопрос: а как же проектировать и отлаживать такой «зоопарк» различных серий и их версий? Altera позаботилась об этом, создав единую среду проектирования и отладки Quartus.

quartus_splash - Что такое ПЛИС и чего начать изучение FPGA Altera.png

К достоинствам продукта относятся:

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

В Quartus встроены инструменты моделирования и отладки Simulator Tool, начиная с версии 10.0 Model Slim Altera Edition.
Для загрузки и отладки проектов в микросхемах поставляются программаторы в двух исполнениях – для LPT и USB портов.

Программируемая пользователем логика (Или как вы программируете FPGA?)

Как мы собираемся превратить массив настраиваемых логических блоков (CLB, Configurable Logic Block) в цифровую схему, которая делает именно то, что мы хотим? На первый взгляд это кажется довольно сложной задачей. Действительно, реализация FPGA обычно считается сложнее, чем программирование микроконтроллера. Однако разработка для FPGA не требует глубокого знания функциональности CLB или кропотливой компоновки внутренних межсоединений, так же как разработка для микроконтроллеров не требует глубокого знания инструкций на языке ассемблера процессора или внутренних сигналов управления.

На самом деле, несколько неверно представлять FPGA как самостоятельный компонент. FPGA всегда поддерживаются программным обеспечением для разработки, которое выполняет сложный процесс преобразования аппаратного проектирования в программируемые биты, которые определяют поведение межсоединений и CLB.Это оставляет нам важный вопрос: как мы «объясним» программе, что должно делать аппаратное обеспечение FPGA?

FPGA on the edge

Что еще интересное делают на FPGA? Да чего только не делают! Робототехника, беспилотные автомобили, дроны, научные приборы, медицинская техника, пользовательские мобильные устройства, умные камеры видеонаблюдения и так далее.

Традиционно FPGA применялись для цифровой обработки одномерных сигналов (и конкурировали с процессорами DSP) в устройствах радиолокации, приемопередатчиках радиосигналов. С ростом интеграции микросхем и увеличением производительности платформы FPGA стали все больше применяться для высокопроизводительных вычислений, например для обработки двумерных сигналов «на краю облака» (edge computing).

Эту концепцию легче всего понять на примере видеокамеры для анализа автомобильного трафика с функцией распознавания номеров машин. Можно взять камеру с возможностью передачи видео через Ethernet и обрабатывать поток на удаленном сервере. С ростом числа камер будет расти и нагрузка на сеть, что может привести к сбоям системы.

Вместо этого лучше реализовать распознавание номеров на вычислителе, установленном прямо в корпус видеокамеры, и передавать в облако номера машин в формате текста. Для этого даже можно взять сравнительно недорогие FPGA с низким энергопотреблением, чтобы обойтись аккумулятором. При этом остается возможность изменять логику работы FPGA, например,при изменении стандарта автомобильных номеров.

Что до робототехники и дронов, то в этой сфере как раз особенно важно выполнять два условия — высокая производительность и низкое энергопотребление. Платформа FPGA подходит как нельзя лучше и может использоваться, в частности, для создания полетных контроллеров для беспилотников. Уже сейчас делают БПЛА, которые могут принимать решения на лету.

Хешрейт 1900 MH/s - фейк?

В сети ходят слухи, что устройства FPGA VCU1525 способны выдавать 1900 MH/s на Ethash алгоритме Эфириума. Скорее всего это фейк.

По нашим подсчетам, одно FPGA устройство не может выдавать 1900 MH/s, вероятнее это риг из 6 FPGA дает такой показатель.FPGA может быть мощнее видеокарты в 10 раз, но не более.1900 MH/s был бы способен выдавать ASIC, если бы его смогли произвести.

Создают ли угрозу GPU майнерам FPGA?

Устройство стоит в районе 4000$ и скорее всего мощнее видеокарт в 10 раз.При этом, гарантия на видеокарты обычно составляет 3 года, а у FPGA вендоров - всего 3 месяца.Вероятнее всего, устройства подойдут только для крупных, «промышленных» майнеров. На данный момент проще купить видеокарт, т.к. окупаемость почти одинаковая.

FPGA in the cloud

В облачных вычислениях FPGA применяются для быстрого счета, ускорения сетевого трафика и осуществления доступа к массивам данных. Сюда же можно отнести использование FPGA для высокочастотной торговли на биржах. В серверы вставляются платы FPGA с PCI Express и оптическим сетевым интерфейсом производства Intel (Altera) или Xilinx.

На FPGA отлично ложатся криптографические алгоритмы, сравнение последовательностей ДНК и научные задачи вроде молекулярной динамики. В Microsoft давно используют FPGA для ускорения поискового сервиса Bing, а также для организации Software Defined Networking внутри облака Azure.

Бум машинного обучения тоже не обошел стороной FPGA. Компании Xilinx и Intel предлагают средства на основе FPGA для работы с глубокими нейросетями. Они позволяют получать прошивки FPGA, которые реализуют ту или иную сеть напрямую из фреймворков вроде Caffe и TensorFlow.

Причем это все можно попробовать, не выходя из дома и используя облачные сервисы. Например, в Amazon можно арендовать виртуальную машину с доступом к плате FPGA и любым средствам разработки, в том числе и machine learning.

В двух словах: что такое FPGA?

FPGA - это часть аппаратного обеспечения, которая очень похожа на ASIC с одним исключением. ASIC - это чип, который был настроен для жесткого выполнения одного типа вычислений (например, для майнинга алгоритма Equihash). FPGA - это чип, который можно перепрограммировать для выполнения любых операций. В области добычи криптовалют Вы можете перенастроить свою FPGA от CryptoNight до добычи Lyra2z в течение секунды.

CPU и GPU тоже могут это делать, хотя по нескольким причинам FPGA работает быстрее. Для этого есть несколько причин – о некоторых мы расскажем чуть позже.

Платы FPGA работают в несколько раз лучше, чем GPU с одинаковым энергопотреблением. В зависимости от алгоритма FPGA может не отставать от ASIC по хэшам.

С одной стороны FPGA - это:

  • Полная гибкость при использовании любых алгоритмов - никакие программные форки не могут повлиять на ваш майнинг, пока Вы обновляете битовый поток FPGA.
  • Огромная энергоэффективность по сравнению с GPU

С другой стороны FPGA:

  • Должны быть подключены к ПК, как и графические процессоры
  • Пока недоступны для массового майнинга
  • Очень дорогие по сравнению с GPU
  • Может немного превосходить ASIC в зависимости от алгоритма

Bitstream

Bitstream - это в программа, написанная на языке программирования (Verilog или VHDL), который сообщает FPGA, что делать. Если Вы хотите добывать определенный алгоритм, Вы должны иметь бит-поток, который сообщает FPGA, как добывать этот конкретный алгоритм. Bitstreams загружаются в FPGA после загрузки системы.

Битовый поток загружается в энергозависимую память ПЛИС. Да, это все та же память DDR4. Модель FPGA имеет 64 ГБ. Это огромное количество оперативной памяти позволяет FPGA хранить сотни бит-потоков и переключаться между ними в доли секунды.

Как Вы, вероятно, ожидаете, эта функциональность позволяет FPGA добывать такие алгоритмы, как Timetravel10, X11Evo, X16R и X16S, которые требуют, чтобы чип переключался между различными «меньшими» алгоритмами хэширования каждые несколько минут.

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

Первоначальное предложение

Около полутора месяцев назад три члена майнинг сообщества упорно работали над созданием первых битовых потоков, чтобы некоторые модели FPGA (Xilinx VU9P) могли добывать различные алгоритмы.

Сегодня у этой команды есть магазин, где они разместили первые платы, а также страница на Bitcointalk. Одним из членов команды является GPUhoarder, известный за свой проект Squirrels Research.

FPGA - теория программируемой логики (шлюзовой матрицы) - Zetsila

Эти ребята в основном используют универсальные платы FPGA Xilinx VU9P и модифицируют их, чтобы они были пригодны для майнинга. «Vanilla» Xilinx VU9P поставляется с довольно плохим охлаждением, поэтому для хорошей работы в майнинге необходимо вручную выполнить требуемые настройки и улучшения.

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

В дополнение к этому, они работают над экосистемой, окружающей карты, с необходимыми программными инструментами, структурой поддержки и т.д. Это позволит как начальным разработчикам, так и сообществу писать свои собственные потоки данных и размещать их в зашифрованном блокчейне, доступном только для людей, которые приобрели FPGA «интеллектуального выпуска».

Затем любой может создавать битовые потоки для существующих майнинг алгоритмов, а Zetheron (название компании) будет взимать фиксированную плату от имени разработчиков. Это обеспечит:

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

Что касается сегодняшнего дня, то Zethereon разработал рабочий битовый поток для алгоритмов Cryptonote и Lyra2z.

«Текущий план - выпускать примерно один алгоритм в месяц, пока не будут охвачены все основные алгоритмы»,- пишет команда Zethereon.

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

Это все прекрасно, но есть подвох. Платы, которые Zethereon предложили публике, были проданы в течение нескольких часов. По-видимому, идея иметь плату, которая сочетала бы гибкость графического процессора и возможности ASIC, была слишком хороша, чтобы ее можно было упустить.

Источники

  • https://zetsila.ru/fpga-%D1%87%D1%82%D0%BE-%D1%8D%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5/
  • https://bytwork.com/articles/fpga
  • https://radioprog.ru/post/457
  • https://tech-geek.ru/fpga/
  • https://el-ra.ru/articles/izucheniye-fpga-altera/
[свернуть]
Поделиться:

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *