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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Подавление Jitter-а и Wander-a (Retiming) на ПЛИС
wolfman
сообщение Jul 5 2005, 06:04
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 529
Регистрация: 15-06-05
Из: Питер
Пользователь №: 6 032



Не обходимо сделать схему подавления Jitter-а и Wander-a ( так называемый Retiming) на ПЛИС с помощью двупортовой памяти либо FIFO, подскажите как можно реализовать схему управления записью/чтением в буфер. Запись происходит с одной частотой (точнее с той же, но с Jitter-ом и Wander-ом), а чтение с другой.


--------------------
Россия это даже не страна.
Россия это секрет, завернутый в загадку и укрытый не проницаемой тайной...
Go to the top of the page
 
+Quote Post
cdg
сообщение Jul 7 2005, 09:13
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617



Возьмите описание lxt332 на Intel.
Go to the top of the page
 
+Quote Post
Builder
сообщение Jul 7 2005, 10:34
Сообщение #3


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Если на ПЛИС, то чем не устраивают стандартные библиотечные двухпортовые FIFO ?
Go to the top of the page
 
+Quote Post
cdg
сообщение Jul 8 2005, 06:01
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617



Цитата(Builder @ Jul 7 2005, 13:34)
Если на ПЛИС, то чем не устраивают стандартные библиотечные двухпортовые FIFO ?
*

Человек вообще спрашивал о принципе построения в смысле управления FIFO.
Т.к. FIFO это только часть того, что называется Jitter Attenuator.
Go to the top of the page
 
+Quote Post
wolfman
сообщение Jul 8 2005, 07:38
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 529
Регистрация: 15-06-05
Из: Питер
Пользователь №: 6 032



Не знаю как цитировать. потому пишу в кавычках.
"Возьмите описание lxt332 на Intel. "

Вобще-то мне нужно на ПЛИС забацать аналог LXT6282. Точнее схему ретайминга, схему я сделал, но проблема с сигналами записи/чтения в FIFO они друг относительно друга плавают, вот как бы сделать так чтобы сигналы были синхронны?
Хотя дело может быть в самой ПЛИС мне приходиться поект создавать под FLEX6000, при моделировании после нормального сигнала возникают непонятные пики, как с этим бороться?


--------------------
Россия это даже не страна.
Россия это секрет, завернутый в загадку и укрытый не проницаемой тайной...
Go to the top of the page
 
+Quote Post
Танцующий
сообщение Jul 8 2005, 10:36
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 60
Регистрация: 17-06-04
Из: Н.Новгород
Пользователь №: 42



Цитата(wolfman @ Jul 8 2005, 10:38)
проблема с сигналами записи/чтения в FIFO они друг относительно друга плавают, вот как бы сделать так чтобы сигналы были синхронны?
*

Задача решается при использовании более высокой частоты тактирования (Clk), лучше в 2^n больше, чем битрэйт потока (ClkIn). Необходимым является всегда(!) выполнение условия T(ClkIn)>T(Clk)+delta
Код
-- SyncRo
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity SyncRo is
   port(
       Clk  : in    std_logic;
       ClkIn   : in    std_logic;
 Reset    : in    std_logic;
       D       : in    std_logic;
       Q       : out   std_logic;
       E       : out   std_logic
 );
   end SyncRo;

architecture default of SyncRo is

signal r1, r2, dd   : std_logic;

begin

ClkInProc: process (Reset, ClkIn)
begin
if(Reset='1') then
   r1<='0';
   dd<='0';
elsif(r2='1') then
   r1<='0';
elsif(ClkIn = '1' and ClkIn'event) then
   r1<='1';
   dd<=D;
end if;
end process;

ClkProc: process (Reset, Clk)
begin
if(Reset='1') then
   r2<='0';
elsif(Clk = '1' and Clk'event) then
   r2<=r1;
end if;
end process;

Q<=dd;
E<=r2;

end default;
Go to the top of the page
 
+Quote Post
wolfman
сообщение Jul 8 2005, 11:39
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 529
Регистрация: 15-06-05
Из: Питер
Пользователь №: 6 032



[quote=Танцующий,Jul 8 2005, 20:06]
Спасибо, попробую.


--------------------
Россия это даже не страна.
Россия это секрет, завернутый в загадку и укрытый не проницаемой тайной...
Go to the top of the page
 
+Quote Post
Genn
сообщение Jul 8 2005, 18:16
Сообщение #8


Участник
*

Группа: Свой
Сообщений: 48
Регистрация: 14-04-05
Пользователь №: 4 146



Цитата(wolfman @ Jul 5 2005, 09:04)
Не обходимо сделать схему подавления Jitter-а и Wander-a ( так называемый Retiming) на ПЛИС с помощью двупортовой памяти либо FIFO, подскажите как можно реализовать схему управления записью/чтением в буфер.  Запись происходит с одной частотой (точнее с той же, но с Jitter-ом и Wander-ом), а чтение с другой.
*


Алгоритмы, используемые для построения FIFO (в т.ч. с различными частотами записи и чтения) приводятся на сайте www.xilinx.com (Product & Services -> Application Notes). В архиве приложения (APPx) находится pdf-файл, а так же исходники на VHDL и Verilog.
Go to the top of the page
 
+Quote Post
wolfman
сообщение Jul 11 2005, 04:46
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 529
Регистрация: 15-06-05
Из: Питер
Пользователь №: 6 032



Гм, я не очень силен верилоге, что нужно в исходниках править, чтобы заработало в квартусе, он выдает ошибку.


--------------------
Россия это даже не страна.
Россия это секрет, завернутый в загадку и укрытый не проницаемой тайной...
Go to the top of the page
 
+Quote Post
Wh`te
сообщение Jul 11 2005, 04:59
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 5-07-05
Пользователь №: 6 532



Сначала быстрой фапч восстанавливаем тактовую из потока, затем делим ее на некий коэф. чтобы в итоге получить скажем 1 кГц. затем стоит уже более медленная фапч, она следит за восстановленной тактовой. Далее две выделенные тактовых перетактируют данные по закольцованному сдвиговому регистру.

Вот собственно
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
wolfman
сообщение Jul 11 2005, 12:06
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 529
Регистрация: 15-06-05
Из: Питер
Пользователь №: 6 032



Цитата(Wh`te @ Jul 11 2005, 14:29)
Сначала быстрой фапч восстанавливаем тактовую из потока, затем делим ее на некий коэф. чтобы в итоге получить скажем 1 кГц. затем стоит уже более медленная фапч, она следит за восстановленной тактовой. Далее две выделенные тактовых перетактируют данные по закольцованному сдвиговому регистру.

Вот собственно
*


В том-то и дело, что мне нужно без ФАПЧа. Схема частично заработала. Осталась самая малость- заставить проходить ПСП, т.к произвольное слово проходит.
Спасибо всем откликнувшимся.


--------------------
Россия это даже не страна.
Россия это секрет, завернутый в загадку и укрытый не проницаемой тайной...
Go to the top of the page
 
+Quote Post
cdg
сообщение Jul 12 2005, 06:19
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617



Так и скажите, научите делать FIFO, если с языками не владах возьмите лучше готовые мегакорки Altera.
Go to the top of the page
 
+Quote Post
wolfman
сообщение Jul 12 2005, 20:02
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 529
Регистрация: 15-06-05
Из: Питер
Пользователь №: 6 032



Цитата(cdg @ Jul 12 2005, 15:49)
Так и скажите, научите делать FIFO, если  с языками не владах возьмите лучше готовые мегакорки Altera.
*


Дело в том, что готовые Альтеровские как-то странно работают, возможно это особенность флекса 6000. Проявляется странность в появлении паразитных коротких импульсов.


--------------------
Россия это даже не страна.
Россия это секрет, завернутый в загадку и укрытый не проницаемой тайной...
Go to the top of the page
 
+Quote Post
cdg
сообщение Jul 13 2005, 06:38
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617



Цитата(wolfman @ Jul 12 2005, 23:02)
Дело в том, что готовые Альтеровские как-то странно работают, возможно это особенность флекса 6000. Проявляется странность в появлении паразитных коротких импульсов.

Где эти импульсы появляются? Может там не регистровые выходы, тогда естественно возможны глитчи, ставим триггер(или соответствующую опцию в свойствах корки) и все дела.
Go to the top of the page
 
+Quote Post
wolfman
сообщение Jul 17 2005, 12:31
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 529
Регистрация: 15-06-05
Из: Питер
Пользователь №: 6 032



Цитата(cdg @ Jul 13 2005, 16:08)
Где эти импульсы появляются? Может там не регистровые выходы, тогда естественно возможны глитчи, ставим триггер(или соответствующую опцию в свойствах корки) и все дела.
*

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


--------------------
Россия это даже не страна.
Россия это секрет, завернутый в загадку и укрытый не проницаемой тайной...
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 16:13
Рейтинг@Mail.ru


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