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

 
 
> Временные констраины синхронных интерфейсов, Что надо и не надо констраинить и как это делать
Golikov A.
сообщение Nov 18 2015, 07:47
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Всем привет!

Имеем
SPI интерфейс и синхронный интерфейс с шинной данных.

FPGA данные по SPI принимает - передает как мастер, и пробрасывает через себя (от внешнего мастера, внешнему слейву), подменяя некоторые данные.

Интересует как это все правильно в необходимой степени законстраинить, пусть будет для Xilinx.

1. Для выходных сигналов я могу написать констраин
OFFSET = OUT 10 ns AFTER "global_clk" REFERENCE_PIN "spi_clk";
тут все понятно, я хоть и пишу относительно входного клока, но указывая опорный пин, все пересчитается для него и все счастливы.
1.1 что делать с входными сигналами? Входного то клока относительно которого написать констраин нету!
Формально мне надо обозначит путь данных от внешней ноги до защелкивающего регистра, с учетом пути данных от выходного клокового регистра.
То есть когда я меняю регистр управляющий клоком из 1 в 0, через какое-то время внешнее устройство увидит этот сигнал, выставит по нему данные, и данные попадут на вход регистра приемника.

Вот как такое правильно описать?
Пробовал написать FROM:TO от FFs до PADs и обратно, но в таком раскладе не учитывается разница между временем прихода клоков на выходной регистр и входной.


2. При пробросе данных возникает проблема и с выходными данными. Мне надо чтобы внешний мастер общался с внешним слейвом, а я иногда влезал в этот обмен и подменял данные.

Тут уже нет опорного выходного клока, я формирую и клок и данные, копируя поведение мастера, и может быть такая штука. Я защелкиваю данные в регистре выходных данных, и данные лезут наружу. Потом я защелкиваю клок в регистре, и они опять же идет наружу. Я могу обозначить время от регистра до ноги, но я опять не могу задать разницу между клоками этих регистров, и теоретически может так оказаться что сигнал клока придет не после, а до данных. И вот что блин с этим всем делать?

Какова вообще в цифрах может набегать разница во времени, когда поднимается клок на разных регистрах?

3. Ну и на закуску, если у нас не SPI а параллельный синхронный интерфейс. Тут же надо еще следить за тем чтобы шина не расползлась до клока. То есть если даже есть какой-то способ руками учесть разницу прохождения клока между 2 регистрами, то для шины это надо будет учесть для значительно большего числа регистров и ручные способы уже недопустимы.

Вот собственно такие мысли меня одолевают.... Кто что посоветует?

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Nov 18 2015, 12:36
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Не могу с Вами согласиться так как это только если есть источник и цель пути и оба этих элемента висят на клоке. А в рассматриваемом случае 2 ячейки формально независимы, и потому между ними никто не рассматривает SKEW, ведь FPGA то не знает что данные на входе одной появляются от действий другой... это же внешняя схема
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Golikov A.   Временные констраины синхронных интерфейсов   Nov 18 2015, 07:47
- - Golikov A.   картинка для увеличения понятности   Nov 18 2015, 08:50
- - Lerk   Отвечу вообще не по теме. Если вы хотите работать ...   Nov 18 2015, 11:04
- - Golikov A.   Даже если забыть вообще о прокси. Для медленных SP...   Nov 18 2015, 11:37
|- - RobFPGA   Приветствую! Цитата(Golikov A. @ Nov 18 ...   Nov 18 2015, 11:55
- - Golikov A.   А есть какие-то данные сколько clock skew через ве...   Nov 19 2015, 08:32
|- - Maverick   Цитата(Golikov A. @ Nov 19 2015, 10:32) ...   Nov 19 2015, 08:42
|- - RobFPGA   Приветствую! Цитата(Golikov A. @ Nov 19 ...   Nov 19 2015, 09:06
- - Golikov A.   Да но только мастер SPI может запросить данные и ж...   Nov 19 2015, 09:01
- - Golikov A.   А как пользоваться этой табличкой? Вот я взял да...   Nov 19 2015, 09:43
|- - Mad_max   А что насчет того чтобы для двух регистров (t1 и t...   Nov 19 2015, 10:30
- - Golikov A.   Это как я понимаю позволит минимизировать время вв...   Nov 19 2015, 10:55
- - Lerk   Цитата(Golikov A. @ Nov 19 2015, 13:55) Э...   Nov 20 2015, 11:55


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

 


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


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