Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: MAC для Cyclone
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
bark
Добрый день.
У меня много глупых вопросов. Т.к. решение задачи для меня не совсем понятное.
Сталкиваюсь с какой-то стеной непонимания и что делать не знаю.
Форум поиском помучал, почитал, но ничего путного для себя не нашел или не понял.

Есть задача чтобы с Cyclon'ом III + PHY запустить 1Gbit Ethernet.
Как я понимаю для этого нужно иметь ядро MAC-контроллера зашить в Циклон.

вот тут начинаются вопросы. где его взять?
на опенкорах смотрел там есть гигабитный, но как им пользоваться не совсем разобрался. ещё в нем интерфейс к фиттеру GMII, а мне нужен RGMII.

Может я усложняю себе жизнь и такие (как бы) стандартные вещи как интерфейс локалки можно где-то достать проще? или у самой альтеры где-то есть. сам пока путного не нашел.

Если более полно описать задачу - то у меня есть девборда DK-DEV-3C120N.
куплена довольно давно, но руки до неё доходят вот только сейчас.
как запустить в ней локалку и использовать - не понимаю.
спросить просто не у кого.

есть с бордой какие-то базовые проекты. там есть использование локалки, но они собраны в ниосе.
а мне бы просто иметь отдельный модуль чтобы вставить в проект.
или можно нормально использовать и ниосовский?
наставьте на пусть праведный. как правильно поступать? какие подводные камни?
уже голова кружится не знаю куда податься чтобы хоть копать в одном направлении для решения задачи.
Sergey'F
Стоит для начала разобраться с примерами на основе NiosII. На всякий случай уточню - а как Вы без процессора собираетесь TCP/IP стек поднимать? Или у Вас в системе уже процессорное ядро есть?
Serhiy_UA
Цитата(bark @ Aug 17 2010, 17:09) *
...куда податься чтобы хоть копать в одном направлении для решения задачи...

Правильно сформулированная задача - это половина ее решения.
В подобных задачах есть несколько аппаратно-программных уровней, определитесь с желаниями и своими возможностями.
Можно связать два девборда физически напрямую через PHY и без МАС; такое решение иногда имеет смысл.
Если вторая точка компьютер, то без МАС не обойтись, синтезировать аппаратный МАС самому тяжело, найти и приспособить чужой, несколько легче. Потом нужен стек протоколов, полный или усеченный; последний, в принципе, можно написать свой. А для поддержки стека нужен еще процессор, тот же NiosII или другой, на мезонине, а здесь уже программирование.
Enthusiast
Привет! Я делал сетевой контроллер на ядре от "Inventra" из местных закромов. Микросхема физического уровня - Marvell 88E1111, поэтому пришлось немного изменить команды ее первоначальной настройки в ядре. Преимущество этой корки я вижу в открытых исходниках, все видно и на ПЛИСах от разных производителей можно использовать.
Serhiy_UA
Цитата(Enthusiast @ Aug 18 2010, 09:46) *
Привет! Я делал сетевой контроллер на ядре от "Inventra" из местных закромов. Микросхема физического уровня - Marvell 88E1111...

Дайте, пожалуйста, ссылку на это ядро, что-то не нахожу. Тема уж сильно актуальна....
bark
Протоколы реализованы руками. arp, icmp, udp (tcp нет).
т.е. пакеты создаю сам и толкаю в мас.

до этого работал по связке: FPGA -> отдельный MAC -> PHY марвеловский.

т.е. просто загонял в МАС контроллер свои пакеты и давал отмашку на передачу.
теgерь надо реализацию МАС загнать в FPGA. чтобы осталась связка FPGA -> PHY.

TCP в принцете не особо нужен. но если можно построить готовые модули так чтобы был - это будет хорошо.

Enthusiast, можно чуть подробней?
что где взять и хоть в двух словак как слепить?
Aprox
Цитата(bark @ Aug 18 2010, 12:14) *
Протоколы реализованы руками. arp, icmp, udp (tcp нет).
т.е. пакеты создаю сам и толкаю в мас.
Абсолютно верное решение для локалок и соединений точка-в-точку. Городить TCP по-полной никакой нужды нет. Я бы из вашего списка еще и icmp выкинул для простоты реализации в FPGA.
Цитата
т.е. просто загонял в МАС контроллер свои пакеты и давал отмашку на передачу.
теgерь надо реализацию МАС загнать в FPGA. чтобы осталась связка FPGA -> PHY.
я это уже прошел именно с вашим списком протоколов(без icmp) и с интерфейсом RGMII для Cyclone-III. Сказать, что сделал полноценный MAC,- будет неправильно. По сути, использовал описание фрейма Ethernet-II для интерпретатора входящих пакетов на сдвиговом регистре, добавил вычислитель сrc32 и пару fifo. Работает замечательно.
Цитата
TCP в принцете не особо нужен. но если можно построить готовые модули так чтобы был - это будет хорошо.
Enthusiast, можно чуть подробней?
что где взять и хоть в двух словак как слепить?
Мне представляется, вы потратите больше времени на поиски и разбирательства в чужом и ненужно накрученном, нежели сами напишете такой простенький MAC.
Serhiy_UA
Цитата(Aprox @ Aug 18 2010, 12:20) *
...Сказать, что сделал полноценный MAC,- будет неправильно. По сути, использовал описание фрейма Ethernet-II для интерпретатора входящих пакетов на сдвиговом регистре, добавил вычислитель сrc32 и пару fifo. Работает замечательно.

Круто все же!

У меня, правда, NiosII и LAN91C111, а в последнем все внутри, что позволяет работать как с точками, так и с сетью.
Отказываться от ICMP полностью не стал, оставил только функцию Ping, как наиболее привычную.
Далее планирую применять 88E1111, но там уже без МАС вроде нельзя.
Вообще то, здесь уже советовали посмотреть на примеры от Altera, припоминаю, их должно быть много.

Но что-то типа NiosII в системе, все же желательно предусмотреть.

Немного об аппаратной реализации было еще здесь:
http://www.fpga4fun.com/10BASE-T.html
Aprox
Цитата(Serhiy_UA @ Aug 18 2010, 14:24) *
Но что-то типа NiosII в системе, все же желательно предусмотреть.
Вот именно это и погубит производительность передачи/приема потоков данных по 1G сети. Сразу. И бесповоротно. Любой софт-процессор последовательного действия губителен для производительности.
bark
ну с таким быстрым решением ещё можно пободаться.
а ваш проект доступен как-то общественности или это личный и закрытый проект?


но вот на отдельной девборде желательно иметь довольно полную реализацию сетевого протокола, т.к. задачи там очень разнообразные.
Stewart Little
А чем родная альтеровская корка Triple Speed Ethernet (10/100/1G) не устраивает?
bark
Цитата(Stewart Little @ Aug 18 2010, 17:26) *
А чем родная альтеровская корка Triple Speed Ethernet (10/100/1G) не устраивает?

я не говорил что во всем разобрался и иду по самому оптимальному пути wink.gif

вроде пытался её подключать через MegaWizarg Plug-In Manager.
но при компиляции кажет что какбы тайм эвалюейшн и все дела. или есть крфк/обход лицензирования?
или я что-то не то делаю?

как-то так ругается:
Warning: Megafunction that supports OpenCore Plus feature will stop functioning in 1 hour after device is programmed
Error: Can't generate netlist output files because the file "D:/......./triple_speed_ethernet-library/altera_tse_tx_min_ff.v" is an OpenCore Plus time-limited file
Enthusiast
Цитата(Serhiy_UA @ Aug 18 2010, 11:44) *
Дайте, пожалуйста, ссылку на это ядро, что-то не нахожу. Тема уж сильно актуальна....

Исходники с описанием указанного мной выше ядра сетевого контроллера лежат тут: /pub/FPGA/_IPcores_/Mentor.Decrypted/pe_mcxmac.tar.gz.
На передаче ПЛИСина шлет пакеты так, что компьютер с XP уходит в глубокую задумчивость 8)
Stewart Little
Цитата(bark @ Aug 18 2010, 18:47) *
или есть крфк/обход лицензирования?

"В Греции все есть" (це) smile.gif
Пишите в личку.
Aprox
Цитата(bark @ Aug 18 2010, 16:13) *
ну с таким быстрым решением ещё можно пободаться.
Это не просто быстрое, а самое эффективное решение для локалок и соединений точка в точку. Решение, обеспечивающее до 86% загрузки сети, для 1G -это худо-бедно 860Mbit/s в полном дуплексе. Никакой ниос не потянет.
Цитата
а ваш проект доступен как-то общественности или это личный и закрытый проект?
Это коммерческий Reference Design в виде готового модуля и софта к нему. Станет доступен платежеспособной общественности в самое ближайшее время.
Serhiy_UA
Цитата(Aprox @ Aug 18 2010, 15:10) *
Вот именно это и погубит производительность передачи/приема потоков данных по 1G сети. Сразу. И бесповоротно. Любой софт-процессор последовательного действия губителен для производительности.

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

Мне интересно, как Вы в целом решили свою задачу, сколько задействовано FSM, какие их размеры, какие тактовые частоты, применяются ли PLL и DLL? Как организован вычислительный процесс, есть ли конвейеры, т.е. хотелось бы оценить сложность такого мероприятия. Ведь у Вас все это действительно вышло не слабо.

А вот еще вопрос, понятно, что в компьютерах стек TCP/IP в основном реализован программно, а есть ли высокоскоростные чисто аппаратные решения стеков для 1G и 10G? В чем их специфика?


к Enthusiast спасибо за ссылку, скачал.
к Stewart Little надеюсь, не откажете в помощи.


Enthusiast
Кому-нибудь пригодится техническое описание микросхемы Marvell 88E1111? На всякий случай я добавил его сюда: /upload/DOCs/Marvell88E1111/88E1111 datasheet.pdf. Туда же положил схемы для использования этой микросхемы с оптикой.
vadimuzzz
Цитата(Aprox @ Aug 19 2010, 13:23) *
Это не просто быстрое, а самое эффективное решение для локалок и соединений точка в точку. Решение, обеспечивающее до 86% загрузки сети, для 1G -это худо-бедно 860Mbit/s в полном дуплексе. Никакой ниос не потянет.

это не так. ниос тут ортогонален. можно и на системе под его управлением такие проценты получить
Stewart Little
Цитата(Serhiy_UA @ Aug 19 2010, 10:27) *
к Stewart Little надеюсь, не откажете в помощи.

Ну когда ж я отказывал smile.gif Пишите в личку.
Aprox
Цитата(Serhiy_UA @ Aug 19 2010, 10:27) *
Все правильно, но только в рамках конкретной задачи и только.
Если задачу слегка модифицируют, без программно управляющего устройства придется попотеть. Думаю, лучший вариант - это сочетание программ со специализированными аппаратными модулями.
Согласен ровно до того момента, когда пытаются организовать толстый поток данных в/из сети. А как вспомогательный девайс, MCU конечно не помешает.
Цитата
Мне интересно, как Вы в целом решили свою задачу, сколько задействовано FSM, какие их размеры, какие тактовые частоты, применяются ли PLL и DLL? Как организован вычислительный процесс, есть ли конвейеры, т.е. хотелось бы оценить сложность такого мероприятия. Ведь у Вас все это действительно вышло не слабо.
В самом младшем EP3C5xxxx проект занял 35% LE, 40% памяти, PLL c 25 на 125MHz - 1шт. вычислительного процесса как такового нет. Вместо него два независимых канала Прием и Передача, построенных исключительно, как вы говорите, на конвеерах. Канал приема имеет интерпретатор заголовков пакетов чтобы выделять только нужные пакеты. Ненужные игнорируются. Из нужных ARP запросы и UDP с заданными параметрами. Соответственно идет перенаправление этих пакетов, часть на управление устройством в качестве UDP-сервера, а часть на преобразование в выходной поток данных пользователя, например на видео выход. Канал передачи много проще.
Цитата
А вот еще вопрос, понятно, что в компьютерах стек TCP/IP в основном реализован программно, а есть ли высокоскоростные чисто аппаратные решения стеков для 1G и 10G? В чем их специфика?

Я занимался поиском готовых решений довольно давно. Тогда ничего подходящего для указанного вами диапазона не нашел. Как сейчас обстоят дела с чисто аппаратными делами не знаю, но думаю, что TCP протокол по-прежнему не реализован аппаратно. Просто потому, что он практически не нужен для 1G и 10G.

bark
Stewart Little, Огромное спасибо! beer.gif
Kostos
Цитата(Enthusiast @ Aug 18 2010, 19:03) *
Исходники с описанием указанного мной выше ядра сетевого контроллера лежат тут: /pub/FPGA/_IPcores_/Mentor.Decrypted/pe_mcxmac.tar.gz.
На передаче ПЛИСина шлет пакеты так, что компьютер с XP уходит в глубокую задумчивость 8)


Ай да молодца микрософт smile.gif но это не совсем беда XP - это больше беда гигабит карт совсем уж бюджетного уровня - те которые впринципе не могут переварить гигабит и сидят на PCI - переходите на PCI-E или старенький PCI-X-100 там все хорошо. Хотя XP и вносит свою посильную лепту, когда ей позволяют.

Цитата(Aprox @ Aug 19 2010, 09:23) *
Это не просто быстрое, а самое эффективное решение для локалок и соединений точка в точку. Решение, обеспечивающее до 86% загрузки сети, для 1G -это худо-бедно 860Mbit/s в полном дуплексе. Никакой ниос не потянет.
Это коммерческий Reference Design в виде готового модуля и софта к нему. Станет доступен платежеспособной общественности в самое ближайшее время.


а почему так мало? 86%, в смысле, а не 100%? или вы утилизируете гигабит на все 100%, а полезные данные занимают 86%?
Enthusiast
Цитата(Kostos @ Aug 20 2010, 04:10) *
Ай да молодца микрософт smile.gif но это не совсем беда XP - это больше беда гигабит карт совсем уж бюджетного уровня - те которые впринципе не могут переварить гигабит и сидят на PCI - переходите на PCI-E или старенький PCI-X-100 там все хорошо. Хотя XP и вносит свою посильную лепту, когда ей позволяют.

Вполне возможно, что все так и есть. Я использовал сетевые карты от "Длинка" и "Интела" в разъеме PCI. Однако при передаче пакетов с ПЛИСа в режиме 100 Мб/с компьютер с XP также начинает очень сильно тормозить. Под Линуксом проверять тоже самое я пока не пробовал.
Aprox
Цитата(Kostos @ Aug 20 2010, 04:10) *
а почему так мало? 86%, в смысле, а не 100%? или вы утилизируете гигабит на все 100%, а полезные данные занимают 86%?
Именно полезные данные в UDP-пакетах стандартного размера. И с учетом межфреймового промежутка.



Цитата(Enthusiast @ Aug 20 2010, 11:31) *
Вполне возможно, что все так и есть. Я использовал сетевые карты от "Длинка" и "Интела" в разъеме PCI. Однако при передаче пакетов с ПЛИСа в режиме 100 Мб/с компьютер с XP также начинает очень сильно тормозить. Под Линуксом проверять тоже самое я пока не пробовал.
Если использовать PCAP в обход драйверов виндов, да еще и работать с Jambo пакетами по UDP, то даже в XP наблюдаются очень непложие результаты по производительности приема данных с указанных вами сетевых карт.
Enthusiast
Цитата(Aprox @ Aug 20 2010, 12:07) *
Если использовать PCAP в обход драйверов виндов, да еще и работать с Jambo пакетами по UDP, то даже в XP наблюдаются очень непложие результаты по производительности приема данных с указанных вами сетевых карт.

А программа-перехватчик сетевых пакетов Wireshark использует не такие драйвера по умолчанию? Или их надо как-то включать? В списке установленных программ у меня стоит WinPCAP 4.1. При уменьшении частоты передачи сетевых пакетов (значительном увеличении задержки между пакетами) компьютер начинает приходить в себя.
bark
Цитата(Aprox @ Aug 20 2010, 11:07) *
Если использовать PCAP в обход драйверов виндов, да еще и работать с Jambo пакетами по UDP, то даже в XP наблюдаются очень непложие результаты по производительности приема данных с указанных вами сетевых карт.


Вот как раз использовал Jumbo UDP пакеты размером ~3000-4000.
достигал 620Мбит/с потока без особых проблем. загрузка компа 10-30%. (intel E8400)
без Джумбы тоже летает, но загрузка проца уже под 60%
как я понимаю можно было бы и больше передавать, но используемая тогда железяка больше просто нге могла в силу аппаратных причин.
Aprox
Цитата(Enthusiast @ Aug 20 2010, 13:52) *
А программа-перехватчик сетевых пакетов Wireshark использует не такие драйвера по умолчанию? Или их надо как-то включать? В списке установленных программ у меня стоит WinPCAP 4.1.
Да, это то самое. И может использоваться в любых программах, не только в снифере Wireshark
Цитата
При уменьшении частоты передачи сетевых пакетов (значительном увеличении задержки между пакетами) компьютер начинает приходить в себя.
Если в снифере отключить текущие прорисовки экрана, которыми занимается винда и тормозит, то Wireshark работает достаточно шустро и не пропускает пакеты.
Serhiy_UA
Схожая тема: " FPGA - Ethernet - PC, Как лучше организовать?"
http://electronix.ru/forum/index.php?showt...=46452&st=0
Konst_777
Цитата(Enthusiast @ Aug 19 2010, 09:31) *
Кому-нибудь пригодится техническое описание микросхемы Marvell 88E1111? На всякий случай я добавил его сюда: /upload/DOCs/Marvell88E1111/88E1111 datasheet.pdf. Туда же положил схемы для использования этой микросхемы с оптикой.

Да это просто супер. Огромное спасибо Enthusiast a14.gif a14.gif a14.gif a14.gif a14.gif a14.gif a14.gif
beer.gif


Может быть эти ссылки (Nios Community Wiki) на работающие проекты для Altera 3C120 development board будут полезны для bark:
NiosII3C120DesignExample, SimpleSocketServerPlus, SuperloopSimpleSocketServerPlus
Gothard
Цитата(Aprox @ Aug 18 2010, 16:10) *
Вот именно это и погубит производительность передачи/приема потоков данных по 1G сети. Сразу. И бесповоротно. Любой софт-процессор последовательного действия губителен для производительности.


Привет всем! smile.gif
Так уж получилось, что в данный момент тоже работаю над тем, чтобы пропустить толстый поток по 1G.
Читал-читал тему. Делал кой-чего свое и в голову пришла безумная идея - если мак в плисе, а тем более если свой, то можно организовать перед выдачей на PHY мультиплексор и поставить два MACа. (Ну не просто тупой мультиплексор, а различать кадры, приоритеты и т.п.)
Тогда можно быстрый поток оборачивать в UDP+IP и гнать дальше куда надо.
А другими вещами может заняться процессор.

MACи могут быть и с одинаковыми адресами, это понятно.
Демультиплексировать принятые от PHY данные смысла нет. Просто подавать на оба MACа, а дальше в какой-то момент не нужные просто уйдут в никуда.

Вот smile.gif

P.S. но если вам нужно еще только ARP и ICMP - то городить такой огород конечно нет смысла
bark
Konst_777, спасибо - почитаю.

Gothard, не совсем понял зачем два МАС.
через один ведь вроде можно передавать так же любые пакеты. только место занимать накристалле.

На фтп как я понимаю у меня доступа нет? =(
Gothard
Цитата(bark @ Aug 25 2010, 11:29) *
Gothard, не совсем понял зачем два МАС.

Говорю же, идея безумная smile.gif

Исходил из того, что придется мультиплексировать два потока - один скоротстной, второй - процессора. Чтобы в скоростном потоке ничего не просаживать - заворачиваем его в UDP и IP железно. Вопрос в том, где проще мультиплексировать - на входе MACа или на его выходе. Когда писал - казалось что проще смультиплексировать выходы MACов, но это возможно от того, что я не вникал как происходит обмен процессора с MACом.

P.S. Кстати MAC "чисто на передачу" не так уж много места займет.
Aprox
Цитата(Gothard @ Aug 26 2010, 09:05) *
Говорю же, идея безумная smile.gif
Отнюдь нет. Вот пример реализации. Все нормально работает именно на UDP скоростных потоках.
Цитата
Исходил из того, что придется мультиплексировать два потока - один скоротстной, второй - процессора. Чтобы в скоростном потоке ничего не просаживать - заворачиваем его в UDP и IP железно. Вопрос в том, где проще мультиплексировать - на входе MACа или на его выходе. Когда писал - казалось что проще смультиплексировать выходы MACов, но это возможно от того, что я не вникал как происходит обмен процессора с MACом.
Я использовал мультиплексирование на выходе МАСов. С арбитражем. Приоритет у пакетов управления.

Enthusiast
По просьбам трудящихся я выкладываю сюда диаграмму работы IP-ядра от "Ментора-Инвентры" на передачу ARP-запроса для получения IP-адреса. ARP-запросы идут до бесконечности сразу за настройкой самого ядра и микросхемы физического уровня Marvell 88E1111 в режиме полного дуплекса на 100 Мб/с. Авось кому пригодится.
Архив разбит на две части. Попробую прикрепить его в двух сообщениях.
Нажмите для просмотра прикрепленного файла

Прикладываю вторую часть архива. Я использовал ModelSim 6.5d.
Нажмите для просмотра прикрепленного файла
avacs
Stewart Little, я недавно зашел на этот форум, и увидел что можно как то убрать ограничения Open core с Triple Speed eth ALtera. Личные сообщения пока отправлять не могу (как я понял не достаточно пока сообщений, а может я ошибаюсь). немогли бы вы мне помочь с решением этой проблемы? очень нужен Ethernet 100\1000. (извините сразу за такие просьбы, ибо я недавно начал заниматся ПЛИС (плата c EP3C120F780 + Eth Marvel 88E1111)) Заранее спасибо!
P.S. Как можно достать документацию на Marvell 88E1111, не пойму откуда это качать "/upload/DOCs/Marvell88E1111/88E1111 datasheet.pdf"?)
Andrew Su
Добрый день.
У Marvell на сайте документацию можно получать без проблем после подписания с ними NDA, от имени своей фирмы.
Процедура не очень хлопотная. В свое время оформляли через www.avnet-memec.eu.
У них есть представительство в Москве.
Или может кто-то по доброте поделится.
Удачи.
Stewart Little
Цитата(avacs @ Dec 17 2010, 13:28) *
немогли бы вы мне помочь с решением этой проблемы?

Помочь могу, но Вы сперва наберите постов, и пишите мне в PM.
А то куда же мне отсылать - "на деревню дедушке"?
avacs
а на ящик по электронке не могли бы мне отослать? (aleks-yak@ya.ru)
a123-flex
Цитата(Enthusiast @ Sep 6 2010, 12:58) *
По просьбам трудящихся я выкладываю сюда диаграмму работы IP-ядра от "Ментора-Инвентры" на передачу ARP-запроса для получения IP-адреса. ARP-запросы идут до бесконечности сразу за настройкой самого ядра и микросхемы физического уровня Marvell 88E1111 в режиме полного дуплекса на 100 Мб/с. Авось кому пригодится.
Архив разбит на две части. Попробую прикрепить его в двух сообщениях.
Нажмите для просмотра прикрепленного файла

Прикладываю вторую часть архива. Я использовал ModelSim 6.5d.
Нажмите для просмотра прикрепленного файла


МЕГАРЕСПЕКТ a14.gif a14.gif a14.gif a14.gif a14.gif a14.gif a14.gif a14.gif a14.gif a14.gif
bark
Закончив последний проект взялся таки в январе за TSE.
Сейчас уже работает гигабит с ARP, ICMP, UDP.
с расчетом чексум.. практически всё как положено... но это ещё только пол текущего проекта.

avacs, я так понимаю у вас такая же девборда альтеры с EP3С120.

Stewart Little, и остальным за помощь ещё раз спасибо. cheers.gif
_VM
Здравствуйте!
Пытаюсь разобраться в сабже (Cyclone IV + NIOS + TSE + Marvell 88E1111 (отладочный набор de2-115)).
Что-то немогу найти примеров работы с TSE коркой под nios без использования niche-stack и lwIP.
Я так понимаю, что вначале нужно проинициализировать MAC, а затем отправлять и получать пакеты по SGDMA.
Вот с последним как-раз возникает много вопросов, с примером было бы проще разобраться.
Мож кто из прошедших этот материал поделится опытом?
vadimuzzz
Цитата(_VM @ Feb 19 2011, 02:04) *

да здравствует поиск по форуму!
http://electronix.ru/forum/index.php?showtopic=37680
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.