реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> cyclon V в режиме PS не грузится, подозреваюсгоревшие cfg pin-ы, можно ли, например, по JTAG BST посмотреть?
yes
сообщение Aug 11 2016, 18:18
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



по JTAG ПЛИСина грузится

при попытке загрузить в PS ничего не происходит -
то есть на nCONFIG nSTATUS реагирует, но попытки загрузить имидж или рандоиный мусор не приводят ни к чему: nSTATUS остается в 1, CONF_DONE в 0

предполагаю, что либо DCLK, либо MSEL* выгорели и внутрь ПЛИС не доходят

вот хотелось бы посмотреть через JTAG любым способом, наиболее простым
соответствуют ли внутри ПЛИС эти ножки тому, что на них подано снаружи

как я понял - signal tap-ом (то есть через пользовательскую логику) не посмотришь,
если через BST - то каким тулом это сделать?


Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Aug 11 2016, 20:08
Сообщение #2


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Какая именно плисина?
Как именно подключены MSEL'ы - накороть в землю/питание или через резисторы?


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 11 2016, 20:26
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(yes @ Aug 11 2016, 21:18) *
по JTAG ...
если через BST - то каким тулом это сделать?

Напрмер УниверсалСкан... Должен быть на этом ФТР...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
yes
сообщение Aug 11 2016, 21:01
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



Цитата(Stewart Little @ Aug 11 2016, 23:08) *
Какая именно плисина?
Как именно подключены MSEL'ы - накороть в землю/питание или через резисторы?



5CEFA9F23

MSEL* часть накоротко, часть через резисторы - можно выбрать еще FPP16 резисторами и/или fast/standart.
уточню завтра, но что то типа 2 накоротко (MSEL3 например - во всех режимах 0), 3 резисторами



Цитата(iosifk @ Aug 11 2016, 23:26) *
Напрмер УниверсалСкан... Должен быть на этом ФТР...


спасибо,

а какие железки/кабели он понимает? byteblaster, jlink и т.п?
и если есть альтеровский BSDL файл для этой плисины, то достаточно такой информации? или надо руками этот bsdl обрабатывать?

я собирался на UrJTAG посмотреть, но, подозреваю, там нужно повозиться, чтобы начало работать
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 11 2016, 21:43
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(yes @ Aug 12 2016, 00:01) *
5CEFA9F23


а какие железки/кабели он понимает? byteblaster, jlink и т.п?
и если есть альтеровский BSDL файл для этой плисины, то достаточно такой информации? или надо руками этот bsdl обрабатывать?

я собирался на UrJTAG посмотреть, но, подозреваю, там нужно повозиться, чтобы начало работать


Посмотрите альтеровский BSDL файл. Там в перечне входов должны быть и MSEL'ы...
Файл ищите, наверняка он или в квартусах или на сайте альтеры должен быть... А вот железки - это зависит от версии софта....
Но сейчас много есть бесплатных программ. Вот у джитаг-текнолоджи есть Лайт бесплатный...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
IL-76
сообщение Aug 12 2016, 08:17
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 16-03-09
Из: ex USSR
Пользователь №: 46 167



Цитата(yes @ Aug 12 2016, 00:01) *
MSEL* часть накоротко, часть через резисторы - можно выбрать еще FPP16 резисторами и/или fast/standart.
уточню завтра, но что то типа 2 накоротко (MSEL3 например - во всех режимах 0), 3 резисторами


Вроде у Альтеры была настоятельная рекомендация присоединять их напрямую к gnd либо vccpgm, без доп сопротивлений, для корректного определения режима загрузки после подачи питания. Попробуйте резистор на 0 Ом.
Go to the top of the page
 
+Quote Post
Jury093
сообщение Aug 12 2016, 08:44
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(IL-76 @ Aug 12 2016, 11:17) *
Вроде у Альтеры была настоятельная рекомендация присоединять их напрямую к gnd либо vccpgm, без доп сопротивлений, для корректного определения режима загрузки после подачи питания. Попробуйте резистор на 0 Ом.

подтверждаю, выдержка из доки:
Код
To select a configuration scheme, hardwire the MSEL pins to VCCPGM or GND without pull-up or
pull-down resistors.
Note: Altera recommends connecting the MSEL pins directly to VCCPGM or GND. Driving the MSEL pins
from a microprocessor or another controlling device may not guarantee the VIL or VIH of the MSEL
pins. The VIL or VIH of the MSEL pins must be maintained throughout configuration stages.


зы в схеме заложил 24R на MSEL и долго скакал вокруг платы в поисках неисправности, пока не поменял на 0R..
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Aug 12 2016, 09:53
Сообщение #8


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(yes @ Aug 12 2016, 00:01) *
MSEL* часть накоротко, часть через резисторы - можно выбрать еще FPP16 резисторами и/или fast/standart.

Резисторы - нафиг! См. подробные ответы от коллег выше.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
yes
сообщение Aug 12 2016, 17:32
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



yeshe beda - sgorel PC sm.gif pishu practicheski iz tanka

rezistory ne pomogli (to est' pri peremychkah tozhe samoe)

mozhet net na plate kontakta pod BGA ili sgorela noga...

---------

BSDL Altera daet, nomera pin-ov izvestny - vopros v vybore inctrumenta...
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Aug 12 2016, 19:13
Сообщение #10


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(yes @ Aug 12 2016, 20:32) *
mozhet net na plate kontakta pod BGA ili sgorela noga...

Еще надо проверить скорость нарастания питающих напряжений

Цитата
BSDL Altera daet, nomera pin-ov izvestny - vopros v vybore inctrumenta...

USB Blaster и Universal Scan для начала.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
yes
сообщение Aug 12 2016, 19:36
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



не видит universal scan blaster-а. может ему что-то дополнительно нужно поставить типа libusb?
Go to the top of the page
 
+Quote Post
yes
сообщение Aug 14 2016, 13:15
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



universal scan запустился - все замечательно, MSEL-ы посмотрел

но очередная подстава от Альтеры - в их BSDL-ных файлах отсутствуют конфигурационные ноги (DCLK, nCONFIG и т.д.) !!!
то есть цепочка достаточно длинная, и наверняка эти ноги там есть, но как ее декодировать (в плане конфигурационных ног) не понятно
то есть universal scan опросить эти ноги не может

есть более честный BSDL файл на 5CEBA9F23 ????
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 14 2016, 13:28
Сообщение #13


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(yes @ Aug 14 2016, 16:15) *
но очередная подстава от Альтеры - в их BSDL-ных файлах отсутствуют конфигурационные ноги (DCLK, nCONFIG и т.д.) !!!
то есть цепочка достаточно длинная, и наверняка эти ноги там есть, но как ее декодировать (в плане конфигурационных ног) не понятно
то есть universal scan опросить эти ноги не может

есть более честный BSDL файл на 5CEBA9F23 ????

Так написано же:
--DEVICE_FAMILY Family-Specific Pins
MSEL0 , MSEL1 , MSEL2 , MSEL3 , MSEL4 : in bit; Это только входы


RREF_TL , nCSO , AS_DATA3 , AS_DATA2 , AS_DATA1 , DCLK ,
AS_DATA0 , CONF_DONE , nSTATUS , nCE , nCONFIG : linkage bit; а это выводы, которые не включены в цепочку тестирования.
Наверняка для всех других микросхем Альтеры сделано так же..


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
yes
сообщение Aug 14 2016, 18:15
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



полагаю, что более важным является описание регистра

attribute BOUNDARY_LENGTH of CYCLONE_V_5CEBA9F23 : entity is 1728;
attribute BOUNDARY_REGISTER of CYCLONE_V_5CEBA9F23 : entity is
....

в котором пропущены много полей,

а "хуман реадабле" информация типа linkage bit не имеет значения

я конечно могу предположить, что в Альтере работают идиоты, которые не внесли ключевые пины в цепочку, но скорее всего скрывают от пользователя, козлы sm.gif

-----------------------------

upd: скорее всего, в цепочке большая часть битов это неиспользуемые ножки (not-bonded io), но то что исключили из цепочки конфигурационные ножки, большая часть из которых переводится в user io - не верю sm.gif

спасибо за universal scan - программа интересная, но кроме баловства (всяких виртуальных светодиодов и т.п.) хотелось бы понять - как им pcb проверять - если две микросхемы соединены между собой ПЛИС и проц - выводы inout - как прозвонить? подскажите общий принцип, я что-то вообще не нашел док
Go to the top of the page
 
+Quote Post
jks
сообщение Aug 15 2016, 12:01
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 249
Регистрация: 3-04-11
Из: .
Пользователь №: 64 084



Если еще актуально, соответствие пинов индексам в BSR цепочке для 5CEBA9F23C7.
CODE

Device name : 5CEBA9F23C7
Total BSR cells : 576
----------------------------------------------------------------------------------------------------
BONDID | PAD | PINID | JTAG_BSR | MCF_NAME | DESIGN_NAME | IO_CELL_NAME | AUX_FUNCTION_NAME
----------------------------------------------------------------------------------------------------
pad: 627 | L6 | pin: 242 | bsr: 561 | X3Y115SUB_LOC3 | MSEL0 | IO_CONFIG | MSEL0
pad: 629 | J6 | pin: 244 | bsr: 562 | X3Y115SUB_LOC9 | MSEL1 | IO_CONFIG | MSEL1
pad: 632 | A2 | pin: 247 | bsr: 563 | X4Y115SUB_LOC6 | MSEL2 | IO_CONFIG | MSEL2
pad: 633 | E5 | pin: 248 | bsr: 564 | X4Y115SUB_LOC9 | MSEL3 | IO_CONFIG | MSEL3
pad: 635 | F3 | pin: 250 | bsr: 565 | X7Y115SUB_LOC3 | MSEL4 | IO_CONFIG | MSEL4
pad: 636 | C5 | pin: 251 | bsr: 566 | X119Y115SUB_LOC0 | UCLEAR | IO_CONFIG | GND
pad: 634 | A4 | pin: 249 | bsr: 567 | X7Y115SUB_LOC0 | NCONFIG | IO_CONFIG | nCONFIG
pad: 631 | G5 | pin: 246 | bsr: 568 | X4Y115SUB_LOC3 | NCE | IO_CONFIG | nCE
pad: 630 | H5 | pin: 245 | bsr: 569 | X4Y115SUB_LOC0 | NSTATUS | IO_NSTATCONDONE | nSTATUS
pad: 628 | K6 | pin: 243 | bsr: 570 | X3Y115SUB_LOC6 | CONF_DONE | IO_NSTATCONDONE | CONF_DONE
pad: 64 | V3 | pin: 12 | bsr: 571 | X9Y0SUB_LOC0 | DCLK | IO_CONFIG | DCLK
pad: 65 | AB4 | pin: 13 | bsr: 572 | X9Y0SUB_LOC3 | SPI_DATA0 | IO_CONFIG | AS_DATA0, ASDO, DATA0
pad: 63 | AB3 | pin: 11 | bsr: 573 | X7Y0SUB_LOC9 | SPI_DATA1 | IO_CONFIG | AS_DATA1, DATA1
pad: 61 | AA5 | pin: 9 | bsr: 574 | X7Y0SUB_LOC3 | SPI_DATA2 | IO_CONFIG | AS_DATA2, DATA2
pad: 59 | T4 | pin: 7 | bsr: 575 | X4Y0SUB_LOC9 | SPI_DATA3 | IO_CONFIG | AS_DATA3, DATA3
pad: 57 | R4 | pin: 5 | bsr: 576 | X4Y0SUB_LOC3 | NCSO | IO_CONFIG | nCSO, DATA4

Дальше ручками отредактировать BSDL файл в нужном месте.
Это скрипт для генерации полного списка.
Вызов dump_bsr_info <partname>, partname - полное название устройства включая "спидрейт" : 5CEBA9F23C7

CODE

load_package advanced_device

proc dump_bsr_info { part } {
if { [catch [load_device -part $part] ] } {
puts "Partname $part not exist"
} else {
puts "Device name : $part"
dump_ios
}
unload_device
}

proc dump_ios {} {
set pad_cnt [ get_pad_data INT_PAD_COUNT ]
set pin_cnt [ get_pkg_data INT_PIN_COUNT ]
set bsr_count [ get_pad_data int_jtag_bsr_count ]
set pad_name0 ""
set pad_ic_name0 ""
set pad_ic_name1 ""
set pad_ic_name2 ""
set pad_ic_name3 ""
set pad_ic_name4 ""
set pad_ic_name5 ""
set pad_pin_id ""
set pad_wire_id ""
set pad_jtag_bsr ""

puts "Total BSR cells : $bsr_count"

puts [string repeat "-" 100]
set output [format "%8s | %4s | %8s | %8s | %18s | %10s | %12s | %10s" BONDID PAD PINID JTAG_BSR MCF_NAME DESIGN_NAME IO_CELL_NAME AUX_FUNCTION_NAME]
puts $output
puts [string repeat "-" 100]

for { set i 0 } { $i < $pad_cnt } { incr i} {
set pad_jtag_bsr -1
if { [ get_pad_data -pad $i BOOL_IS_BONDED] } {
catch { set pad_name0 [ get_pad_data -pad $i STRING_USER_PIN_NAME ] } { set pad_name0 "NA" }
catch { set pad_ic_name0 [ get_pad_data -pad $i STRING_MCF_NAME ] } { set pad_ic_name0 "NA" }
catch { set pad_ic_name1 [ get_pad_data -pad $i STRING_IC_DESIGN_NAME ] } { set pad_ic_name1 "NA" }
catch { set pad_ic_name2 [ get_pad_data -pad $i STRING_IC_IO_CELL_NAME ] } { set pad_ic_name2 "NA" }
catch { set pad_ic_name3 [ get_pad_data -pad $i STRING_IC_IO_BLOCK_CELL_NAME ] } { set pad_ic_name3 "NA" }
catch { set pad_ic_name4 [ get_pad_data -pad $i STRING_AUXILIARY_FUNCTION_NAME ] } { set pad_ic_name4 "NA" }
catch { set pad_ic_name5 [ get_pad_data -pad $i STRING_IO_DECODER_NAME ] } { set pad_ic_name5 "NA" }
catch { set pad_pin_id [ get_pad_data -pad $i INT_PIN_ID ] } { set pad_pin_id -1 }
catch { set pad_wire_id [ get_pad_data -pad $i INT_WIREBOND_PAD_NUMBER ] } { set pad_wire_id -1 }
catch { set pad_jtag_bsr [ get_pad_data -pad $i INT_JTAG_BSR_INDEX ] } { set pad_jtag_bsr -1}

} else {

catch { set pad_name0 [ get_pad_data -pad $i STRING_USER_PIN_NAME ] } { set pad_name0 "NA" }
catch { set pad_ic_name0 [ get_pad_data -pad $i STRING_MCF_NAME ] } { set pad_ic_name0 "NA" }
catch { set pad_ic_name1 [ get_pad_data -pad $i STRING_IC_DESIGN_NAME ] } { set pad_ic_name1 "NA" }
catch { set pad_ic_name2 [ get_pad_data -pad $i STRING_IC_IO_CELL_NAME ] } { set pad_ic_name2 "NA" }
catch { set pad_ic_name3 [ get_pad_data -pad $i STRING_IC_IO_BLOCK_CELL_NAME ] } { set pad_ic_name3 "NA" }
catch { set pad_ic_name4 [ get_pad_data -pad $i STRING_AUXILIARY_FUNCTION_NAME ] } { set pad_ic_name4 "NA" }
catch { set pad_ic_name5 [ get_pad_data -pad $i STRING_IO_DECODER_NAME ] } { set pad_ic_name5 "NA" }
catch { set pad_pin_id [ get_pad_data -pad $i INT_PIN_ID ] } { set pad_pin_id -1 }
catch { set pad_wire_id [ get_pad_data -pad $i INT_WIREBOND_PAD_NUMBER ] } { set pad_wire_id -1 }
catch { set pad_jtag_bsr [ get_pad_data -pad $i INT_JTAG_BSR_INDEX ] } { set pad_jtag_bsr -1}
}

set output [format "pad:%4d | %4s | pin:%4d | bsr:%4d | %18s | %10s | %12s | %10s" $i $pad_name0 $pad_pin_id $pad_jtag_bsr $pad_ic_name0 $pad_ic_name1 $pad_ic_name2 $pad_ic_name4]
puts $output
}
puts [string repeat "-" 100]
}

Можно отредактировать стандартный BSDL генератор, но лень.

Подправленный BSDL генератор. ( из папки $... \tcl\internal\eda_bsd\ )
Прикрепленный файл  bsdl_utility.tcl.gz ( 11.44 килобайт ) Кол-во скачиваний: 144

BSDL с конфигурационными выводами.
Прикрепленный файл  5CEBA9F23C7_pre.bsd.gz ( 12.04 килобайт ) Кол-во скачиваний: 152


Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 23:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01516 секунд с 7
ELECTRONIX ©2004-2016