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

 
 
> Как работать по обоим фронтам клока?, Сопрягаем 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
 
Start new topic
Ответов
sazh
сообщение Apr 26 2010, 14:17
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 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
DMax
сообщение Apr 26 2010, 16:28
Сообщение #3


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

Группа: Свой
Сообщений: 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
Mad_max
сообщение Apr 26 2010, 16:48
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 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, 17:02
Сообщение #5


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

Группа: Свой
Сообщений: 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
sazh
сообщение Apr 26 2010, 18:15
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 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

Сообщений в этой теме
- DMax   Как работать по обоим фронтам клока?   Apr 26 2010, 12:15
- - bogaev_roman   ЦитатаТеоретически можно попробовать сделать два п...   Apr 26 2010, 12:30
|- - DMax   Цитата(bogaev_roman @ Apr 26 2010, 16:30)...   Apr 26 2010, 12:34
|- - DmitryR   if(falling_edge(clk)) input_neg<=input; end ...   Apr 26 2010, 13:24
- - DMax   В общем мои изыскания приводят к тому, что надо по...   Apr 26 2010, 13:53
|- - rloc   Цитата(DMax @ Apr 26 2010, 17:53) В общем...   Apr 26 2010, 15:33
|- - faa   Цитата(sazh @ Apr 26 2010, 18:17) У xilin...   Apr 26 2010, 15:08
|- - rloc   Цитата(DMax @ Apr 26 2010, 20:28) А IDDR...   Apr 26 2010, 16:41
||- - DMax   Цитата(rloc @ Apr 26 2010, 20:41) Загляни...   Apr 26 2010, 16:54
||- - rloc   IBUFGDS = IBUFDS + BUFG   Apr 26 2010, 16:59
||- - DMax   Цитата(rloc @ Apr 26 2010, 20:59) IBUFGDS...   Apr 26 2010, 21:18
||- - rloc   Цитата(DMax @ Apr 27 2010, 01:18) Хм... а...   Apr 27 2010, 14:06
||- - DMax   Цитата(rloc @ Apr 27 2010, 18:06) Давно р...   Apr 28 2010, 17:35
||- - dmitry-tomsk   Цитата(DMax @ Apr 28 2010, 20:35) Зачем м...   Apr 28 2010, 17:51
||- - DMax   Цитата(dmitry-tomsk @ Apr 28 2010, 21...   Apr 28 2010, 18:02
|- - dmitry-tomsk   Цитата(DMax @ Apr 26 2010, 20:02) А то ж...   Apr 26 2010, 17:52
|- - Mad_max   Цитата(DMax @ Apr 26 2010, 21:02) А то ж...   Apr 27 2010, 09:29
|- - DMax   Цитата(Mad_max @ Apr 27 2010, 13:29) А ес...   Apr 27 2010, 14:11
|- - sazh   Цитата(DMax @ Apr 27 2010, 17:11) а значи...   Apr 27 2010, 14:23
|- - DMax   Цитата(sazh @ Apr 27 2010, 18:23) А шина ...   Apr 28 2010, 08:35
|- - sazh   Цитата(DMax @ Apr 28 2010, 11:35) Ещё раз...   Apr 28 2010, 08:49
- - dvladim   Цитата(yuri_d @ Apr 26 2010, 12:49) Топол...   Apr 26 2010, 19:27
- - Victor   Вообще в таких ситуациях, когда тактовая есть толь...   Apr 28 2010, 14:52
- - Victor   Если вас не пугает "повисший" последний ...   Apr 29 2010, 08:50


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

 


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


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