v_crys 0 5 декабря, 2019 Опубликовано 5 декабря, 2019 · Жалоба Добрый день! Я начинаю делать первые шаги в ПЛИС. Сделал плату на spartan-6 xc6slx9 с программированием по jtag. К сожалению пока не доехал до меня кварцевый генератор, поэтому попробовал включить плату без него. Тест на дым прошла)) Подключенный к плате программатор видит плис как неизвестный чип. Вопрос заключается в том, что должен ли программатор видеть плис без подключенного к ней кварцевого генератора при подключении по jtag? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 5 декабря, 2019 Опубликовано 5 декабря, 2019 · Жалоба 6 minutes ago, v_crys said: Вопрос заключается в том, что должен ли программатор видеть плис без подключенного к ней кварцевого генератора при подключении по jtag? должен. проверьте схемотехнику, питание, уменьшите частоту жтаг. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 5 декабря, 2019 Опубликовано 5 декабря, 2019 · Жалоба 5 минут назад, v_crys сказал: Подключенный к плате программатор видит плис как неизвестный чип. Вопрос заключается в том, что должен ли программатор видеть плис без подключенного к ней кварцевого генератора при подключении по jtag? Должен видеть. проверьте качество импульсов в jtag. Если надо, то понижайте частоту... Проверьте наличие файла bsdl. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 2 5 декабря, 2019 Опубликовано 5 декабря, 2019 · Жалоба 18 минут назад, v_crys сказал: Вопрос заключается в том, что должен ли программатор видеть плис без подключенного к ней кварцевого генератора при подключении по jtag? Выложите схему включения. Назовите программатор. Назовите среду из которой пытаетесь увидеть плис. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 5 декабря, 2019 Опубликовано 5 декабря, 2019 · Жалоба рекомендация - купите платку с такой ПЛИС, по-моему раньше были какие-то breakout/stick платки для спартанов6 по смешным ценам - дешевле чем сама ПЛИС и проверьте на ней свой инструментарий (тот же жтаг), что он работает. если есть осциллограф - то можно будет сравнить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
v_crys 0 5 декабря, 2019 Опубликовано 5 декабря, 2019 · Жалоба Всем большое спасибо, завелась! 1 час назад, Lmx2315 сказал: Выложите схему включения. Назовите программатор. Назовите среду из которой пытаетесь увидеть плис. В приложении схема платы, может кому пригодится... (используете на свой страх и риск) Программатор: китайский Xilinx DLC9LP Среда разработки: ise (запущенная под виртуалкой с линуксом из win10) Допустил две ошибки: 1) не добавил bsdl файл (теперь буду знать) 2) типичный непропай одной из ног jtag у плис, обнаружил когда осциллографом начал проверять Есть ли какая нибудь возможность использовать jtag для тактирования самой плис, чтобы можно было примитивный блинкер зашить? vx100_sch.PDF 1 час назад, yes сказал: рекомендация - купите платку с такой ПЛИС, по-моему раньше были какие-то breakout/stick платки для спартанов6 по смешным ценам - дешевле чем сама ПЛИС и проверьте на ней свой инструментарий (тот же жтаг), что он работает. если есть осциллограф - то можно будет сравнить. Я думал над этим, но так как в симуляторе я уже насиделся, то хотелось попробовать самому сделать, спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 5 декабря, 2019 Опубликовано 5 декабря, 2019 · Жалоба 9 минут назад, v_crys сказал: Есть ли какая нибудь возможность использовать jtag для тактирования самой плис, чтобы можно было примитивный блинкер зашить? От jtag - нет... Но можно снаружи припаять любой другой... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 5 декабря, 2019 Опубликовано 5 декабря, 2019 · Жалоба Приветствую! 6 minutes ago, iosifk said: Есть ли какая нибудь возможность использовать jtag для тактирования самой плис, чтобы можно было примитивный блинкер зашить? Можно слепить генератор на внутренней логики типа петли из задержек и инвертора. Типа: module gen #(parameter LEN=5) ( output bit clk_o ); (* dont_touch="true" *) wire [LEN-1:0] stg; generate for (genvar gi=0; gi<LEN; ++gi) begin LUT1 #(.INIT(2'b10)) i_lut ( .O (stg[gi] ), // 1-bit output: LUT .I0((gi==0) ? ~stg[LEN-1] : stg[gi-1]) // 1-bit input: LUT ); end endgenerate always @(posedge stg[LEN-1]) begin clk_o <= ~clk_o; end endmodule Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
v_crys 0 5 декабря, 2019 Опубликовано 5 декабря, 2019 · Жалоба Только что, RobFPGA сказал: Приветствую! Можно слепить генератор на внутренней логики типа петли из задержек и инвертора. Типа: module gen #(parameter LEN=5) ( output bit clk_o ); (* dont_touch="true" *) wire [LEN-1:0] stg; generate for (genvar gi=0; gi<LEN; ++gi) begin LUT1 #(.INIT(2'b10)) i_lut ( .O (stg[gi] ), // 1-bit output: LUT .I0((gi==0) ? ~stg[LEN-1] : stg[gi-1]) // 1-bit input: LUT ); end endgenerate always @(posedge stg[LEN-1]) begin clk_o <= ~clk_o; end endmodule Удачи! Rob. О, спасибо большое, обязательно попробую! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 5 декабря, 2019 Опубликовано 5 декабря, 2019 · Жалоба Приветствую! 5 minutes ago, v_crys said: О, спасибо большое, обязательно попробую! Ну и насколько я помню в Spartan6 вроде есть похожий встроенный клок ~50 MHz для конфигурации. Почитайте внимательно Spartan-6 Configuration User guide and data sheet как к нему подключится, чтобы свое не ваять. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 5 декабря, 2019 Опубликовано 5 декабря, 2019 · Жалоба 1 hour ago, v_crys said: Есть ли какая нибудь возможность использовать jtag для тактирования самой плис, чтобы можно было примитивный блинкер зашить? У MAX10 на борту есть автогенератор встроенный в PLL. Думаю у Спартана тоже такое должно быть. Искать конкретно в документах для PLL или DCM Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
likeasm 0 5 декабря, 2019 Опубликовано 5 декабря, 2019 · Жалоба 1 hour ago, RobFPGA said: Приветствую! Ну и насколько я помню в Spartan6 вроде есть похожий встроенный клок ~50 MHz для конфигурации. Почитайте внимательно Spartan-6 Configuration User guide and data sheet как к нему подключится, чтобы свое не ваять. Удачи! Rob. В лампочке ise, для spartan6 есть аппаратный примитив startup и него можно дернуть как раз тот самый клок, но он очень не качественный. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexadmin 0 5 декабря, 2019 Опубликовано 5 декабря, 2019 · Жалоба 1 hour ago, RobFPGA said: Ну и насколько я помню в Spartan6 вроде есть похожий встроенный клок ~50 MHz для конфигурации. Почитайте внимательно Spartan-6 Configuration User guide and data sheet как к нему подключится, чтобы свое не ваять. STARTUP_SPARTAN6 primitive; выход CFGMCLK. UG380, стр. 69 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Strob 0 6 декабря, 2019 Опубликовано 6 декабря, 2019 (изменено) · Жалоба 14 hours ago, RobFPGA said: Можно слепить генератор на внутренней логики типа петли из задержек и инвертора А нормально синтезирует? Хотел так(не точно таким кодом) петлю сделать несколько лет назад, стинтезатор(ise) отказался заявив что асинхронные петли ему не нравятся. Пришлось хард макрос делать. Атрибут не трогать вижу, но там синтезатор сигнал не выкидывал, а просто вылетал с ошибкой Изменено 6 декабря, 2019 пользователем Strob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 6 декабря, 2019 Опубликовано 6 декабря, 2019 · Жалоба Приветствую! 3 hours ago, Strob said: А нормально синтезирует? Хотел так(не точно таким кодом) петлю сделать несколько лет назад, стинтезатор(ise) отказался заявив что асинхронные петли ему не нравятся. Пришлось хард макрос делать. Атрибут не трогать вижу, но там синтезатор сигнал не выкидывал, а просто вылетал с ошибкой За ISE сейчас точно не скажу, -давно уже в нем ничего не делал. Но помню что похожее решение работало. А Vivado синтезирует такое без проблем. Думаю что для синтезатора важно что тут используется инстацирование примитивов LUT (как black_box), а не непосредственно синтез логики. Поэтому как бы и нет логической петли. А вот на имплементации Vivado уже ворчит варнингом DRC и предложением пометит в констрейнах эту цепь как ALLOW_COMBINATORIAL_LOOPS TRUE. Так что надо пробовать. Удачи. Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться