есть bemicro-SDK с памятью MT46H32M16LFBF-5.
при попытке добавить в QSys контроллер, квартус потом ругается на 1.8V CMOS
Error (165021): The "1.8 V" I/O standard and/or the "8mA" current strength on the pin "sdram_dqs[0]" is not supported for DDR/DDR2 external memory interfaces
при попытке поменять на что-нибудь другое жалуется то на нехватку vref, один из которых занят sdram_CS, либо на несоответствие io стандартов для всех ног.
в примерах есть прошивка с линуксом для niosa, собранная с контроллером от microtronix там все ноги памяти как 1.8V CMOS.
как в QSys хоть как-то подключить мобильный ДДР MT46H32M16LFBF-5 правильно?
gosu-art
May 13 2015, 12:41
Выполнить TCL скрипт для назначения ног DDR. Генерируется Qsys автоматом
скрипт проставил SSTL-2,
у EP4CE22F17C7 DDR память на банках 7 и 8, у одного из них vref используется как IO, чипселект для памяти, соответственно теперь квартус ругается что у половины шины данных, строба и клока нет vref.
Error (169011): Cannot place I/O pin sdram_dq[8] in pin location E8 -- I/O standard assigned to pin requires VREF value and VREF pin corresponding to pin location not available
Нажмите для просмотра прикрепленного файла
Magnum
May 13 2015, 14:52
Странно, что не посажен Vref, как положено, на опорное питание, причем, если мне не изменяет память, то Vref это не питание DDR (1,8В как сделано в 7-ом банке), а что-то около половины того. ИМХО в режиме DDR ноги Vref нельзя пользовать как IO, они пользуются для задания смещения на шине.
gosu-art
May 13 2015, 15:45
смотрите PinOut. Там есть Vref группы.
UPD. А вообще перед тем как разводить платы нужно собирать проект в квартусе и смотреть чтоб раскладка "легла".
UPD2. Для DDR2 Vref = 0.9В. можно сделать делителем 1кОм на 1кОм
Magnum
May 13 2015, 15:59
Цитата(gosu-art @ May 13 2015, 21:45)

смотрите PinOut. Там есть Vref группы.
UPD. А вообще перед тем как разводить платы нужно собирать проект в квартусе и смотреть чтоб раскладка "легла".
UPD2. Для DDR2 Vref = 0.9В. можно сделать делителем 1кОм на 1кОм
Видимо в данном случае человек купил готовую борду
https://parts.arrow.com/item/detail/arrow-d...ools/bemicrosdk , в надежде что её спроектировали грамотные люди.
память mobile DDR, а не DDR2, в необходимости опоры в половину питания не уверен, хотя наверняка не знаю.
то что разработчики платы проморгали такое еще более сомнительно. хотя почему на один из vref всё-таки подали 1.8В тоже непонятно.
тем более что демонстрационная прошивка вполне работает со сторонним контролером памяти, при этом тип IO там выставлен просто 1.8CMOS которому никакие опоры точно не нужны.
а вот зачем альтеровский контроллер требует SSTL и как его отучить от этого - вопрос.
там частота-то 133МГц всего, speed grade 7.
gosu-art
May 14 2015, 04:27
посмотрел память, и правда...
Цитата
1.8V LVCMOS compatible inputs
Просто у Альтеры корки идут под обычные DDR, а там у нее все строго - SSTL
Есть отдельно LPDDR2 в Qsys, но он у меня закрыт для использования
На плату есть примеры с использованием памяти?
Цитата(gosu-art @ May 14 2015, 10:27)

Просто у Альтеры корки идут под обычные DDR, а там у нее все строго - SSTL
Есть отдельно LPDDR2 в Qsys, но он у меня закрыт для использования
На плату есть примеры с использованием памяти?
для платы собран nios/f с линуксом, и с контроллером
http://www.microtronix.com/ip-cores/arrow-...luation-licenseпо LPDDR2 квартус от жадности вылечить наверное можно, но хотелось бы обойтись свободно доступными средствами. и ddr2, хоть и LP, тоже скорее всего 1.8V cmos не понравится.
еще есть дурацкий вариант взять дебагер и вылечить квартус на предмет проверок типов io, но это как-то некрасиво.
делать минимальный контроллер памяти самому сейчас тоже совсем не хочется особенно по части прикручивания его к nios.
novartis
May 14 2015, 16:07
Я так понял вы хотите собрать проект без использования лицензионной корки от microtronix?
С использованием их корки у меня все работает. То, что плата при этом работает в time_limited режиме, конечно, напрягает.
Вот tcl скрипт для их корки, сгенеренный qsys'ом, может поможет:
Код
# Microtronix SDRAM Assigments Script
# Generated by the Microtronix SDRAM Controller SOPC Builder Perl Script
# Build : 180/7.3.2014
###
# Misc Assignments
###
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to mddr_ba
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to mddr_a
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to mddr_cs
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to mddr_cas
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to mddr_ras
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to mddr_we
###
# Architecture-Specific Assignments
###
set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to mddr_dq
set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to mddr_dqs
set_instance_assignment -name IO_STANDARD "1.8 V" -to mddr_clk_out_p
set_instance_assignment -name IO_STANDARD "1.8 V" -to mddr_clk_out_n
set_instance_assignment -name IO_STANDARD "1.8 V" -to mddr_ba
set_instance_assignment -name IO_STANDARD "1.8 V" -to mddr_a
set_instance_assignment -name IO_STANDARD "1.8 V" -to mddr_cs
set_instance_assignment -name IO_STANDARD "1.8 V" -to mddr_cas
set_instance_assignment -name IO_STANDARD "1.8 V" -to mddr_ras
set_instance_assignment -name IO_STANDARD "1.8 V" -to mddr_we
set_instance_assignment -name IO_STANDARD "1.8 V" -to mddr_dqm
set_instance_assignment -name IO_STANDARD "1.8 V" -to mddr_dq
set_instance_assignment -name IO_STANDARD "1.8 V" -to mddr_dqs
set_instance_assignment -name IO_STANDARD "1.8 V" -to mddr_cke
set_instance_assignment -name OUTPUT_ENABLE_GROUP 22 -to mddr_dq
set_instance_assignment -name OUTPUT_ENABLE_GROUP 22 -to mddr_dqs
set_instance_assignment -name OUTPUT_ENABLE_GROUP 22 -to mddr_dqm
set_instance_assignment -name PAD_TO_CORE_DELAY 0 -to mddr_dq
set_instance_assignment -name DUAL_PURPOSE_CLOCK_PIN_DELAY 2 -to mddr_dqs
set_global_assignment -name FMAX_REQUIREMENT "133.333333333333 MHz" -section_id mddr_dqs_clock
set_instance_assignment -name CLOCK_SETTINGS mddr_dqs_clock -to mddr_dqs
# Commit assignments
export_assignments
Andrew Su
May 14 2015, 17:52
Цитата(_pv @ May 13 2015, 23:18)

память mobile DDR, а не DDR2, в необходимости опоры в половину питания не уверен, хотя наверняка не знаю.
Добрый день.
На двух устройствах подключал LPDDR к Spartan6. Vref на банк, к которому подключал память, не заводил.
Цитата(novartis @ May 14 2015, 22:07)

Я так понял вы хотите собрать проект без использования лицензионной корки от microtronix?
С использованием их корки у меня все работает. То, что плата при этом работает в time_limited режиме, конечно, напрягает.
вот минимальный контроллер для MT46H32M16LFBF-5 без ограничения по времени,
http://www.arroweurope.com/fileadmin/user_...K-mddr_ctrl.zipтолько со времен 10 квартуса синтаксис _hw.tcl похоже слегка поменялся и ноги на экспорт по другому теперь назначаются, надо поправить немного.
ограниченной по времени коркой от microtronix не поделитесь где взять? что-то сходу не нашлось где скачать чтобы "без регистрации и смс".
novartis
May 15 2015, 16:21
Ограниченную по времени корку от microtronix я качаю на сайте microtronix
http://www.microtronix.com/CatalogueRetrie...p;ObjectType=27Здесь нужно нажать на иконку Request Evaluation.
Далее заполняете регистрационный лист. Я вбиваю левые данные. Далее попадаем на список корок, которые можно скачать.
Там не только контроллер для bemicro. Никаких активаций, подтверждений email не требуется. Скорей всего не требуется, может быть в первый раз требуется - уже не помню, я в первый раз качал год назад.
Inanity
Nov 30 2016, 23:48
Пожалуй, подниму тему.
Нужно хоть как-нибудь завести mobile DDR на Cyclone III. Time-limited не страшно, лишь бы хоть как-нибудь работало. Есть скачанная корка от Microtronix, исходники зашифрованы, лицензии нет. Хотя бы в режиме OpenCore попробовать её. На сайт Microtronix заходил, Request Evaluation пробовал, заполнил запрос на Mobile DDR и вылетаю в Page Not Found постоянно.
Спасибо
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.