Перейти к содержанию
    

Работе по фронтам не клокового входа

Всем привет!

 

Волею судеб так получилось что spi клок пришелся на не клоковый вход.

 

Чем грозит использование его в конструкциях вида

 

always @(posedge clk_pin)
begin

end

 

?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чем грозит использование его в конструкциях вида

Геморроем.

Хотя, многое зависит от частоты этого клока.

Как вариант, можно взять какой-нить имеющийся в наличии клок с частотой в несколько раз больше, ловить им сабжевый клок как обычный сигнал и формировать en для логики обработки данных.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чем грозит использование его в конструкциях

 

Ничем. SPI обычно слишком медленный, чтобы создать какие-то проблемы..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет!

 

Волею судеб так получилось что spi клок пришелся на не клоковый вход.

 

Чем грозит использование его в конструкциях вида

 

always @(posedge clk_pin)
begin

end

 

?

 

ПМСМ

 

Может не развестись про очень плотном заполнении (теоретически - но маловероятно)

Больше рискуете, если CPLD - там ресурсы по интерконнекту ограничены.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Волею судеб так получилось что spi клок пришелся на не клоковый вход.

Чем грозит использование его в конструкциях вида

always @(posedge clk_pin)

И почему никто не вспомнил о несинхронных тактовых доменах и метастабильности? o_khavin дал правильный совет: нужно все входные сигналы пропустить через синхронизаторы, чтобы работать в одном тактовом домене. При примерно равных частотах применить другую технику, но домены синхронизировать придется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И почему никто не вспомнил о несинхронных тактовых доменах и метастабильности?

потому что в вопросе ничего не сказано про разные несинхронные клоковые домены.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

потому что в вопросе ничего не сказано про разные несинхронные клоковые домены.

Вы всерьез думаете, что по задумке ТС весь дизайн ФПГА тактируется от SPI? :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И почему никто не вспомнил о несинхронных тактовых доменах и метастабильности?

 

Вы забыли упомянуть о глобальном потеплении и мировом еврействе.

Всё это никак не зависит от того, через какой пин вводить клок.

 

На всякий случай для танкистов повторяю предельно недвусмысленно:: от того, что клок SPI заходит не с глобального пина, вся остальная структура не меняется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот... народ отошел от праздников:) то за 3 дня ни одного ответа, то только отвернулся и сразу много...:)

 

Вся схема естествен работает от нормального клока.

 

имеется 2 SPI которые так завели, потому что человек делавший схему планировал их синхронизовать на основной клок.

 

SPI в максимуме может иметь 50 МГц, а основной клок 100 МГц. И естественно как всегда бывает, стали SPI слейвами. Потому что со стороны проца SPI в слейве в 12 раз медленнее, потому с того конца SPI мастер.

 

SPI слайв на 50 МГц, для основного клока 100 МГц синхронным сделать не реально, на спартане 6 не хватило сил даже на 200 МГц запустить прием - предачу, чтобы ловить фронты.

 

Вот и дальше странности и геморрой.

 

Я реализовал 2 асинхронных SPI которые принимают - передают по своим клокам, а результат уже через флаги синхронизируется с основным клоком.

На одном SPI только прием данных

На втором SPI прием данных, и в зависимости от принятых передача

(прием и передача никогда не идет одновременно)

В таком режиме все прекрасно работает, уже месяцы времени наработок, в сообщениях контрольная сумма, ошибок не возникает, все четко.

 

теперь новое устройство и первый SPI решил переписать на прием-передачу, чтобы он одновременно передавал и принимал. И вот тут все сломалось. По какой - то причине то ли передача то ли прием сдвигается на 1 бит, причем в моделсиме все четко, а в железе кирдык. Первый проект разводился в нескольких модификациях и SPI всегда работали без сбоя, а тут на пустом кристалле (пока добавил 4 модуля) ничего не работает...

 

Мне казалось что использовать клоковым сигнал с неклокового входа будет грозить тем что модули на этом сигнале в разных частях кристала будут работать с разными задержками, и потому использовать его для 1 модуля в целом безопасно.

 

Теперь вот думаю, то ли это этот конкретный результат платы мне достался с какой -то проблемой, то ли действительно есть скрытые проблемы...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне казалось что использовать клоковым сигнал с неклокового входа будет грозить тем что модули на этом сигнале в разных частях кристала будут работать с разными задержками, и потому использовать его для 1 модуля в целом безопасно.

а вы посмотрите на итоговой разложившейся схеме что случилось с этим clk. он должен был через глобальные буфера выйти на цепи глобальной синхронизации и весь кусок связанной с ним схемы должен работать синхронно без перекосов. можно законстрейнить с запасом и посмотрееть ругается ли раскладчик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я поддержу "Dr.Alex" . Действительно SPI слишком медленный протокол.

При использовании постороннего скоростного клока потребуется, как выразился Tiro, "пропустить через синхронизаторы"по сути это просто входные тригеры на сигналах SPI.

Случай для CPLD ещё проще, там даже временных проблем возникнуть не может.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я поддержу "Dr.Alex" . Действительно SPI слишком медленный протокол.

Какое вообще отношение частота имеет к метастабильности?

 

Теперь вот думаю, то ли это этот конкретный результат платы мне достался с какой -то проблемой, то ли действительно есть скрытые проблемы...

Мы тоже подумаем, если Вы таки сообщите, про какой конкретно кристалл идёт речь и на какие конкретно ноги заведён сабжевый клок.

 

Мне казалось что использовать клоковым сигнал с неклокового входа будет грозить тем что модули на этом сигнале в разных частях кристала будут работать с разными задержками, и потому использовать его для 1 модуля в целом безопасно.

Обычно рутер вытаскивает клок на глобальное дерево так быстро, как сможет. Проблема в том, что на отрезке от пина до глобального дерева, клок бежит по линиям, для него не предназначенным. В результате его характеристики (длительность фронтов, к примеру) выходят за рамки, для которых считается тайминг. После этого анализ тайминга может стать весьма далёким от действительности.

Изменено пользователем o_khavin

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Правильно ли что сигналы не различимы кроме сложности соблюдения констраинов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...