Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос по загрузке_прошивке Cyclone-2
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
penauch
читал в пдф-нике возможные варианты загрузки-прошивки ПЛИС и конф-ПЗУ.

закрались кое-какие сомнения, но всё-же спрошу знающих:

позволит ли такая схема включения:
(MSEL естественно в AS-режиме 20МГц)

1) шить конфигурационную флешку EPCS4 ?
2) конфигурировать ПЛИС, не трогая EPCS4 ?
3) автономно загружаться с EPCS4 ?
4) ByteBlaster подойдёт? или нужен ByteBlaster-2 ?
5) Из-под квартуса можно всё это проделать ?

если что-то нет, то какие пути расширения?
Stewart Little
1) Да.
2) Нет.
3) Да.
4) Нужен именно ByteBlaster2 (ну или USB Blaster)
5) Да.

Цитата
если что-то нет, то какие пути расширения?

Нужно ставить второй разъем на JTAG-интерфейс. JTAG разрешен всегда, независимо от состояния MSEL'ов.
Более того, можно обойтись одним JTAG-овским разъемом, если пользоваться SFL-мостом для прошивки EPCS'ки.
penauch
Цитата(Stewart Little @ Nov 10 2009, 15:14) *
2) Нет.


Огорчило sad.gif

Цитата(Stewart Little @ Nov 10 2009, 15:14) *
Нужно ставить второй разъем на JTAG-интерфейс. JTAG разрешен всегда, независимо от состояния MSEL'ов.
Более того, можно обойтись одним JTAG-овским разъемом, если пользоваться SFL-мостом для прошивки EPCS'ки.


Спасибо за информацию.

По поводу JTAG - к нему можно подсоединить ByteBlaster-2 для конфигурирования ПЛИС?
Что есть SFL-мост - он внутри ПЛИС уже? Тоесть с точки зрения пользователя "воткнул-залил-результат получил" ? wink.gif
sysel
2) Да.

Точнее:
1) при подаче питания на циклон, он загрузиться из EPCS4 и начнет работать в соответствии с тем, что записано в EPCSке
2) подключаете JTAG и заливаете в циклон новую прошивку. После этой заливки циклон работает в соответствии с новой.
3) можете опять перепрошить
4) после снятия и подачи питания, циклон загрузиться из EPSCки

т.е. при таком подходе содержимое EPCSки не меняется.
SM
Цитата(sysel @ Nov 10 2009, 15:52) *
2) подключаете JTAG и заливаете в циклон новую прошивку. После этой заливки циклон работает в соответствии с новой.

Это было бы, если бы у автора бы на разъем был бы выведен JTAG, а не сериальный порт. А так - согласно вопросу автора 2) все же НЕТ.
sysel
Цитата(SM @ Nov 10 2009, 15:57) *
Это было бы, если бы у автора бы на разъем был бы выведен JTAG, а не сериальный порт. А так - согласно вопросу автора 2) все же НЕТ.

Точно, прошу прощения за невнимательность.
2) Точно нет =)
penauch
Цитата(SM @ Nov 10 2009, 15:57) *
Это было бы, если бы у автора бы на разъем был бы выведен JTAG, а не сериальный порт. А так - согласно вопросу автора 2) все же НЕТ.


если контакты JTAG будут дополнительно выведены, можно к ним ByteBlaster-2 подцепить для конфигурирования SRAM ПЛИС, не потеряв возможностей AS-режима? ноги MSEL прийдется коммутировать джамперами или как?


немного поковырявшись в интернете, нашёл другую схему через JTAG к которому можно подцепить байт-бластер-2.
схема ниже, а вопросы теже smile.gif

прошу ответить, позволит ли эта схема делать всё что перечислено в первом сообщении?
Kuzmi4
Обращаемся сюда Гуглю на заказ , платим денюшку и заказываем словоcочетание "altera jic"
SM
Цитата(penauch @ Nov 10 2009, 16:30) *
если контакты JTAG будут дополнительно выведены, можно к ним ByteBlaster-2 подцепить для конфигурирования SRAM ПЛИС, не потеряв возможностей AS-режима? ноги MSEL прийдется коммутировать джамперами или как?


Во первых, можно и просто байтбластер, не 2. Во вторых - не надо дополнительно выводить JTAG, а достаточно вывести только JTAG. И через него все пункты того вашего сообщения будут "Да". Ноги MSEL не надо коммутировать, их надо привести в соответствие с AS. А JTAG он выше приоритетом, через него можно стопануть конфигурационный контроллер и грузить что угодно. Также можно через него шить и AS-память.

А вообще, для кого документацию пишут? RTFM!
sysel
Цитата(Kuzmi4 @ Nov 10 2009, 16:36) *
Обращаемся сюда Гуглю на заказ , платим денюшку и заказываем словоcочетание "altera jic"


Не стреляйте в пианиста, он играет как умеет.

Начинающим простительно огромное количество простых вопросов.

Лучше выяснить всё на начальном этапе, чем потом горевать над спаянной схемой, навешивать поверх платы провода или искать способ припаяться к днищщу какого-нибудь EQFP, резать дорожки и т.п.
penauch
Цитата(SM @ Nov 10 2009, 16:40) *
Во первых, можно и просто байтбластер, не 2. Во вторых - не надо дополнительно выводить JTAG, а достаточно вывести только JTAG. И через него все пункты того вашего сообщения будут "Да". Ноги MSEL не надо коммутировать, их надо привести в соответствие с AS. А JTAG он выше приоритетом, через него можно стопануть конфигурационный контроллер и грузить что угодно. Также можно через него шить и AS-память.


Для циклон-2 нижеприведенная схема ByteBlaster подойдёт?
При условии если подцеплюсь им к JTAG-разъёмам, сделаю мост между JTAG и AS (с помощью квартуса)

Спасибо всем за огромное терпение к начинающим (просто есть кое-какие сомнения и нерешительность в отношении к документации от Альтера, так как знакомые говорят что есть много подводных камней)
sysel
Цитата(penauch @ Nov 11 2009, 03:55) *
Для циклон-2 нижеприведенная схема ByteBlaster подойдёт?


Мой бластер сделан по этой схеме:
http://www.nsdevice.narod.ru/cpld/ByteBlasterMV.htm

Шью им Cyclone II EP2C5Q208, ни разу не подводил.

в BIOS Setup настроить LPT порт в режим ECP.
penauch
Цитата(sysel @ Nov 11 2009, 09:54) *
Мой бластер сделан по этой схеме:
http://www.nsdevice.narod.ru/cpld/ByteBlasterMV.htm

Шью им Cyclone II EP2C5Q208, ни разу не подводил.

в BIOS Setup настроить LPT порт в режим ECP.


спасибо.

в этих байт-бластерах радует, что делается из доступных элементов smile.gif
sazh
Цитата(penauch @ Nov 11 2009, 10:10) *
в этих байт-бластерах радует, что делается из доступных элементов smile.gif


При всем моем уважении, желательно пользоваться документами от производителя.
http://www.altera.com/literature/an/an370....mp;WT.oss=an370
Laptop
Цитата(penauch @ Nov 10 2009, 17:30) *
если контакты JTAG будут дополнительно выведены, можно к ним ByteBlaster-2 подцепить для конфигурирования SRAM ПЛИС, не потеряв возможностей AS-режима? ноги MSEL прийдется коммутировать джамперами или как?


немного поковырявшись в интернете, нашёл другую схему через JTAG к которому можно подцепить байт-бластер-2.
схема ниже, а вопросы теже smile.gif

прошу ответить, позволит ли эта схема делать всё что перечислено в первом сообщении?


Собственно никто не мешает поставить два разъема и пользоваться одним если лень конвертировать в jic, а вторым если нет BB2 или хочется ножки подергать/посмотреть через Universal Scan. В любом случае для начинающего JTAG надо будет развести. MSEL при этом переключать не надо.
Reanimator++
http://altera.ru/cgi-bin/go?549

добавьте ссылку в избранное для этого форума )
rv3dll(lex)
мне например не удалось воспользоваться не jic поэтому в дальнейших разработках даже не пробовал занять место на плате лишним разъёмом
Moks
Ребята, воспользовался схемой по AS программированию - так у нас QII матерился на перавильный ID Силикона. Вот прилагаю схему - PCAD файл, состоящий из 3-х листов (sheets) по реализации этой схемы. Мне кажется, я забыл перемычки поставить между EPCS4 и CYII. Сделал макет - просто соединил разъём IDC-10 и одну EPCS4 - EPCS сразу увиделась!
Получается что схему, нарисованную создателем темы, использовать нельзя.
Или я где-то ошибся, господа? Посмотрите схему, пожалуйста!

И ещё, прилагаю скрины схемы для тех, кто не пользуется PCAD!
Заранее спасибо!
sazh
Цитата(Moks @ Nov 23 2009, 15:07) *
Мне кажется, я забыл перемычки поставить между EPCS4 и CYII. Сделал макет - просто соединил разъём IDC-10 и одну EPCS4 - EPCS сразу увиделась!
Получается что схему, нарисованную создателем темы, использовать нельзя.
Или я где-то ошибся, господа? Посмотрите схему, пожалуйста!


Ваша схема отличается от рекомендованной. Если использовать разъем для программирования напрямую epcs, то на nCE FPGA сидит резистор 10к, у Вас 0
И только начиная с BB2 (BB-MV не подходит в этом случае)
Moks
Спасибо огромное, действительно, завтра поставлю 10кОм и проверю!
В любом случае, мы через JTAG прошили *.jam, EPCS4 запрограммирована, - это уже успех!
У нас USB-Blaster.
zero_cool2000
Цитата(sysel @ Nov 10 2009, 15:00) *
Не стреляйте в пианиста, он играет как умеет.

Начинающим простительно огромное количество простых вопросов.

Лучше выяснить всё на начальном этапе, чем потом горевать над спаянной схемой, навешивать поверх платы провода или искать способ припаяться к днищщу какого-нибудь EQFP, резать дорожки и т.п.

Здравствуйте! Уважаемый Sysel, не могли бы Вы мне помочь справиться с проблемой?
Я новичок в плиске с внешней памятью, проблема такая - циклон 3 + epcs16 ...по джитагу Плиска шьется и работает, а флешка шиться
отказывается напрочь! что я только не вытворял и никак...помогите плз...моя ася натвсяк случай 326692069,
ящик zero_cool2000@mail.ru
vadimp61
Цитата(zero_cool2000 @ Jul 17 2015, 21:15) *
Здравствуйте! Уважаемый Sysel, не могли бы Вы мне помочь справиться с проблемой?
Я новичок в плиске с внешней памятью, проблема такая - циклон 3 + epcs16 ...по джитагу Плиска шьется и работает, а флешка шиться
отказывается напрочь! что я только не вытворял и никак...помогите плз...моя ася натвсяк случай 326692069,
ящик zero_cool2000@mail.ru

А кусок схемы где Сыклон, EPCS и JTAG покажите?
bugdesigner
Цитата(zero_cool2000 @ Jul 17 2015, 21:15) *
проблема такая - циклон 3 + epcs16 ...по джитагу Плиска шьется и работает, а флешка шиться
отказывается напрочь!

Есть 2 способа запрограммировать EPCS: 1 - через интерфейс ASDI используя режим Active serial programming. Для этого должен быть разведен соответствующий разъем. Если такого разъема нет, 2-й способ - SFL (Serial Flash Loader) с использованием JTAG. Для этого сперва нужно сконвертировать .sof в .jic Процесс достаточно хорошо описан в документе AN370. Какой способ будем использовать?
Александр77
Цитата(zero_cool2000 @ Jul 17 2015, 22:15) *
...по джитагу Плиска шьется и работает, а флешка шиться отказывается напрочь! что я только не вытворял и никак...

Проверьте какому режиму соответствуют уровни на выводах MSEL. Натыкался на похожую проблему (на самодельной плате есть возможность грузить rbf, и стандартные pof,sof,jic меняя сигнатуру MSEL) - rbf грузился, а jic зависал. Оказалось не переставили перемычку после работы с загрузкой rbf-файла.
zero_cool2000
Цитата(bugdesigner @ Jul 18 2015, 10:55) *
Есть 2 способа запрограммировать EPCS: 1 - через интерфейс ASDI используя режим Active serial programming. Для этого должен быть разведен соответствующий разъем. Если такого разъема нет, 2-й способ - SFL (Serial Flash Loader) с использованием JTAG. Для этого сперва нужно сконвертировать .sof в .jic Процесс достаточно хорошо описан в документе AN370. Какой способ будем использовать?

конечно хотелось бы обойтись одним разъемом JTAG, второй у меня даже не предусмотрен...jic-файл готовлю стандарным методом...толку нет
zero_cool2000
Цитата(zero_cool2000 @ Jul 20 2015, 18:54) *
конечно хотелось бы обойтись одним разъемом JTAG, второй у меня даже не предусмотрен...jic-файл готовлю стандарным методом...толку нет

в экспериментах пошел дальше...припаял на соплях разъем для флеша "AS"...через него флешка шьется, но матрица не работает...как будто прошивка не забирается из флешки...теперь совсем ничего не понятно
vadimp61
Цитата(zero_cool2000 @ Jul 21 2015, 08:03) *
в экспериментах пошел дальше...припаял на соплях разъем для флеша "AS"...через него флешка шьется, но матрица не работает...как будто прошивка не забирается из флешки...теперь совсем ничего не понятно

Вашу схему мы так и не увидели.
В прицепе схема, правда для второго Циклона.
MSEL[3..0] куда прицеплены?
Добавил схему для третьего циклона.
zero_cool2000
Цитата(vadimp61 @ Jul 21 2015, 13:29) *
Вашу схему мы так и не увидели.
В прицепе схема, правда для второго Циклона.
MSEL[3..0] куда прицеплены?
Добавил схему для третьего циклона.

со схемой AS как раз всё понятно(выше написал)...не понятно с JTAG sm.gif...уже есть желание легонько ударить по циклону молотком

Цитата(zero_cool2000 @ Jul 21 2015, 18:28) *
со схемой AS как раз всё понятно(выше написал)...не понятно с JTAG sm.gif...уже есть желание легонько ударить по циклону молотком
Stewart Little
Цитата(zero_cool2000 @ Jul 21 2015, 20:35) *
со схемой AS как раз всё понятно(выше написал)...не понятно с JTAG sm.gif...уже есть желание легонько ударить по циклону молотком

По поводу этого рисунка я Вам уже объяснял, что к чему.
Предоставьте нормальную схему, с обозначением и номерами выводов микросхем.
zero_cool2000
Цитата(Stewart Little @ Jul 21 2015, 20:03) *
По поводу этого рисунка я Вам уже объяснял, что к чему.
Предоставьте нормальную схему, с обозначением и номерами выводов микросхем.

моя схема включения матрицы и памяти в точности соответствует вот этой:
vadimp61
Цитата(zero_cool2000 @ Jul 21 2015, 22:26) *
моя схема включения матрицы и памяти в точности соответствует вот этой:

Это схема позволяет программировать матрицу в разных режимах , в зависимости от MSEL.
Попробуйте 6-и пин программатора прицепить к nCE.
3-я ссылка читаем до конца. У Вас же AS режим выставлен по MSEL!

ЗЫ. А молотком никогда не поздно)))
zero_cool2000
Цитата(vadimp61 @ Jul 22 2015, 04:28) *
Это схема позволяет программировать матрицу в разных режимах , в зависимости от MSEL.
Попробуйте 6-и пин программатора прицепить к nCE.
3-я ссылка читаем до конца. У Вас же AS режим выставлен по MSEL!

ЗЫ. А молотком никогда не поздно)))

режим "AS" меня не интересует, это только в виде эксперимента подпаялся, меня интересует конфигурация с одним разъемом JTAG и заливкой файла JIC,.. а из документа по третьему циклону четко читается следующее: таблица 9-7, коментарии (5), (6)...но! как только я все выводы MSEL сажаю на землю, то JTAG квартусом не распознается совсем!
Stewart Little
Цитата(zero_cool2000 @ Jul 21 2015, 22:26) *
моя схема включения матрицы и памяти в точности соответствует вот этой:

По этой схеме совершенно не понятно, что у Вас на MSEL'ах. Еще вопрос - MSEL'ы у Вас к земле и/или VCCA действительно подключаются перемычками? Или резисторами? Резисторами - нельзя!
Еще по схеме - R32 убрать! В линии DATA было бы неплохо поставить последовательный резистор 25 Ом, как можно ближе к EPCS'ке.
Резистор R24 закоротить (поставить вместо него перемычку).



Цитата(zero_cool2000 @ Jul 22 2015, 12:23) *
...но! как только я все выводы MSEL сажаю на землю, то JTAG квартусом не распознается совсем!

Опять непонятно, зачем это.
Во-первых, все нули на MSEL'ах - это режим Passive Serial, зачем он Вам?
Во-вторых, JTAG всегда доступен, независимо от состояния MSEL'ов. Что значит "JTAG квартусом не распознается совсем"???
vadimp61
Цитата(zero_cool2000 @ Jul 22 2015, 12:23) *
режим "AS" меня не интересует, это только в виде эксперимента подпаялся, меня интересует конфигурация с одним разъемом JTAG и заливкой файла JIC,.. а из документа по третьему циклону четко читается следующее: таблица 9-7, коментарии (5), (6)...но! как только я все выводы MSEL сажаю на землю, то JTAG квартусом не распознается совсем!


Читайте мой пост №31 еще раз!
JTAG доступен всегда вне зависимости что на MSEL! И должен шиться sof файлом - прошивка будет работать до первого выключения питания!
Если вы хотите работать с EPCS то нужен AS mode!
Читаем внимательно раздел
Programming Serial Configuration Devices In-System Using the JTAG Interface на стр. 9-58
второй абзац.
Это Ваш случай!
ЗЫ! Перечитайте настоятельно мой предыдущий пост!
там есть подсказка 1111493779.gif
zero_cool2000
Цитата(vadimp61 @ Jul 22 2015, 13:59) *
Читайте мой пост №31 еще раз!
JTAG доступен всегда вне зависимости что на MSEL! И должен шиться sof файлом - прошивка будет работать до первого выключения питания!
Если вы хотите работать с EPCS то нужен AS mode!
Читаем внимательно раздел
Programming Serial Configuration Devices In-System Using the JTAG Interface на стр. 9-58
второй абзац.
Это Ваш случай!
ЗЫ! Перечитайте настоятельно мой предыдущий пост!
там есть подсказка 1111493779.gif

всё, что Вы пишите бесспорноsm.gif... и sof файл у меня шьется без проблем и живет в матрице как положено до выелючения питания...и в "AS" режиме через другой разъем шьется память и успешно квартусом читается...а вот именно мост дждитаговский не работает...не заливается JIC файл ...о чем я писал с самого началаsm.gif
umarsohod
Цитата(zero_cool2000 @ Jul 22 2015, 21:05) *
всё, что Вы пишите бесспорноsm.gif... и sof файл у меня шьется без проблем и живет в матрице как положено до выелючения питания...и в "AS" режиме через другой разъем шьется память и успешно квартусом читается...а вот именно мост дждитаговский не работает...не заливается JIC файл ...о чем я писал с самого началаsm.gif

В вашей истории непонятных вещей две
1. Если "MSELx" установлены правильно и в EPCS зашит правильный проект, то чип обязан был стартовать.
2. Если перед зашивкой "JIC" файла вы грузите в чип "SFL"-мост, то EPCS должна была шиться (не зависимо от "MSELx").
Больше всего это похоже на банальное отсутствие связи между EPCS и ПЛИС (непропай, обрыв дорожек и т.д. )
Попробуйте сделать простеникий проект, выведите куда-нибудь эти 4 ножки (например на светодиоды) и
попробуйте ими снаружи поуправлять.
vadimp61
Цитата(zero_cool2000 @ Jul 22 2015, 21:05) *
всё, что Вы пишите бесспорноsm.gif... и sof файл у меня шьется без проблем и живет в матрице как положено до выелючения питания...и в "AS" режиме через другой разъем шьется память и успешно квартусом читается...а вот именно мост дждитаговский не работает...не заливается JIC файл ...о чем я писал с самого началаsm.gif

nCE на землю через 10ком посажен?
Не пробовали накоротко, как на Figure 9-30?
zero_cool2000
Цитата(vadimp61 @ Jul 23 2015, 06:03) *
nCE на землю через 10ком посажен?
Не пробовали накоротко, как на Figure 9-30?

это мне уже советовали, все давно припаяно наглухо! в общем вижу советы начали повторяться, пора полготовить все как следует и обновить темуsm.gif
vadimp61
Цитата(zero_cool2000 @ Jul 23 2015, 11:53) *
это мне уже советовали, все давно припаяно наглухо! в общем вижу советы начали повторяться, пора полготовить все как следует и обновить темуsm.gif

MSEL должен быть прицеплен к Vcca как и подтягивающие резисторы JTAG, в у вас это +3,3В , а должно быть +2,5В
У 4-го циклона так.
zero_cool2000
Цитата(vadimp61 @ Jul 23 2015, 11:17) *
MSEL должен быть прицеплен к Vcca как и подтягивающие резисторы JTAG, в у вас это +3,3В , а должно быть +2,5В
У 4-го циклона так.

все у меня уже давно прицеплено к 2,5в...sm.gif один х...
vadimp61
Цитата(zero_cool2000 @ Jul 23 2015, 15:15) *
все у меня уже давно прицеплено к 2,5в...sm.gif один х...

Ну тогда давайте свежую схему, а то на той что было там +3.3В
bugdesigner
Я не понял в чем проблема? Не удается запрограммировать EPCS или циклон не грузится с уже запрограммированной EPCS-ки?
Если у Вас проблема с заливкой прошивки в EPCS - проверьте сигналы между последней и циклоном (DATA0, DCLK, nCS, ASDI, ну и питание есс-но). Подключение MSEL и прочих остальных сигналов не оказывают абсолютно никакого влияния на этот процесс.
И так, если все подключено правильно, действуем по шагам:
1. Компилим проект, получаем .sof (будем звать его out.sof)
2. Жмем в квартусе File -> Convert Programming File
3. выбираем Programming file type : JTAG Indirect Configuration File (.jic)
4. выбираем Configuration device : EPCS(какой там у Вас?)
5. File name можете поменять, можете нет (по умолчанию output_file.jic)
7. в окне Input files to convert посвечиваем Flash loader и жмем Add device... и выбираем наш циклон
7. в этом же окне посвечиваем SOF Data и жмем кнопку Add file... , выбираем наш out.sof
8. жмем Generate - должно сказать Generated successfully иначе смотрим, где ошибка.
9. чтоб в следующий раз не проделывать все эти пункты - сохраним конфигурацию - Save conversion setup...
Далее запускаем программер, выбираем полученный output_file.jic, режим JTAG и жмем Start sm.gif

Все это проделывалось стопицот раз на 2х и 3х сцыклонах. Проделайте так у себя, и напишите на каком этапе затык.
zero_cool2000
Цитата(bugdesigner @ Jul 27 2015, 09:34) *
Я не понял в чем проблема? Не удается запрограммировать EPCS или циклон не грузится с уже запрограммированной EPCS-ки?
Если у Вас проблема с заливкой прошивки в EPCS - проверьте сигналы между последней и циклоном (DATA0, DCLK, nCS, ASDI, ну и питание есс-но). Подключение MSEL и прочих остальных сигналов не оказывают абсолютно никакого влияния на этот процесс.
И так, если все подключено правильно, действуем по шагам:
1. Компилим проект, получаем .sof (будем звать его out.sof)
2. Жмем в квартусе File -> Convert Programming File
3. выбираем Programming file type : JTAG Indirect Configuration File (.jic)
4. выбираем Configuration device : EPCS(какой там у Вас?)
5. File name можете поменять, можете нет (по умолчанию output_file.jic)
7. в окне Input files to convert посвечиваем Flash loader и жмем Add device... и выбираем наш циклон
7. в этом же окне посвечиваем SOF Data и жмем кнопку Add file... , выбираем наш out.sof
8. жмем Generate - должно сказать Generated successfully иначе смотрим, где ошибка.
9. чтоб в следующий раз не проделывать все эти пункты - сохраним конфигурацию - Save conversion setup...
Далее запускаем программер, выбираем полученный output_file.jic, режим JTAG и жмем Start sm.gif

Все это проделывалось стопицот раз на 2х и 3х сцыклонах. Проделайте так у себя, и напишите на каком этапе затык.

причина найдена!!! китайцы прислали левые EPCSки...!!! (какие то они медленные...) приехали новые микросхемы памяти (M25P40) и проблема ушла! все шьется как нужно! огромное всем спасибо за участие! извините если что не такsm.gif))
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.