Uree 1 27 июля, 2015 Опубликовано 27 июля, 2015 · Жалоба Правильно, нулевой бит каждого байта должен оставаться на своем месте ибо по нему делается тот самый Write Leveling, т.е. подстройка таймингов байта. Остальные можно менять. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NoMemory 0 27 июля, 2015 Опубликовано 27 июля, 2015 · Жалоба Спасибо большое, вот все на свои места и встало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uree 1 27 июля, 2015 Опубликовано 27 июля, 2015 · Жалоба Хотя вот сейчас подумал - в случае FPGA может быть и иначе. Вдруг там можно любой из пинов байт-группы назначить нулевым и он будет участвовать в процедуре write leveling. Правда у Цинка кажется выделенный интерфейс памяти, так что к нему должно быть справедливо правило от JEDEC "по умолчанию". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NoMemory 0 27 июля, 2015 Опубликовано 27 июля, 2015 · Жалоба Не, у Zynq контроллер хардовый, ничего там не поменяешь, потому это нужно переделать, а на данный момент смириться с этой ошибкой. Ну... тоже опыт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
peshkoff 38 27 июля, 2015 Опубликовано 27 июля, 2015 · Жалоба У FPGA можно менять как хочешь. kintex, virtex для них по фиг. в документации на них ничего о первом бите нет, не разрешают, но и не запрещают, равно как и о цинке. а у процессоров как дела обстоят? у них должно быть еще жестче, чем у цинка. ни разу не встречал подобной фразы в документации и все время меняю без оглядки на первый бит например, tms320c6678. или интел. тоже не видел про первый бит ничего Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 27 июля, 2015 Опубликовано 27 июля, 2015 · Жалоба процитирую Freescale: А конкретно что за апнота? Специально посмотрел AN3940, там ничего такого нет... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NoMemory 0 28 июля, 2015 Опубликовано 28 июля, 2015 · Жалоба peshkoff, да, ничего не сказано, у интела по крайней мере, но в JEDEC точно есть такая строчка в Write Leveling, и на процессоре предстоящем в своей борде они вообще ничего не свапали. Потому вопрос и возникает, производители просто этим вопросом не заморачиваются. vitan, Hardware Development Guide for i.MX 6Quad, 6Dual, 6DualLite, 6Solo Families of Applications Processors , гайд по трассировке i.MX 6, пункт 3.5.1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 28 июля, 2015 Опубликовано 28 июля, 2015 · Жалоба но в JEDEC точно есть такая строчка в Write Leveling А это на сей раз где? Понятие "prime DQ" есть, но это же не означает автоматом, что это нулевой бит... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uree 1 28 июля, 2015 Опубликовано 28 июля, 2015 · Жалоба Означает. Только об этом пишет уже производитель чипов памяти(из доки на DDR3L от Micron-a): "When write leveling is enabled, the rising edge of DQS samples CK, and the prime DQ outputs the sampled CK’s status. The prime DQ for a x4 or x8 configuration is DQ0 with all other DQ (DQ[7:1]) driving LOW. The prime DQ for a x16 configuration is DQ0 for the lower byte and DQ8 for the upper byte. It outputs the status of CK sampled by LDQS and UDQS. All other DQ (DQ[7:1], DQ[15:9]) continue to drive LOW. Two prime DQ on a x16 enable each byte lane to be leveled independently." Итого каждый младший бит в байте должен оставаться на своем месте(в случае фиксированного интерфейса памяти) и каждый байт можно выравнивать по длине независимо от других. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 28 июля, 2015 Опубликовано 28 июля, 2015 · Жалоба Итого каждый младший бит в байте должен оставаться на своем месте(в случае фиксированного интерфейса памяти) и каждый байт можно выравнивать по длине независимо от других. Я бы сказал, что означает оно не в случае фиксированного интерфейса памяти, а в случае наличия контроллера, который рассчитывает на появление шевеления только на пине DQ0 во время write leveling-а. Автоматически же одно из другого не следует. Заинтересовался, т.к. тоже использовал фрискейл, но не imx.6, тогда все быстро завелось, скорость 1333, своп есть во всех пинах на двух контроллерах (каждый 72-битный). Правда там у меня регулярная структура и разница между чипами постоянная (хотя чипы 16-битные). Специально облазил все доки, ничего не нашел на эту тему, кроме прямого разрешения свопить в чек-листе. Жуть. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uree 1 28 июля, 2015 Опубликовано 28 июля, 2015 · Жалоба В случаях с FPGA тоже, кажется, не было ограничений по поводу младшего бита в байте, а вот с процами такой свободы действий не встречал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 28 июля, 2015 Опубликовано 28 июля, 2015 · Жалоба В случаях с FPGA тоже, кажется, не было ограничений по поводу младшего бита в байте, а вот с процами такой свободы действий не встречал. Дальше еще интересней: посмотрел указанный проект, обнаружил, что своп-то есть, но DQ0 на каждом чипе чудом остался на своем месте. При этом DQ8 посвоплен с DQ15. Эксперимент не чистый вышел. Придется обращаться в саппорт за разъяснениями. UPD. Почитал это, немного расслабился. :) Скорее всего, так оно и есть... В общем, чур, больше страусов не пугать, пол бетонный! :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NoMemory 0 3 августа, 2015 Опубликовано 3 августа, 2015 (изменено) · Жалоба Здравствуйте все еще раз, вынужден опять просить совета, т.к. столкнулись с некоторыми непонятками. Ситуация следующая: по рекомендации производителя чипов памяти, самого SoC (все тот же ZC7020) и работающих вещах (например плата от Trenz TE0720-02-2AQF) указано, что при трассировке необходимо подтянуть сигнал CKE к VTT через согласующий резистор на конце линии. Но вопроса бы не возникло если бы не одно но, во-первых, схемотехник напротив, подтянул его к низкому уровню через 4.7К (собственно тогда и озадачился), во-вторых, отладочная плата на Zynq разведена с такой же подтяжкой. Взглянул реф.мануал, такое решение применяется при трассировке DDR2/LPDDR2, начал смотреть топологию: дерево, как для DDR2, но чипы DDR3. Т.к. для Trenz топологии нет, решил посмотреть сходное по составу решение MicroZed, там 40 Ом к верхнему и топология флайбай. Ииии... почему? Изменение топологии влияет на данный резистор и как? Из микрона: CKE enables (registered HIGH) and disables (registered LOW) internal circuitry and clocks on the DRAM. The specific circuitry that is enabled/ disabled is dependent upon the DDR3 SDRAM configuration and operating mode. Т.е. в зависимости от уровня она включает и выключает внутренние цепи и клоки в DRAM. Далее говорится о режимах, но какое отношение это имеет к топологии? Только если опять какой-нибудь Write Leveling зависит от этого уровня? Буду рад любым комментариям по данному поводу. На моей стороне нет ответа. P.S.: глянул проект i.Mx6 Rex, тоже что и на девборде от Xilinx: дерево. Значит точно зависимость от топологии, но очень хочется знать почему, смотреть в JEDEC, где? Изменено 3 августа, 2015 пользователем NoMemory Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 3 августа, 2015 Опубликовано 3 августа, 2015 · Жалоба Значит точно зависимость от топологии, но очень хочется знать почему, смотреть в JEDEC, где? Зачем гадать, когда можно: а) спросить у схемотехника; б) отмоделировать? У меня, например, вообще, 40 Ом на землю... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uladzimir 96 3 августа, 2015 Опубликовано 3 августа, 2015 · Жалоба но чипы DDR3. Т.к. для Trenz топологии нет, решил посмотреть сходное по составу решение Там топология флайбай и 40 Ом к VTT Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться