реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Проблема с проектом на Xilinx XC2S150, состояние выходов при инициализации
Pavel81
сообщение Feb 4 2009, 13:40
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 24-06-05
Из: МО, г. Подольск
Пользователь №: 6 286



ПЛИС и ПЗУ включены в jtag-цепочку. Если ПЛИС пустая, то при после программирования выходы остаются в "нуле". Если записываю свой проект, в котором CLKDLL, то после программирования вылезает "1", длиной около 100 мкс. Кто сталкивался с подобным? Как бороться? (Проект фактически ничего в себя не включает, только вывод GND с некоторых ножек и генератор меандра на vhdl).
Go to the top of the page
 
+Quote Post
Kompot
сообщение Feb 4 2009, 13:49
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 242
Регистрация: 10-06-08
Из: Хочу в пампасы...
Пользователь №: 38 192



Цитата(Pavel81 @ Feb 4 2009, 16:40) *
ПЛИС и ПЗУ включены в jtag-цепочку. Если ПЛИС пустая, то при после программирования выходы остаются в "нуле". Если записываю свой проект, в котором CLKDLL, то после программирования вылезает "1", длиной около 100 мкс. Кто сталкивался с подобным? Как бороться? (Проект фактически ничего в себя не включает, только вывод GND с некоторых ножек и генератор меандра на vhdl).


А ну-ка медленно и по порядку.

1. Что и с кем в цепочке? Сама ФПГА и ее конфигурационная флэшка? Это нормально, если не накосячить.
2. Схему сами рисовали или это КИТ? Плату сами делали\разводили или это КИТ?
3. Какие конкретно входы остаются в нуле?
4. А если проект без CLKDLL (они довольно капризны) ?
5. В симуляторе делали post P&R симуляцию? В Моделсиме?

Знаете ли Вы, что образы для заливки флэшки и ФПГА сильно отличаются?
Go to the top of the page
 
+Quote Post
Pavel81
сообщение Feb 4 2009, 16:06
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 24-06-05
Из: МО, г. Подольск
Пользователь №: 6 286



1) Цепочка такая: внешний порт JTAG - ПЗУ - ПЛИС. Всё сделано по рекомендации Xilinx и определяется в Impact, проходит проверку и шьётся.

2. Схему рисовал сам, вот она (в состоянии, максимально минимизированном для возникновения бага):



Не в нуле остаются и не входы, а выход. Выходят из нуля на 94 мкс после программирования ПЛИС из ПЗУ, когда не должны этого делать просто по схеме, выход там MR_A1A2_ext.

4. Не вижу смысла, всегда применял CLKDLL и никогда меня не подводила.

5. Моделировать это не нужно. Но моделировал блок, который выдаёт меандр в 517 нс, так вот, он в моделях во всех нормальный, а на практике формируется, но только после той "гадкой" единицы в 94 мкс.

отличия *.bit и *.mcs естественно мне известны. я шью только ПЗУ, потом сбрасываю схему, перед анализом.

Сообщение отредактировал Pavel81 - Feb 4 2009, 16:17
Go to the top of the page
 
+Quote Post
Kompot
сообщение Feb 5 2009, 09:17
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 242
Регистрация: 10-06-08
Из: Хочу в пампасы...
Пользователь №: 38 192



Цитата(Pavel81 @ Feb 4 2009, 20:06) *
1) Цепочка такая: внешний порт JTAG - ПЗУ - ПЛИС. Всё сделано по рекомендации Xilinx и определяется в Impact, проходит проверку и шьётся.
Хорошо.

2. Схему рисовал сам, вот она (в состоянии, максимально минимизированном для возникновения бага):
Я не внутренней схеме, а о внешней - электрической принципиальной. Вдруг Вы какой нужный вывод не туда завели.

Не в нуле остаются и не входы, а выход. Выходят из нуля на 94 мкс после программирования ПЛИС из ПЗУ, когда не должны этого делать просто по схеме, выход там MR_A1A2_ext.
Они Вам ничего не должны. Нулем "по схеме" они обязаны стать только после конфигурации.

4. Не вижу смысла, всегда применял CLKDLL и никогда меня не подводила.
Не будьте так категоричны. Уберите CLKDLL , и посмотрите.

5. Моделировать это не нужно. Но моделировал блок, который выдаёт меандр в 517 нс, так вот, он в моделях во всех нормальный, а на практике формируется, но только после той "гадкой" единицы в 94 мкс.
Может, Вы забыли использовать по назначению сигнал LOCK от CLKDLL?


отличия *.bit и *.mcs естественно мне известны. я шью только ПЗУ, потом сбрасываю схему, перед анализом.
Это уже хорошо. Тогда попробуйте зашить битстрим в ФПГА напрямую. Вдруг Вы какую-то опцию неправильно установили при генерации .mcs



Посмотрите двухлучевым осциллографом временнОе соотношение сигнала от ФПГА "загрузка закончена" (идет на загрузочную флэшку) и вашего земляного вывода. Во время конфигурации поведение вывода определено в даташите. Обязано упасть в лог. 0 только ПОСЛЕ окончания загрузки прошивки.

Вообще странно. То есть если не используете CLKDLL, то все нормально? Вот возможно момент, когда CLKDLL Вас подвела...
Go to the top of the page
 
+Quote Post
Pavel81
сообщение Feb 5 2009, 11:32
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 24-06-05
Из: МО, г. Подольск
Пользователь №: 6 286



Смотрел логическим анализатором. Единицы пропадают после того, как сигнал Done от ПЗУ станет = '1'. Получается, что проблема возникает в процессе конфигурации ПЛИС. Внешний синхросигнал и прошедший CLKDLL тоже появляются после этого момента. Непонятно, в чём причина выползания этих единиц при конфигурации ПЛИСа.
Go to the top of the page
 
+Quote Post
Pavel81
сообщение Feb 5 2009, 13:03
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 24-06-05
Из: МО, г. Подольск
Пользователь №: 6 286



В прикреплённом файле схема включения микросхем в цепочку JTAG.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Kompot
сообщение Feb 5 2009, 13:17
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 242
Регистрация: 10-06-08
Из: Хочу в пампасы...
Пользователь №: 38 192



Да неважно, как они у Вас включены в цепочку, раз грузится и работает.

Вы должны понимать, что "There are no way to control I/O until the end of the configuration process, unfortunately. You can use DONE signal to control external devices at startup. "


Вот объяснение и возможное решение для Spartan 3. Возможно, подойдет и Вам.

If pin HSWAP_EN is low, all the I/O pins will have pull-up resistors (a few kilo-ohms) during configuration.
If pin HSWAP_EN is high, all the I/O pins will float (high-impedance) during configuration.

You could tie HSWAP_EN high to float the I/O pins during configuration, and then install your own weak pull-down resistors to hold the I/O pins low during configuration.

Вот у человека та же проблема:
http://www.edaboard.com/ftopic263021.html

Похоже, что ни JTAG, ни CLKDLL тут ни при чем.


Настораживает Ваша фраза "всегда пользуюсь CLKDLL". То есть не новичок в ФПГА. Тогда почему Вы никогда не сталкивались с произвольным поведением пинов во время конфигурации? Любой, кто использует ПЛИС, первым делом наступает именно на эти грабли.
Go to the top of the page
 
+Quote Post
Pavel81
сообщение Feb 5 2009, 13:26
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 24-06-05
Из: МО, г. Подольск
Пользователь №: 6 286



Спасибо за ответы. Просто раньше никогда не было проблем с подобным, а теперь прибор должен держать железно пины в нуле, а то ракета не вовремя улетит или не улетит вообще :-D
Go to the top of the page
 
+Quote Post
Pavel81
сообщение Feb 5 2009, 15:02
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 24-06-05
Из: МО, г. Подольск
Пользователь №: 6 286



Помогло подтягивание зла резистором 4.7 кОм к земле. Теперь мой импульс запуска именно такой, какой надо, оконечник запускается. Ещё раз спасибо за решение моей проблемы, Kompot!
Go to the top of the page
 
+Quote Post
Kompot
сообщение Feb 5 2009, 15:10
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 242
Регистрация: 10-06-08
Из: Хочу в пампасы...
Пользователь №: 38 192



Цитата(Pavel81 @ Feb 5 2009, 19:02) *
Помогло подтягивание зла резистором 4.7 кОм к земле. Теперь мой импульс запуска именно такой, какой надо, оконечник запускается. Ещё раз спасибо за решение моей проблемы, Kompot!



Ээээ... Всегда пожалуйста.
Только согласитесь, проблемы-то по большому счету и не было rolleyes.gif

Удачи!
Go to the top of the page
 
+Quote Post
Pavel81
сообщение Feb 5 2009, 18:02
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 24-06-05
Из: МО, г. Подольск
Пользователь №: 6 286



Цитата(Kompot @ Feb 5 2009, 18:10) *
Только согласитесь, проблемы-то по большому счету и не было rolleyes.gif
Проблема была. Просто раньше состояние выводов до конфигурации было мне не критично и я просто не обращал на это внимание. А тут меня натолкнули на этот пиндосский форум, где я вно описывают решение проблемы.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th July 2025 - 19:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01454 секунд с 7
ELECTRONIX ©2004-2016