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

 
 
> Загрузка 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
 
Start new topic
Ответов
x736C
сообщение Sep 10 2009, 23:16
Сообщение #2


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

Группа: Участник
Сообщений: 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
Сообщение #3


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

Группа: Модераторы
Сообщений: 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
Сообщение #4


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

Группа: Участник
Сообщений: 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
Сообщение #5


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

Группа: Модераторы
Сообщений: 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
Сообщение #6


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

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



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

Сообщений в этой теме
- x736C   Загрузка ACEX1K из EPC2   Aug 17 2009, 14:54
- - sazh   Цитата(x736C @ Aug 17 2009, 18:54) После ...   Aug 17 2009, 18:57
- - x736C   Спасибо за ответ. ЦитатаНастораживает объединение ...   Aug 17 2009, 19:24
|- - sazh   Цитата(x736C @ Aug 17 2009, 23:24) Спасиб...   Aug 17 2009, 19:51
- - x736C   Скорее всего проект некорректен по начальным устан...   Aug 17 2009, 21:04
- - dvladim   Цитата(x736C @ Aug 17 2009, 23:24) Есть п...   Aug 18 2009, 18:25
- - x736C   Спасибо за ответ. Попробую. Сброс у меня в проекте...   Aug 18 2009, 18:45
|- - yura-w   у Вас установлена опция Auto-restart configuration...   Aug 18 2009, 19:01
- - x736C   1. Опция установлена. 2. Цепи JTAG подтянуты через...   Aug 18 2009, 19:26
- - x736C   Нашел причину. Присваивал значение шине wire и ей ...   Aug 20 2009, 21:03
|- - des00   Цитата(x736C @ Aug 20 2009, 16:03) Нашел ...   Aug 24 2009, 04:44
- - x736C   Это не объясняет отличия в загрузке. Есть еще так...   Aug 24 2009, 16:41
|- - sazh   Цитата(x736C @ Aug 24 2009, 20:41) Это не...   Aug 24 2009, 17:05
- - x736C   Какое имеет отношение протокол обмена? Там сброс н...   Aug 24 2009, 17:30
|- - sazh   Цитата(x736C @ Aug 24 2009, 21:30) Какое ...   Aug 24 2009, 17:35
|- - des00   Цитата(x736C @ Aug 24 2009, 12:30) В перв...   Aug 25 2009, 03:16
|- - x736C   Цитата(des00 @ Aug 25 2009, 07:16) как я ...   Aug 25 2009, 07:59
- - x736C   Вы сообщение полностью прочитали или только ту час...   Aug 24 2009, 17:57
|- - sazh   Цитата(x736C @ Aug 24 2009, 21:57) Одна и...   Aug 24 2009, 18:08
- - x736C   Вот и я об этом подумал. Зачем я выбрал когда-то ...   Aug 24 2009, 18:12


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

 


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


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