Jump to content

    
Sign in to follow this  
Igor_FPGA

Вопрос по constraints Xilinx

Recommended Posts

Добрый вечер!

Возникли несколько вопросов по временным ограничениям в Xilinx.

1. В кристалл заводится N групп сигналов (грубо говоря некая шина данных). Каждая группа имеет свою собственную частоту.

Задержка от входа ПЛИС до вычислительной логики для каждой группы не принципиальна, но важно, чтобы все сигналы

группы были синхронны, максимум разбегались друг относительно друга на 1-1.5 нс.

Если бы в каждой группе был клок, то как я понимаю можно было бы задать Timing Name Net с фиксированным периодом. Я прав?

2. Клока в каждой группе нет, он синтезируется внутри ПЛИС, уникальный для каждой группы. Как синхронизировать сигналы

между собой и ограничить их разбег друг относительно друга?

3. Некая группа сигналов была синтезированна внутри ПЛИС. Время прохождения до выходных пинов не принципиально, но важно, чтобы они не разбегались друг относительно друга (на 1-2 нс). Клок имеется. Как это можно реализовать?

 

Спасибо.

Share this post


Link to post
Share on other sites

Нужно использовать входные/выходные триггеры ПЛИС, в пределах одного банка сигналы будут защелкиваться и выводиться практически одновременно.

Share this post


Link to post
Share on other sites
Добрый вечер!

Возникли несколько вопросов по временным ограничениям в 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" - для одиночного сигнала.

Share this post


Link to post
Share on other sites

1) Для каждной группы сигналов требуется задать:

а) Ограничение OFFSET IN BEFORE для проверки и дальнейшей корректировки (если потребуется) фазировки сихросигнала и линий данных. Защелкнуть данные в первом слое триггеров;

б) Дать знать софту на сколько быстрым будет синхросигнал, задав PERIOD.

в) Если с данного тактового домена сигналы пойдут наружу ПЛИС, установить фазировку синхросигнала и шины данных, которые идут наружу при помощи OFFSET OUT AFTER;

 

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

 

2) Для ввода асинхронных сигналов применяется несколько способов.

а) Можно поставить ФИФО или схему с HANDSHAIKING.

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

 

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

 

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this