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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> задержки выходных сигналов, фронты #CLK в PCI
xy_
сообщение Mar 13 2006, 21:01
Сообщение #16


Участник
*

Группа: Новичок
Сообщений: 31
Регистрация: 12-03-06
Пользователь №: 15 144



Цитата(qwqw @ Mar 13 2006, 20:14) *
вот фрагмент отчета по синтезу....

А почему такие большие задержки? Что за плис?
Вот тут внизу страници приведены задержки нармальный для pci.
Откуда Minimum period: 25.590ns?
Go to the top of the page
 
+Quote Post
qwqw
сообщение Mar 14 2006, 10:43
Сообщение #17


Частый гость
**

Группа: Свой
Сообщений: 192
Регистрация: 23-11-05
Из: г. Москва
Пользователь №: 11 307



я делаю на Spartan2E
Go to the top of the page
 
+Quote Post
v_mirgorodsky
сообщение Mar 15 2006, 07:54
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804



Цитата(qwqw @ Mar 14 2006, 12:43) *
я делаю на Spartan2E

А вот здесь и есть самая большая проблема. У вас вуыходная шина подключена к PCI через tri-state буффера. Как показывает опыт - они достаточно медленные. Для того, чтобы мастер работал надежно в такой ситуации необходимо в первый такт после получения PCI_Gnt включить tri-state буффера, оставив все сигналы в неактивном состоянии и только следующим тактом начинать активную работу. Эта техника называется address/data stepping. Вследствие негарантированных уровней на шине чипсет и ошибается, не декодирует адрес, выставленный вами на шине.

Цитата(qwqw @ Mar 13 2006, 19:14) *
Minimum input arrival time before clock: 13.094ns
Maximum output required time after clock: 12.528ns
Maximum combinational path delay: 4.457ns

Minimum input arrival time before clock должно быть меньше или равно 7 ns, maximum output required time after clock должно быть меньше 11 ns. Maximum combinational path delay в этом контексте не интересен. Как показывает практика, maximum output required time after clock проблем не вызывает. Minimum input arrival time before clock - выдержать более сложно, однако возможно. Необходимо очень аккуратно считать количество входных триггеров, управляемых с пинов микросхемы. По опыту, fan-in до 100 еще позволяет выдержать времянки, дальше уже проблемы с разными раскладками. Еще неплохо вырезать прямоугольную область в микросхеме для приоритетной раскладки PCI ядра в нее. Это несколько ограничивает полет фантазии PAR'а и приводит к более предсказуемым результатам.


--------------------
WBR,
V. Mirgorodsky
Go to the top of the page
 
+Quote Post
qwqw
сообщение Mar 15 2006, 11:33
Сообщение #19


Частый гость
**

Группа: Свой
Сообщений: 192
Регистрация: 23-11-05
Из: г. Москва
Пользователь №: 11 307



Цитата
А вот здесь и есть самая большая проблема. У вас вуыходная шина подключена к PCI через tri-state буффера. Как показывает опыт - они достаточно медленные. Для того, чтобы мастер работал надежно в такой ситуации необходимо в первый такт после получения PCI_Gnt включить tri-state буффера, оставив все сигналы в неактивном состоянии и только следующим тактом начинать активную работу. Эта техника называется address/data stepping. Вследствие негарантированных уровней на шине чипсет и ошибается, не декодирует адрес, выставленный вами на шине

Разве есть альтернатива tri-state буфферу?
Мне кажется медлительность tri-state буффера должна быть включена в <Maximum output required time after clock>, поэтому это не должно играть роли.
Go to the top of the page
 
+Quote Post
v_mirgorodsky
сообщение Mar 16 2006, 09:20
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804



Да, время задержки tri-state буфферов включается в <Maximum output required time after clock>, однако выдержать его невозможно, поскольку скорость работы tri-state буфферов составляет "всего" 11-12ns, что явно недостаточно, чтобы выполнить спецификацию PCI. Однако специфика PCI позволяет выполнять address/data stepping, что спасает.


--------------------
WBR,
V. Mirgorodsky
Go to the top of the page
 
+Quote Post
xy_
сообщение Mar 28 2006, 11:00
Сообщение #21


Участник
*

Группа: Новичок
Сообщений: 31
Регистрация: 12-03-06
Пользователь №: 15 144



Цитата(makc @ Mar 10 2006, 22:57) *
В моем ядре все работает по нарастающему (положительному) фронту. Идея заключается в том, что несмотря на Th=0 все будет работать в том случае, если на плате сигнал CLK будет задержен. Т.е. дорожка этого сигнала преднамеренно делается удлиненной. Диапазон изменения длины этой трассы и прочее описано в спецификации.

PS: Обратите внимание, как разведена дорожка CLK на большинстве плат с интерфейсом PCI.

У меня такой ворос встал: в спартане в блоке ВВ есть программируемая задержка... А можно ли её использовать и не париться с разницей длин вообще?
Go to the top of the page
 
+Quote Post
qwqw
сообщение Mar 28 2006, 15:57
Сообщение #22


Частый гость
**

Группа: Свой
Сообщений: 192
Регистрация: 23-11-05
Из: г. Москва
Пользователь №: 11 307



Все вышеописаные советы пошли в дело, выходные задержки уложились, входные удалось свести к
минимуму(макс. 8 с копейками нс.)
Цитата
Еще неплохо вырезать прямоугольную область в микросхеме для приоритетной раскладки PCI ядра в нее. Это несколько ограничивает полет фантазии PAR'а и приводит к более предсказуемым результатам.

каким образом это можно сделать в ISE?
Go to the top of the page
 
+Quote Post
3.14
сообщение Mar 28 2006, 17:50
Сообщение #23


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



2 xy_
Вы имеете в виду опции FAST/SLOW и DRIVE, которые приводят изменеиям в задержке падающей на выходном буфере? Крутя эти настройки вы получаете гарантированную наибольшую задержку на буфере (из группы) которая сильно зависит от температуры и напряжений питания. Не буду кривить душой, я почти всегда так и делаю (особенно для клока) smile.gif

2 qwqw
В PLACE редакторе рисуете область и присваиваете ее к нужному иодулю.


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
xy_
сообщение Mar 28 2006, 20:46
Сообщение #24


Участник
*

Группа: Новичок
Сообщений: 31
Регистрация: 12-03-06
Пользователь №: 15 144



Цитата(3.14 @ Mar 28 2006, 21:50) *
2 xy_
Вы имеете в виду опции FAST/SLOW и DRIVE, которые приводят изменеиям в задержке падающей на выходном буфере? Крутя эти настройки вы получаете гарантированную наибольшую задержку на буфере (из группы) которая сильно зависит от температуры и напряжений питания. Не буду кривить душой, я почти всегда так и делаю (особенно для клока) smile.gif

Ой, я напутал, в спартане 3 этого нет, но вот в 3е есть (помню где то воидел=)
http://direct.xilinx.com/bvdocs/publications/ds312.pdf
стр 10
я не разбирался отличается ли это от спартана3, но выглядит так, как будто это настоящая программируемая задержка
Go to the top of the page
 
+Quote Post

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

 


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


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