zherdiy 0 29 июля, 2008 Опубликовано 29 июля, 2008 · Жалоба Сделал я проект для Spartan-3AN Kit Board с памятью DDR2 на борту. Для управления памятью взял Memory Interface Generator. При компиляции проекта на этапе MAP происходит ошибка с сылкой на выходные диференциальные Clk выходы следующего содержания: ________________________________________________________________________________ Mapping design into LUTs... Running directed packing... ERROR:Pack:2224 - The I/O component "mig_ddr2_dqs<0>" has an illegal IOSTANDARD value. The DIFFM component is configured to use differential signaling and can not use single-ended IOSTANDARD value SSTL18_II. Please correct the IOSTANDARD property value or the I/O connectivity. ERROR:Pack:2224 - The I/O component "mig_ddr2_dqs<1>" has an illegal IOSTANDARD value. The DIFFM component is configured to use differential signaling and can not use single-ended IOSTANDARD value SSTL18_II. Please correct the IOSTANDARD property value or the I/O connectivity. ERROR:Pack:2224 - The I/O component "mig_ddr2_clk" has an illegal IOSTANDARD value. The DIFFM component is configured to use differential signaling and can not use single-ended IOSTANDARD value SSTL18_II. Please correct the IOSTANDARD property value or the I/O connectivity. Mapping completed. See MAP report file "schema_map.mrp" for details. Problem encountered during the packing phase. Design Summary -------------- Number of errors : 3 Number of warnings : 7 Process "Map" failed ___________________________________________________________________________ Я понял, что компилятор не хочет делать для этих выводов (подключенных к MIG) применять IOSTANDARD равный SSTL18_II (что я делаю в файле временных и топологических ограничений). Но в описании на мой девайс прямо указанно, что необходимо использовать именно SSTL18_II. К тому же если убрать это ограничение или поставить другую величину - это приводит только к увеличению ошибок компиляции. Наверняка я не первых применяю MIG и кто-то уже решал все эти проблемы. С нетерпением жду решения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vik0 0 29 июля, 2008 Опубликовано 29 июля, 2008 · Жалоба Я понял, что компилятор не хочет делать для этих выводов (подключенных к MIG) применять IOSTANDARD равный SSTL18_II (что я делаю в файле временных и топологических ограничений). Но в описании на мой девайс прямо указанно, что необходимо использовать именно SSTL18_II. Может все-таки DIFF_SSTL18_II ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zherdiy 0 30 июля, 2008 Опубликовано 30 июля, 2008 · Жалоба Действительно помогло, а в PDF-ке на мой KIT ошибка. Огромное спасибо. А вы не подскажете еще и по поводу входной адресной шины на MIG? Как задавать адрес правильно, если он состоит из row+column+bank adress (13+10+2 бит соответственно). И куда подевался еще один бит, ведь адресная шина имеет 26 разрядов? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
YuP 0 30 июля, 2008 Опубликовано 30 июля, 2008 · Жалоба А вы не подскажете еще и по поводу входной адресной шины на MIG? Как задавать адрес правильно, если он состоит из row+column+bank adress (13+10+2 бит соответственно). И куда подевался еще один бит, ведь адресная шина имеет 26 разрядов? A9-A0 Column address A10 Auto precharge A23-A11 Row address A25-A24 Bank address Сигнал на A10 определяет, будет ли использоваться автоматическая деактивация. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zherdiy 0 31 июля, 2008 Опубликовано 31 июля, 2008 · Жалоба YuP, Спасибо за последовательность, но это не все, что мне пока не понятно в адресации. Вот, возьмем к примеру картинку моего поста выше. У меня шина данных = 32р. Я хочу передать два раза 32х разрядное значение (для упрощения ситуации) по двум различным адресам. Длина загрузки (burst lenght) = 4. Все, как на картинке. Выставляю первый адрес вида (старшие слева): 01 0000000000001 1 0000000001. Второй адрес вида: 01 0000000000001 1 0000000010. Как может каждый из адресов относиться к передаваемым данным в 32разряда? Ведь память всего на 512Mbit, а учитывая все комбинации выйдет переполнение памяти. И ведь шина выходных из MIG данных (и входная в DDR2) = 16 бит и каждому передаваемому значению должен соответствовать свой уникальный адрес. Видно я что-то не так понимаю. Помогите разобраться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zherdiy 0 31 июля, 2008 Опубликовано 31 июля, 2008 · Жалоба Несколько раз пересчитывал и не вышло 512Мбит. Берем 23р адреса, подаваемого на вход MIG (10р Column address+13р Row address). Каждому адресу соответствует 32х разрядное слово данных. Плюс 4 банка памяти. A10 - Auto precharge в расчет не берем. (23р - 8000000 адресов) * (4 банка) * (32р данных) = 1024 Мбит. Попробую поэкспериментировать на отладочной платке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zherdiy 0 5 августа, 2008 Опубликовано 5 августа, 2008 · Жалоба Поэкспериментировал. Не получилось. Даже не знаю как проверить "что не так". Может у кого-нибудь есть картинка в схематике с подключенным MIGом или готовый тестовый проект под ISE9.2, чтобы я сравнил со своим? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zherdiy 0 6 августа, 2008 Опубликовано 6 августа, 2008 · Жалоба Вопрос отпадает, все заработало. Оказалось что я не то в DataMask поставил. Занулил все данные, вот и не видел ничего. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zherdiy 0 1 сентября, 2008 Опубликовано 1 сентября, 2008 · Жалоба Облом. Предыдущее сообщение можно не читать, я ошибся, когда проверял работоспособность - не тот файл прошил. В общем, так и сяк крутил этот МИГ, и остановился на том, что он устанавливает на 1-цу выход user_cmd_ack и оно висит до посинения, хотя должно сбрасываться в 0 после burst_done за два такта clk0. Никто не в курсе из-за чего может зависать этот user_cmd_ack? Из-за неправильно установленного адреса может? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vik0 0 6 сентября, 2008 Опубликовано 6 сентября, 2008 · Жалоба ... готовый тестовый проект под ISE9.2, чтобы я сравнил со своим? А на xilinx.com посмотреть тяжело? http://www.xilinx.com/products/boards/s3as...nce_designs.htm Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zherdiy 0 9 сентября, 2008 Опубликовано 9 сентября, 2008 · Жалоба А на xilinx.com посмотреть тяжело? http://www.xilinx.com/products/boards/s3as...nce_designs.htm Посмотрел - самого проекта для MIG нет. Есть какие-то pdf-ки бесполезные. Сейчас у меня этот MIG выдает все контрольные сигналы как надо, но при чтении ранее записанных данных выдает или все 1-цы(побитно) или первые два бита 0, а остальное 1. Значение постоянное и не изменяется. Никто не знает, что это? Если в память (ddr2) еще ничего не писалось, то какое значение в нем хранится по умолчанию? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться