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

 
 
8 страниц V  « < 4 5 6 7 8 >  
Reply to this topicStart new topic
> Работе по фронтам не клокового входа, чем черевато?
ZASADA
сообщение Jan 8 2014, 09:37
Сообщение #76


Знающий
****

Группа: Свой
Сообщений: 738
Регистрация: 13-01-11
Из: Минск
Пользователь №: 62 210



делал неоднократно. раньше большинство моих схем работало именно по фронту/срезу, что уменьшало на пару тактов общую задержку при обработке. но с ростом частот все упирается в описанную ТС проблему и теперь все мои схемы работают только одному фронту.
а абстрактный спидометр на пустом кристалле не покажет существенной разницы.
пс. кстати сам xilinx где-то об этом писал.
Go to the top of the page
 
+Quote Post
Torpeda
сообщение Jan 8 2014, 09:40
Сообщение #77


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424



Цитата(Golikov A. @ Jan 2 2014, 22:06) *
Всем привет!

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

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

Код
always @(posedge clk_pin)
begin

end


?

Ограничением максимально реализуемой частоты SPI... больше ничем....
Go to the top of the page
 
+Quote Post
ZASADA
сообщение Jan 8 2014, 12:40
Сообщение #78


Знающий
****

Группа: Свой
Сообщений: 738
Регистрация: 13-01-11
Из: Минск
Пользователь №: 62 210



Цитата(Golikov A. @ Jan 8 2014, 12:17) *
...
Приди нога на клоковую всего этого бы не было.

Можно ли в такой ситуации считать что "проблема не в том что сигнал приходит на не специализированную ногу"? Мне кажется нет. А вот для решения данной проблемы потребовались констрейны, которые породили вторую проблему. А именно как сделать холд.

я так понял, что проблема была решена не констрейнами, а сменой фронтов. И вход как был неклоковый, так и остался. Так если вход не изменился, а проблема решена изменением внутренней схемы - можно ли считать, что проблема во входе?
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 8 2014, 12:42
Сообщение #79


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



самое главное тут, что нельзя считать, что проблема вообще решена, пока нет правильно указанных констрейнов, и отчета анализатора таймингов об их исполнении на всех углах температуры, питания и процесса. Что "оно типа заработало тут и сейчас" не означает, что проблема решена.
Go to the top of the page
 
+Quote Post
ZASADA
сообщение Jan 8 2014, 12:51
Сообщение #80


Знающий
****

Группа: Свой
Сообщений: 738
Регистрация: 13-01-11
Из: Минск
Пользователь №: 62 210



в моем процессоре MISO hold time after SPCK rises = 0 ns
можно считать, что проблема решена на всех углах температуры, питания и процесса ?
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 8 2014, 13:07
Сообщение #81


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



А во вполне конкретном процессоре AM3517, например, у порта MCSPI Tsu = 4нс, Th=3нс, и что? Я сильно не уверен, что ТС работает с Вашим процессором, скорее с каким то реальным, у которого есть реальный Th.
Go to the top of the page
 
+Quote Post
ZASADA
сообщение Jan 8 2014, 13:54
Сообщение #82


Знающий
****

Группа: Свой
Сообщений: 738
Регистрация: 13-01-11
Из: Минск
Пользователь №: 62 210



мне кусок pdf выложить, чтобы вы поверили в существование нормальных нетормознутых процессоров?
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 8 2014, 14:09
Сообщение #83


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Это все частности, "мой процессор", "не мой процессор". В общем и целом следует все законстрейнить и убедиться в исполнении констрейнов. А не догадками пользоваться, и терминологией "а может заработает, если тут и сейчас работает".
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jan 8 2014, 14:55
Сообщение #84


Гуру
******

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



Честно не хрена не знаю про свой процессорsm.gif В целом угнетает что времянка SPI вообще не указана, написано по падающему данные ставьте, по восходящему защелкивайте. Больше в мануале времянки я не нашел, это LPС1768. Скорее всего он действительно с 0 задержкой, но люблю что-то более надежное чем скорее всего.

Слово проблема стоит понимать не в значении затруднение, а в значении задача. Глобально я хотел знать что если вдруг по каким то причинам нужно использовать как клок сигнал с не клокового входа что для этого надо сделать. Почему бытует мнение что этого делать нельзя, что это кончиться геморроем, что так никто не делает (см. первые ответы в теме)?

Ответом для себя на данный момент считаю что все можно, никаких ограничений кроме частотных нет, и всего только надо правильно описать констрейны и следить за тем чтобы они сошлись.


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

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





И SМ прав, я в этой теме пытался уйти от частности, потому и не говорил на какую ногу заведен клок, и сигнал, и какой кристалл. Нет смысла столько сил тратить на конкретную ситуацию, это как бы исследование в целом!
Go to the top of the page
 
+Quote Post
Victor®
сообщение Jan 8 2014, 15:04
Сообщение #85


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(Golikov A. @ Jan 8 2014, 17:55) *
Честно не хрена не знаю про свой процессор sm.gif В целом угнетает что времянка SPI вообще не указана, написано по падающему данные ставьте, по восходящему защелкивайте. Больше в мануале времянки я не нашел, это LPС1768.


Плохо читали
http://www.nxp.com/documents/data_sheet/LP...66_65_64_63.pdf
Тут все написано и нарисовано (с. 62.)


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 8 2014, 15:12
Сообщение #86


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Golikov A. @ Jan 8 2014, 18:55) *
В целом угнетает что времянка SPI вообще не указана,


Еще как указана.

tSPIDSU SPI data set-up time 0 ns
tSPIDH SPI data hold time 2*Tcy(PCLK)-5 ns

Так что у Вас как раз то сетап нулевой, с ним можно не париться. А вот HOLD - всем холдам холд.


ЗЫ
Tspicyc = 79.6 нс, а это 12.563 Мгц. Какие вообще 100 МГц или 50 МГц могут быть? Знаете, до чего разгон доводит? Попробуйте спросить Шумахера :D
Go to the top of the page
 
+Quote Post
Джеймс
сообщение Jan 8 2014, 15:19
Сообщение #87


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 20-01-06
Пользователь №: 13 399



Цитата(Golikov A. @ Jan 8 2014, 18:55) *
Честно не хрена не знаю про свой процессорsm.gif

Ну почему же ничего?

стр. 62 - 64
стр. 29
Maximum SPI data bit rate of 12.5 Mbit/s
(и какие тут 25,50, 100 MHz ??)
кстати они не зря упоминают 100MHz системную частоту, поскольку внутренний контроллер _очевидно_ не использует SPI CLK как тактовую частоту, а выделяет фронты

И ошибки Ваши в данных в направлении "FPGA" -> "проц" очевидно связаны с тем что вы "загнали" частоту SPI в 2-4 выше раза разрешенной, и контроллер в LPC уже перестает корректно работать
Прикрепленные файлы
Прикрепленный файл  LPC1769.pdf ( 912.32 килобайт ) Кол-во скачиваний: 14
 
Go to the top of the page
 
+Quote Post
ZASADA
сообщение Jan 8 2014, 17:05
Сообщение #88


Знающий
****

Группа: Свой
Сообщений: 738
Регистрация: 13-01-11
Из: Минск
Пользователь №: 62 210



Цитата(SM @ Jan 8 2014, 17:09) *
Это все частности, "мой процессор", "не мой процессор". В общем и целом следует все законстрейнить и убедиться в исполнении констрейнов. А не догадками пользоваться, и терминологией "а может заработает, если тут и сейчас работает".

не констрейнить надо что ни поподя, а нормальную архитектектуру прорабатывать и реализовывать. тот же hold для вашего AM3517 легко реализовать аппаратно синхронными схемами при незначительных аппаратных издержках.

ну а запускать SPI 50МГц на LPС1768 это вообще финиш.
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 8 2014, 17:14
Сообщение #89


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(ZASADA @ Jan 8 2014, 21:05) *
не констрейнить надо что ни поподя, а нормальную архитектектуру прорабатывать и реализовывать.


Маловато Вы ASIC-ов видимо делали. Одно другому не мешает. Надо делать И то, И это. 100% покрытие констрейнами сигналов с важными времянками также необходимо, как и правильная архитектура. Не надо путать две совершенно разные вещи - выполнение констрейна - это ГАРАНТИЯ работоспособности, гарантия полученная от разработчика архитектуры (будь то ПЛИС, будь то заказная ИМС). И полученная в виде отчета STA без отрицательных слаков. Необконстрейненный путь - отсутствие какой либо гарантии по этому пути - Вы интуитивно думаете, что там все ОК, потому что там "якобы правильная архитектура", а на самом деле, хрен его знает что там, так как не описано ограничение, недра синтезатора/плейсера/роутера - потемки.
Архитектура архитектурой, само собой грамотность архитектуры вещь необходимая, но она не отменяет того, что все пути, для которых заданы какие либо временные ограничения, должны быть обконстрейнены по Tsu/Th, повторю, лишь для того, чтобы получить гарантию их выполнения. ДАЖЕ, если архитектурно продумана задержка какими-то синхронными методами, то все равно, стопроцентно, требуются констрейны на такие выходы, просто скорректированные на что-то там, что сделано архитектурно (вдруг синтезатор, руководствуясь чем-то там своим, возьмет, и пустить после всех "архитектур" сигнал по какому-то одному ему известному кривому пути, надо ему запретить это делать, указав жесткие рамки времени). Так что, одно другому не мешает, но констрейны обязательны это надо принять как аксиому для любого входа или выхода, для которого по задаче имеются какие либо временнЫе рамки.

Ну да ладно... Собственно истинные причины проблем ТС найдены, а что либо объяснять привыкшим к работе на основе "русского авось" дело неблагодарное.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jan 8 2014, 17:34
Сообщение #90


Гуру
******

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



Да ваша правда есть данные что радует. Чего то я забыл про даташит.

Но там же
Maximum SSP speed of 50 Mbit/s (master) or 8 Mbit/s (slave)

так что в мастере все ок, никакого переразгона, все в рамках мануала. Именно потому и корячусь в слэйв режиме, как вы сами понимаете в мастер режиме (со стороны ПЛИС, где АРМ слэйв) проблем с SPI клоком не было бы.


Повторю еще раз. Основная проблема в долгом пути клока от ноги до буфера, из за того что не та нога как ввода использована. После написания правильных констрейнов и понимания что они не выполняются по падающему клоку, переноса на поднимающий и выполнения констрейнов там все ЗАРАБОТАЛО!

Неужели похоже что так долго ковырясь в столь "мелком" вопросе я мог не глядя запустить проц в запредельном режиме?


П.С. почитав еще раз я так понял LPC под SPI понимают реализацию от моторолы, а просто данные по клокам они зовут SSP. И вот для него как раз есть только один параметр установка данных до клока, да и тот измерен в SPI режиме... эх... или я опять чего то упустил?
Интересно что и в SPI режиме для входных данных от слэйва указано что данные до падающего фронта могут быть выданы за 0 нСек, и быть валидны после него 2 клока - 5 нСек, то есть на самом деле для клока 50 МГц это значит что они должны до 5 нСек после клока стоять... С этим даташитом стало еще меньше все понятно блин...
Go to the top of the page
 
+Quote Post

8 страниц V  « < 4 5 6 7 8 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 09:01
Рейтинг@Mail.ru


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