Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Spartan-6 нет DONE
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Major
Есть параллельно на шине две FPGA Xilinx Spartan-6.
Параллельно - около 40 выводов подключены на параллельную шину через Rs=10 Ом.
Режим загрузки M=11 (slave serial).
В начальном состоянии PROG_B=0, INIT=0, дальше по UG.
Если на шине оставить одну плату, то загружается все нормально.

Когда две, после заагрузки прошивки в одну из получаю: INIT=1, DONE=0
При этом вторая в состоянии удерживается PROG_B=0, INIT=0, HSWAPEN=0, M=11
Дополнительные такты CCLK для продления startup-seq, ничего не дают.
Startup типовой, без ожидания PLL, DCIM. Все тактовые и питания есть (точность напряжений 1%).

Но если при загрузке первой матрицы, сделать для второй состояние PROG_B=1 => INIT=1 (провести захват режима M=11)
То у первой DONE выставляется нормально.
Похоже что есть работа выход на выход, но этого не должно быть при PROG_B=0, INIT=0.
Maksim
Цитата(Major @ Dec 30 2016, 10:10) *
Есть параллельно на шине две FPGA Xilinx Spartan-6.
Параллельно - около 40 выводов подключены на параллельную шину через Rs=10 Ом.
Режим загрузки M=11 (slave serial).
В начальном состоянии PROG_B=0, INIT=0, дальше по UG.
Если на шине оставить одну плату, то загружается все нормально.

Когда две, после заагрузки прошивки в одну из получаю: INIT=1, DONE=0
При этом вторая в состоянии удерживается PROG_B=0, INIT=0, HSWAPEN=0, M=11
Дополнительные такты CCLK для продления startup-seq, ничего не дают.
Startup типовой, без ожидания PLL, DCIM. Все тактовые и питания есть (точность напряжений 1%).

Но если при загрузке первой матрицы, сделать для второй состояние PROG_B=1 => INIT=1 (провести захват режима M=11)
То у первой DONE выставляется нормально.
Похоже что есть работа выход на выход, но этого не должно быть при PROG_B=0, INIT=0.

Не понятно какие сигналы общие, какие нет
Major
Нашел проблему. INIT_B соединены вместе с расчетом на open-drain. Но пока PROGRAM_B=0 этот вывод удерживается в нуле внутри FPGA.
Поэтому пока одна из матриц в состоянии PROGRAM_B=0, то она утягивает INIT_B в ноль, задерживая загрузку.
На INIT_B ошибочно читали 1, программист возвращал состояние не того вывода.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.