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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Правильно описать правила Specctra, Разные участки одной цепи
Loud Whisper
сообщение Jun 12 2008, 12:34
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 27-06-07
Пользователь №: 28 744



Привет всем.
Ситуация такая, есть PCB такого расклада, описаны общие шины
1. CPU(data[31..0],addr[24..0])
2. FPGA(data[15..0], addr[24..0])
3. SDRAM1(data[15..0], addr[15..0])
4. SDRAM2(data[31..16], addr[15..0])
5. FLASH (data[15..0], addr[24..1])

Нужно описать rules для Specctra чтобы скажем один участок цепей
например data[15..0] from CPU to SDRAM1,FLASH был по одним правилам, скажем daisy chain
с определенным выравниваем длины, а другой участок data[15..0] from data[15..0] from CPU to FPGA с другим выравниванием.
2. Что в этом случае делать, т.к. data[31..16] содержит только 2 компонента, а data[15..0] все пять,
и не будет ли проблем, и нужно ли 31..16 выравнивать до той же длины как 15..0, ведь на шине данных любой компонент может являться источноком сигнала... оправданно ли использование chain подключений ?
Go to the top of the page
 
+Quote Post
Uree
сообщение Jun 12 2008, 15:21
Сообщение #2


Знающий
******

Группа: Свой
Сообщений: 5 223
Регистрация: 25-04-05
Из: Z. Gora
Пользователь №: 4 480



Давайте с понятиями для начала разберемся - daisy chain - это тип топологии, означает последовательный обход приемников(хотя возможны варианты).Поэтому если Вы хотите, чтобы цепи шли последовательно через все описанные точки, то такую топологию точно нужно задавать.
Чтобы задать разные правила на разных участках - создайте группы и включите в них нужные участки(через fromto). Выравнивание для групп нормально делается.
Насчет топологии - вопрос в частотах. Если все это медленное(20-40МГц), то будет работать и последовательная шина. А если в районе 100МГц или выше, скорее всего не получится. Уже писали об этом - для быстрых шин с несколькими источниками лучше применять топологию звезды, возможно с согласованием в ее центре, возможно с выравниванием длины лучей. Задать звезду для спекктры можно опять же через группы, только ее центр определить через виртуальные пины. А остальные группы соответственно как ВП-ЦПУ, ВП-ФПЖА, ВП-СДРАМ и т.д.
Go to the top of the page
 
+Quote Post
Loud Whisper
сообщение Jun 12 2008, 16:43
Сообщение #3





Группа: Участник
Сообщений: 14
Регистрация: 27-06-07
Пользователь №: 28 744



[attachment=21966:attachment]
Цитата(Uree @ Jun 12 2008, 17:21) *
Давайте с понятиями для начала разберемся - daisy chain - это тип топологии, означает последовательный обход приемников(хотя возможны варианты).Поэтому если Вы хотите, чтобы цепи шли последовательно через все описанные точки, то такую топологию точно нужно задавать.
Чтобы задать разные правила на разных участках - создайте группы и включите в них нужные участки(через fromto). Выравнивание для групп нормально делается.
Насчет топологии - вопрос в частотах. Если все это медленное(20-40МГц), то будет работать и последовательная шина. А если в районе 100МГц или выше, скорее всего не получится. Уже писали об этом - для быстрых шин с несколькими источниками лучше применять топологию звезды, возможно с согласованием в ее центре, возможно с выравниванием длины лучей. Задать звезду для спекктры можно опять же через группы, только ее центр определить через виртуальные пины. А остальные группы соответственно как ВП-ЦПУ, ВП-ФПЖА, ВП-СДРАМ и т.д.

что касается chain, вот с этим у меня вопрос и возникает. Я как раз пытаюсь по DES_DO.zip smile.gif понять как это описывается, т.е. создание групп. Но там все очень жестко, чуть ли не через номера пинов. А что нибудь типа (net ADDR* (fromto U1 U2)) нету ?
по поводу идеологии, то на грани... 100 МГц как раз и есть. Вот я картинку приаттачил, может посоветуете чего. Идеология как раз как в первом сообщении, смотря слева первый SDRAM data[31..16], второй data[15..0]/ А где можно посмотреть пример с виртуальными пинами ?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Uree
сообщение Jun 13 2008, 08:01
Сообщение #4


Знающий
******

Группа: Свой
Сообщений: 5 223
Регистрация: 25-04-05
Из: Z. Gora
Пользователь №: 4 480



Знакомое название архиваsmile.gif, только не помню, что я туда ложил и для какого проекта. А группы действительно в спекктре описываются жестко. Мне тоже как-то хотелось попроще делать, но то ли не разобрался как, то ли невозможно, то ли не работает... уже не помню. Поэтому описывал как есть. А вообще - открывайте мануал, смотрите описание команд, и пробуйте писать. По паре-тройке цепей, чтоб результат был нагляднее. Я именно так пробовал. А то если все сразу скопом прописать, то потом непонятно где логика сбойнула, и почему получается совсем не то, что ожидалось.
Насчет проекта - тяжело без понимания сказать, но я бы попробал ФПЖА подключить к процу отдельным интерфейсом. Наверняка у проца есть что-нибудь последовательное и скоростное. Вот его бы и задействовал. Тогда на шине остались бы только памяти, а так точно системы работают.
Go to the top of the page
 
+Quote Post
Loud Whisper
сообщение Jun 13 2008, 16:32
Сообщение #5





Группа: Участник
Сообщений: 14
Регистрация: 27-06-07
Пользователь №: 28 744



Цитата(Uree @ Jun 13 2008, 10:01) *
...Skip
Насчет проекта - тяжело без понимания сказать, но я бы попробал ФПЖА подключить к процу отдельным интерфейсом. Наверняка у проца есть что-нибудь последовательное и скоростное. Вот его бы и задействовал. Тогда на шине остались бы только памяти, а так точно системы работают.

Большое спасибо за пинки в нужную сторону. Сегодня попробывал реализовать виртуальные пины на шине адреса. Нет слов, просто crying.gif ЧУДОВИЩНАЯ разводка. Но правильная с точки зрения длин проводов.
Короче, долго всматриваясь в топологию, стало понятно, что FPGA не укладывается в нормальную шину, она рвет всё и вся, при этом отстоит от процессора на максимальное расстояние. Скорее всего будет сделано подключение по скоростному SPI, спасибо за совет.
Цитата
для быстрых шин с несколькими источниками лучше применять топологию звезды, возможно с согласованием в ее центре, возможно с выравниванием длины лучей. Задать звезду для спекктры можно опять же через группы, только ее центр определить через виртуальные пины.

К сожалению на тему "согласования в центре" не нашел никакой информации, сделал только с выравниванием лучей. Не могли бы вкратце прояснить.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 13 2008, 16:45
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Loud Whisper @ Jun 13 2008, 20:32) *
Скорее всего будет сделано подключение по скоростному SPI, спасибо за совет.

0xFF: Процессор, как я вижу, EP931x? Нет у него скоростного SPI, к сожалению.
Go to the top of the page
 
+Quote Post
HardJoker
сообщение Jun 13 2008, 16:52
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 995
Регистрация: 3-06-05
Пользователь №: 5 713



Цитата(Loud Whisper @ Jun 12 2008, 16:34) *
Нужно описать rules для Specctra чтобы скажем один участок цепей
например data[15..0] from CPU to SDRAM1,FLASH был по одним правилам, скажем daisy chain
с определенным выравниваем длины, а другой участок data[15..0] from data[15..0] from CPU to FPGA с другим выравниванием.
2. Что в этом случае делать, т.к. data[31..16] содержит только 2 компонента, а data[15..0] все пять,
и не будет ли проблем, и нужно ли 31..16 выравнивать до той же длины как 15..0, ведь на шине


Крамольный вопрос: а ручками дня за четыре сделать не проще? Да и качество априори выше. Платочка-то, простая...
Go to the top of the page
 
+Quote Post
Loud Whisper
сообщение Jun 13 2008, 22:44
Сообщение #8





Группа: Участник
Сообщений: 14
Регистрация: 27-06-07
Пользователь №: 28 744



Цитата(aaarrr @ Jun 13 2008, 18:45) *
0xFF: Процессор, как я вижу, EP931x? Нет у него скоростного SPI, к сожалению.

Да, всё верно, это 9315. Насколько я понял из мануала, есть SSP (он же SPI), до 2 МБит/сек. Для тех целей которые возлагаются на FPGA (цифромолотилка), вполне достаточно

Цитата(HardJoker @ Jun 13 2008, 18:52) *
Крамольный вопрос: а ручками дня за четыре сделать не проще? Да и качество априори выше. Платочка-то, простая...

Было сделано в Спектре, зачищено руками, затем посмотрен репорт по длинам связей и стало понятно что вероятны сбои на шине данных при работе на высоких тактовых sdram. может я конечно ошибаюсь, с арм-шиной имею дело первый раз и поэтому пытаюсь перестраховать. Во всяком случае, просто "разводку" получить достаточно легко, хорошую - трудно. И именно поэтому я пытаюсь узнать принципы разводки для такой нестандартной шины, где нагрузка на нижней половине шины больше в 2 раза и длинней в 1.5, чем на верхней
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 14 2008, 09:23
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Loud Whisper @ Jun 14 2008, 02:44) *
Да, всё верно, это 9315. Насколько я понял из мануала, есть SSP (он же SPI), до 2 МБит/сек. Для тех целей которые возлагаются на FPGA (цифромолотилка), вполне достаточно

Мануал советую изучить максимально тщательно, чтобы не было мучительно больно потом.
Возможно, что для общения с FPGA больше подойдет I2S (у него нормальные каналы DMA + можно гибко установить тактирование).
А загрузка FPGA как организована?

Цитата(Loud Whisper @ Jun 14 2008, 02:44) *
Было сделано в Спектре, зачищено руками...
...Во всяком случае, просто "разводку" получить достаточно легко, хорошую - трудно.

Тут полностью солидарен с коллегой HardJoker'ом - руками в той же Specctr'е все сделать гораздо проще. Расстановка у Вас не очень удачная, но при нормальных нормах проблем не будет.
Go to the top of the page
 
+Quote Post
HardJoker
сообщение Jun 14 2008, 16:04
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 995
Регистрация: 3-06-05
Пользователь №: 5 713



Цитата(Loud Whisper @ Jun 14 2008, 02:44) *
Было сделано в Спектре, зачищено руками, затем посмотрен репорт по длинам связей и стало понятно что вероятны сбои на шине данных при работе на высоких тактовых sdram. может я конечно ошибаюсь, с арм-шиной имею дело первый раз и поэтому пытаюсь перестраховать. Во всяком случае, просто


Могу ошибаться, но всецело доверять проверке целостности сигналов опрометчиво. Особенно после прочтения материалов по измерительным осциллографам LeCroy на www.prist.ru. Попалась статейка по сравнению результатов симуляции и физических измерений высокоскоростных сигналов. Если по памяти, расхождения порядка 30% амплитуды.

P.S. если не найдете, ссылку постараюсь при случае запостить. Интересно, полагаю, будет многим
Go to the top of the page
 
+Quote Post
atlantic
сообщение Jun 16 2008, 05:38
Сообщение #11


участник
****

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



Цитата(HardJoker @ Jun 14 2008, 19:04) *
Могу ошибаться, но всецело доверять проверке целостности сигналов опрометчиво. Особенно после прочтения материалов по измерительным осциллографам LeCroy на www.prist.ru. Попалась статейка по сравнению результатов симуляции и физических измерений высокоскоростных сигналов. Если по памяти, расхождения порядка 30% амплитуды.

P.S. если не найдете, ссылку постараюсь при случае запостить. Интересно, полагаю, будет многим

статей там много, какая из них?
(хорошо бы ссылку )
Go to the top of the page
 
+Quote Post
Loud Whisper
сообщение Jun 16 2008, 09:12
Сообщение #12





Группа: Участник
Сообщений: 14
Регистрация: 27-06-07
Пользователь №: 28 744



Цитата(aaarrr @ Jun 14 2008, 11:23) *
Мануал советую изучить максимально тщательно, чтобы не было мучительно больно потом.
Возможно, что для общения с FPGA больше подойдет I2S (у него нормальные каналы DMA + можно гибко установить тактирование). А загрузка FPGA как организована?

Похоже что надо всё-таки вешать камень на шину, исходя из потенциальных требований к изделию. Вы же знаете, как иногда бывает, идеология устройства меняется на ходу. И пока можно что-то изменить, надо это делать. По поводу загрузки камня. Я так понял, что вы SSP (SPI) применяете как раз для этого, т.е. последовательную память вешаете прям на D0 камня, ну и клок тоже, а остальное - программно. Хорошее известное решение. Только надо порядок битов менять на обратный в прошивке
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 16 2008, 10:24
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Loud Whisper @ Jun 16 2008, 13:12) *
По поводу загрузки камня. Я так понял, что вы SSP (SPI) применяете как раз для этого, т.е. последовательную память вешаете прям на D0 камня, ну и клок тоже, а остальное - программно. Хорошее известное решение. Только надо порядок битов менять на обратный в прошивке

Я вообще последовательную память не использовал: прошивка для FPGA лежала в NOR flash процессора, загрузка через SSP.
Go to the top of the page
 
+Quote Post
Yra
сообщение Apr 5 2009, 21:09
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 396
Регистрация: 22-10-04
Из: Воронеж
Пользователь №: 962



Цитата
Ситуация такая, есть PCB такого расклада, описаны общие шины
1. CPU(data[31..0],addr[24..0])
2. FPGA(data[15..0], addr[24..0])
3. SDRAM1(data[15..0], addr[15..0])
4. SDRAM2(data[31..16], addr[15..0])
5. FLASH (data[15..0], addr[24..1])

Возможные варианты передачи данных на шине:
CPU <-> SDRAM - 100 МГц
CPU <-> FPGA - =< 30 МГц
CPU <-> FLASH - =< 30 МГц

Если взять топологию последовательного обхода и высокоскоростную часть шины отделить последовательными резисторами (~ 50 Ом стоят между SDRAM и FPGA с FLASH)???


--------------------
всё можно наладить, если достаточно долго вертеть в руках /Законы Мерфи/
Go to the top of the page
 
+Quote Post
Uree
сообщение Apr 5 2009, 21:50
Сообщение #15


Знающий
******

Группа: Свой
Сообщений: 5 223
Регистрация: 25-04-05
Из: Z. Gora
Пользователь №: 4 480



Моделить нужно, но по идее должно получиться.
Go to the top of the page
 
+Quote Post

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

 


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


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