Убить MAX

Сколько раз можно перешить EPM240?
Честно говоря я никогда не задавался этим вопросом.
Работаю с разными CPLD очень давно и не помню ни одного случая отказов программирования. С другой стороны, могу понять людей, которые сталкиваются с такими чипами впервые.
В документации на MAX-II (

) с удивлением обнаружил такую таблицу:
Количество циклов программирования Altera CPLD MAX-II

Странность здесь даже не в малом количестве циклов, а в том, что это "Maximum", хотя по логике вещей производитель был-бы обязан гарантировать хотя бы какой-нибудь "Minimum".
Тем неменее наши читатели уже неоднократно задавали нам этот вопрос.
Поиски ответа в интернете тоже не дали никаких результатов, поэтому единственное, что мы можем в этом случае сделать - это поставить практический эксперимент.

Хотя сделать правильный эксперимент довольно сложно.
Флешка чипа EPM240 размером около 8 килобайт и разбита на две части - CFM (около 7кб, для конфигурации чипа), и UFM (1кб для использования в пользовательских проектах).
Если с пользовательской UFM все чисто, туда можно записывать любую информацию, то в CFM произвольную информацию записывать нельзя. Поэтому для тестов мы взяли один из  реальных проектов, сделав для него *.mif (Memory Initialization File), состоящий из всех нулей.
Для автоматизации процесса программирования был написан такой батец:


:m0
echo 1 >>count.txt
quartus_pgm -m jtag -c USB-Blaster -o rb;max2.pof
goto n%ERRORLEVEL%
goto end
:n0
quartus_pgm -m jtag -c USB-Blaster -o pv;max2.pof
goto m%ERRORLEVEL%
:n1
:n2
:n3
:n4
:m1
:m2
:m3
:m4
:end
echo errorlevel%ERRORLEVEL% >>count.txt


В нем программатор запускается два раза. Первый раз выполняются процедуры "Erase" и "Blank-Check", второй - "Program" и "Verifi".
Если все процедуры выполнились без ошибок, то в файл count.txt
дописывается "1" и цикл повторяется. По количеству "1" в файле count.txt
можно судить о количестве выполненных циклов программирования.
Для эксперимента мы взяли произвольный "марсоход", наклеили на него отличительную метку и, 01.09.2010 в 18:30, запустили  тест.

Опасаясь, что ни мы, ни наши читатели могут не дождаться результатов,
03.09.2010 в 08:30 тест был принудительно остановлен, так и не выдав ни одной ошибки.
За 38 часов работы было выполнено 13940 ( тринадцать тысяч девятьсот сорок ) циклов программирования. После этого в нашего "мученика науки" мы зашили и протестировали несколько других проектов - все успешно заработали.

Окончательные выводы делать конечно Вам.

 

Добавить комментарий