Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Трассировка SDRAM нужна консультация
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Электробезопасность и ЭМС
Страницы: 1, 2
RandI
Цитата(Paul @ Dec 5 2006, 17:59) *
Теперь о маске "глаза". Для простоты понимания приведу для 100 МГц, т.е. период 10нс. Клоковый сигнал имеет фронт на 50% диаграммы (в предположении, что клоки выровнены и скважность =2, а как же иначе?). Считаем 0,8нс - это 8%, 1,5нс - это 15%. Итак левая граница горизонтального участка "глаза" - 35%, правая 58%. Клюв примерно еще +- 5-10% в соотв. сторону, т.е. 30% и 63%. Так мы получили внутреннюю область запрета.


Ээээ, можно глупый вопрос? как ставятся внешние области запрета? И почему "Клоковый сигнал имеет фронт на 50% диаграммы"?
Paul
Цитата(RandI @ Dec 6 2006, 11:44) *
Ээээ, можно глупый вопрос? как ставятся внешние области запрета? И почему "Клоковый сигнал имеет фронт на 50% диаграммы"?

По идеологии собственно метода, EYE диаграмма выстраивается от тактовой частоты, задаваемой в параметрах моделирования. Вся развертка диаграммы - 100% периода тактовой частоты. Последовательность битов накладывается побитно в окно равное периоду тактовой частоты. В синхронных системах скважность тактов должна быть =2, т.е. меандр - это аксиома и основное требование к таким системам. Поэтому фронт тактов проходит на 50% диаграммы.
Расстановка внешних областей запрета обсуждалась выше, но можно повторить: это Absolute Maximum Ratings для наиболее чувствительного кристалла в шине. Это значения предельные. Уходить в рабочий диапазон можно, а за пределы Absolute Maximum - нет. Думаю, понятно почему.
RandI
Цитата(Paul @ Dec 6 2006, 12:07) *
Цитата(RandI @ Dec 6 2006, 11:44) *

Ээээ, можно глупый вопрос? как ставятся внешние области запрета? И почему "Клоковый сигнал имеет фронт на 50% диаграммы"?

По идеологии собственно метода, EYE диаграмма выстраивается от тактовой частоты, задаваемой в параметрах моделирования. Вся развертка диаграммы - 100% периода тактовой частоты. Последовательность битов накладывается побитно в окно равное периоду тактовой частоты. В синхронных системах скважность тактов должна быть =2, т.е. меандр - это аксиома и основное требование к таким системам. Поэтому фронт тактов проходит на 50% диаграммы.
Расстановка внешних областей запрета обсуждалась выше, но можно повторить: это Absolute Maximum Ratings для наиболее чувствительного кристалла в шине. Это значения предельные. Уходить в рабочий диапазон можно, а за пределы Absolute Maximum - нет. Думаю, понятно почему.


Понятно, спасибо, а вообще есть какие нибудь доки по построению глазковых диаграмм?
sff
Вроде всё началось получатся после добавления последовательных сопротивлений пока не дошёл до чтения данных из DRAM..

Нажмите для просмотра прикрепленного файла

Как я понял здесь надо учитывать время задержки распространения клока, время на выборку (5.4 ns для CL=3) время на доставку до чипа, и setup_time (которое для EP9315 равно 2ns).

Правильноли я рассчитываю времена задержек?
А то получается, что
t_clk_delay + t_AC + t_data_delay + t_DAs = 2.05 + 5.4 + 1.25 + 2 = 10.7 ns sad.gif Даже в 100 mhz не укладывается sad.gif

мне бы в 100 мгц запихнуть бы

Вообще в какой момент определяется переход (rising, falling edge) CLKа из одного уровня в другой?
Paul
То RandI
Какие-то доки есть в системах моделирования. Специально я не искал. Итак все понятно было. Надо просто внимательно посмотреть и поиграться настройками, чтобы увидеть закономерность.

To sff
Расчет не верный. Время доставки такта до каждого чипа схемы от буфера тактов должно быть равным с высокой точностью, т.е. в любом случае по тактам получается елка, причем разветвлять надо на спец разветвителях, имеющих равные нормированные задержки по каналам. Можно посмотреть у IDT. Называются такие девайсы fanout. Исходя из этого утверждения, принимаем время прихода тактов к каждой схеме одинаковое, т.е. фронт ко всем поступает одновременно.
Выборка кристалла в синхронных системах - процесс самостоятельный и выполняется в отдельном такте, поэтому важно учитывать только Tsetup и Thold для конкретных сигналов. Причем для данных, адреса и управления времена могут отличаться.
100МГц - частота тактов, а все операции в синхронных системах расчитываются в количествах тактов.
Поэтому область стабильного сигнала расчитывается как [Tclk-Tsetup:Tclk-Thold], где Tclk - период тактового сигнала.
fall clk - 0%, 100%
rise clk - 50%
В цикле чтения, адрес защелкивается в одном такте, а денные отдаются в другом, стало быть эти процессы надо рассматривать отдельно, т.е. отдельно проверять захват адреса, отдельно взятие данных.
sff
Цитата(Paul @ Dec 6 2006, 16:34) *
Расчет не верный. Время доставки такта до каждого чипа схемы от буфера тактов должно быть равным с высокой точностью..

У меня нет буфера тактов. Есть один сигнал SDCLK с MCU через резистор его раздвоил, на одной ветке висят 2 DRAM и на второй 2 DRAM.
А вообще как определяется rising edge это момент времени когда напряжение достигло Vih? и где про это прочитать можно

Цитата(Paul @ Dec 6 2006, 16:34) *
Выборка кристалла в синхронных системах - процесс самостоятельный и выполняется в отдельном такте, поэтому важно учитывать только Tsetup и Thold для конкретных сигналов. Причем для данных, адреса и управления времена могут отличаться.
100МГц - частота тактов, а все операции в синхронных системах расчитываются в количествах тактов.
Поэтому область стабильного сигнала расчитывается как [Tclk-Tsetup:Tclk-Thold], где Tclk - период тактового сигнала.
fall clk - 0%, 100%
rise clk - 50%

Видно я что-то недопонимаю..
Меня просто смутила одна вещь когда я смотрел Tsetup для MCU.
Там приведена диаграмма чтнения из DRAM. Ну я открыл для сравнения доку на DRAM и вот что смутило.
Допустим у нас CL = 2. (как на рисунках)
Подается комманда на чтение в такте T2, (там адреса и тд), на T3 производится выбока данных с задержкой, и эта выборка идёт T_ac (как показано на диаграмме для micron) после этой задержки DRAM выставляет необходимые данные и уже на по rising edge T4 контроллер смотрит что там выставлено. Так?
Эту задержку T_ac надо учитывать в "глазе" для данных? Ведь T_ac > T_clk / 2

Цитата(Paul @ Dec 6 2006, 16:34) *
В цикле чтения, адрес защелкивается в одном такте, а денные отдаются в другом, стало быть эти процессы надо рассматривать отдельно, т.е. отдельно проверять захват адреса, отдельно взятие данных.

Да, я так и делаю.. всё остальное проверил кроме чтения данных с DRAM.
Paul
Цитата(sff @ Dec 6 2006, 17:18) *
У меня нет буфера тактов. Есть один сигнал SDCLK с MCU через резистор его раздвоил, на одной ветке висят 2 DRAM и на второй 2 DRAM.
А вообще как определяется rising edge это момент времени когда напряжение достигло Vih? и где про это прочитать можно

Если хотите избежать серьезныж проблем, нужен буфер тактов, а тактовые сигналы должны быть индивидуальны для каждого кристалла. На крайний случай, при небольших частотах, можно разветвить резисторами на источнике тактов, но это очень криво и ненадежно.
Время rising edge, также как и falling edge определяется как время изменения уровня сигнала от 10 до 90% от номинала, т.е для 3,3В можно принять 0,3 - 3,0В.
Цитата(sff @ Dec 6 2006, 17:18) *
Видно я что-то недопонимаю..
Меня просто смутила одна вещь когда я смотрел Tsetup для MCU.
Там приведена диаграмма чтнения из DRAM. Ну я открыл для сравнения доку на DRAM и вот что смутило.
Допустим у нас CL = 2. (как на рисунках)
Подается комманда на чтение в такте T2, (там адреса и тд), на T3 производится выбока данных с задержкой, и эта выборка идёт T_ac (как показано на диаграмме для micron) после этой задержки DRAM выставляет необходимые данные и уже на по rising edge T4 контроллер смотрит что там выставлено. Так?
Эту задержку T_ac надо учитывать в "глазе" для данных? Ведь T_ac > T_clk / 2

Нас не интересует задержка внутри кристаллов. Нам важно доставить сигнал в нужное место к нужному моменту времени (как правило, не позже) и, по возможности, без серьезных искажений. Поэтому важно только взаимоотношения тактового сигнала в пределах одного периода и соответствующего информационного сигнала. Все остальное определяется протоколами взаимодействия кристаллов. Из этого следует, что для трассировки нам не важно, какой это такт Т1, Т2 или др., а важно когда должен переключиться информационный сигнал относительно тактового сигнала и рассматривать нужно только соотв. времена, т.е. для адреса Tdas, Tdah, для управления - Tcks, Tckh, для выходных данных Tos, Toh, входные данные на диаграмме не показаны. Tac теоретически можно учесть только для расчета Tos=Tclk-Tac, т.е. мы снова привяжемся к фронту тактов. Специально для ориентировки на диаграмме приведены линии привязки по тактовым фронтам.
sff
Cпасибо, вроде всё ясно.
Я уже вроде подобрал последовательные сопротивления чтобы и микросхемы не убились и по времени всё укладывалось. Буфер клоков решил таки не использовать.
Как сделаю макетик отпишу что получилось =)
Цитата(Paul @ Dec 12 2006, 10:32) *
Время rising edge, также как и falling edge определяется как время изменения уровня сигнала от 10 до 90% от номинала, т.е для 3,3В можно принять 0,3 - 3,0В.

Я как-то криво выразился, хотел спросить а в какой момент переход от 0.3 - 3.0 клока происходит съем данных? или это считать тоже не нужно, на то и дано setup и hold time?
Paul
Цитата(sff @ Dec 12 2006, 14:42) *
Я как-то криво выразился, хотел спросить а в какой момент переход от 0.3 - 3.0 клока происходит съем данных? или это считать тоже не нужно, на то и дано setup и hold time?


Это вопрос довольно сложный и индивидуальный для каждого кристалла. Есть общие понятия: Vilow и Vihigh, т.е. входные уровни. Уровень ниже максимального значения Vilow считается "0", выше минимального значения Vihigh считается "1", между ними неопределенность. На самом деле это не важно, главное, чтобы сигнал успокоился на соотв для себя уровне <Vilow или >Vihigh до значения Tclk/2-Tsetup и держался спокойно до Tclk/2+Thold (в HyperLynx настраивается маской). Дальнейшее поведение сигнала в рамках периода Tclk значения не имеет. Ну и чтобы не выходил за Absolute Maximum Ratings (тоже настраивается маской).
Успехов.
P.S. Обязательно промоделируйте клоки и выровняйте с высокой точностью задержки до всех кристаллов.
RandI
Цитата(Paul @ Dec 12 2006, 15:05) *
Цитата(sff @ Dec 12 2006, 14:42) *

Я как-то криво выразился, хотел спросить а в какой момент переход от 0.3 - 3.0 клока происходит съем данных? или это считать тоже не нужно, на то и дано setup и hold time?


Это вопрос довольно сложный и индивидуальный для каждого кристалла. Есть общие понятия: Vilow и Vihigh, т.е. входные уровни. Уровень ниже максимального значения Vilow считается "0", выше минимального значения Vihigh считается "1", между ними неопределенность. На самом деле это не важно, главное, чтобы сигнал успокоился на соотв для себя уровне <Vilow или >Vihigh до значения Tclk/2-Tsetup и держался спокойно до Tclk/2+Thold (в HyperLynx настраивается маской). Дальнейшее поведение сигнала в рамках периода Tclk значения не имеет. Ну и чтобы не выходил за Absolute Maximum Ratings (тоже настраивается маской).
Успехов.
P.S. Обязательно промоделируйте клоки и выровняйте с высокой точностью задержки до всех кристаллов.


Небольшой вопрос. А как в Allegro SigXplorer маску вывести на график??
Paul
Цитата(RandI @ Jan 31 2007, 14:55) *
Небольшой вопрос. А как в Allegro SigXplorer маску вывести на график??

Увы, никак. Понятия "Маска" в Allegro SigXplorer нет и настроить ее негде. Это можно оценить только визуально, что, впрочем совершенно не напрягагает. Если не лень, можно расставить необходимое количество маркеров и получить подобие "маски". Я так делал, но потом мне это надоело. Предпочитаю включать сетку вместо засечек сбоку и все становится сразу видно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.