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

 
 
> Xilinx timing constraints: что необходимо для простейшей транзакции?, Передаю между 2-я Virtex6 шину 32 бита на 250 МГц, ошибки в данных
Antgol
сообщение Jan 31 2014, 10:56
Сообщение #1





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



Здравствуйте!

Глобальный вопрос такой: между 2-я Xilinx FPGA передаются данные и клок (не дифференциальный), по которому эти данные меняются; какие при этом должны быть заданы constraints?

Теперь опишу, в чем собственно проблема. Я передаю данные из Virtex 6 xc6vlx75t-2ff784 в Virtex 6 vc6clx760-1ff1760 (из дочерней карты с высокоскоростным трансивером в плату HAPS, одна плата вставляется в другую через разъем HapsTrack II). Данные меняются по клоку 250 МГц (он генерируется хард-ядром PCI-Express из референсного клока 100 МГц). Передается шина данных Data 32 бита, сигнал валидности Valid и сам клок Clk. На выходе одной ПЛИС и на входе другой использую регистры для Data и Valid по rising edge Clk (чтобы их можно было разместить рядом с пинами для минимизации задержки). Клок передается по пинам, подсоединенным к клоковым цепям каждой ПЛИС. Использую вот такой constraint в каждой ПЛИС:

NET "clk" TNM_NET = "clk";
TIMESPEC "TS_clk" = PERIOD "clk" 250 MHz HIGH 50.00%;

Проблема в том, что данные иногда приходят битые, например, х“97 2B FF FF” вместо х“97 6F FF FF”. Ошибки возникают на разных битовых позициях, похоже на рассогласование данных и клока на приемной стороне.
Нужно ли использовать какие-либо дополнительные constraints на сигналы Data и Valid, что-то вроде OFFSET IN или From-to? Ситуация-то вроде бы простейшая и вполне банальная. Книжку “Constraints Guide” Xilinx читал, пока не помогло..
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Torpeda
сообщение Jan 31 2014, 15:44
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424



Цитата(Antgol @ Jan 31 2014, 13:56) *
Здравствуйте!

Глобальный вопрос такой: между 2-я Xilinx FPGA передаются данные и клок (не дифференциальный), по которому эти данные меняются; какие при этом должны быть заданы constraints?

Теперь опишу, в чем собственно проблема. Я передаю данные из Virtex 6 xc6vlx75t-2ff784 в Virtex 6 vc6clx760-1ff1760 (из дочерней карты с высокоскоростным трансивером в плату HAPS, одна плата вставляется в другую через разъем HapsTrack II). Данные меняются по клоку 250 МГц (он генерируется хард-ядром PCI-Express из референсного клока 100 МГц). Передается шина данных Data 32 бита, сигнал валидности Valid и сам клок Clk. На выходе одной ПЛИС и на входе другой использую регистры для Data и Valid по rising edge Clk (чтобы их можно было разместить рядом с пинами для минимизации задержки). Клок передается по пинам, подсоединенным к клоковым цепям каждой ПЛИС. Использую вот такой constraint в каждой ПЛИС:

NET "clk" TNM_NET = "clk";
TIMESPEC "TS_clk" = PERIOD "clk" 250 MHz HIGH 50.00%;

Проблема в том, что данные иногда приходят битые, например, х“97 2B FF FF” вместо х“97 6F FF FF”. Ошибки возникают на разных битовых позициях, похоже на рассогласование данных и клока на приемной стороне.
Нужно ли использовать какие-либо дополнительные constraints на сигналы Data и Valid, что-то вроде OFFSET IN или From-to? Ситуация-то вроде бы простейшая и вполне банальная. Книжку “Constraints Guide” Xilinx читал, пока не помогло..

1) STA констрейны нужны для того чтобы заставить тул выполнить необходимые вам условия.
Для этого надо сначала составить список этих условий.
Неработоспособность устройства по неизвестным причинам не есть основанием для создания констрейнов.
2) дпаже если вы никаких констрейнов не задали, тул всёравно считает все сигналы синхронными и применяет дефолтные констрейны к ним.
4) В вашем случае алгоритм действия такой:
- При помощи осцилографа понять почему данные приходят битыми (или задержки в линии не те, или помехи возникают из-за рассогласования линии передачи или кростолка и.т.д.)
- Если проблема именно в задержках в линии передачи (не согласованность данных и клоков и.т.п) то указать, что именно надо изменить и почему дефолтные правила STA не помогли.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Antgol   Xilinx timing constraints: что необходимо для простейшей транзакции?   Jan 31 2014, 10:56
- - AJIEKCEu   Пробовали считать выполнение условий Setup-Hold на...   Jan 31 2014, 11:43
|- - Antgol   Цитата(AJIEKCEu @ Jan 31 2014, 15:43) Про...   Jan 31 2014, 12:15
|- - AJIEKCEu   Цитата(Antgol @ Jan 31 2014, 16:15) А мож...   Jan 31 2014, 13:32
- - o_khavin   Цитата(Antgol @ Jan 31 2014, 14:56) Здрав...   Jan 31 2014, 13:33
- - Bad0512   Цитата(Antgol @ Jan 31 2014, 17:56) Здрав...   Feb 1 2014, 13:42
- - Antgol   AJIEKCEu, спасибо за ссылки, изучаю мануалы. Цита...   Feb 3 2014, 06:52
|- - Torpeda   Цитата(Antgol @ Feb 3 2014, 09:52) Torped...   Feb 3 2014, 07:32
|- - SM   Цитата(Antgol @ Feb 3 2014, 10:52) на 125...   Feb 3 2014, 08:14
- - Antgol   ЦитатаСудя по проявлению проблемы вам скорее всего...   Feb 3 2014, 09:33
|- - SM   Цитата(Antgol @ Feb 3 2014, 13:33) я удво...   Feb 3 2014, 09:46
- - krux   посмотрите ещё xapp856   Feb 3 2014, 09:51
- - Antgol   ЦитатаНу займитесь, значит, упополамливанием с пер...   Feb 3 2014, 12:02
|- - SM   Цитата(Antgol @ Feb 3 2014, 16:02) SM, а ...   Feb 3 2014, 12:04
|- - AJIEKCEu   Цитата(SM @ Feb 3 2014, 16:04) Хорошую це...   Feb 4 2014, 06:27
- - Yuris   Хороший совет был посчитать Setup/Hold для начала....   Feb 7 2014, 07:58
- - Corner   Вопрос раз - как разведена плата? Все проводники в...   Feb 7 2014, 14:26
- - Antgol   Прошу прощения за то, что молча бросил тему - закр...   Mar 12 2014, 03:32


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

 


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


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