Полная версия этой страницы:
Адресные линии SRAM
Evgeniy740102
Dec 16 2016, 14:59
Используем давно K6R4016V1D-TI10 (Samsung), но она уже снята с производства.
Хотим заменить на GS74116AGP-10I (GSI Technology), но у них адресные линии приходят на разные пины корпуса.
Можем-ли мы запаять GS74116AGP-10I (они полные функциональные аналоги) и ничего не менять или нужно в программе поменять код?
aaarrr
Dec 16 2016, 16:35
Цитата(Evgeniy740102 @ Dec 16 2016, 17:59)

Можем-ли мы запаять GS74116AGP-10I (они полные функциональные аналоги) и ничего не менять или нужно в программе поменять код?
Можете, менять ничего не придется.
Evgeniy740102
Dec 20 2016, 11:56
Цитата(aaarrr @ Dec 16 2016, 19:35)

Можете, менять ничего не придется.
Не превысит ли адресное пространство физический объем памяти?
Как это посчитать? Я все никак не могу паять, что значит запись 256K x 16 и как эта запись коррелирует с адресными линиями?
esaulenka
Dec 20 2016, 12:04
Эта запись означает "256 тысяч адресов, по каждому адресу - 16 бит данных".
Такая странная запись потому, что шина данных - 16-битная.
Адресных линий, очевидно, 18 штук, чтобы получить 2 в степени 18 = 256k.
PS на первых же страницах даташита написано то же самое...
The K6R4016V1D is a 4,194,304-bit high-speed Static Random Access Memory organized as 262,144 words by 16 bits.
The GS74116A is a high speed CMOS Static RAM organized as 262,144 words by 16 bits
Как объяснить понятнее, я не знаю...
Evgeniy740102
Dec 20 2016, 13:55
Спасибо, теперь понятно! Вот этой вот фразы мне не хватало "Адресных линий, очевидно, 18 штук, чтобы получить 2 в степени 18 = 256k."
Так а все же, можно однозначно ответить об обращении к физически не существующей ячейки или пока не запаяешь и не протестируешь ничего не скажешь?
Изделие старое и никто не знает какие там выставляются адреса.
novikovfb
Dec 20 2016, 14:00
Цитата(Evgeniy740102 @ Dec 20 2016, 17:55)

Так а все же, можно однозначно ответить об обращении к физически не существующей ячейки или пока не запаяешь и не протестируешь ничего не скажешь?
Объясните, какие "физически не существующие ячейки" Вы имеете в виду?
esaulenka
Dec 20 2016, 15:22
Процессор может обратиться к "несуществующей ячейке", если помимо линий адреса 0..17 у него есть, например, 18-я линия. Или 25-я. И он ими размахивает произвольным образом.
Но т.к. на предыдущей микросхеме адресов было 2**18, и на этой тоже 2**18, бояться нечего - ВСЕ возможные комбинации существуют.
Ну а если б процессор выставлял бы "несуществующие" комбинации, всё б давно сломалось и со старой микросхемой.
toweroff
Dec 20 2016, 18:13
Процессору абсолютно фиолетово, в каком месте ОЗУ располагаются данные ФИЗИЧЕСКИ
Главное, что у него есть такой же набор линий адреса и запишет он и прочитает их из той же самой уникальной ячейки в пределах этого адресного пространства
Тут самый важный момент - чстобы /WE, /OE, /CE совпадали и адресные линии старой микросхемы также были адресными линиями новой, какими конкретно - не важно. Для ОЗУ. Была бы это какая-нибудь NOR-флешь - были бы грабли, ибо туда еще команды записываются уже по вполне определенным адресам
Сергей Борщ
Dec 21 2016, 06:36
Есть еще один тонкий момент, не относящийся к упомянутым автором вопроса микросхемам: многие производители выпускают псевдостатические ОЗУ, которые снаружи выглядят как статические, а внутри являются динамическими. Производитель уверяет, что это полная функциональная замена, однако я нарвался на очень неприятный момент с такой ОЗУ IS66WV51216D, которую снабженцы закупили вместо стоявшей до этого "честной" статической ОЗУ: при определенной комбинации смены адреса и сигналов UB, LB без снятия CS данные на выходе не менялись. А именно такую комбинацию сигналов генерит LPC2214 при побайтовом обращении последовательно к адресам 0x????1, 0x?????2. Если между обращениями есть пауза, достаточная для снятия CS контроллером внешней шины - данные читаются корректно, если же паузы нет - данные не меняются и контроллер получает содержмое предыдущей ячейки.
Цитата(esaulenka @ Dec 20 2016, 18:22)

Процессор может обратиться к "несуществующей ячейке", если помимо линий адреса 0..17 у него есть, например, 18-я линия. Или 25-я. И он ими размахивает произвольным образом.
Но т.к. на предыдущей микросхеме адресов было 2**18, и на этой тоже 2**18, бояться нечего - ВСЕ возможные комбинации существуют.
Ну а если б процессор выставлял бы "несуществующие" комбинации, всё б давно сломалось и со старой микросхемой.
Не факт.
Если у процессора есть линии адреса выше 17-й и ТС запаяет скажем 19 линий на соответствующий SRAM-чип, то вполне возможно любое поведение программы, в зависимости от кривости её написания.
Вполне возможно что в программе есть ошибки адресации. Например чтение по адресу выше адресного пространства SRAM. Которое сейчас возвращает всегда какое-то фиксированное значение и с ним ПО работает нормально (так сложились звёзды при отладке того ПО

, а с реальной памятью по этим адресам будет другое поведение программы.
Или наоборот: со старой SRAM при выходе за адресное пространство SRAM будет выполнена чтение/запись из начала SRAM, то с новой - переполнения не будет - совсем другие результаты будут.
Это конечно если не заданы чётко границы региона SRAM через MPU (чё там за проц у автора?).
esaulenka
Dec 21 2016, 17:59
Мы тут обсуждаем два чипа одинакового объема.
Если менять объем, то да, надо чуть-чуть подумать - возможны побочные эффекты. А в данном случае - как работало, так и будет работать...
Сергей более страшные вещи рассказал. Если это правда, за такое надо сильно бить. Там, правда, в даташите есть какие-то ограничения, но вроде б он их не нарушает...
Цитата(esaulenka @ Dec 21 2016, 20:59)

Мы тут обсуждаем два чипа одинакового объема.
...
Сергей более страшные вещи рассказал. Если это правда, за такое надо сильно бить. Там, правда, в даташите есть какие-то ограничения, но вроде б он их не нарушает...
Ну так он это тоже про другие микросхемы рассказал

Я хотел сказать, что даже на "полных функциональных аналогах" возможны всякие варианты. Сталкивались с таким. Когда вроде мс заявлена как полный функциональный аналог и по даташиту вроде всё ок, а вдруг - впаиваем и не работает. А всё потому, что начинают проявляться баги (или просто недопонятые при разработке моменты в доках), которые раньше не проявлялись.
А с памятью - может даже просто изменившееся время доступа уже привести к разности в работе.
Только опыт покажет - заработает или нет. Как говорится: "Гладко было на бумаге, да забыли про овраги"
Цитата(novikovfb @ Dec 20 2016, 17:00)

Объясните, какие "физически не существующие ячейки" Вы имеете в виду?
Очевидно то, что любая рокировка 262144 адресов либо соблазнительно увеличивает их количество (622441), либо удручающе уменьшает (122446).
Сергей Борщ
Dec 22 2016, 13:41
QUOTE (Plain @ Dec 22 2016, 12:56)

Очевидно то, что любая рокировка 262144 адресов либо соблазнительно увеличивает их количество (622441), либо удручающе уменьшает (122446).
Как? Вот у нас есть 4 ячкейки, с адресами [A0-A1]: 00, 01, 10, 11. Как надо менять между собой линии A0 и A1, чтобы они вдруг стали адресовать больше или меньше четырех ячеек??? Нарисуйте это "очевидно" на примере хотя бы двух (черт с ними, с девятнадцатью) адресных линий.
novikovfb
Dec 22 2016, 13:46
Цитата(Сергей Борщ @ Dec 22 2016, 17:41)

Как? Вот у нас есть 4 ячкейки, с адресами [A0-A1]: 00, 01, 10, 11. Как надо менять между собой линии A0 и A1, чтобы они вдруг стали адресовать больше или меньше четырех ячеек??? Нарисуйте это "очевидно" на примере хотя бы двух (черт с ними, с девятнадцатью) адресных линий.
не заморачивайтесь, это такая Plain шутка
Evgeniy740102
Jan 19 2017, 13:20
Я работаю в представительстве GSI Technology, занимаюсь маркетингом и продажами. Здесь задал вопрос, т.к. со студенческой скамьи зарегистрирован на этом форуме и решил немного разобраться в технических нюансах.
Образец будет отправлен заказчику в конце февраля, как только они его проверят, я сообщу о результатах.
Спасибо, что помогаете!
Evgeniy740102
Apr 17 2017, 09:58
Как и обещал, сообщаю о результатах - замена подошла, ничего в прошивке менять не надо.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.