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

 
 
> Программируемая задержка на CycloneII
Andr2I
сообщение Jan 13 2007, 17:40
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 368
Регистрация: 16-11-06
Из: Тверь
Пользователь №: 22 379



Есть очень горячее желание сделать на CycloneII программируемую задержку шаг которой определяется задержкой одного элемента lcell. Предполагается сделать длинную "колбасу" из lcell (штук 100) и монстроподобный коммутатор (его составляющие тоже надо учесть в задержке).
Понятно, что лучше взять Спартан (там все уже сделано), но не хочется переходить и да и "жаба душит".
Понятно, что задержка будет меняться от чипа к чипу и при изменении температуры - предполагается ввести периодическую калибровку кварцованным периодом тактовой частоты.
Ну и также понятно, что кто-то над такой идеей уже думал и возможно попытался реализовать. Было бы очень интересно услышать.

P.S. Прекрасно понимаю, что шаг регулировки будет немного разным (оптимистичная оценка 10%) и сильно зависеть от размещения на кристалле. Раньше не пробовал, но читал что место расположения элементов можно зафиксировать - возможно это еще один подводный камень - будет Квартус плакаться и работать не даст.

С уважением, Андрей
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Andr2I
сообщение Jan 19 2007, 21:22
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 368
Регистрация: 16-11-06
Из: Тверь
Пользователь №: 22 379



2 5pm
Цитата
Для создания блока задержки я использовал 128-разрядный сдвиговый регистр и цепочку из 127 lсell'ов.


Т.е. каждый на каждый lcell сигнал подавался ИЛИ через передыдущий lcell ИЛИ с выхода соотвествующего регистра (зачем он сдвиговый?)?

Цитата
В процессе разработки было выполнено моделирование с реальными задержками, которое показало высокую дифференциальную нелинейность зависимости общего времени задержки(T) от номера номера выбранного разряда в управляющем регистре(N). В для разных значений N увеличение задержки составляло от 0.3 до 1.8 нс на каждый шаг. В тоже время среднее время, добавляемое одним шагом задержки составило ~0.7 нс.


Ну так и должно быть - 256 ячеек компактно не разместишь и начинает играть длина связей.
А зачем так много? Если шаг задержка 1 нс, то при тактовой частоте даже 100 МГц (реально можно 200) потребуется только 10-15 lcell. Там и дифф. нелинейность должна быть меньше.

С уважением, Андрей

Сообщение отредактировал Andr2I - Jan 19 2007, 21:28
Go to the top of the page
 
+Quote Post
5pm
сообщение Jan 20 2007, 00:37
Сообщение #3





Группа: Новичок
Сообщений: 4
Регистрация: 17-01-07
Пользователь №: 24 518



Цитата
Т.е. каждый на каждый lcell сигнал подавался ИЛИ через передыдущий lcell ИЛИ с выхода соотвествующего регистра (зачем он сдвиговый?)?

Не совсем так. На каждый lcell сигнал подается ИЛИ через предыдущий lcell ИЛИ со в хода, т.е. внешнего пина. Дело втом, что входной сигнал поступает с внешнего детектора, регистрирующего заряженные частицы. Т.е. входные сигналы приходят асинхронно по отношению к тактовым синхроимпульсам. Сдвиговый регистр используется только для задания количества lcell'ов, через которые следует пропустить сигнал. Длинна регистра равна числу шагов программируемой задержки, т.е. в моем случае 128, соответственно сдвиговый он для того, чтобы в него было удобно заносить ту единственную единичку, которая определит итогувую величину задержки. Во время работы линии задержки регистр никуда, разумеется, не сдвигается. Вообще-то вместо извращения с этим регистром можно было бы просто сделать мультиплексор на 128, но мне показалось, что по ресурсам это не выгодно, может я ошибаюсь? Что займет меньше ячеек, сдвиговый 128-разрядный регистр или мультиплексор на 128 выводов?

Как я уже сказал, входной сигнал по определению асинхронен, следовательно никаких синхронных вещей здесь применять нельзя. Если фронт задерживаемого сигнала прийдет почти одновременно с синхроимпульсом, то в регистр скорее всего ничего не запишется(мало время удержания), т.е. мы получим сдвиг выходного сигнала на величину такта, ну а дрожание (джиттер) сигнала на выходе будет таким образом даже превышать такт, а это неприемлемо.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Andr2I   Программируемая задержка на CycloneII   Jan 13 2007, 17:40
- - Gate   Непонятны условия задачи - какие задерки хочется п...   Jan 13 2007, 19:10
- - Andr2I   2Gate ЦитатаНепонятны условия задачи - какие задер...   Jan 13 2007, 21:23
|- - Gate   Цитата(Andr2I @ Jan 13 2007, 21:23) Цитат...   Jan 14 2007, 02:25
- - VslavX   Цитата(Andr2I @ Jan 13 2007, 16:40) Есть ...   Jan 13 2007, 23:16
- - Andr2I   2VslavX ЦитатаМожно еще попробовать использовать п...   Jan 14 2007, 09:56
- - Tosha   Можно попробовать подойти с другой стороны. Попроб...   Jan 17 2007, 09:30
- - Andr2I   2Tosha ЦитатаБерите VCXO или VCO, они управляются ...   Jan 17 2007, 09:50
- - Tosha   Ну тут весь вопрос в задаче, которую решить нужно ...   Jan 17 2007, 10:06
- - 5pm   В настоящее время мне приходится решать очень похо...   Jan 18 2007, 19:01
|- - -=Vitaly=-   Здравствуйте Уважаемые!!! Кодmodule d...   Jan 19 2007, 18:13
- - Andr2I   2 5pm Ага вроде понял - у Вас 1 в сдвиговом регист...   Jan 20 2007, 18:48
- - 5pm   Да, Вы правильно меня поняли: сдвиговый регистр де...   Jan 23 2007, 12:46
- - den_realan   Для хорошей стабильности задержки стоит взять схем...   Jan 24 2007, 22:14


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

 


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


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