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

 
 
> Как работать по обоим фронтам клока?, Сопрягаем Virtex-5 с ADSP-TS201
DMax
сообщение Apr 26 2010, 12:15
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 19-01-08
Из: Питер
Пользователь №: 34 234



Друзья, помогите пожалуйста.

Есть TigerSHARC-201, у которого есть LVDS-линки, которые передают по четыре бита на каждый фронт клока, но обязательно пачками, кратными 128-битам. И клок, и данные приходят с TigerSHARC'а. При чём клок активен, только когда что-то передаётся.

Попытался "в лоб". В VHDL написал if(clk'event) и т.д. Синтезатор выдал, что dual edge clock не поддерживается.

Теоретически можно попробовать сделать два процесса. Один по одному фронту, другой по другому, а данные потом как-то склеить. Но, честно говоря, в этом видится некоторый геморрой, так как "потом" получается очень хреново, из-за того, что клок пропадает после того, как передаются последние 4-бита и за этот такт нужно и склеить и положить данные в FIFO. Либо нужно склеивать и класть в FIFO на другом клоке и для этого делать CDC, что тоже в общем не красиво smile.gif Неужели нет более красивого и прямого пути?
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 28)
bogaev_roman
сообщение Apr 26 2010, 12:30
Сообщение #2


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата
Теоретически можно попробовать сделать два процесса. Один по одному фронту, другой по другому, а данные потом как-то склеить

У Альтеры для этих целей специально мегафункция altlvds есть и именно так она и работает. Вроде и у Xilinx я похожую корку видел, ее не пробовали использовать?
Go to the top of the page
 
+Quote Post
DMax
сообщение Apr 26 2010, 12:34
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 19-01-08
Из: Питер
Пользователь №: 34 234



Цитата(bogaev_roman @ Apr 26 2010, 16:30) *
У Альтеры для этих целей специально мегафункция altlvds есть и именно так она и работает. Вроде и у Xilinx я похожую корку видел, ее не пробовали использовать?


Нет, корки вообще ещё не пробовал. Но беглый взгляд на список корок не увидел чего-либо отдалёно напоминающего sad.gif
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Apr 26 2010, 13:24
Сообщение #4


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



if(falling_edge(clk))
input_neg<=input;
end if;

if(rising_edge(clk))
input_d<=input;
input_d1(3 downto 0)<=input_d; -- Поменять местами со след. оператором, если по падающему идут младшие биты
input_d1(7 downto 4)<=input_neg;
end if;
Go to the top of the page
 
+Quote Post
DMax
сообщение Apr 26 2010, 13:53
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 19-01-08
Из: Питер
Пользователь №: 34 234



В общем мои изыскания приводят к тому, что надо пользоваться примитивом ISERDES_NODELAY для этих целей. Один только не понятный момент - у него два порта для "быстрых" (последовательных клоков). В режиме DDR один порт нужно подсоединить к клоку, а другой - к инвертированному клоку. А у меня клок вроде как не внутри моей FPGA, а приходит снаружи. Как бы его напрямую завести на оба порта да так, чтобы на одном он инвертирован был?
Go to the top of the page
 
+Quote Post
sazh
сообщение Apr 26 2010, 14:17
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(DMax @ Apr 26 2010, 15:15) *
Есть TigerSHARC-201, у которого есть LVDS-линки, которые передают по четыре бита на каждый фронт клока, но обязательно пачками, кратными 128-битам. И клок, и данные приходят с TigerSHARC'а. При чём клок активен, только когда что-то передаётся.


У Альтеры есть документ an332.pdf и готовая корка при нем. Правда под альтеровские мегафункции. Но если въехать в проект, переделать под xilinx наверно можно. (прием данных так красиво сделан. Прерывистый клок - не помеха).
У xilinx вроде бы xapp 727
Go to the top of the page
 
+Quote Post
faa
сообщение Apr 26 2010, 15:08
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 726
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 394



Цитата(sazh @ Apr 26 2010, 18:17) *
У xilinx вроде бы xapp 727

XAPP634 и XAPP635

Сообщение отредактировал faa - Apr 26 2010, 15:09
Go to the top of the page
 
+Quote Post
rloc
сообщение Apr 26 2010, 15:33
Сообщение #8


Узкополосный широкополосник
******

Группа: Свой
Сообщений: 2 316
Регистрация: 13-12-04
Из: Moscow
Пользователь №: 1 462



Цитата(DMax @ Apr 26 2010, 17:53) *
В общем мои изыскания приводят к тому, что надо пользоваться примитивом ISERDES_NODELAY для этих целей.


SERDES очень не любят, когда клоки пропадают, пользуйтесь примитивами IBUFDS+IDDR, до частоты 400 МГц хорошо работают, выше - не пробовал.
Go to the top of the page
 
+Quote Post
DMax
сообщение Apr 26 2010, 16:28
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 19-01-08
Из: Питер
Пользователь №: 34 234



Цитата(sazh @ Apr 26 2010, 18:17) *
У Альтеры есть документ an332.pdf и готовая корка при нем. Правда под альтеровские мегафункции. Но если въехать в проект, переделать под xilinx наверно можно. (прием данных так красиво сделан. Прерывистый клок - не помеха).
У xilinx вроде бы xapp 727


Спасибо! Только вот почему XAPP727 на сайте хилиньких убрали. Гугл нашел его только у нас на форуме smile.gif

А XAPP635 - это тоже самое, но для Virtex-II. Там всё более геморройно.

Цитата(rloc @ Apr 26 2010, 19:33) *
SERDES очень не любят, когда клоки пропадают, пользуйтесь примитивами IBUFDS+IDDR, до частоты 400 МГц хорошо работают, выше - не пробовал.


А IDDR'ы их обожают? Как-то я не очень врубаюсь как тут можно заюзать IDDR? По крайней мере считывать два бита на одном фронте (режим SAME_EDGE) как-то не очень получается. А если использовать OPPOSITE_EDGE - то как-то всё равно криво получается sad.gif
Go to the top of the page
 
+Quote Post
rloc
сообщение Apr 26 2010, 16:41
Сообщение #10


Узкополосный широкополосник
******

Группа: Свой
Сообщений: 2 316
Регистрация: 13-12-04
Из: Moscow
Пользователь №: 1 462



Цитата(DMax @ Apr 26 2010, 20:28) *
А IDDR'ы их обожают? Как-то я не очень врубаюсь как тут можно заюзать IDDR? По крайней мере считывать два бита на одном фронте (режим SAME_EDGE) как-то не очень получается. А если использовать OPPOSITE_EDGE - то как-то всё равно криво получается sad.gif


Загляните в документ ug070.pdf на Virtex-4 и тогда будет понятно, что такое SAME_EDGE и OPPOSITE_EDGE. В документах на Virtex-5 этот момент не так наглядно расписан.
Go to the top of the page
 
+Quote Post
Mad_max
сообщение Apr 26 2010, 16:48
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



Для записи по обом фронтам IDDR, как раз то что вам нужно.
В DS на virtex в поиске вбейте DDR, там будет картинки и времянки,
сразу станет понятно, как это работает.
А то что клок пропадает после завершения передачи это конечно плохо.
Для CDC используйте FIFO, а то с метастабильностью четрей не оберетесь.
Go to the top of the page
 
+Quote Post
DMax
сообщение Apr 26 2010, 16:54
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 19-01-08
Из: Питер
Пользователь №: 34 234



Цитата(rloc @ Apr 26 2010, 20:41) *
Загляните в документ ug070.pdf на Virtex-4 и тогда будет понятно, что такое SAME_EDGE и OPPOSITE_EDGE. В документах на Virtex-5 этот момент не так наглядно расписан.


А для такого пропадающего клока вы рекомендуете использовать IBUFDS или IBUFGDS? Я чего-то не углядел в чём разница, кроме того, что последний рекомендуют для клоков.
Go to the top of the page
 
+Quote Post
rloc
сообщение Apr 26 2010, 16:59
Сообщение #13


Узкополосный широкополосник
******

Группа: Свой
Сообщений: 2 316
Регистрация: 13-12-04
Из: Moscow
Пользователь №: 1 462



IBUFGDS = IBUFDS + BUFG
Go to the top of the page
 
+Quote Post
DMax
сообщение Apr 26 2010, 17:02
Сообщение #14


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 19-01-08
Из: Питер
Пользователь №: 34 234



Цитата(Mad_max @ Apr 26 2010, 20:48) *
Для CDC используйте FIFO, а то с метастабильностью четрей не оберетесь.


А то ж! Только для того, чтобы положить в FIFO, надо подать на него клок и строб записи, который через такт убрать. Строб, я пожалуй подать могу, а вот убрать его на следующем такте - хрен. Так что CDC придётся делать классической схемой для шины через флаг с двумя триггерами.
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Apr 26 2010, 17:52
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Цитата(DMax @ Apr 26 2010, 20:02) *
А то ж! Только для того, чтобы положить в FIFO, надо подать на него клок и строб записи, который через такт убрать. Строб, я пожалуй подать могу, а вот убрать его на следующем такте - хрен. Так что CDC придётся делать классической схемой для шины через флаг с двумя триггерами.

Как то давно делал интерфейс с TS201 для V-4. Лучше всего ISERDES подойдёт, если только тактовый сигнал данных подан на тактовый вход и можно задействовать локальную тактовую сеть для IO. Можно и IDDR только тактовую нужно подать отдельно с системной шины шарка для всей схемы и использовать вход наличия данных. От тактового входа данных в этом случае лучше отказаться.
Go to the top of the page
 
+Quote Post
sazh
сообщение Apr 26 2010, 18:15
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(DMax @ Apr 26 2010, 20:02) *
А то ж! Только для того, чтобы положить в FIFO, надо подать на него клок и строб записи, который через такт убрать. Строб, я пожалуй подать могу, а вот убрать его на следующем такте - хрен. Так что CDC придётся делать классической схемой для шины через флаг с двумя триггерами.

Если речь о приеме данных идет, то можно писать передним фронтом локального клока четные отсчеты, задним нечетные. Расширяя на сдвигающем регистре разрядность шины. Для регистров не нужна перезапись (клок прерывистый) А в фифо уже переписывать своей системной частотой.

http://turbobit.net/i4zl3ls2y4ky.html
Go to the top of the page
 
+Quote Post
dvladim
сообщение Apr 26 2010, 19:27
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(yuri_d @ Apr 26 2010, 12:49) *
Топология "звезда"? Если так, то в этом и есть проблема. Попробуйте переделать в точка-точка (сколько линий TCK, столько и драйверов должно быть). На самих платах тоже разветвлений не должно быть. Ну и согласовывать на обоих концах линии нужно.

Нужно вылизывать TCK. Звон на остальных линиях JTAG-а не мешает.

Ух, понаписали то.
У автора написано это:
Цитата(DMax @ Apr 26 2010, 16:15) *
LVDS-линки, которые передают по четыре бита на каждый фронт клока, но обязательно пачками, кратными 128-битам.

Тут передним/задним фронтами не обойдешся. Нужно считывать данные по восстановленному клоку или опорному с повышенной частотой. Обязательно нужно умножение частоты. И с рваным клоком будут серьезные проблемы.
Ну или не "по 4 бита на каждый фронт".
Go to the top of the page
 
+Quote Post
DMax
сообщение Apr 26 2010, 21:18
Сообщение #18


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 19-01-08
Из: Питер
Пользователь №: 34 234



Цитата(rloc @ Apr 26 2010, 20:59) *
IBUFGDS = IBUFDS + BUFG


Хм... а согласно доке от Xilinx, perfomance у BUFG хуже чем у BUFIO. Поэтому не лучше ли использовать связку IBUFDS + BUFIO?

Цитата(dvladim @ Apr 26 2010, 23:27) *
Тут передним/задним фронтами не обойдешся. Нужно считывать данные по восстановленному клоку или опорному с повышенной частотой. Обязательно нужно умножение частоты. И с рваным клоком будут серьезные проблемы.
Ну или не "по 4 бита на каждый фронт".

Я забыл написать в начале поста (казалось, очевидным), что четыре бита передаются по четырем LVDS-парам, а не по одной smile.gif Так что не надо тут умножений и восстановлений. Тем более ни один DCM и PLL по рванному клоку не будет, наверное, работать.
Go to the top of the page
 
+Quote Post
Mad_max
сообщение Apr 27 2010, 09:29
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



Цитата(DMax @ Apr 26 2010, 21:02) *
А то ж! Только для того, чтобы положить в FIFO, надо подать на него клок и строб записи, который через такт убрать. Строб, я пожалуй подать могу, а вот убрать его на следующем такте - хрен. Так что CDC придётся делать классической схемой для шины через флаг с двумя триггерами.

Зачем строб убирать-то?
Держите WEA в единице пока идет запись в порт А, потом спокойно пересаживайте
на внутренний клок, читая из порта B.
А если про классическую схему, то какое у вас соотношение клока с тайгера и внутреннего клока?
Внутренний как минимум должен быть в двое выше внешнего, а то толку от двух последовательно
стоящих триггеров никакого.
Go to the top of the page
 
+Quote Post
rloc
сообщение Apr 27 2010, 14:06
Сообщение #20


Узкополосный широкополосник
******

Группа: Свой
Сообщений: 2 316
Регистрация: 13-12-04
Из: Moscow
Пользователь №: 1 462



Цитата(DMax @ Apr 27 2010, 01:18) *
Хм... а согласно доке от Xilinx, perfomance у BUFG хуже чем у BUFIO. Поэтому не лучше ли использовать связку IBUFDS + BUFIO?


Давно работаю с Xilinx, но понять сути вопроса не в состоянии. Складывается такое впечатление, что Вы хотите или постов набрать или найти бесплатных репетиторов для обучения, не прикладывая собственных усилий для самообучения.
Go to the top of the page
 
+Quote Post
DMax
сообщение Apr 27 2010, 14:11
Сообщение #21


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 19-01-08
Из: Питер
Пользователь №: 34 234



Цитата(Mad_max @ Apr 27 2010, 13:29) *
А если про классическую схему, то какое у вас соотношение клока с тайгера и внутреннего клока?
Внутренний как минимум должен быть в двое выше внешнего, а то толку от двух последовательно
стоящих триггеров никакого.


Здесь немного не так. Тут интересно соотношение не внутреннего и внешнего клока, а внутреннего и делённого внешнего, так как меня интересуют данные после того, как они из последовательных собраны в параллельные. Здесь да - у меня клок более чем в два раза быстрее, так как там сериализация 1:8, а значит внутренний клок может быть до 4 раз меньше чем внешний, что весьма просто обеспечить. Кажется так, если ничего не напутал.
Go to the top of the page
 
+Quote Post
sazh
сообщение Apr 27 2010, 14:23
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(DMax @ Apr 27 2010, 17:11) *
а значит внутренний клок может быть до 4 раз меньше чем внешний, что весьма просто обеспечить. Кажется так, если ничего не напутал.


А шина данных 4*4*2 разрядная.
Go to the top of the page
 
+Quote Post
DMax
сообщение Apr 28 2010, 08:35
Сообщение #23


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 19-01-08
Из: Питер
Пользователь №: 34 234



Цитата(sazh @ Apr 27 2010, 18:23) *
А шина данных 4*4*2 разрядная.


Ещё раз. Шина 4 разряда, но по ней передаются данные кратные 128-битам по обоим фронтам. То есть все четверное слово передается за 16 тактов.
Go to the top of the page
 
+Quote Post
sazh
сообщение Apr 28 2010, 08:49
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(DMax @ Apr 28 2010, 11:35) *
Ещё раз. Шина 4 разряда, но по ней передаются данные кратные 128-битам по обоим фронтам. То есть все четверное слово передается за 16 тактов.


Я Вам готовую реализацию выкатил. Далее - как хотите.
Go to the top of the page
 
+Quote Post
Victor
сообщение Apr 28 2010, 14:52
Сообщение #25


Частый гость
**

Группа: Свой
Сообщений: 122
Регистрация: 21-02-05
Из: Питер
Пользователь №: 2 811



Вообще в таких ситуациях, когда тактовая есть только в момент передачи регистр (как этого не хотелось бы) на входе не поставить без дополнительного "геморроя" по вычитке из него последнего значения. Поэтому берем DPRAM на 32 или 64 бита (на SRL16) и не паримся. Такое решение предлагает и Xilinx.
Т.о. на входе имеется 2 dpram (по одной на фронт), на выходе из нее на системной спокойно вычитываем и отпускаем ACK. Можно не на системной, если она меньше линковой тактовой, а на некой промежуточной, а потом десериалайзер.


--------------------
Dies diem docet.
Go to the top of the page
 
+Quote Post
DMax
сообщение Apr 28 2010, 17:35
Сообщение #26


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 19-01-08
Из: Питер
Пользователь №: 34 234



Цитата(rloc @ Apr 27 2010, 18:06) *
Давно работаю с Xilinx, но понять сути вопроса не в состоянии. Складывается такое впечатление, что Вы хотите или постов набрать или найти бесплатных репетиторов для обучения, не прикладывая собственных усилий для самообучения.


Зачем мне набирать посты? Я, извиняюсь, не дрочу на число постов.

Я действительно не спец в ПЛИСах, т.е. написать на VHDL'е некоторый модуль я могу запросто, но вот сталкиваться уже непосредственно с тонкостями реализации Xilinx'ом клоков, DDR и LVDS мне раньше не приходилось.

По сути вопроса поясню. В доке UG-190 сказанно, что есть глобальные клоки, есть региональные клоки. В каком-то другом мануале (или в app note, уже не помню) видел утверждение, что региональные клоки имеют лучшие характеристики по сравнению с глобальными. Теперь если я правильно понимаю, то сигнал пропущенный, через BUFG попадает в глобальные клоки, через BUFR- в региональные, а через и BUFIO - в I/O clock net данного региона (или банка, вот здесь я ещё не разобрался), что и рекомендуется для source synchronous систем и именно последний я и хотел бы (следуя рекомендации) использовать.

Однако, написано, что BUFIO может запитываться только напрямую от clock capable I/O, то есть получается что сигнал пропущенный через BUFG уже не может драйвить BUFIO. Более того, не сказано в доке (если сказано, то ткните туда носом), что после того как я собираю LVDS-сигнал с помощью IBUF*DS, он продолжает оставаться clock capable, если был снят с соответствующей пары пинов. Вы говорите, что IBUFGDS = IBUFDS + BUFG. То есть я не могу на конец это цепочки подсоединить BUFIO. Однако IBUFDS + BUFIO почему-то у меня не разводится, может дело в том, что сигнал на выходе IBUFDS уже не clock capable?

Я правильно понимаю эту концепцию или я сбит с толку суффиксами G, R и IO в этих обозначениях? Или вы бесплатно не отвечаете на такие вопросы? smile.gif

Я может быть тупой и ПЛИСам не обучен, но кажется, что Xilinx пишет доки, которые не проясняют до состояния очевидности такие моменты.
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Apr 28 2010, 17:51
Сообщение #27


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Цитата(DMax @ Apr 28 2010, 20:35) *
Зачем мне набирать посты? Я, извиняюсь, не дрочу на число постов.

Я действительно не спец в ПЛИСах, т.е. написать на VHDL'е некоторый модуль я могу запросто, но вот сталкиваться уже непосредственно с тонкостями реализации Xilinx'ом клоков, DDR и LVDS мне раньше не приходилось.

По сути вопроса поясню. В доке UG-190 сказанно, что есть глобальные клоки, есть региональные клоки. В каком-то другом мануале (или в app note, уже не помню) видел утверждение, что региональные клоки имеют лучшие характеристики по сравнению с глобальными. Теперь если я правильно понимаю, то сигнал пропущенный, через BUFG попадает в глобальные клоки, а через BUFR и BUFIO - в региональные, хотя разницу между последними двумя я не особо понимаю - знаю лишь, что BUFR может делить клок, в отличие от BUFIO. Я правильно понимаю эту концепцию или я сбит с толку суффиксами G и R в этих обозначениях? Или вы бесплатно не отвечаете на такие вопросы? smile.gif

Дело не в том, что быстрее или медленнее. Просто локальная (региональная) тактовая сетка - единственный вариант работы ISERDES с прерывистой тактовой.
Go to the top of the page
 
+Quote Post
DMax
сообщение Apr 28 2010, 18:02
Сообщение #28


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 19-01-08
Из: Питер
Пользователь №: 34 234



Цитата(dmitry-tomsk @ Apr 28 2010, 21:51) *
Дело не в том, что быстрее или медленнее. Просто локальная (региональная) тактовая сетка - единственный вариант работы ISERDES с прерывистой тактовой.


Решение с ISERDES'ами мне не очень нравится. Я решил остановится на IDDR. Всё, чего я не понимаю, это последовательность комбинации примитивов IBUF*DS, BUFIO, BUFR и того, какие конкретно надо использовать, чтобы грамотно сделать клоки.

Варианты:
1) IBUFDS => IDDR
2) IBUFGDS => IDDR
3) IBUFDS => BUFIO => IDDR (не разводится почему-то)
4) IBUFGDS => BUFIO => IDDR (не проверял на тему разведется или нет)
5) IBUFGDS => BUFR => IDDR (тоже ещё не проверял)

Кроме того, если останавливаться на варианте с BUFIO, то не понятно каким клоком тактовать логику, которая обрабатывает выходы IDDR, так как BUFIO вроде бы не может тактовать логику.
Go to the top of the page
 
+Quote Post
Victor
сообщение Apr 29 2010, 08:50
Сообщение #29


Частый гость
**

Группа: Свой
Сообщений: 122
Регистрация: 21-02-05
Из: Питер
Пользователь №: 2 811



Если вас не пугает "повисший" последний бит, то можете и локальный клок использовать.
Цепочка такая:
Код
Clock capable pin (или дифф пара, которая приходит на CC-pin) -> IBUFDS -> BUFIO ->
-> только IDDR.

с того же IBUFDS берем и на BUFR:
Код
Clock capable pin (или дифф пара, которая приходит на CC-pin) -> IBUFDS -> BUFR ->
-> логика съема данных с IDDR и десериалайзера.


если клок введен не на Clock capable, то BUFIO и BUFR использовать не получится.


--------------------
Dies diem docet.
Go to the top of the page
 
+Quote Post

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

 


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


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