Комментарии 18
Данная плата, у меня, выступает в роли универсального программатора/эмулятора и bitbang делателя
ATTiny13 с фузами по умолчанию очень медленная, это факт.
Ваши доводы похожи на «а вот чувак непристегнутый ехал и при аварии вылетел в мягкий снег, так бы зажало, значит пристегиваться не надо».
Хотел указать вам на вашу ошибку, но раз вам пофиг, сами ходите по граблям.
Но зато универсально, да.
Поначалу расстроился, поскольку в ходе экспериментов успел поменять прошивку около сотни раз, и уже представлял себе скорую гибель микросхемы.
Для экспериментов нужно писать не в EEPROM, а в RAM — используемые CPLD умеют ISC_SRAM_WRITE и ISC_SRAM_READ (в Xilinx ISE смотрим в ISE_DS/ISE/xbr/data/xc2c32a.bsd): это RAM-based CPLD с внутренним EEPROM/Flash, из котрого загружается прошивка в RAM по Reset или по команде.
Вроде, да. Но нормальный EEPROM, а что тут получилось на одном кристалле — вопрос. Собственно, Xilinx утверждает, что там Flash, а товарищ, что реверснул этот чип — что там EEPROM (см. http://siliconexposed.blogspot.com/2014/03/):
The EEPROM is mislabeled "flash" in this image because I originally assumed it was 1T NOR flash. Higher magnification imaging later showed this to be wrong; the bit cells are 2T EEPROM.
Для более старых XC9500XL утверждается, что доступно 10000 циклов перезаписи.
http://support.xilinx.com/ — все вопросы туда, почему в документации на CoolRunner-II CPLD Family написано «Guaranteed 1,000 program/erase cycles» (см. ds090.pdf) и почему так мало. (Но, скорее всего просто ответят, что продукт устарел и снят с производства.)
Дополню, Altera MAX 3000A — функциональный эквивалент и конкурент Xilinx для XC2C (Coolrunner II). Видим в datasheet:
The devices can be reprogrammed for quick and efficient iterations during design development and debugging cycles, and can be programmed and erased up to 100 times.
Так что у XC2C ещё всё просто отлично!
Ну и для полноты картины ещё и Lattice с Atmel с такого же класса и размера CPLD:
Lattice ispMATCH 4000Z (LC4032ZE): «Erase/Reprogram Cycle: Min. 1,000» — так же, как и у XC2C.
Atmel ATF1502BE: «10,000 Program/Erase Cycles» — как у более старых Xilinx XC9500XL.
Для полноты картины, Cypress Ultra 37000 CPLD Family:
Minimum Reprogramming Cycles: min. — 1,000, typ. — 10,000.
— Вот, Cypress подстраховались, задав минимум в 1k, но при этом указав, что на практике должно быть порядка 10k.
Bus Blaster — универсальный скоростной bit-bang интерфейс для терпеливых энтузиастов