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

 
 
> задержки выходных сигналов, фронты #CLK в PCI
qwqw
сообщение Mar 10 2006, 18:16
Сообщение #1


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

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



Делаю PCI 32 33 в Xilinx ISE,
Для PCI определена валидность сигнала на восходящем фронте, я не долго думая сделал все по нисподающему(только входные сигналы захватывал по положительному), устройство заработало, но при тестировании на др. матерях стало зависать. Перечитав спецификацию обнаружил странную вещь:
захватыать вх. сигналы, используя триггеры, тактируемые положительным фронтом небезопасно т.к Th(см. спецификацию) снизу ограничено 0 с., в то время, как любой триггер имеет некоторую задержку.
Какими же тогда фронтами(или одним) тактировать свою схему?
При всем при этом в моем проекте входные и выходные задержки (сигналов PCI относительно clk'а) составляют примерно 11 нс. Мне кажется, это слишком много, но если разработчики PCI изначально закладывали невозможность захвата сигнала по отриц. фронту, тоесть необходимость учитывать значительные задержки и с их учетом оперировать сигналами, тогда это вполне естественные величины.
Возможно я чего-то не понимаю и мой проект необходимо круто оптимизировать, поэтому хотелось бы узнать:
- величины задержек, которых добиватись другие (для сравнения)
- по каким фронтам #clk'а надо работать.

Сообщение отредактировал qwqw - Mar 10 2006, 18:18
Go to the top of the page
 
+Quote Post
2 страниц V  < 1 2  
Start new topic
Ответов (15 - 23)
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 Текстовая версия Сейчас: 22nd August 2025 - 12:15
Рейтинг@Mail.ru


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