|
Работе по фронтам не клокового входа, чем черевато? |
|
|
|
Jan 2 2014, 18:06
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Всем привет! Волею судеб так получилось что spi клок пришелся на не клоковый вход. Чем грозит использование его в конструкциях вида Код always @(posedge clk_pin) begin
end ?
|
|
|
|
|
 |
Ответов
|
Jan 6 2014, 18:52
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
данные сдвигаются по падающему фронту, захват по поднимающемуся. время между падающим и поднимающимся 10 нСек
время пока клок идет до сдвиг регистра 7-8 нСек, время пока данные из сдвиг регистра идут на ружу 3-4 нСек
то есть между падающим фронтом и появлением данных проходит 12 нСек вместо 10, это в медленном пути, в быстром проходит 4. потому перенести выдачу данных на поднимающиеся фронты тоже не вариант, в надежде на задержку.
из реальности уговорить сигнал не идти на глобальный буфер, на что у него уходит 5.9 нСек в медленном пути, а сразу идти на клок элементов, если это вообще возможно. Пока это я еще не реализовывал, и пока не имею 100% информации о возможности
|
|
|
|
|
Jan 6 2014, 18:58
|
Знающий
   
Группа: Свой
Сообщений: 781
Регистрация: 3-10-04
Из: Санкт-Петербург
Пользователь №: 768

|
Цитата(Golikov A. @ Jan 6 2014, 21:52)  данные сдвигаются по падающему фронту, захват по поднимающемуся. время между падающим и поднимающимся 10 нСек
время пока клок идет до сдвиг регистра 7-8 нСек, время пока данные из сдвиг регистра идут на ружу 3-4 нСек
то есть между падающим фронтом и появлением данных проходит 12 нСек вместо 10, это в медленном пути, в быстром проходит 4. потому перенести выдачу данных на поднимающиеся фронты тоже не вариант, в надежде на задержку.
из реальности уговорить сигнал не идти на глобальный буфер, на что у него уходит 5.9 нСек в медленном пути, а сразу идти на клок элементов, если это вообще возможно. Пока это я еще не реализовывал, и пока не имею 100% информации о возможности Позвольте Вам не поверить. В 6-м Спартанце такие задержки??? Вы как-то не так логику описали. Приводите весь ваш исходник SPI.
|
|
|
|
|
Jan 6 2014, 20:36
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Цитата(Tiro @ Jan 6 2014, 22:58)  Позвольте Вам не поверить. В 6-м Спартанце такие задержки??? Вы как-то не так логику описали. Приводите весь ваш исходник SPI. проблемы что клок идет с не клокового входа, о чем собственно вся тема Цитата(SM @ Jan 6 2014, 23:36)  Что касается задержки clock-to-output для выходного сигнала, который ПЛИС передает, то это, пожалуй, никак не лечится, разве что как-то вручную развести клок к output регистру в IO буфере (и, разумеется, выходной регистр регистра сдвига поместить в IO буфер, а не в LE)
Заранее извиняюсь, если вообще не так понял проблему.... Все верно в целом, но с приемом в плис проблем нет, констрейны заданы и выполнены с бооольшим запасом. А вот с передачей как раз есть засада и большая, и именно про ручное решение проблемы сейчас и думаю... Цитата(maksimp @ Jan 6 2014, 23:13)  4 нс это не проблема. Приёмник уже захватил данные по поднимающимуся фронту, держать данные ещё 10 нсек не обязательно. На графиках - верхняя пара - обычныое построение SPI. Красным отмечены моменты захвата данных Нижняя пара - то что предлагается. В любом случае захват будет до изменения данных, даже если там всего 4 нс. Проблема передачи данных ПЛИСом как слейвом Мастер ставит клок, а на него надо реагировать и выдавать данные... путь сигнала от клока до выхода 12 нСек, вместо 10 нСек потому мастер захватывает черти что. Наверное менять данные по восходящему клоку возможно, поскольку есть дикая задержка от клока до буфера, то напортить данные в момент приема скорее всего не реально, но хорошо бы как то правильно констрейны написать, чтобы все было четко...
|
|
|
|
|
Jan 6 2014, 20:55
|
Местный
  
Группа: Участник
Сообщений: 230
Регистрация: 29-08-09
Пользователь №: 52 094

|
Цитата(Golikov A. @ Jan 7 2014, 00:36)  Все верно в целом, но с приемом в плис проблем нет, констрейны заданы и выполнены с бооольшим запасом. А вот с передачей как раз есть засада и большая, и именно про ручное решение проблемы сейчас и думаю... Как вариант, устроить "калибровку" выхода выдавая данные либо по падающему фронту, либо по восходящему в зависимости от конкретного случая. Т.е. пытаться вычитать что-то наружу в одном и другом варианте (дизайн должен иметь возможность переключения без переконфигурирования), проверять на мастере на предмет успешного приёма, и выбирать "хороший" вариант для дальнейшей работы.
|
|
|
|
|
Jan 6 2014, 22:12
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Цитата(o_khavin @ Jan 7 2014, 00:55)  Как вариант, устроить "калибровку" выхода выдавая данные либо по падающему фронту, либо по восходящему в зависимости от конкретного случая. Т.е. пытаться вычитать что-то наружу в одном и другом варианте (дизайн должен иметь возможность переключения без переконфигурирования), проверять на мастере на предмет успешного приёма, и выбирать "хороший" вариант для дальнейшей работы. Мне кажется потенциально опасное решение. В начале работы на холодном кристале все пойдет по одному пути, потом он прогреется и...? попробовал защелкнуть данные в регистр по падению чип селекта, а потом выдавливать по восходящему фронту получил ошибку Assignment under multiple single edges is not supported for synthesis ту же ошибку я получал пытаясь работать по 2 фронтам клока. к ошибке есть приписка You can change the severity of this error message to warning using switch -change_error_to_warning "HDLCompiler:1128" но хорошо ли это? В целом я знаю что сначала будет фронт одного сигнала, а потом будут фронты другого сигнала, но поможет ли это схеме? И можно ли задать констрейн чтобы данные на выходе менялись не раньше чем заданное число после клока на входе, вроде же можно через VALID да? Если удастся договорится со схемой по этим 2 пунктам, то задача будет в целом решена, данные будут меняться не по падающему клоку, а по восходящему, но с гарантированной паузой. Есть шансы? Ну что-же! успех, наверное можно сказать что наконец то я понял идею maksimp по синхронизации на основной клок, и возможно даже ее реализую, надо еще кое-что проверить. на данный момент реализовал выдачу данных по восходящему фронту, фактически по сигналу защелкивания данных. Очень хочется наложить правильный констрейн на смену данных после фронта, нее раньше чем через заданное время, и что-то я пока не понимаю как. Сделал первые тесты чтения записи, вроде бы все наладилось, в целом оно и понятно если путь данных был примерно 12 нСек, то после поднимающегося фронта данные как раз и выставляются на падающий. А долгая задержка клока сохраняет данные во время защелки, но ВСЕ ТАК хотелось бы подстраховаться констрейном. Кто поможет? Как обозначить чтобы данные менялись не раньше чем через заданное время после фронта?
|
|
|
|
Сообщений в этой теме
Golikov A. Работе по фронтам не клокового входа Jan 2 2014, 18:06 o_khavin Цитата(Golikov A. @ Jan 2 2014, 22:06) Че... Jan 3 2014, 16:02 Dr.Alex Цитата(Golikov A. @ Jan 2 2014, 21:06) Че... Jan 3 2014, 17:15 Victor® Цитата(Golikov A. @ Jan 2 2014, 21:06) Вс... Jan 3 2014, 20:57 ZASADA будет работать. но как разведется зависит от семей... Jan 3 2014, 22:06 Tiro Цитата(Golikov A. @ Jan 2 2014, 21:06) Во... Jan 3 2014, 23:11 ZASADA Цитата(Tiro @ Jan 4 2014, 02:11) И почему... Jan 3 2014, 23:17  Tiro Цитата(ZASADA @ Jan 4 2014, 02:17) потому... Jan 3 2014, 23:25   Victor® Цитата(Tiro @ Jan 4 2014, 02:25) Вы всерь... Jan 4 2014, 15:49 Dr.Alex Цитата(Tiro @ Jan 4 2014, 03:11) И почему... Jan 4 2014, 06:16 Golikov A. Вот... народ отошел от праздников то за 3 дня ни о... Jan 4 2014, 07:27 Tiro Цитата(Golikov A. @ Jan 4 2014, 10:27) те... Jan 5 2014, 17:01 olegras Цитата(Golikov A. @ Jan 4 2014, 11:27) По... Jan 7 2014, 09:22 ZASADA ЦитатаМне казалось что использовать клоковым сигна... Jan 4 2014, 07:53 Дварфик А я поддержу "Dr.Alex" . Действительно S... Jan 4 2014, 08:35 o_khavin Цитата(Дварфик @ Jan 4 2014, 12:35) А я п... Jan 4 2014, 09:56 Golikov A. если написать констраины на сигналы, время выставл... Jan 4 2014, 14:57 Dr.Alex Правильно. Jan 4 2014, 15:09 o_khavin Цитата(Golikov A. @ Jan 4 2014, 18:57) ес... Jan 4 2014, 17:41  Golikov A. Цитата(o_khavin @ Jan 4 2014, 21:41) Не о... Jan 4 2014, 18:55 Golikov A. Эм... и вот теперь вопрос на миллион Как забить ко... Jan 4 2014, 16:46 Джеймс Цитата(Golikov A. @ Jan 2 2014, 22:06) Во... Jan 4 2014, 19:36 Golikov A. Цитата(Джеймс @ Jan 4 2014, 23:36) Ничем ... Jan 4 2014, 20:22  maksimp Цитата(Golikov A. @ Jan 4 2014, 23:22) Ра... Jan 5 2014, 20:43 SM тут вам не констрейн писать надо, и междоменный пе... Jan 4 2014, 21:19 Golikov A. вся синхронизация имеется, это понятно и это реали... Jan 4 2014, 21:44 Golikov A. -------------- покрутил еще----------------
вот ес... Jan 5 2014, 08:40 Corner Цитата(Golikov A. @ Jan 5 2014, 12:40) --... Jan 5 2014, 10:00 Golikov A. да вот получилось 6.9 до bufg и дальше 1, это slow... Jan 5 2014, 10:31 Corner Цитата(Golikov A. @ Jan 5 2014, 14:31) да... Jan 5 2014, 15:41 Golikov A. это был не я у нас разделения труда%)....
на этой... Jan 5 2014, 16:48 o_khavin Цитата(Golikov A. @ Jan 5 2014, 20:48) ка... Jan 6 2014, 09:52  Golikov A. Цитата(o_khavin @ Jan 6 2014, 13:52) Для ... Jan 6 2014, 15:40   maksimp Здесь есть тонкий момент. Отсчёты сигнала SCK реги... Jan 6 2014, 16:33 Golikov A. тормозит именно SPI
в частности из готового сдвиго... Jan 5 2014, 18:56 maksimp Цитата(Golikov A. @ Jan 5 2014, 21:56) то... Jan 6 2014, 17:55 Golikov A. не получится... Jan 5 2014, 21:21 maksimp Цитата(Golikov A. @ Jan 6 2014, 00:21) не... Jan 6 2014, 14:17 Golikov A. не это слишком сложно, клоки асинхронны полностью,... Jan 6 2014, 17:02     SM Цитата(Golikov A. @ Jan 7 2014, 02:12) Кт... Jan 7 2014, 07:31     o_khavin Цитата(Golikov A. @ Jan 7 2014, 02:12) Мн... Jan 7 2014, 09:42      Golikov A. Цитата(o_khavin @ Jan 7 2014, 13:42) В пр... Jan 7 2014, 10:08       olegras Цитата(Golikov A. @ Jan 7 2014, 13:08) пр... Jan 7 2014, 10:54 maksimp Цитата(Golikov A. @ Jan 6 2014, 21:52) то... Jan 6 2014, 19:13 SM Только надо всегда помнить, что прохождение клока ... Jan 6 2014, 19:36 Golikov A. OFFSET OUT AFTER (не позже, чем, т.е. setup)/BEFOR... Jan 7 2014, 07:54 SM Цитата(Golikov A. @ Jan 7 2014, 11:54) а ... Jan 7 2014, 10:24 Golikov A. теперь бы еще узнать как это делается. Я совсем со... Jan 7 2014, 10:49 SM Цитата(Golikov A. @ Jan 7 2014, 14:49) т... Jan 7 2014, 11:14  Dr.Alex Цитата(SM @ Jan 7 2014, 14:14) Странно вс... Jan 7 2014, 11:51   SM Цитата(Dr.Alex @ Jan 7 2014, 15:51) А как... Jan 7 2014, 12:17    o_khavin Цитата(SM @ Jan 7 2014, 16:17) Латис, как... Jan 7 2014, 17:36     SM Цитата(o_khavin @ Jan 7 2014, 21:36) Как ... Jan 7 2014, 18:00 Golikov A. ну задержки есть, то есть хотелось бы чтобы он про... Jan 7 2014, 12:02 Dr.Alex Цитата(Golikov A. @ Jan 7 2014, 15:02) Уг... Jan 7 2014, 12:05 Golikov A. что то как то муторно написано, не VALID ли мне ну... Jan 7 2014, 17:23 SM Цитата(Golikov A. @ Jan 7 2014, 21:23) чт... Jan 7 2014, 17:28 Golikov A. вот тут есть непонятность в описании нет валида, н... Jan 7 2014, 19:08 SM Цитата(Golikov A. @ Jan 7 2014, 23:08) Ду... Jan 7 2014, 19:14  ZASADA Цитата(SM @ Jan 7 2014, 22:14) В таком сл... Jan 7 2014, 21:54   Golikov A. Цитата(ZASADA @ Jan 8 2014, 01:54) а чего... Jan 7 2014, 22:37   SM Цитата(ZASADA @ Jan 8 2014, 01:54) а чего... Jan 8 2014, 06:44    ZASADA Цитата(SM @ Jan 8 2014, 09:44) Да вот при... Jan 8 2014, 08:09     SM Цитата(ZASADA @ Jan 8 2014, 12:09) в данн... Jan 8 2014, 08:14      ZASADA Цитата(SM @ Jan 8 2014, 11:14) Я уже напи... Jan 8 2014, 08:28       SM Цитата(ZASADA @ Jan 8 2014, 12:28) с ваши... Jan 8 2014, 08:30       Golikov A. Цитата(ZASADA @ Jan 8 2014, 12:28) пробле... Jan 8 2014, 09:17        ZASADA Цитата(Golikov A. @ Jan 8 2014, 12:17) ..... Jan 8 2014, 12:40       Victor® Цитата(ZASADA @ Jan 8 2014, 11:28) а в ра... Jan 8 2014, 09:28 Golikov A. http://forums.xilinx.com/t5/General-Techni...out/t... Jan 7 2014, 20:45 ZASADA выводы
изначально схемотехнически был сделан контр... Jan 8 2014, 05:49 ZASADA делал неоднократно. раньше большинство моих схем р... Jan 8 2014, 09:37 Torpeda Цитата(Golikov A. @ Jan 2 2014, 22:06) Вс... Jan 8 2014, 09:40 SM самое главное тут, что нельзя считать, что проблем... Jan 8 2014, 12:42 ZASADA в моем процессоре MISO hold time after SPCK rises ... Jan 8 2014, 12:51 SM А во вполне конкретном процессоре AM3517, например... Jan 8 2014, 13:07 ZASADA мне кусок pdf выложить, чтобы вы поверили в сущест... Jan 8 2014, 13:54 SM Это все частности, "мой процессор", ... Jan 8 2014, 14:09 ZASADA Цитата(SM @ Jan 8 2014, 17:09) Это все ча... Jan 8 2014, 17:05  SM Цитата(ZASADA @ Jan 8 2014, 21:05) не кон... Jan 8 2014, 17:14 Golikov A. Честно не хрена не знаю про свой процессор В целом... Jan 8 2014, 14:55 Victor® Цитата(Golikov A. @ Jan 8 2014, 17:55) Че... Jan 8 2014, 15:04 SM Цитата(Golikov A. @ Jan 8 2014, 18:55) В ... Jan 8 2014, 15:12 Джеймс Цитата(Golikov A. @ Jan 8 2014, 18:55) Че... Jan 8 2014, 15:19 Golikov A. Да ваша правда есть данные что радует. Чего то я з... Jan 8 2014, 17:34 SM Цитата(Golikov A. @ Jan 8 2014, 21:34) Но... Jan 8 2014, 17:50 ZASADA цифровых ASIC -ов я вообще ни одного не делал, и в... Jan 8 2014, 17:38 ZASADA c SSP не все так однозначно. системныы 100МГц дейс... Jan 8 2014, 18:03 Golikov A. если читать огромный мануал там все сходиться с да... Jan 8 2014, 18:11 Tiro Цитата(Golikov A. @ Jan 8 2014, 21:11) ес... Jan 8 2014, 18:33 SM О. SPI, с которого все начиналось, плавно преобраз... Jan 8 2014, 18:30 Golikov A. Если вы вразумительно объясните в чем разница межд... Jan 8 2014, 19:25 SM Цитата(Golikov A. @ Jan 8 2014, 23:25) Ес... Jan 8 2014, 19:39 Golikov A. я имел ввиду с точки зрения интерфейса а не железа... Jan 8 2014, 19:58 Tiro Цитата(Golikov A. @ Jan 8 2014, 22:58) я ... Jan 8 2014, 20:26
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|