Перейти к содержанию
    

Tang Nano 20K

Друзья, разбирался ли кто-нибудь с Tang Nano 20k , построенной на основе GW2AR-LV18QN88C8/I7?

На борту этой платки присутствует микросхема MS5351 (синтезатор PLL), три выхода которой подключены к тактовым пинам 10,11,13 GW2AR. Само-собой тут же возникла мысль использовать эту возможность для тактирования плис, тем более что ms5351 позволяет выдавать практически любые разумные частоты и даже с требуемыми фазовыми сдвигами. А также с приличным качеством (джиттер менее 60 пс) Однако после изучения схемы модуля пришло осознание большого облома - линии управления синтезатором (I2C) подключены к микросхеме USB-JTAG, выполненной не основе микроконтроллера BL616.

Sipeed пишет, что управление ms5351 возможно только при  загрузке в плис прошивки Litex, где реализован терминал, через который вручную (?!) можно включить/выключить тот или иной выход ms5351 с требуемыми значеними частоты (команды терминала, вводимые вручную транслируются из плис через внутрисхемный UART в BL616, а та, в свою очередь, через I2C отдает необходимые команды в MS5351). Решение, мягко говоря странное, но что то есть, то есть...

Так вот вопрос - как узнать, что именно транслируется из прошивки Litex в BL616 при управлении этим синтезатором? Исходников Litex-а  не нашел...

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, ValeiyT сказал:

Так вот вопрос - как узнать, что именно транслируется из прошивки Litex в BL616 при управлении этим синтезатором? Исходников Litex-а  не нашел...

https://github.com/litex-hub/litex-boards/blob/master/litex_boards/targets/sipeed_tang_nano_20k.py

Если делать всё по инструкции Sipeed, т.е. установить Litex и так далее, то скрипт должен получить именно этот исходник и собрать прошивку. Но это теория, я неи проверял.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, makc сказал:

https://github.com/litex-hub/litex-boards/blob/master/litex_boards/targets/sipeed_tang_nano_20k.py

Если делать всё по инструкции Sipeed, т.е. установить Litex и так далее, то скрипт должен получить именно этот исходник и собрать прошивку. Но это теория, я неи проверял.

Ага, я тоже так думал, но собирается только битстрим. Исходник не формируется (

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, ValeiyT сказал:

Ага, я тоже так думал, но собирается только битстрим. Исходник не формируется (

Внутри Litex живёт Migen, который генерирует исходники на Verilog, собираемые штатными средствами Gowin. Эти файлы можно поймать в процессе сборки или попросить Litex их оставить после сборки, т.к. судя по заявлениям он это должен уметь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 минуты назад, makc сказал:

Внутри Litex живёт Migen, который генерирует исходники на Verilog, собираемые штатными средствами Gowin. Эти файлы можно поймать в процессе сборки или попросить Litex их оставить после сборки, т.к. судя по заявлениям он это должен уметь.

Спасибо. Попробую поразбираться. Уж больно монструозен этот литекс...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если почитать дальше то будет видно:

image.thumb.png.c91785f052293288d90797ab8f4c0a1d.png

То есть, последовательность ^x ^c мониторится BL616 и если встречается в пользовательском вводе, то открывается командный процессор в BL616. После этого становятся доступны команды управления PLL.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Abo сказал:


То есть, последовательность ^x ^c мониторится BL616 и если встречается в пользовательском вводе, то открывается командный процессор в BL616. После этого становятся доступны команды управления PLL.

 

Вполне возможно, что так оно и есть. Жаль, конечно. В этом случае со стороны плис управление синтезатором невозможно и это существенно теряет привлекательность данной платы. 

Впрочем, назначить необходимые частоты для ms5351 можно и из консоли один раз, согласно замыслу проекта и сохранить их в конфигурации, как это указано, например:

TangNano20K \> pll_clk 01=66M -s

и при каждом включении платы на CLK1 будет 66 мегагерц

Осталось проверить откликается ли терминал в BL616 без загруженнного Litex-а. Платы пока нет, поэтому только гадать ))

Изменено пользователем ValeiyT

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 16.08.2023 в 15:19, ValeiyT сказал:

Осталось проверить откликается ли терминал в BL616 без загруженнного Litex-а.

 

Откликается. Можно делать до 4-х независимых клоковых доменов в проектах (с собственным генератором 27мгц и еще три от синтезатора) или просто использовать основное тактирование от одного из выходов синтезатора, а оставшиеся два выхода для тактирования модулей, которые ранее тактировались от PLL, занимая ресурсы в плис. В общем есть пища для размышлений )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

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

×
×
  • Создать...