Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ACEX1K + SDRAM
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Amper25
Вообщем такое дело:
Работаю над скрещиванием ACEX1K(довольно старая ПЛИС от Altera) и SDRAM.

На вход ПЛИСА подается тактовый сигнал 60MHz, который в самом плисе используется SDRAM контроллером, а также выводится на одну из ног ПЛИС (SDRAM_CLK), которая соединятеся с тактовым входом SDRAM.
Проще говоря, тактовый сигнал идет транзитом через ПЛИС.

Проблема заключатся в том, что по непонятным причинам задержки Tco от входного пина(CLOCK_IN) до выходных шин SDRAM интерфейса и до выхода SDRAM_CLK практически одинаковы. (10,4nS и 10.8nS)
То есть получается что клок и данные на выходе появляются одновременно. Естественно такой вариант но подойдет.
Причем минимальное Tco для тактового сигнала удается сделать 10,6nS, а для линий SDRAM интерфейса оно получается в диапазоне 9,8 .. 15ns.

Пробовал ставить LCELL по CLOCK( ставил только на входе SDRAM контроллера, на выходной пин пропускал клок напрямую), тогда квартус не может определить Tco для клока, говорит что такого временного пути не существует. sad.gif

Посоветуйте что делать в таком случае, как отделить CLOCK от DATA, даже неважно вперед или назад. PLL и прочего в данной ПЛИС нет. Плату переделывать не могу.





Да, что еще за глюк у квартуса - Иногда пропадает графа tpd из отчета после компиляции, хотя в Assigment они прописаны?
vetal
можно на sdram выводить инверсный клок - так будет проще всего соблюсти сетапы и холды.
dinam
У меня тактовая для SDRAM тоже пропускается через FPGA(Cyclone II). Я сделал следующее. Для тактовой я сделал минимальное время прохождения через FPGA. Глобальный клок, установил Maximum Delay 10нс в TimeQuest Timing Analyzer. Для остальных сигналов SDRAM, наоборот, установил Minimum Delay13нс и Maximum Delay 14нс. Вроде все сетапы и холды в норме.
torik
Я конечно не суперспециалист, но - нельзя один из клоков для задержнки через пару инверторов пропустить?
eugen_pcad_ru
Если уж вообще ничего не поможет, можно в макcплюсe попробовать проект нарисовать... Хотя конечно тоже путь не оченьsmile.gif
Amper25
Цитата
У меня тактовая для SDRAM тоже пропускается через FPGA(Cyclone II). Я сделал следующее. Для тактовой я сделал минимальное время прохождения через FPGA. Глобальный клок, установил Maximum Delay 10нс в TimeQuest Timing Analyzer. Для остальных сигналов SDRAM, наоборот, установил Minimum Delay13нс и Maximum Delay 14нс. Вроде все сетапы и холды в норме.


Да я бы с радостью так и сделал. Но проблема в том, что ACEX1K - древняя ПЛИС 2000 или 2001 года разработки. Соответственно, квартус поддерживает не весь набор инструментов. Вообщем для нее можно пользоватся только Classical Timing Analiser. sad.gif

Цитата
Я конечно не суперспециалист, но - нельзя один из клоков для задержнки через пару инверторов пропустить?

Квартус просто их "упростит".
+ Непонятно почему, Clock который прошел через LCELL и пр, он перестает ассоциировать с исходным клоком. (не может посчитать для него задержку)

Вообще именно для этой ПЛИС Quartus7.2 работает как то глючно. Может Альтеровцы не потрудились довести до ума, так как её уже практически никто не пользует?

Цитата
Если уж вообще ничего не поможет, можно в макcплюсe попробовать проект нарисовать... Хотя конечно тоже путь не очень


Спасибо, но это уже в крайнем случае. Тем более я с максплюсом практически не работал, сразу сел за квартус.

Попробую еще проинвертировать клок.
torik
Чтобы не "упростил" может подключить какую-нибудь "нагрузку" после первого инвертора?
EvgenyNik
Цитата
Чтобы не "упростил" может подключить какую-нибудь "нагрузку" после первого инвертора?

Он всё равно упростит, а нагрузку включит через инвертор :-)
Shivers
Можно на выходной клок повесить емкость, пик 10-50. Как раз задержите на несколько нан. А вообще, это все чревато большой нестабильностью по питанию/температуре; надо использовать pll для таких задач.
torik
Ставьте внешнюю задержку на тех же инверторах)
Amper25
Спасибо за советы.
Обошелся простым LCELL последовательно с клоком - для контроллера и напрямую - для выхода.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.