User Tag List

Страница 24 из 49 ПерваяПервая ... 202122232425262728 ... ПоследняяПоследняя
Показано с 231 по 240 из 485

Тема: FPGA-реплика ЭВМ ДВК-3 и платы МС1201

  1. #231

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    И ещё вопрос - как при этом руками сбросить
    Кстати, никак. Я бы ни за что не стал убирать из схемы кнопку сброса.

  2. #232

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    713
    Поблагодарили
    595 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Кстати, никак. Я бы ни за что не стал убирать из схемы кнопку сброса.
    Вот и я про тоже. Начальный сброс по идее пройдёт, а дальше - ёк. У меня сейчас тестовый комп на KDJ11-B без кнопки сброса, но там хоть в большинстве случаев в пульт выйти можно, ну и если сильно припрёт, организовать программный RESET. Но если сам проц завис (есть такая фигня sunset loop, если в названии не ошибся), то только аппаратный сброс, а в моём случае - выключи-включи

  3. #233

    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,811
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    386
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    244 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да нормально оно и с клавиатуры сбрасывается, ну кроме терминала. И потом, клавиатура всегда ближе, даже при наличии хардварных кнопок. Что то жИ не всегда бывает.
    Profi v3.2 -=- Speccy2010,r2

  4. #234

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    Да нормально оно и с клавиатуры сбрасывается,
    А как оно сбрасывается с клавиатуры, если линия bt_reset просто подтянута к постоянному уровню?

  5. #235

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    713
    Поблагодарили
    595 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    А как оно сбрасывается с клавиатуры, если линия bt_reset просто подтянута к постоянному уровню?
    Магия

  6. #236

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию TANG Primer

    Наконец собрался и сделал порт проекта на китайскую плату Sipeed TANG Primer.
    Эта плата - наверное, самая необычная из всех имеющихся у меня FPGA-плат. Она основана на микросхеме EG4S20BG256 китайской фирмы Anlogic. Не путать с Amlogic — это совершенно разные фирмы. Название этой фирмы - совершенно в китайском стиле, вспомним всякие Toshibra и Panasonix. У фирмы есть свой сайт - http://www.anlogic.com/, но сайт чисто китайский - вместо английской страницы вылезает заглушка. Соответственно, я ничего хорошего от этой платы заранее не ждал, но все оказалось совсем не так.
    FPGA EG4S20BG256 обладает очень неплохими заявленными характеристиками - 23К логических ячеек, 64К внутренней статической памяти, 270 внешних портов, встроенный блок динамической памяти SDRAM объемом 2M*32bit, что позволяет обойтись без установки на плату внешней микросхемы SDRAM. Имеются и другие встроенные IP-блоки — АЦП на 8 каналов, монитор напряжения питания, итд, что может пригодиться для реализации функций контроллера, управляющего каким-либо оборудованием. Для реализации нашего проекта такой FPGA должно хватить с огромным запасом.
    Сама плата Tang Primer - совсем маленькая плата в форм-факторе DIP-40W (как многие модули Arduino). Ее размеры - 60х20 мм. Вот как она выглядит:

    Скрытый текст

    [свернуть]

    На плате уже установлен JTAG-отладчик, выведенный на разъем micro-USB - внешний интерфейс jtag не потребуется. Разработчик этой платы - фирма Sipeed, у них тоже есть свой сайт, причем даже с английской версией. Вот ссылка на страницу этой платы.
    Из полезного для нас на плате имеется только слот micro-SD, поэтому для запуска проекта придется сделать плату ввода-вывода, установив на нее разъемы VGA и PS/2, а также 4 кнопки, 4 переключателя и 5 светодиодов. Компоновка платы может быть любой, я сделал ее на скорую руку из обычной макетной платы, попавшейся под руку:

    сама плата

    [свернуть]

    с подключенным интерфейсом RS-232

    [свернуть]

    Для сборки прошивки и заливки ее в плату используется специальная китайская среда разработки - Anlogic TD (Tang Dynasty). Скачать ее с официального сайта практически невозможно, если вы не знаете китайский язык. К счастью, эта среда лежит в архивах на многих сайтах, в том числе и на сайте разработчика платы sipeed.
    Сама среда TD оставляет странное впечатление. Вроде бы все что нужно там есть - аналоги SignalTap, Timing Analyzer, RTL Viewer, Pin Planner/Assignments Editor, даже симулятор какой-то есть. Но все какое-то странное, с непонятными ограничениями. Например в ChipWatcher, аналоге signalTap, нельзя распределить буфер размером более 8К. В выводе Timing Analyzer вообще сходу без стакана не разобраться. Вот, например, так он показывает путь прохождения сигнала:

    Скрытый текст

    Код:
     Slack (setup check)     -0.306 ns                                                        
     StartPoint:              kernel/graphics/reg2_b5.clk (rising edge triggered by clock pll1/pll_inst.clkc[3])
     EndPoint:                _al_u11930|kernel/graphics/reg1_b6.e[0] (rising edge triggered by clock pll1/pll_inst.clkc[0])
     Clock group:             pll1/pll_inst.refclk                                            
    
     Point                                                       Type                     Incr           Info
    ---------------------------------------------------------------------------------------------------------
     kernel/graphics/reg2_b5.clk                                 clock                   2.268
     launch clock edge                                           clock                   0.000
     kernel/graphics/reg2_b5.q[0]                                cell                    0.146
     kernel/graphics/add1/ucin_al_u14841.a[1] (kernel/graphics/lineadr[5]) net (fanout = 5)        0.735 ../../hdl/kgd-graphics.v(58)
     kernel/graphics/add1/ucin_al_u14841.fco                     cell                    0.881
     kernel/graphics/add1/u3_al_u14842.fci (kernel/graphics/add1/c3) net (fanout = 1)        0.000               
     kernel/graphics/add1/u3_al_u14842.f[1]                      cell                    0.264
     _al_u7075|_al_u6111.c[0] (n5[5])                            net (fanout = 1)        0.651               
     _al_u7075|_al_u6111.f[0]                                    cell                    0.251
     _al_u11930|kernel/graphics/reg1_b6.e[0] (_al_u6111_o)       net (fanout = 1)        0.594 ../../hdl/topboard.v(152)
     _al_u11930|kernel/graphics/reg1_b6                          path2reg0               0.400
     Arrival time                                                                        6.190 (4 lvl)
                                                                                              (69% logic, 31% net)
    
     _al_u11930|kernel/graphics/reg1_b6.clk                                              1.834
     capture clock edge                                                                  4.166
     cell setup                                                                         -0.116
     clock uncertainty                                                                  -0.000
     clock recovergence pessimism                                                        0.000
     Required time                                                                       5.884
    ---------------------------------------------------------------------------------------------------------
     Slack                                                                           -0.306 ns
    [свернуть]
    Все эти имена вроде reg1_b6.e[0] формируются синтезатором, в исходной схеме их нет, и увидеть их можно только просматривая схему в RTL Viewer. Ну прямо очень удобно...
    Есть в среде TD и положительные черты - например, неплохой текстовый редактор. Лучше, чем в квартусе. Но есть и очень серьезный недостаток - очень низкая скорость компиляции. Одна и та же схема на моем Ryzen 9 в квартусе собирается полторы минуты, а здесь - 6 минут. В 4 раза дольше! При такой скорости отладкой заниматься ну очень весело.
    Следующая проблема - PLL. Если в альтере я могу просто задать умножитель-делитель входной частоты для каждого канала, то здесь все делается совсем по-другому. Входную частоту можно умножить или разделить на что угодно для формирования опорной частоты одного выбранного канала. этот канал объявляется каналом обратной связи, на его основе формируется опорная частота VCO. А затем эту самую VCO можно только разделить на любое целое число для формирования выходной частоты всех оставшихся каналов. Получилось несколько сумбурно, но в фирменном даташите на FPGA все это рассматривается очень подробно, с картинками, вообщем разобраться при желании можно.
    Я в качестве опорной выбрал частоту 960 Мгц, умножив на 40 частоту кварца платы (24 МГц). Из нее формируются тактовые сигналы процессора, SD-карты, а также тактовый сигнал терминального модуля, только вместо 50 Мгц я использовал 48 Мгц - разница невелика, тайминги развертки VGA за пределы допусков не ушли.

    И, наконец, вылезла совершенно неожиданная проблема: здесь синтезатор не синтезирует конструкцию initial. То есть нет возможности задать начальное состояние регистра в момент включения питания. Из-за этого таймер на всех платах по умолчанию отключен, включить его можно только кнопкой. Что хуже, эта конструкция использовалась VSLAV для инициализации регистрового файла процессора ВМ1. Пришлось переделать его модуль vcram в мегафункцию, а данные вынести в отдельный mif-файл. Также пришлось сделать модули-переходники для адаптации сформированных в TD мегафункций статической памяти к альтеровскому интерфейсу. Это оказалось совсем несложно. Все эти переходники я собрал в единый файл memory_adapter.v.

    В конце концов, как ни странно, все заработало. Получился маленький компактный блок, чуть больше спичечного коробка, помещающийся в карман, и при этом являющийся полноценной ДВК-3. Графика работает, в игрушки можно играть. Всем, кто не определился с выбором платы для запуска проекта, и кто не планирует заниматься собственными доработками, я вполне могу рекомендовать плату Sipeed TANG Primer к приобретению. Плата эта свободно продается на алиэкспресс, стоит около 22$. Продающийся вместе с ней отладчик RV Debugger покупать не обязательно - здесь он не потребуется. Конечно, придется немного посидеть с паяльником, но оно того стоит.

    Сайт разработчика FPGA - http://www.anlogic.com/
    Страница платы TANG Primer на официальном сайте - https://tang.sipeed.com/en/hardware-...w/lichee-tang/. Там лежит красивая картинка с распиновкой платы, ее схема, АНГЛИЙСКИЕ (почти) даташиты на FPGA.
    Еще одна страница этой платы, со ссылками на среду TD - https://www.seeedstudio.com/Sipeed-T...rd-p-2881.html
    А вот ссылка на продавца этих плат - на самом деле их там много, это первый попавшийся.
    Последний раз редактировалось forth32; 23.03.2021 в 20:11.

    Эти 10 пользователя(ей) поблагодарили forth32 за это полезное сообщение:

    Arseny(23.03.2021), Elias(24.03.2021), fikus8(23.03.2021), hobot(23.03.2021), Hunta(23.03.2021), IgorR76(23.03.2021), tnt23(23.03.2021), Vasily_A(23.03.2021), Vslav(23.03.2021), yu.zxpk(24.03.2021)

  7. #237

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Что хуже, эта конструкция использовалась VSLAV для инициализации регистрового файла процессора ВМ1. Пришлось переделать его модуль vcram в мегафункцию, а данные вынести в отдельный mif-файл.
    Странно, у меня вроде ВМ1 работал в обоих версиях - с регистрами на триггерах и с блоком памяти - там же есть готовая версия для ВМ1 с .mif файлом, в том числе под личитанг - ./xen/eg4/rtl.

  8. #238

    Регистрация
    09.01.2006
    Адрес
    Bryansk
    Сообщений
    1,339
    Спасибо Благодарностей отдано 
    47
    Спасибо Благодарностей получено 
    140
    Поблагодарили
    107 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Закон подлости в действии ;-) Только в субботу получил ALINX AX4010, а тут еще круче подгон. Теперь разрываюсь: то ли начинать изучать ALINX AX4010, то ли заказывать Sipeed TANG Primer и "воевать" уже с ним ...
    УКНЦ, ДВК-3, Ленинград-1 (48 кб)

  9. #239

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    713
    Поблагодарили
    595 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Arseny Посмотреть сообщение
    Теперь разрываюсь: то ли начинать изучать ALINX AX4010, то ли заказывать Sipeed TANG Prime
    Не ИЛИ, а И
    Знания от первой платы пригодятся и со второй

  10. #240

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Странно, у меня вроде ВМ1 работал в обоих версиях - с регистрами на триггерах и с блоком памяти - там же есть готовая версия для ВМ1 с .mif файлом, в том числе под личитанг - ./xen/eg4/rtl.
    Так и у меня ВМ1 тут теперь работает.
    Я, честно говоря, прошлый раз как-то не обратил внимание на твои слова, что проект cpu11 портирован на эту плату. Давно уже не заглядывал в твой репозиторий.
    Сейчас посмотрел - да, в новом варианте cpu11 есть такая плата. И модуль vm1_vcram лежит адаптированный, и mif-файл есть. Ну, а я об этом не знал и все то же самое сам проделал . Зато удовольствие получил.

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

    Цитата Сообщение от Arseny Посмотреть сообщение
    то ли начинать изучать ALINX AX4010, то ли заказывать Sipeed TANG Primer и "воевать" уже с ним ...
    Заказывай, эта платка жрать не просит, а пригодиться может много для чего. Все-таки 64Кб встроенной памяти - на таком, например, и БК-0010 можно, при желании, сделать.
    А пока она едет - можно и на AX4010 проект запустить. Благо там и изучать нужно только квартус, чтобы понять как собрать и залить прошивку в плату.

Страница 24 из 49 ПерваяПервая ... 202122232425262728 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Реплика контроллера НГМД ДВК MY4
    от anasana в разделе ДВК, УКНЦ
    Ответов: 47
    Последнее: 30.06.2023, 19:07
  2. Реплика всего семейства ДВК
    от Daniil Chislov 86 в разделе ДВК, УКНЦ
    Ответов: 21
    Последнее: 13.11.2019, 16:36
  3. Ответов: 6
    Последнее: 30.07.2018, 09:04
  4. Аукцион плат ДВК МС1201.02, НМЛ СМ5300.01 и др.
    от OS в разделе Барахолка (архив)
    Ответов: 45
    Последнее: 19.11.2011, 14:02
  5. Реплика КМД ДВК (MY)
    от KALDYH в разделе ДВК, УКНЦ
    Ответов: 19
    Последнее: 12.11.2009, 15:43

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •