Comments 8
Все статьи определённо в закладки. Спасибо огромное.
Есть ли планы написать про двухпроводный jtag? Читала про него, но пощупать вживую так и не удалось.
Как я уже писал на электрониксе - стандарту JTAG почти 40 лет, его жевали-разжевали уже все кто только мог. RTL на него весь давно написан, BSDL много кем разжеван, даже книги есть. Хотя картинки у вас конечно красивые, респект.
Дам совет. Если хотите сбацать пиар-бомбу в стиле Панчула, вида: как проектируются супер-современные микропроцессоры, то есть очень интересный потомок житага - стандарт ieee 1500. Это уже не про граничное сканирование, а про сканирование логики. И не просто контроллер, а целая архитектура, на порядок более сложная и развитая. Но в целом, это развитие житага. Так вот, без этого (ieee 1500) стандарта действительно ни один современный SoC не обходится, а между тем в РФ это знает (и использует) очень мало кто. Такая статья была бы интересна и профессионалам, а не только начинающим.
RTL на него весь давно написан, BSDL много кем разжеван
Прям даже любопытно стало, если всё так здорово, как вы говорите, то 1) где же взять готовое IP-ядро на JTAG slave (а то на OpenCores единственный проект на тему - jtag_slave - содержит в своём архиве единственный файл "readme.txt", содержащий в себе текст "closed project at the moment ;-(" )? 2) ...и где на русском языке почитать про BSDL (ну так, что бы всё было "разжевано")?
Загуглите строку "BSDL" boundary scan description language book Получите первой же ссылкой книгу 2003 года. Тогда, 20 лет назад, это было еще актуально
https://link.springer.com/chapter/10.1007/978-1-4615-0367-5_2
Если нужны айпи, добро пожаловать в мир Синопсиса. У них эти ядра лежат уже лет 15 как минимум в каждом дистрибутиве DC. С описанием, все разжевано, все что есть в вашей статье и еще сверху раз в 10 больше. Синтезатор DC автоматически (по подготовленному скрипту) вставит Tap контроллер в ваш код, соединит все IO цепочками boundary scan и выпишет получившийся BSDL. А до кучи сгенерит тестбенч, который дергает интерфейс, читает и пишет, да еще и проверяет. Лет 15 это все там есть как минимум, отлажено настолько что никто уже давно в этот код и не лезет внутрь. Нет, можно конечно и самому все написать, но я бы клеил шилдик "РЕТРО" к такому материалу.
Здесь уместно пояснить, что стоимость лицензии Synopsys Design Compiller в 2004 году начиналась от 29.000$ (подобные компании не любят выставлять ценник на ПО в открытый доступ, поэтому информация весьма старая). Без учёта инфляции доллара - это, на настоящий момент 2 миллиона рублей. У Синопсиса имеется и академическая программа, позволяющая использовать его продукты в целях обучения сильно дешевле, но она сопряжена с рядом действий административно-бюрократического характера. На сколько известно мне, частным лицам триальная версия продуктов Синопсис не предоставляется.
Я позволю себе несколько переформулировать свои вопросы и ваши ответы:
- Где взять готовое IP-ядро JTAG?
- В платных, закрытых программных продуктах.
- Где на русском языке почитать про BSDL?
- В англоязычной книжке.
Конечно тут можно пуститься в банальности про то, что работа с FPGA/ASIC подразумевает использование дорогого программного инструментария и знание английского языка. А также пуститься в софистику и сказать, что формально язык BSDL был полностью разжёван непосредственно в стандарте IEEE1149.1-1994B, а весь RTL был написан и отлажен к 1993 году, так как JTAG присутствовал уже в процессорах AM486 (сам этот RTL сугубо конфиденциален, однако формально он существует).
Но тут возникает встречный вопрос: к чему тогда ваше предложение писать про IEEE1500? Он же также "давно разжёван" в самом стандарте, а RTL к нему "давно написан" (раз имеются микросхемы, поддерживающие IEEE1500).
А в тексте все правильно ? Я так понял и на рисунках так написано, что обновление регистров происходит по нисходящему фронту. Или я что-то не так понял ?
Логические уровни на выводах микросхемы поменяются в момент прохождения восходящего фронта в состоянии «UPDATE DR». Однако, значения выходов микросхемы будут поставлены в зависимость от битов регистра «BOUNDARY» как только в регистр инструкций попадёт код инструкции «EXTEST». Произойдёт это в момент прохождения восходящего фронта в состоянии «UPDATE IR».
Разглядывая JTAG: что внутри?