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

 
 
> Загрузка ACEX1K из EPC2, pof и sof — в чем различие?
x736C
сообщение Aug 17 2009, 14:54
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Уважаемые специалисты!
Помогите, пожалуйста.

С одного устройства (передатчика) на другое передаются данные.
Второе устройство (приемник) их принимает и обрабатывает.
Идеальные условия — режим отладки, когда передатчик с приемником подключены напрямую.

Реальные условия — устройства взаимодействуют через реальный канал связи.
То есть условия, при которых обнаружилась следующая проблема в приемнике.

Примерная схема работы такая:
После подачи питания ПЛИС загружается из EPC2 и начинает работать не так, как она работала в идеальных условиях.
Cделал вывод, что написанная мной программа неполноценна и в реальных условиях работает неудовлетворительно.
Критерий качества — сигнал кадровой синхронизации приемника. При незначительных отклонениях принимаемого сигнала от нормы приемник не удерживается в синхронизме.
Сброс ПЛИС соответствующим уровнем на соответствующей ноге ничего не меняет.

После загрузки ПЛИС через программатор (EPC2 не трогаю) приемник становится «идеальным». Во всем диапазоне требуемых значений ослабления сигнал синхронизации постоянно положительный. Как и задумывалось (моделировалось).
Сброс ПЛИС опять же не меняет картины, по-прежнему все хорошо.

Выключаю-включаю питание, все повторяется.

Устанавливаю значение Power-Up Don’t Care — ON.
При этом эффект исцеления пропадает, приемник работает одинаково паршиво.

Оба файла .pof и .sof сгенерированы одномоментно из одного проекта.

Вопросы:
В чем может быть причина такой работы?
Какие галочки я забыл поставить или забыл попробовать поставить?
Может ли быть такое, что прошивки pof и sof алгоритмически или топологически отличаются между собой?


ПЛИС: ACEX1K100
САПР: Quartus II Version 7.2 Build 151 SJ FV
Проект полностью синхронный.
Схема включения:
Прикрепленное изображение

*R65 не запаян.
Что еще забыл указать, спросите, пожалуйста.

Сообщение отредактировал x736C - Aug 17 2009, 14:59
Go to the top of the page
 
+Quote Post
2 страниц V  < 1 2  
Start new topic
Ответов (15 - 24)
x736C
сообщение Aug 24 2009, 17:57
Сообщение #16


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Вы сообщение полностью прочитали или только ту часть, которую процитировали?
Там дальше идет описание того, как влияет загрузка.
Одна и та же программа ведет себя немного иначе при разных вариантах загрузки ПЛИС. При отладке и моделировании никак себя не проявляет.

К сожалению, пока не стала полноценной. Занимался другим.
Go to the top of the page
 
+Quote Post
sazh
сообщение Aug 24 2009, 18:08
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(x736C @ Aug 24 2009, 21:57) *
Одна и та же программа ведет себя немного иначе при разных вариантах загрузки ПЛИС. При отладке и моделировании никак себя не проявляет.


Пошли по кругу. Ох уж эти асехы. Наверно срок годности истек.
Go to the top of the page
 
+Quote Post
x736C
сообщение Aug 24 2009, 18:12
Сообщение #18


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Вот и я об этом подумал. smile.gif
Зачем я выбрал когда-то это старье.
Правда, это было три-четыре года назад, долгое время проект был в замороженном состоянии.
Ладно, спасибо в любом случае.
Go to the top of the page
 
+Quote Post
des00
сообщение Aug 25 2009, 03:16
Сообщение #19


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(x736C @ Aug 24 2009, 12:30) *
В первом сообщении написал, что сброс вообще никак не влиял на работу схемы. Влиял только лишь способ загрузки.


в своих проектах встречал такое поведение, как раз из-за того что синхронизаторы, в некоторых случаях, ставило раком.

Цитата
Я только лишь искал причину в сбросе. Потому что это единственное, что отличает загрузку из EPC2 и по JTAG. По крайней мере другого отличия я не нашел и мне не подсказал никто.


как я понял вы интуитивно нашли способ "лечения" вопроса и порекомендовал вам еще раз проверить логику работы вашего синхронизатора. ИМХО где-то есть неучтенная логическая ветка, которая стреляет в некоторых условиях.


--------------------
Go to the top of the page
 
+Quote Post
x736C
сообщение Aug 25 2009, 07:59
Сообщение #20


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Цитата(des00 @ Aug 25 2009, 07:16) *
как я понял вы интуитивно нашли способ "лечения" вопроса и порекомендовал вам еще раз проверить логику работы вашего синхронизатора. ИМХО где-то есть неучтенная логическая ветка, которая стреляет в некоторых условиях.

Пока не приступал к решению, занимался другим.
Спасибо за наводку, вашу рекомендацию учел, все перепроверю.
Go to the top of the page
 
+Quote Post
x736C
сообщение Sep 10 2009, 23:16
Сообщение #21


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Может кому-нибудь будет интересно, в чем все-таки было дело.
Оказалось, действительно, в разнице сигнала сброс, о которой писал в сообщении #12.
Проблема всплывала везде, где сбросом в регистры устанавливалось что-то отличное от нуля.
Не смотря на синхронный сброс, важен был спадающий фронт, который появлялся только при JTAG-программировании.

Вылечилось заменой
Код
reg          rst;
reg    [1:0] init;
always @ (posedge clk) begin
    if      (~reset)    init <= 0;
    else if (~&init)    init <= init + 1;
    rst <= &init; end
на
Код
always @ (posedge clk) begin
    if      (~reset)    init <= 0;
    else if (~&init)    init <= init + 1;
    rst <= init != 2'd2; end

Теперь всё!
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 11 2009, 04:05
Сообщение #22


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(x736C @ Sep 10 2009, 18:16) *
Оказалось, действительно, в разнице сигнала сброс, о которой писал в сообщении #12.
Проблема всплывала везде, где сбросом в регистры устанавливалось что-то отличное от нуля.
Не смотря на синхронный сброс, важен был спадающий фронт, который появлялся только при JTAG-программировании.


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


--------------------
Go to the top of the page
 
+Quote Post
x736C
сообщение Sep 11 2009, 05:33
Сообщение #23


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Цитата(des00 @ Sep 11 2009, 08:05) *
любой внешний сигнал сброса и внутренний из асинхронного домена надо синхронизировать, это же классика проектирования. для этого существуют специальные схемы "синхронизаторы сброса" и этому посвящено куча статей.

Опять 25))

К сожалению, ни одной статьи не смог найти, не считать метастабильность, которая тут не причем.
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 11 2009, 08:24
Сообщение #24


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(x736C @ Sep 11 2009, 00:33) *
Опять 25))

К сожалению, ни одной статьи не смог найти, не считать метастабильность, которая тут не причем.


не может быть что вы не были здесь

ЗЫ. смотреть статью "Synchronous Resets? Asynchronous Resets? I am so confused! How will I ever know which to use?"


--------------------
Go to the top of the page
 
+Quote Post
x736C
сообщение Sep 11 2009, 10:10
Сообщение #25


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Наверняка представляете, может быть. smile.gif
Почитаю. Большое спасибо за полезную ссылку.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 00:41
Рейтинг@Mail.ru


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