AlexY 0 5 мая, 2007 Опубликовано 5 мая, 2007 · Жалоба Хотелось бы опробовать альтеровский ddr2 контроллер, а как скачать с альтеры не ясно. :( Если я правильно понял, то теперь только целиком установка megacore library требуется. Кто пользовался - какие впечатления? 400 МГц Stratix II потянет? Есть ли у кого сам контроллер или вся megacore library, поделитесь, pls. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Пушкин 0 5 мая, 2007 Опубликовано 5 мая, 2007 · Жалоба На ихнем фтп все что нужно лежит Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexY 0 7 мая, 2007 Опубликовано 7 мая, 2007 · Жалоба На ихнем фтп все что нужно лежит Чего-то не нашел я там ничего. :( Есть University Program IP cores, но DDR2 там нет. Поделитесь у кого есть. Заранее благодарен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 7 мая, 2007 Опубликовано 7 мая, 2007 · Жалоба там есть например 70_ip_windows. 98M Там два контроллера ddrII Что в 71 еще не знаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexY 0 7 мая, 2007 Опубликовано 7 мая, 2007 · Жалоба там есть например 70_ip_windows. 98M Там два контроллера ddrII Что в 71 еще не знаю. А можно ссылку, пожалуйста !!! То ли я не там ищу, то ли нет этого уже... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 7 мая, 2007 Опубликовано 7 мая, 2007 · Жалоба на фтп альтеры удаленный каталог набирать все сразу /o_utg_oing/re_lea__se Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexY 0 7 мая, 2007 Опубликовано 7 мая, 2007 · Жалоба на фтп альтеры удаленный каталог набирать все сразу /o_utg_oing/re_lea__se Спасибо большое! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stas 1 2 июля, 2007 Опубликовано 2 июля, 2007 · Жалоба Если это про контроллер SDRAM DDR2 - то это ни о чем. Версия что распространяется как Megacore - покоцанная, по документам 266 Mhz, реально запускал на 300 - работает... Для полного варианта с динамическим обновлением DLL - говорят обращяйтесь лично в оффис ALTERы. Логика динамического обновления DLL мне не понятна, интересно было б узнать как. Минусы Megacore: 1. Схема ресинхронизации - совсем не очень, у меня получилось гораздо проще и совсем не проблеммно по фазе. 2. Выборка полосы пропускания памяти - никакая (работаем только с одним банком, откупорим - закупорим. При линейной записи - считывании нормально, при разбросанных запросах - (как память процессора) будут проблеммы с производительностью). А к примеру для 4 банковых устройств можно сделать одновременное открытие всех 4 банков, хранить можно до 4 открытых банков и тд - этого в Megacore нет. Плюсы: Быстрая проверка дизайна PCB и целостности чипов. Итого: Покупать это чудо не стоит, непонятно за что Altera деньги берет. Демо можно использовать для первоначального ознакомления с DDR SDRAM. Реально за неделю -полторы сделать самому контроллер DDR и не заморачиваться с Megacore. На Stratix 2 - с3 TOP с DLL легко получается 300 MHz, при увеличении длинны конвейеров можно натянуть на 333 MHz. Ключевая особенность при разработке - ручное размещение входных регистров (capture) и указания времени распространения от пинов до них (при большом времени B) обратите внимание на входные программируемые задержки)... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oval 0 2 июля, 2007 Опубликовано 2 июля, 2007 · Жалоба Реально за неделю -полторы сделать самому контроллер DDR и не заморачиваться с Megacore. За это время реально сделать контроллер DDR ничем не лучше, чем контроллер от Altera. А чтобы сделать "нормальный" контроллер, нужно значительно больше времени. Не все так просто. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 3 июля, 2007 Опубликовано 3 июля, 2007 · Жалоба 1. Схема ресинхронизации - совсем не очень, у меня получилось гораздо проще и совсем не проблеммно по фазе. можно у вас узнать, для повышения образованности, а какую вы схему синхронизации реализовали ? 2. Выборка полосы пропускания памяти - никакая (работаем только с одним банком, откупорим - закупорим. При линейной записи - считывании нормально, при разбросанных запросах - (как память процессора) будут проблеммы с производительностью). А к примеру для 4 банковых устройств можно сделать одновременное открытие всех 4 банков, хранить можно до 4 открытых банков и тд - этого в А вы представляете во что выливаеться реализация логики обработки 4-х банков ? думаю что ни о каких 333 МГц в этом случае речи не будет, а будете конвейеризировать тогда либо просядете по латентности доступа либо не уложитесь в конвейер памяти. в свободное время я разрабатываю подобный контроллер, НО для сдрам 133МГц CL=3. логика занятная получаеться. Потом планирую выложить его в опенсорс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nikavano 0 3 июля, 2007 Опубликовано 3 июля, 2007 · Жалоба там есть например 70_ip_windows. 98M Там два контроллера ddrII Что в 71 еще не знаю. А не подскажите-ли номер фичи (FEATURE хххх_yyyy) для ddr из ихнего ip-пака. а то квартус ругается , что таймлимит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stas 1 3 июля, 2007 Опубликовано 3 июля, 2007 · Жалоба можно у вас узнать, для повышения образованности, а какую вы схему синхронизации реализовали ? Я в контракте подписывался о собственности заказчика на все мои поделки. Но тонко намекну: 2-x клоковое FIFO+сдвиговый регистр для передачи разрешения приема из генератора адреса в приемную часть. Так я делал в контроллере SSRAM DDR2 300MHz, так и в 2 - контроллерах SDRAM DDR2 . Метастабильности не замечено, но легкая заморочка при подборе длинны сдвигового регистра, что легко решаемо с SignalTap. Секретное комбо - сброс FIFO от задержанного сигнала готовности PLL. А вы представляете во что выливаеться реализация логики обработки 4-х банков ? думаю что ни о каких 333 МГц в этом случае речи не будет, а будете конвейеризировать тогда либо просядете по латентности доступа либо не уложитесь в конвейер памяти. Представляю. 4 банка выливаются не во много, и не понятно при чем тут латентность, наверно слово понравилось? Логика как у ALTERA'ы в моей поделке - это простенький автомат на 10 состояний + автомат инициализации на 19 состояний + 2 таймера с конвейерными входами управления и выходами. Обработка одновременно 4-х банков несложно. У меня ето реализовано как стек регистров с номерами банков, кол-во состояний базового автомата не изменилось, 310 тянет контроллер тянет, больше пока не надо, но резервы есть.... Одно но, я в своем контроллере не использую режим Power-down. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 3 июля, 2007 Опубликовано 3 июля, 2007 · Жалоба по датафлоу понятно, спасибо А вы представляете во что выливаеться реализация логики обработки 4-х банков ? думаю что ни о каких 333 МГц в этом случае речи не будет, а будете конвейеризировать тогда либо просядете по латентности доступа либо не уложитесь в конвейер памяти. Представляю. 4 банка выливаются не во много, и не понятно при чем тут латентность, наверно слово понравилось? Логика как у ALTERA'ы в моей поделке - это простенький автомат на 10 состояний + автомат инициализации на 19 состояний + 2 таймера с конвейерными входами управления и выходами. Обработка одновременно 4-х банков несложно. У меня ето реализовано как стек регистров с номерами банков, кол-во состояний базового автомата не изменилось, 310 тянет контроллер тянет, больше пока не надо, но резервы есть.... Одно но, я в своем контроллере не использую режим Power-down. похоже вы меня не так поняли. Если бы просто держать банки открытыми проблем бы не было но сдрам в момент act получает адресс ряда банка. и при доступе в разные строки одного банка все равно потребуеться закрыть и открыть банк. что например у сдрам cl = 3 занимает 6 тактов (на precharge + 3 act.). держать 4 банка открытыми хорошо когда идет доступ в пределах 1 ряда всех банков с редкой сменой номера ряда. Есть и такие апликации (особенно с длинным бурстом). Но рано или поздно банки все равно придеться закрыть, а закрыть их можно либо по очереди, либо все сразу. ИМХО при полностью случайном доступе держать открытым имеет смысл только 1 банк + очередь команд и логика конвейеризации команд act + prech. Про латентость доступа : контроллеры с подобной логикой имеет смысл делать только при наличии очереди команд + логика окна просмотра очереди команд на 1 и более команды. без такой очереди коэффициент увеличения полосы пропускания контроллера будет случайным, зависящим от кол-ва смены адреса ряда в банке . Про конвейеризацию : если распаралеливания обработки act+pre нет, то времени на декодирование следующей команды вагон, а если есть то желаемое время принятия решения для этого 2-3 такта, лишний такт конвейризации может сломать грамотно придуманый конвейер комманд. ЗЫ. Вы подали мне хорошую идею, надо сделать реализацию с 1 банком и всеми и погонять на симуляторе со случайным набором адресов и бурстов. и померить коэффициент использования полосы пропусания. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oval 0 3 июля, 2007 Опубликовано 3 июля, 2007 · Жалоба Stas, то есть в Вашей реализации контроллера DDR2 SDRAM оптимизация пропускной способности осуществляется только лишь поддержкой параллельного открытия до 4-х банков? А вообще, все зависит от характеристик конкретной системы, в которой используется контроллер: где-то возможность поддержки параллельно открытых банков дает выигрыш по производительности, а где-то и существенный проигрыш. Так что поддержка параллельно открытых нескольких банков - далеко не панацея для увеличения производительности, существует еще масса достаточно нетривиальных способов. Понятие же "латентности" вполне применимо для случая контрллера DDR2 SDRAM. Кстати, если не секрет, какова латентность у Вашего контроллера, допустим по чтению? (т.е. количество тактов от момента принятия контроллером запроса на чтение с внешней стороны, до предоставления первых прочитанных данных внешней же стороне) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stas 1 7 июля, 2007 Опубликовано 7 июля, 2007 · Жалоба Используем SDRAM c 8 банками, page 1 kB, режим работы с burst =8, шина 64 бит, линейное считываниие и запись, латентность значения не имеет. 4 открытых банка - специфика работы и есть ограничение ИМС на одновременное открытие более 4 банков. ИМХО в этом смысле 4 банковые устройства веселее. Собирается шина адреса в виде row_bank_col, по precharge открывается строка во всех 4 банках (есть такая малоописанная фича) и пишется/читается область в page*4, но опять же это удобно при линийных операциях. А вот про оптимизацию по пропускной способности было интересно услышать, но не с "академических позиций" а от реального опыта, ибо в новых работах предстоит... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться