Пятничное рабочее
Jun. 29th, 2012 05:50 pmПо просьбе
tanchik показываю красотулечную змеючку из 50000 случайных вентилёчков, размещенную в FPGA Xilinx® Virtex5™ (XC5VLX330 для тех, кто понимает).
На последующих картинках схематично, в разных масштабах изображен электронный чип, который сам по себе ничего не делает, но позволяет загружать в себя и запускать схемы других электронных чипов для их отладки и тестирования перед передачей на изготовление.
Собственно змеючка (для сравнения, физический размер чипа, грубо, со спичечный коробок):

Я не ожидал, что она будет размещена столь прихотливо.
Увеличиваем: приглядевшись, можно увидеть синие (использованные) элементы.

Еще увеличиваем. Всё еще ничего интересного.

И вот теперь, наконец, что-то становится видно:

Синие прямоугольнички - собственно то, где находятся использованные логические элементы.
Голубое - соединения.
Еще увеличиваем.

Черные прямоугольные области, большие и маленькие узкие слева от синих прямоугольников, исчерканные "как попало" - секрет фирмы. Именно там делаются соединения между логическими элементами. "Соединительная сила" каждой такой области ограничена, поэтому выбор оптимального расположения элементов и соединений - всё еще скорее магия. Даже на современных процессорах поиск комбинации, удовлетворяющей всем условиям, может занимать многие часы, если занято больше половины элементов, а если больше трех четвертей, то, скорее всего, и вовсе не повезет.

А вот что находится внутри каждого синего прямоугольника:

Каждый из четырех прямоугольников слева способен вычислять логическую функцию от 6 аргументов.
На последующих картинках схематично, в разных масштабах изображен электронный чип, который сам по себе ничего не делает, но позволяет загружать в себя и запускать схемы других электронных чипов для их отладки и тестирования перед передачей на изготовление.
Собственно змеючка (для сравнения, физический размер чипа, грубо, со спичечный коробок):

Я не ожидал, что она будет размещена столь прихотливо.
Увеличиваем: приглядевшись, можно увидеть синие (использованные) элементы.

Еще увеличиваем. Всё еще ничего интересного.

И вот теперь, наконец, что-то становится видно:

Синие прямоугольнички - собственно то, где находятся использованные логические элементы.
Голубое - соединения.
Еще увеличиваем.

Черные прямоугольные области, большие и маленькие узкие слева от синих прямоугольников, исчерканные "как попало" - секрет фирмы. Именно там делаются соединения между логическими элементами. "Соединительная сила" каждой такой области ограничена, поэтому выбор оптимального расположения элементов и соединений - всё еще скорее магия. Даже на современных процессорах поиск комбинации, удовлетворяющей всем условиям, может занимать многие часы, если занято больше половины элементов, а если больше трех четвертей, то, скорее всего, и вовсе не повезет.

А вот что находится внутри каждого синего прямоугольника:

Каждый из четырех прямоугольников слева способен вычислять логическую функцию от 6 аргументов.
no subject
Date: 2012-06-30 02:49 am (UTC)no subject
Date: 2012-06-30 02:58 am (UTC)no subject
Date: 2012-06-30 06:30 am (UTC)no subject
Date: 2012-06-30 06:44 am (UTC)сотнитысячи нужны, мы для дешевизны из bins похуже берем.no subject
Date: 2012-06-30 07:54 am (UTC)Просто есть фундаментальная разница с LCD, которые действительно, хочешь не хочешь, а допускают какое-то количество неработающих точек. Понятно, что для FPGA дефекты, смертельные для других микросхем, не беда. Но только если клиент хочет экономить и готов следить за индивидуальными файлами.
no subject
Date: 2012-06-30 08:00 am (UTC)Если я помню более точно, основные проблемы там не столько внутри чипов, сколько в packaging, т.е. сonstraints в основном в I/O routing.
no subject
Date: 2012-06-30 02:50 am (UTC)no subject
Date: 2012-06-30 03:00 am (UTC)no subject
Date: 2012-06-30 03:07 am (UTC)no subject
Date: 2012-06-30 03:10 am (UTC)no subject
Date: 2012-06-30 03:13 am (UTC)no subject
Date: 2012-06-30 03:36 am (UTC)no subject
Date: 2012-06-30 03:39 am (UTC)no subject
Date: 2012-06-30 03:39 am (UTC)no subject
Date: 2012-06-30 07:15 am (UTC)no subject
Date: 2012-06-30 07:18 am (UTC)no subject
Date: 2012-06-30 07:38 am (UTC)no subject
Date: 2012-06-30 07:51 am (UTC)no subject
Date: 2012-06-30 06:15 pm (UTC)все остальное для меня инопланетянская речь
no subject
Date: 2012-06-30 07:49 am (UTC)no subject
Date: 2012-06-30 07:55 am (UTC)no subject
Date: 2012-06-30 08:31 pm (UTC)«изображен электронный чип, который сам по себе ничего не делает, но позволяет загружать в себя и запускать схемы других электронных чипов»
Я вначале подумал, что сказанное относится к конкретной схеме — красотулечной змеючке. То есть функция этой схемы — загружать и исполнять другие схемы. Получается схемный аналог программы-интерпретатора.
Но потом подумал, что процитированное всё же относится к FPGA как таковой — просто популярное объяснение для тех, кто не в теме.
no subject
Date: 2012-07-03 08:10 pm (UTC)Это правильно. :)
no subject
Date: 2012-06-30 08:21 pm (UTC)А змейка прикольная, да.
no subject
Date: 2012-07-01 12:51 am (UTC)no subject
Date: 2012-07-03 08:05 pm (UTC)no subject
Date: 2012-07-03 08:09 pm (UTC)no subject
Date: 2012-07-03 08:57 pm (UTC)Мультиплексор - это, вообще говоря, уже более сложная схема, на уровне регистров. Если я правильно помню, помечалась MUX. Исключающее ИЛИ - плюс в кружочке. Гм, а то может и вовсе без кружочка, не помню.
В структурных схемах (в противоположность низкоуровневым э-э-э логическим, наверное) мультиплексор рисовался в виде трапеции узкой стороной вниз. Иногда еще и с выемочками между входами.
no subject
Date: 2012-07-03 09:32 pm (UTC)Т.к. мультиплексор на транзисторах реализуется вовсе не как (S*A)+(~S*B), а гораздо более эффективно, то он может считаться низкоуровневым элементом.
no subject
Date: 2012-07-06 01:25 pm (UTC)А как описывается такая схема? То есть, насколько я понимаю, даже весьма нестандартные схемы, состоящие из привычных счётчиков, мультиплексоров, элементов памяти и прочего будут далеко не настолько случайны. Как выглядит её описание и как туда закладывается случайность? Генерацией HDL файла со случайным соединением случайных комбинационных элементов и регистров?