Major 0 30 декабря, 2016 Опубликовано 30 декабря, 2016 · Жалоба Есть параллельно на шине две 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 0 30 декабря, 2016 Опубликовано 30 декабря, 2016 · Жалоба Есть параллельно на шине две 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 0 5 января, 2017 Опубликовано 5 января, 2017 · Жалоба Нашел проблему. INIT_B соединены вместе с расчетом на open-drain. Но пока PROGRAM_B=0 этот вывод удерживается в нуле внутри FPGA. Поэтому пока одна из матриц в состоянии PROGRAM_B=0, то она утягивает INIT_B в ноль, задерживая загрузку. На INIT_B ошибочно читали 1, программист возвращал состояние не того вывода. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться