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

 
 
> Временные констраины синхронных интерфейсов, Что надо и не надо констраинить и как это делать
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

Сообщений в этой теме
- 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.   Не могу с Вами согласиться так как это только если...   Nov 18 2015, 12:36
- - 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 Текстовая версия Сейчас: 18th July 2025 - 22:23
Рейтинг@Mail.ru


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