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

Проверка плис при отсутствии clk

Добрый день!

Я начинаю делать первые шаги в ПЛИС. Сделал плату на spartan-6 xc6slx9 с программированием по jtag. 

К сожалению пока не доехал до меня кварцевый генератор, поэтому попробовал включить плату без него. Тест на дым прошла))

Подключенный к плате программатор видит плис как неизвестный чип.

Вопрос заключается в том, что должен ли программатор видеть плис без подключенного к ней кварцевого генератора при подключении по jtag?

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


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

6 minutes ago, v_crys said:

Вопрос заключается в том, что должен ли программатор видеть плис без подключенного к ней кварцевого генератора при подключении по jtag?

должен. проверьте схемотехнику, питание, уменьшите частоту жтаг. 

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


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

5 минут назад, v_crys сказал:

Подключенный к плате программатор видит плис как неизвестный чип.

Вопрос заключается в том, что должен ли программатор видеть плис без подключенного к ней кварцевого генератора при подключении по jtag?

Должен видеть. 

проверьте качество импульсов в  jtag. Если надо, то понижайте частоту...

Проверьте наличие файла bsdl. 

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


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

18 минут назад, v_crys сказал:

Вопрос заключается в том, что должен ли программатор видеть плис без подключенного к ней кварцевого генератора при подключении по jtag?

Выложите схему включения.

Назовите программатор.

Назовите среду из которой пытаетесь увидеть плис.

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


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

рекомендация - купите платку с такой ПЛИС, по-моему раньше были какие-то breakout/stick платки для спартанов6 по смешным ценам - дешевле чем сама ПЛИС

и проверьте на ней свой инструментарий (тот же жтаг), что он работает. если есть осциллограф - то можно будет сравнить.

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


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

Всем большое спасибо, завелась!

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

Выложите схему включения.

Назовите программатор.

Назовите среду из которой пытаетесь увидеть плис.

В приложении схема платы, может кому пригодится... (используете на свой страх и риск)

Программатор: китайский Xilinx DLC9LP

Среда разработки: ise (запущенная под виртуалкой с линуксом из win10)

 

Допустил две ошибки:

1) не добавил bsdl файл (теперь буду знать)

2) типичный непропай одной из ног jtag у плис, обнаружил когда осциллографом начал проверять

 

Есть ли какая нибудь возможность использовать jtag для тактирования самой плис, чтобы можно было примитивный блинкер зашить?

vx100_sch.PDF

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

рекомендация - купите платку с такой ПЛИС, по-моему раньше были какие-то breakout/stick платки для спартанов6 по смешным ценам - дешевле чем сама ПЛИС

и проверьте на ней свой инструментарий (тот же жтаг), что он работает. если есть осциллограф - то можно будет сравнить.

Я думал над этим, но так как в симуляторе я уже насиделся, то хотелось попробовать самому сделать, спасибо

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


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

9 минут назад, v_crys сказал:

Есть ли какая нибудь возможность использовать jtag для тактирования самой плис, чтобы можно было примитивный блинкер зашить?

От jtag - нет...

Но можно снаружи припаять любой другой...

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


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

Приветствую!

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.

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


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

Только что, 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.

О, спасибо большое, обязательно попробую!

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


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

Приветствую!

5 minutes ago, v_crys said:

О, спасибо большое, обязательно попробую!

Ну и насколько я помню  в Spartan6  вроде есть похожий  встроенный клок ~50 MHz для конфигурации.    Почитайте внимательно Spartan-6 Configuration User guide and data sheet как к нему подключится, чтобы свое не ваять. 

Удачи! Rob.  

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


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

1 hour ago, v_crys said:

Есть ли какая нибудь возможность использовать jtag для тактирования самой плис, чтобы можно было примитивный блинкер зашить?

У MAX10 на борту есть автогенератор встроенный в PLL. Думаю у Спартана тоже такое должно быть. Искать конкретно в документах для PLL или DCM

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


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

1 hour ago, RobFPGA said:

Приветствую!

Ну и насколько я помню  в Spartan6  вроде есть похожий  встроенный клок ~50 MHz для конфигурации.    Почитайте внимательно Spartan-6 Configuration User guide and data sheet как к нему подключится, чтобы свое не ваять. 

Удачи! Rob.  

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

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


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

1 hour ago, RobFPGA said:

Ну и насколько я помню  в Spartan6  вроде есть похожий  встроенный клок ~50 MHz для конфигурации.    Почитайте внимательно Spartan-6 Configuration User guide and data sheet как к нему подключится, чтобы свое не ваять.

STARTUP_SPARTAN6 primitive; выход CFGMCLK. UG380, стр. 69

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


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

14 hours ago, RobFPGA said:

Можно  слепить генератор на внутренней логики  типа  петли из задержек и инвертора

А нормально синтезирует? Хотел так(не точно таким кодом) петлю сделать несколько лет назад, стинтезатор(ise) отказался заявив что асинхронные петли ему не нравятся. Пришлось хард макрос делать. Атрибут не трогать вижу, но там синтезатор сигнал не выкидывал, а просто вылетал с ошибкой

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

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


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

Приветствую!

3 hours ago, Strob said:

А нормально синтезирует? Хотел так(не точно таким кодом) петлю сделать несколько лет назад, стинтезатор(ise) отказался заявив что асинхронные петли ему не нравятся. Пришлось хард макрос делать. Атрибут не трогать вижу, но там синтезатор сигнал не выкидывал, а просто вылетал с ошибкой

За ISE сейчас точно не скажу, -давно уже в нем ничего не делал. Но помню что похожее  решение работало. А Vivado синтезирует такое без проблем. Думаю что для  синтезатора важно что тут используется инстацирование примитивов LUT (как black_box),  а не непосредственно синтез  логики.  Поэтому как бы и нет логической петли.  А вот на имплементации  Vivado уже ворчит  варнингом DRC и  предложением пометит в констрейнах эту цепь как ALLOW_COMBINATORIAL_LOOPS TRUE. Так что надо пробовать. 

Удачи. Rob.

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


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

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

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

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

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

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

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

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

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

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