Самая дешёвая «оценочная плата» с ПЛИС Xilinx Spartan-6 на AliExpress обойдётся в ровно 3000р.
У неё есть один плюс — все выводы разведены на «гребёнки», имеется единственная кнопка и три светодиода. К сожалению, USB используется только для питания.
Благодаря устойчивому развитию технического прогресса очередному колебанию курса BTC на свалку отправились очередные партии Асик-Майнеров, теперь это «Авалоны» 800й серии фирмы Canaan. Платы от них (Авалон 841) можно раздобыть за 200-400 р. Вот о них и пойдёт речь в статье.
По сравнению с «отладкой» за 3000, есть один недостаток — на плате разведено на гребёнки меньшее количество выводов микросхемы. И ещё кнопка не припаяна. На этом список недостатков «всё».
Хватит разглагольствовать! К делу! По DIY традиции давайте помигаем светодиодом!
Для начала надо приобрести плату , а также обзавестись JTAG программатором
ПЛИС, он же FPGA
Нужно припаять 6 контактную «гребёнку» для JTAG и 2-х контактную для питания платы (5-14В)
Подать питание и убедиться, что огоньки загорелись (там их три маленьких — led 2,3,4 и один большой трёхцветный LED1), а не пошёл дым.
Теперь надо установить софт!
Его можно загрузить «прямо с сайта Xilinx» 🙂 .
Работает на виндовс 10, надо только следовать рекомендациям
Когда ПО будет установлено, запустим PlanAhead
И создадим новый проект
Next>
Надо выбрать наш «камень»
Spartan-6 , 24 051 логических ячеек, 256 выводов
Приступим к оформлению кода
Редактируем верилог файл, сначала всё стираем
И добавляем код:
`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 22.05.2022 01:51:54 // Design Name: // Module Name: pl_blink // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// // Директива компилятора, которая определяет единицу времени и точность для моделирования Verilog. // В целом, не очень интересный пункт для нас. //`timescale 1ns / 1ps // Определяем стандартный блок-модуль (как класс в С++) module pl_blink(input CLK100, output d6_led); // Задаем регистр для хранения записи о текущем состоянии светодиода reg r_led; // Задаем регистр для хранения значения счётчика, использующегося в задержке reg [31:0] counter; // Тут мы задаем действия которые должны быть выполнены при старте программы initial begin counter <= 32'b0; // Обнуляем счётчик r_led <= 1'b0; // Делаем запись о состоянии светодиода end // Тут описываем поведенческий блок, который будет реагировать на положительный фронт тактовой частоты always@(posedge CLK100) begin counter <= counter + 1'b1; // Увеличиваем счетчик if(counter > 12000000) // Если счетчик больше некоторого условного значения begin r_led <= !r_led; // Инвертируем запись о значении состоянии светодиода counter <= 32'b0; // Сбрасываем счетчик end end assign d6_led = r_led; // Присваиваем текущее состояние ножке (условно) endmodule
когда закончится синтез, открываем Synthesized Design и смотрим, что получилось
Переключимся в I/O Planning и приступим к распиновке, меняем 2.5 на 3.3 Вольт
Открываем схему платы и ищем, куда подключен кварцевый генератор
Вывод микросхемы имеет координаты J6
Заносим это значение в план
Мигать будем красным светодиодом, найдём на схеме, к какой «ноге» он припаян
Искомый вывод микросхемы имеет координаты Т9
Заносим это в таблицу и видим отображение на карте выводов БИС
И сохраняем в констрейн файл
Посмотрим, что туда записалось
Запускаем Implementation , затем Bitstream
Откроем Elaborated Design
Любуемся на своё творение
Красивое
Launch Impact
Указываем наш Битстрим-файл
Осталось залить Битстрим в Плисину и должно замигать!
Program
Ура! замигало!

Где найти схему, документацию и софт?
Где купить это чудо?
Где ведётся обсуждение по этой теме?
Этой (и не только) плате посвящёна группа в Телеграм https://t.me/+R_oA68EGEtM4NmM6 и форум https://astra.org.ru
Вообще то эта Микросхема считается очень старой — 2011г. Малолетние «разработчики» считают её динозавром. На самом деле Спартан 6 весьма неплох! Единственный реальный минус — его сняли с производства и при этом остатки складских запасов не спешат распродавать по дешевке.
ссылка на оригинал статьи https://habr.com/ru/articles/899282/
Добавить комментарий