|
|
  |
Clock enable в quartus, БЕДА... |
|
|
|
Jun 1 2011, 21:49
|
Профессионал
    
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968

|
Коллеги, спасайте! День уже потерял а эту ерунду не победил. Есть кусок схемы (рис) на который ругается таймквест (отчет на рисунке) - это формирователь пачки импульсов для считывания данных с LVDS АЦП. Все клоки pll констрейнятся, видны в отчете клоков таймкветса. Клоки С0 и С1 одинаковой частоты, 96 МГц. Как видно, slack. Что только не делал... Регистры между ENA и компаратором, фазы клоков двигал относительно друг друга - результата ноль. Всегда slack отрицательный. Причем когда он в пределах -0,2..-0,4 нс схема еще работает, а когда стает -1,5..-3 нс - с АЦП ошибочные значения идут. Пока схема была под 20000LE (cyc3) слак небольшой был, все работало, добавляю еще кусок на 10000LE - все, уже криво работает. Повторяемость 100% - маленькая схема - работает, большая - не работает. Уже сделал так (думал может не эта часть а что-нить еще): вместо выхода АЦП поставил память, забитую семплами АЦП - оба варианта - и на 20000LE, и на 30000LE работает все отлично. Т.е. причина почти наверняка не в обработке, а в источнике данных, и похоже именно в этом месте. Пробовал создавать отдельный раздел на этом блоке (lvds_block) компилировал с небольшой схемой (когда все работает), ставил фиксировать post-route, pacement and routing на раздел lvds_block. После этого расширял схему (lvds_block не меняется при этом), компилировал - уже глюки. Вроде уж зафиксировал даже... Как так то? Что б такое написать-то чтоб он меня услышал? Помогите победить...
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 2 2011, 05:16
|
Профессионал
    
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968

|
Цитата(des00 @ Jun 2 2011, 07:38)  1. где проект? 2. фазу с[0] vs с[1] подвигать никак ? Да проект большой, вся папка занимает 650Мб, это только маленький проблемный кусок нарисовал. Фазу на плле я же написал, пробовал двигать, ставил при частоте 96 МГц у с0 +/- 1,2,3,5 нс. Эффекта ноль. Все равно отрицательный. Хотя сечас сделаю проект только с lvds_block, выложу UPD: Выделил кусок в отдельный проект, который хотел выложить, проверил - все ок. Скопировал назад с заменой файлов - слак изчез... То ли чудо, то ли фокус... Но проблема с работоспособностью не решилась, копаю дальше...
|
|
|
|
|
Jun 2 2011, 15:24
|
Профессионал
    
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968

|
Цитата(DSIoffe @ Jun 2 2011, 14:03)  Off: не надо бы на АЦП тактовую пачками, кто его знает, какие там переходные процессы пойдут. Плюс конвейер. Лучше тактовую подать постоянно и выхватывать нужное на выходе АЦП. Так АЦП такой - AD7625, там выборка по фронту одного сигнала, потом эту выборку АЦП оцифровывает на ходу при выдаче битов в LVDS, клок именно на считывание пачками (все по DS), а на выборки- конечно регулярный, и от отдельного чистого генератора. Вобщем проблема решилась, попутно слак исправил, но дело в другом было. При увеличении задействованной логики тупо проседало питание USB, от которого все питается, причем проседало аж до 3,8В. На выходе 3-вольтового стабилизатора импульсного при этом питание падало до 2,6В. Отсюда вся беда, ацп глючить начинал. Блин, а я день искал подвох в логике. Благодарю всех за помощь! PS. А со слаком похоже чудо, так и не понял я из-за чего он ушел. Ведь весь день боролся, все по науке, - не хотел и все тут...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|