|
|
  |
Скоростной ввод данных, CycloneII 250MHz |
|
|
|
Jul 8 2008, 07:05
|
Частый гость
 
Группа: Свой
Сообщений: 103
Регистрация: 17-03-06
Из: Томск
Пользователь №: 15 319

|
Цитата(slog @ Jul 8 2008, 09:58)  Видятся такие варианты решения: 1 - по каждому фронту частоты 250МГц сохраняем данные по очереди в два регистра - потом в память двойной ширины. 2 - с другого канала PLL получаем частоту 125МГц и по фронту 125МГц пишем в 1-й регистр, по спаду во 2-й и в память двойной ширины. 3 - используем мегафункцию altddio_in в надежде что она сделает это правильнее.
Хочется обсудить как лучше всего решить эту задачу. На мой взгляд правильнее первый вариант. В конечном счете к нему все и сводится. Только писаться там наверное там будет не в память с двойной шириной, 2 ячейки памяти. Уточните разрядность данных
|
|
|
|
|
Jul 8 2008, 09:31
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Цитата(slog @ Jul 8 2008, 12:57)  На входе 250 МГц не DDR. Я бы в таком варианте рассмотрел сразу хлопать данные от частоты 125 DDR: никакого управления не надо, линейка триггеров по фронту, линейка триггеров по спаду, и в память по фронту это все пишется. А на частоте 250 и enable каждый второй такт вам придется Timing Analyzer-у рассказывать сказку, что почти все цепи multicycle (например, счетчик, формирующий адрес памяти для записи), иначе он (Timing Analyzer) будет сильно ругаться: он-то не знает сам-по-себе, что у вас enable будет разрежен и подумает, что все работает на 250 МГц.
|
|
|
|
|
Jul 8 2008, 10:35
|
Гуру
     
Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804

|
Цитата(DmitryR @ Jul 8 2008, 13:31)  Я бы в таком варианте рассмотрел сразу хлопать данные от частоты 125 DDR: никакого управления не надо, линейка триггеров по фронту, линейка триггеров по спаду, и в память по фронту это все пишется. А на частоте 250 и enable каждый второй такт вам придется Timing Analyzer-у рассказывать сказку, что почти все цепи multicycle (например, счетчик, формирующий адрес памяти для записи), иначе он (Timing Analyzer) будет сильно ругаться: он-то не знает сам-по-себе, что у вас enable будет разрежен и подумает, что все работает на 250 МГц. Вот поэтому все это хозяйство желательно на уровне регистров перезаписывать в регистр по внутреннему пониженному системному клоку, чтобы работать с памятью на системной пониженной, но с расширенной разрядностью.
|
|
|
|
|
Jul 10 2008, 10:18
|
Знающий
   
Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489

|
Цитата(_Anatoliy @ Jul 10 2008, 09:22)  Вы хотите формировать тактовый сигнал для АЦП с помощью PLL FPGA?У клока будет довольно большой джиттер,Вас это устраивает?Вы оценивали его влияние?Какая полоса частот входного сигнала?Какой SNR Вы хотите иметь на выходе АЦП? Да, такты на ADC с FPGA. Но это не обсуждается, это как данность, потому что уже всё сделано именно так. Вообщем устраивает. А вот способ получения 250MHz из 25-ти и с наименьшим джиттером можно пообсуждать. Ибо есть варианты. 250 = 25*10/1 или 25*20/2 или 25*30/3 или 25*40/4 И есть предположение что при увеличении коэффициента делителя джиттер PLL тоже поделится. Так?
--------------------
В действительности всё не так, как на самом деле.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|