PDA

Просмотр полной версии : Tang Nano (плата с ПЛИС за $5)



hitomi2500
04.06.2020, 23:39
КДПВ:
https://i.ibb.co/sRJj7T3/tang-nano-pinout-v1-0-0-w5676-h4000-large.png (https://ibb.co/sRJj7T3)

Lichee Tang Nano - это плата с ПЛИС по цене $5. Лавры Pi Zero не дали покоя китайской компании Sipeed (судя по всему она как-то связана с SeeedStudio). ПЛИС за такую цену вышла конечно весьма скромной, 1152 LUT4, 852 триггера, 9 килобайт блочной памяти, разработки китайской Gowin Semiconductor. Чтобы хоть как-то скрасить недостаток ресурсов, Sipeed приклеила странную QSPI PSRAM память на 8 мегабайт производства не менее китайской IPUS Limited. Плюс очевидно-необходимые кварцы, источники, внезапно USB Type-C и отладчик на базе контроллера CH552T конечно же совсем не британской Jiangsu Qin Heng.

У вас наверное возникает закономерный вопрос, а какое эта китайская солянка имеет отношение к ретрокомпьютерам?

Некоторое время назад я решил попробовать упихать в эту плату Радио86-РК. Нашёл реализацию 8080 на верилоге, собрал, и понял что это тупик, потому что один лишь процессор занимает больше LUT4, чем доступно. Так бы это всё и закончилось, но тут внезапно волны гугла выбросил на берег ссылку на сайт Тэда Фрайда (http://www.microcorelabs.com) с реализацией 8086, 8052 и 6502 в весьма скромном объеме логики - 300-500 LUT! Как потом оказалось, цифры Тэда в LUT6, и в пересчёте на LUT4 в Танг влезает только 6502, и тот без периферии, но меня заинтересовал сам подход использования микрокода для уменьшения используемой логики. Я взял за основу ядро 8086 Тэда, и по его мотивам сделал своё, реализующее на микрокоде логику 8080. Ядро заняло примерно в 500 LUT4 и 1 блок памяти (18 килобит) для микрокода. Правда пока не поддерживает порты, прерывания и HLT, а также шина у него проще оригинальной, но это несложно добавить. А ещё можно дописать микрокод и добавить регистры и логику до Z80, но насколько оно разрастётся сказать пока не могу. Предполагаю что ещё будет помещаться. Исходники ядра, исходники микрокода и исходники ассемблера микрокода я прикреплю к сообщению. Но учтите, оно сырое, до Exerciser-а ход ещё не дошёл.

Проблемы начались, когда я приступил к контроллеру внешней памяти. Память PSRAM, т.е. регенерацией занимается сама, и при этом QSPI, т.е. интерфейс 4-проводной. Инициализация процедуры записи в таком режиме занимает 9 тактов, а чтения так вообще 14. Хорошо что такты быстрые, до 133 МГц, если постоянно чередовать чтения для видеоконтроллера с чтениями/записями процессора, то можно успеть с запасом, но есть одно но. Память должна заниматься регенерацией. Чтобы она сделала это, нужно долго не активировать сигнал разрешения, но сколько именно - не написано вообще нигде. Добро пожаловать в чудесный мир китайской документации.

И вот теперь я стою перед дилеммой - то ли сделать кэш-контроллер и читать PSRAM блоками, в надежде что в промежутках она успеет регенерироваться, то ли прилепить внешнюю SRAМ. Учитывая что кэш отнимет логику, которой и так кот наплакал, я потихоньку склоняюсь ко второму варианту.

72799

- - - Добавлено - - -

В качестве лирического отступления пару слов о Gowin Semiconductors. Компания основана в поднебесной, по официальной легенде выходцами из Lattice, и это даёт знать о себе во всём начиная от логотипа и заканчивая числом примитивов в "очень похожем" семействе. Впрочем компания не стала заявлять о совместимости (которой может быть и нет) как GigaDevice, а выкатила свою IDE, причём более-менее работоспособную. В отрасли, где под 90% затрат идёт на разработку софта, это наверное хороший знак. Дистрибутив качается с сайта, лицензия на среду бесплатная, но нужно запрашивать. Все базовые ядра есть, начиная от сумматоров и заканчивая БПФ.

Помимо "похожих" чипов, Gowin выпустила много айфонов с телевизорами вариантов с прибамбасами, про которые не только Lattice, но и большая двойка бы не подумали. Например до 256 Мбит PSRAM, Cortex M3 и даже Bluetooth. И есть старшее семейство Arora, в котором логики аж до 55 тыщ LUT4.

Из недорогих плат кроме Tang Nano есть вполне серъёзная FPGA Module with GOWIN LittleBee and 8 MByte internal SDRAM (https://shop.trenz-electronic.de/en/TEC0117-01-FPGA-Module-with-GOWIN-LittleBee-and-8-MByte-internal-SDRAM?c=504) от тренца. Цена У неё 29 евро, зато ресурсов в 9 раз больше, а ещё 64 мегабита SDRAM внутри чипа. Все отладки самой Gowin достаточно дорогие, видимо у них нет традиции захватывать рынок, продавая отладки в убыток.

В конце прошлого года АО "Восток" начало работу по сертификации Gowin в стране водки и медведей. Основной мотив и аргумент - низкая цена. К сожалению вирус затормозил этот процесс, но надеюсь не навсегда. Как говаривала одна моя знакомая, будем посмотреть.

andrews
05.06.2020, 01:58
Из недорогих плат кроме Tang Nano есть вполне серъёзная FPGA Module with GOWIN LittleBee and 8 MByte internal SDRAM (https://shop.trenz-electronic.de/en/TEC0117-01-FPGA-Module-with-GOWIN-LittleBee-and-8-MByte-internal-SDRAM?c=504) от тренца. Цена У неё 29 евро, зато ресурсов в 9 раз больше, а ещё 64 мегабита SDRAM внутри чипа. Все отладки самой Gowin достаточно дорогие, видимо у них нет традиции захватывать рынок, продавая отладки в убыток.
какой там чип стоит? Неужто GW1N-9? По поводу цен смело умножаем в 2 раза, приведенные Вами
это там у них. Ни на алике, ни в ибэй так дешево не купить! А у наших барыг при ндс 20% тем паче!

NEO SPECTRUMAN
05.06.2020, 02:09
а оно работает без 3,3 вольтов?
если нет то фтопку

Vslav
05.06.2020, 07:49
Нашёл реализацию 8080 на верилоге, собрал, и понял что это тупик, потому что один лишь процессор занимает больше LUT4, чем доступно.
А что пробовали? Отреверсенный 580ВМ80А просит всего 607 LUTs, 187 flip-flops, и вообще не требует памяти. Для простого процессора подход жесткой логики предполагает меньше ресурсов чем микрокодовый. Вот тестовая SoC с Wishbone, с полноценным 8080, 16К RAM и UART, с системным таймером, с поддержкой прерываний и парой портов:
http://www.1801bm1.com/files/images/soc_8080.png

Попробуйте собрать для G1W1 (память урезать надо , конечно), на первый взгляд - должно влезть.



Из недорогих плат кроме Tang Nano есть вполне серъёзная

Tang Lichee RISC-V за $19+ выглядит поинтереснее, там Anlogic EG4S20, тоже толстая FPGA и SDRAM в одной микросхеме. Попробовал среду к нему "Tang Dynasty" - вроде съедобное.

hitomi2500
05.06.2020, 09:39
какой там чип стоит? Неужто GW1N-9? По поводу цен смело умножаем в 2 раза, приведенные Вами
это там у них. Ни на алике, ни в ибэй так дешево не купить! А у наших барыг при ндс 20% тем паче!
Там стоит GW1NR-9, с памятью 64 Мбит.
А что касается цены, это проблема всех плат за $5. Когда вышла Pi zero, её даже "там" нельзя было за $5 купить, только с набором "ценных и очень нужных переходников" минимум за $30-40. Потом ажиотаж прошёл, и варианты за $5 там появились, но с доставкой (которая ещё и была не везде) выходило под те же $40 здесь. С тангом в этом плане немного проще, её можно реально купить за 4.90 на сайте сидстудио, и у них есть относительно недорогие варианты доставки к нам ( порядка $15, точно не помню). Понятно, что до рекламного ценника далеко, но если покупать несколько штук, или до кучи к чему-нибудь, то получится не так уж и дорого. Если же покупать только эту плату, на алике есть варианты примерно за $9 с доставкой или за $6 без доставки, мне кажется не такая уж и большая наценка.
Вот ссылка на сайт студии : https://www.seeedstudio.com/Sipeed-Tang-Nano-FPGA-board-powered-by-GW1N-1-FPGA-p-4304.html


а оно работает без 3,3 вольтов?
если нет то фтопку
Там же USB, стоит регулятор с 5. Или речь про уровни сигналов 5В? С ними ни одна современная ПЛИС не работает.


А что пробовали? Отреверсенный 580ВМ80А просит всего 607 LUTs, 187 flip-flops, и вообще не требует памяти.
У вас LUT6, они в среднем в 1.6 раза больше LUT4. Сейчас перепроверил, у меня k580wm80a.v с гитхаба съел 979 LUT4. Всё-таки влез, но осталось только 12% логики, тесно. Моя микромашина заняла 543 LUT4.


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


Tang Lichee RISC-V за $19+ выглядит поинтереснее, там Anlogic EG4S20, тоже толстая FPGA и SDRAM в одной микросхеме. Попробовал среду к нему "Tang Dynasty" - вроде съедобное.
Да, плата интересная, я на неё посматривал. В неё уже можно 8086 утолкать с 8087 на пару.

Vslav
05.06.2020, 09:54
У вас LUT6, они в среднем в 1.6 раза больше LUT4.

Нет, этот прикол с LUT6 хорошо известен и я ему не следую. Моя цифра для платы DE0, там установлен Cyclone-III, у него 4-х входовые ячейки.
619 ячеек - это законченный процессор, с прерываниями, портами и тегами I/O. Если не гнаться за строгим соответствием циклам оригинала и тегами, то можно еще подэкономить.



Сейчас перепроверил, у меня k580wm80a.v с гитхаба съел 979 LUT4. Всё-таки влез, но осталось только 12% логики, тесно. Моя микромашина заняла 543 LUT4.

vm80a (https://github.com/1801BM1/vm80a) - это проект, для которого табличка приведена выше.

Update: надо таки добить регистровый файл в блочной памяти для vm80, тогда ресурсы еще уполовинятся, но добавится блок памяти. На 1801ВМ1 я с блочной памятью намучался, довольно сложно заставить правильно синтезироваться двухпортовку на разных платфоромах.

hitomi2500
05.06.2020, 11:21
Вот те на, это synplify мутит воду! vm80a получился на 906 LUT, переключил на родной говиндовский синтезатор, вышло 658. Свою микромашину проверить увы не могу - родной синтезатор на ней падает. Надо попробовать Yosys.

andrews
05.06.2020, 12:30
Вот те на, это synplify мутит воду! vm80a получился на 906 LUT, переключил на родной говиндовский синтезатор, вышло 658. Свою микромашину проверить увы не могу - родной синтезатор на ней падает. Надо попробовать Yosys.Вы тесты на нем погоняли хоть какие-то?

b2m
05.06.2020, 12:41
переключил на родной говиндовский синтезатор
И говинда ваша, ничего. :)


https://www.youtube.com/watch?v=bflDDF2Ao-I

IanPo
05.06.2020, 12:42
Жаль, что ядро придется писать софтверное, а не типа stm8 или AVR с плис (программируемая периферия).
Про 5V-tolerant не пишут.
Но, все равно, интересная платка.

hitomi2500
05.06.2020, 13:51
Вы тесты на нем погоняли хоть какие-то?
Только базовые, все инструкции проверял в нескольких комбинациях и сравнивал состояние с эмуляторами. Excerciser ещё впереди.


И говинда ваша, ничего. :)
Да, непременно :) У нас в коллективе много поклонников ДМБ, иначе как говиндой не называют.

SoftLight
05.06.2020, 14:42
Как тебе такое, Илон Маск?

https://youtu.be/2oF0zAsFEq4