Перейти к содержанию
    

ACEX1K + SDRAM

Вообщем такое дело:

Работаю над скрещиванием 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 для клока, говорит что такого временного пути не существует. :(

 

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

 

 

 

 

 

Да, что еще за глюк у квартуса - Иногда пропадает графа tpd из отчета после компиляции, хотя в Assigment они прописаны?

Изменено пользователем Amper25

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

можно на sdram выводить инверсный клок - так будет проще всего соблюсти сетапы и холды.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня тактовая для SDRAM тоже пропускается через FPGA(Cyclone II). Я сделал следующее. Для тактовой я сделал минимальное время прохождения через FPGA. Глобальный клок, установил Maximum Delay 10нс в TimeQuest Timing Analyzer. Для остальных сигналов SDRAM, наоборот, установил Minimum Delay13нс и Maximum Delay 14нс. Вроде все сетапы и холды в норме.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня тактовая для SDRAM тоже пропускается через FPGA(Cyclone II). Я сделал следующее. Для тактовой я сделал минимальное время прохождения через FPGA. Глобальный клок, установил Maximum Delay 10нс в TimeQuest Timing Analyzer. Для остальных сигналов SDRAM, наоборот, установил Minimum Delay13нс и Maximum Delay 14нс. Вроде все сетапы и холды в норме.

 

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

 

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

Квартус просто их "упростит".

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

 

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

 

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

 

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

 

Попробую еще проинвертировать клок.

Изменено пользователем Amper25

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Он всё равно упростит, а нагрузку включит через инвертор :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно на выходной клок повесить емкость, пик 10-50. Как раз задержите на несколько нан. А вообще, это все чревато большой нестабильностью по питанию/температуре; надо использовать pll для таких задач.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за советы.

Обошелся простым LCELL последовательно с клоком - для контроллера и напрямую - для выхода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...