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

 
 
 
Reply to this topicStart new topic
> Вопрос по constraints Xilinx, Прошу помочь с временными ограничениями в Xilinx
Igor_FPGA
сообщение Nov 28 2012, 19:17
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 25-11-12
Из: Москва
Пользователь №: 74 550



Добрый вечер!
Возникли несколько вопросов по временным ограничениям в Xilinx.
1. В кристалл заводится N групп сигналов (грубо говоря некая шина данных). Каждая группа имеет свою собственную частоту.
Задержка от входа ПЛИС до вычислительной логики для каждой группы не принципиальна, но важно, чтобы все сигналы
группы были синхронны, максимум разбегались друг относительно друга на 1-1.5 нс.
Если бы в каждой группе был клок, то как я понимаю можно было бы задать Timing Name Net с фиксированным периодом. Я прав?
2. Клока в каждой группе нет, он синтезируется внутри ПЛИС, уникальный для каждой группы. Как синхронизировать сигналы
между собой и ограничить их разбег друг относительно друга?
3. Некая группа сигналов была синтезированна внутри ПЛИС. Время прохождения до выходных пинов не принципиально, но важно, чтобы они не разбегались друг относительно друга (на 1-2 нс). Клок имеется. Как это можно реализовать?

Спасибо.
Go to the top of the page
 
+Quote Post
Opex
сообщение Nov 29 2012, 12:05
Сообщение #2


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

Группа: Свой
Сообщений: 75
Регистрация: 13-03-11
Из: Екатеринбург
Пользователь №: 63 574



Нужно использовать входные/выходные триггеры ПЛИС, в пределах одного банка сигналы будут защелкиваться и выводиться практически одновременно.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Nov 29 2012, 12:18
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Igor_FPGA
OFFSET Constraints я думаю существенно прояснят вам ситуацию wink.gif
Go to the top of the page
 
+Quote Post
ovs_pavel
сообщение Nov 30 2012, 05:17
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 275
Регистрация: 19-05-06
Пользователь №: 17 249



Цитата(Igor_FPGA @ Nov 28 2012, 22:17) *
Добрый вечер!
Возникли несколько вопросов по временным ограничениям в Xilinx.
1. В кристалл заводится N групп сигналов (грубо говоря некая шина данных). Каждая группа имеет свою собственную частоту.
Задержка от входа ПЛИС до вычислительной логики для каждой группы не принципиальна, но важно, чтобы все сигналы
группы были синхронны, максимум разбегались друг относительно друга на 1-1.5 нс.
Если бы в каждой группе был клок, то как я понимаю можно было бы задать Timing Name Net с фиксированным периодом. Я прав?
2. Клока в каждой группе нет, он синтезируется внутри ПЛИС, уникальный для каждой группы. Как синхронизировать сигналы
между собой и ограничить их разбег друг относительно друга?
3. Некая группа сигналов была синтезированна внутри ПЛИС. Время прохождения до выходных пинов не принципиально, но важно, чтобы они не разбегались друг относительно друга (на 1-2 нс). Клок имеется. Как это можно реализовать?

Спасибо.


Орех правильно написал. Пропустите эти сигналы внутри ПЛИС через триггера, которые необходимо разместить в IOB'ах. Задайте в ucf-файле следующие констрейны:

INST "rg_a*" IOB = true ;
INST "rg_b" IOB = true ;

где "rg_a" - для шины (имя входного регистра), а "rg_b" - для одиночного сигнала.
Go to the top of the page
 
+Quote Post
dm.pogrebnoy
сообщение Nov 30 2012, 11:47
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933



1) Для каждной группы сигналов требуется задать:
а) Ограничение OFFSET IN BEFORE для проверки и дальнейшей корректировки (если потребуется) фазировки сихросигнала и линий данных. Защелкнуть данные в первом слое триггеров;
б) Дать знать софту на сколько быстрым будет синхросигнал, задав PERIOD.
в) Если с данного тактового домена сигналы пойдут наружу ПЛИС, установить фазировку синхросигнала и шины данных, которые идут наружу при помощи OFFSET OUT AFTER;

Этим вы полностью покроете требуемые ограничения по конкретной шине данных. Разбег сигналов будет прослежен автоматически, и не будет превышать допустимых значений. Маловероятно что вам где-то, в синхронной схеме, нужно явно указывать расфазировку. Тем не меннее, для этого есть констрейнт MAXSKEW.

2) Для ввода асинхронных сигналов применяется несколько способов.
а) Можно поставить ФИФО или схему с HANDSHAIKING.
б) Если нет внешнего синхросигнала, требуется схема синхронизации, состоящая из двух последовательно включенных триггеров, тактируемых внутренним синхросигналом. На вход данных первого триггера заводится асинхронный сигнал. Идеально, если путь данные между этими двумя триггерами будет минимальным. Для этого можно применить констрейнт DATAPATHONLY и др.

Естественно для синхронной схемы внутри ПЛИС необходимо установить ограничение PERIOD.

3) Идеальным способом будет использовать триггеры, которые расположены в непосредственной близости (внутри) Блоков Ввода-Вывода. Это позволит выдать сигналы наружу максимально синхронными, задержки цепей в корпусе ПЛИС, от Блока Ввода-Вывода до контактной площадки, по идее, можно узнать из IBIS модели конкретной микросхемы.


--------------------
Go to the top of the page
 
+Quote Post

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

 


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


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