Доброго дня!
При стыковке Атмеловской EEPROM-ки AT24C512B с ПЛИС Xilinx семейства Virtex-5 перериодически после нескольких операциях записи (количество плавает) по прозвольному (не нулевому) адресу происходит сбой, при котором и перезатираются данные, хранящиеся по нулевому адресу+n адресу (с 00h по 1Fh находится область к которой нет обращений). Блоки данных небольшие, 20байт, адреса, по которым производится обращение далеки от максимальных. Линия SDA изначально подтягивалась внутри ПЛИС, потом были опробованы внешние подтягивающие резисторы номиналом от 2,2кОм до 6,8кОм, результат тот же. Сама EEPROM-ка расположена на одной плате с ПЛИС, длинна дорожек не более 40мм.
В .UCF файле прописаны следующие настройки:
NET "EEPROM_SCL" LOC = AG22;
NET "EEPROM_SDA" LOC = AH22;
NET "EEPROM_SCL" IOSTANDARD = LVCMOS33;
NET "EEPROM_SDA" IOSTANDARD = LVCMOS33;
NET "EEPROM_SDA" DRIVE = 24;
NET "EEPROM_SDA" SLEW = SLOW;
NET "EEPROM_SDA" PULLUP;
Во вложениях картинки осциллограммы управляющего слова записи адреса, то же самое в ChipScop-е, и диаграмма выдачи условия стоп в ChipScop (длительность одного такта 0,1мкС).
Так же был опробован, найденный в последней версии Data Sheet на Ep AT24C512B режим Software Reset, применение которого после включения, равно как и перед каждой операцией записи, результата не дало.
Собственно вопрос: кто сталкивался с данной проблемой нестабильности адресации и как решал