Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Cyclone III + 88E1111
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Creamman
Здравствуйте, уважаемые разработчики! Возник вопрос при реализации Ethernet на базе Cyclone III + 88E1111-B2-RCJ1C00. C ПЛИС ALterы и средой разработкой Quartus сталкиваюсь впервые.
Устройство предназначено для считывания изображение и передачи по сети в ПК. Плата устройства готова. Cyclone III и 88E1111 соединены по интерфейсу MII. Вставил в проект стандартную функцию Triple Speed Ethernet, компиляция прошла успешно. Показывает наличие сети. Собственно вопрос: 1) Где прописывается IP адрес и MAC устройства, как увидеть прибор в сети? 2) При конвертации файла sof в pof - выдает предупреждение о использовании по времени лимитированной одной или более мегафункции и файл pof не генерируется.
Жду от Вас советов и замечаний) Спасибо.
Golikov A.
Ну сдается мне что вам еще TCP стэк нужен) LwIP смотрите или что там альтера предлагает? Это если у вас проц есть, НИОС кажется альтера предлагает. А если без хотите, то дальше UDP я бы не пошел, железный ТСР стэк писать - это сильно...
krux
Altera TSE обеспечивает уровень по модели OSI - L1.
MAC и IP, про которые вы говорите это уровни L2 и L3 соответственно.
в TSE их нет.

Если вам надо TCP/IP - то альтера предлагает под это дело Nios и uC/OS. Но будьте готовы к тому, что вам понадобиться некоторое количество памяти под различные буферы, связанные с езернетом. Скорость, на которую можно расчитывать в таком варианте - это порядка 20-40 МБит/с, вряд-ли выжмете больше.

Если надо работать быстрее - то вам нужен полностью аппаратный UDP. Вероятно самописный.
Цитата
C ПЛИС ALterы и средой разработкой Quartus сталкиваюсь впервые.

А вообще на VHDL или Verilog пишете?
Kuzmi4
Сейчас крутится рядом некоторая вариация Superloop SSS на C3 для Eth 1Gb (Marvell). Используются все стандартные компоненты альтеры, аки TSE, SGDMA, etc.
Скорость порядка 90-95MBps через UDP, но тут можно ещё подтянуть на пару MBps точно biggrin.gif
Golikov A.
В UDP то вы сами пакуете, неужели есть какая то корка стандартная?
Jackov
Цитата(Creamman @ Apr 7 2015, 14:40) *
2) При конвертации файла sof в pof - выдает предупреждение о использовании по времени лимитированной одной или более мегафункции и файл pof не генерируется.

Она пробная, на неё лицензия нужна. У меня та же проблема, наверно сами будим писать какой-нибудь простенький аналог. А вообще, поспрашивайте у народа, вроде уже крякнули.
krux
Цитата(Kuzmi4 @ Apr 7 2015, 16:36) *
Сейчас крутится рядом некоторая вариация Superloop SSS на C3 для Eth 1Gb (Marvell). Используются все стандартные компоненты альтеры, аки TSE, SGDMA, etc.
Скорость порядка 90-95MBps через UDP, но тут можно ещё подтянуть на пару MBps точно biggrin.gif

и UDP chksum у вас тоже nios считает?
сомневаюсь.
gosu-art
Цитата(krux @ Apr 7 2015, 21:53) *
и UDP chksum у вас тоже nios считает?
сомневаюсь.

У меня с подсчетом UDP checksum на ниосе выходило 0,7~1 МБ. Если не считать то 3,5 - 5 МБ. При малейшем изменении в коде или системы qsys в целом скорость может упасть значительно.
В итоге написал свой простенький UDP на Avalon-ST. Прописываешь MAC,IP,UDP PORT. Подключаешь SG-DMA. И просто отправляешь байтики ни о чем не думая rolleyes.gif В итоге скорость = 750 Мб через оптический Switch.
При этом сделал второй байпас порт (Avalon-ST multiplexer с моей "коркой biggrin.gif " не заработал, TSE просто виснет) к которому подключен программный стэк NIOS (ARP,ICMP,UDP).
Creamman
Цитата(krux @ Apr 7 2015, 16:04) *
Altera TSE обеспечивает уровень по модели OSI - L1.
MAC и IP, про которые вы говорите это уровни L2 и L3 соответственно.
в TSE их нет.

Если вам надо TCP/IP - то альтера предлагает под это дело Nios и uC/OS. Но будьте готовы к тому, что вам понадобиться некоторое количество памяти под различные буферы, связанные с езернетом. Скорость, на которую можно расчитывать в таком варианте - это порядка 20-40 МБит/с, вряд-ли выжмете больше.

Если надо работать быстрее - то вам нужен полностью аппаратный UDP. Вероятно самописный.

А вообще на VHDL или Verilog пишете?

Да, конечно. Сейчас стоит вопрос:что делать?) необходимо как можно быстрее заставить Плис обмениваться данными по сети. по ТЗ протокол обмена -TCP/IP. Посоветуйте пожалуйста, какие компоненты необходимы для Квартуса( даже платные ) необходимы для реализации данной задачи.

Цитата(Kuzmi4 @ Apr 7 2015, 16:36) *
Сейчас крутится рядом некоторая вариация Superloop SSS на C3 для Eth 1Gb (Marvell). Используются все стандартные компоненты альтеры, аки TSE, SGDMA, etc.
Скорость порядка 90-95MBps через UDP, но тут можно ещё подтянуть на пару MBps точно biggrin.gif

Спасибо за совет! ) А где ее можно достать, может кто уже использовал данную вариацию.
Golikov A.
Если вам нужен ТСР/IP вам надо процессор ставить. ТСР стэк можно конечно реализовать в железе, но на это пойдет ИМХО слишком много ресурсов, да и времени. Или будет он крайне урезан....
Потому ставьте проц, запускайте программный стэк. Это самое быстрое и простое в вашем случае...
Kuzmi4
Цитата(krux @ Apr 7 2015, 20:53) *
и UDP chksum у вас тоже nios считает?

Да, рассчёт в tightly coupled memory, Nios2-f проц. Дизайн конечно глюкавый (хорватские товарищи делали), но отгружает по UDP стабильно - это единственное место в дизайне, к которому претензий нет biggrin.gif .

2 Creamman:
SimpleSocketServerPlus
Superloop_Simple_Socket_Server_Plus
Creamman
Цитата(Golikov A. @ Apr 8 2015, 10:52) *
Если вам нужен ТСР/IP вам надо процессор ставить. ТСР стэк можно конечно реализовать в железе, но на это пойдет ИМХО слишком много ресурсов, да и времени. Или будет он крайне урезан....
Потому ставьте проц, запускайте программный стэк. Это самое быстрое и простое в вашем случае...

Спасибо! А под "ставьте проц" Вы имеете ввиду NIOS II?

Цитата(Kuzmi4 @ Apr 8 2015, 11:00) *
Да, рассчёт в tightly coupled memory, Nios2-f проц. Дизайн конечно глюкавый (хорватские товарищи делали), но отгружает по UDP стабильно - это единственное место в дизайне, к которому претензий нет biggrin.gif .

2 Creamman:
SimpleSocketServerPlus
Superloop_Simple_Socket_Server_Plus


Спасибо, буду разбираться!)

Цитата(Jackov @ Apr 7 2015, 18:36) *
Она пробная, на неё лицензия нужна. У меня та же проблема, наверно сами будим писать какой-нибудь простенький аналог. А вообще, поспрашивайте у народа, вроде уже крякнули.

Кто-нибудь крякнул?) У кого аналогичная проблема при генерации pof файла, поделитесь как обходили?
Golikov A.
Цитата
Спасибо! А под "ставьте проц" Вы имеете ввиду NIOS II?

под альтеру обычно его ставят. Вам нужно что-то что будет крутить программу

D Mike
Цитата(Creamman @ Apr 8 2015, 11:48) *
Кто-нибудь крякнул?) У кого аналогичная проблема при генерации pof файла, поделитесь как обходили?

Я пробовал ее использовать(после кря), но не понравилось.
Занимает уйму места в кристалле и половина фич нафиг не надо.
В результате написал свою сугуба под задачу, что советую вам.
Golikov A.
написали свой мак контроллер без лишних фич? круто... а точно нужных фич не забыли? и сколько скорости дает?
D Mike
Цитата(Golikov A. @ Apr 13 2015, 16:11) *
написали свой мак контроллер без лишних фич? круто... а точно нужных фич не забыли? и сколько скорости дает?


что просили по ТЗ то сделал.
на cyclone3 = 5 GBE
в чем сарказм?
Golikov A.
не в чем. Просто интересно.
А контрольные суммы пакетов сам считает? А первичная фильтрация в нем или уже дальше?

Мак контроллер - там же куча всяких бантиков, потому никто не хочет его писать сам. Мало славы, много гемора ИМХО.
D Mike
Цитата(Golikov A. @ Apr 14 2015, 08:36) *
не в чем. Просто интересно.
А контрольные суммы пакетов сам считает? А первичная фильтрация в нем или уже дальше?

Мак контроллер - там же куча всяких бантиков, потому никто не хочет его писать сам. Мало славы, много гемора ИМХО.

CRC32? - да. Или ты про L3 checksumm? Я тогда L2 коммутатор делал.
Вначале взял альтеровский мак, но потом понял, что ничего не помещается...
Честно содрал у них из коры реализацию RGMII для 10\100\1000 wink.gif
Golikov A.
понятно
Jackov
Цитата(D Mike @ Apr 14 2015, 08:57) *
Честно содрал у них из коры реализацию RGMII для 10\100\1000 wink.gif

А как, если не секрет? Файлики-то шифрованные.
D Mike
Цитата(Jackov @ Apr 14 2015, 17:16) *
А как, если не секрет? Файлики-то шифрованные.

есть возможность.
Jackov
Цитата(D Mike @ Apr 15 2015, 13:20) *
есть возможность.

Посвятите в тайные знания? Хотя бы куда копать.
Creamman
Цитата(D Mike @ Apr 13 2015, 14:29) *
Я пробовал ее использовать(после кря), но не понравилось.
Занимает уйму места в кристалле и половина фич нафиг не надо.
В результате написал свою сугуба под задачу, что советую вам.

А не поделитесь секретом взлома?) мне необходимо попробовать, чтобы получить хоть какой-нибудь результат!) заранее благодарен

Цитата(Creamman @ Apr 16 2015, 15:39) *
А не поделитесь секретом взлома?) мне необходимо попробовать, чтобы получить хоть какой-нибудь результат!) заранее благодарен

С TCP/IP разобрался! использовал TSE и Nishe Stack. Теперь стоит вопрос о генерации pof файла, за это требуют лицензию! Какие пути взлома ?)
D Mike
Цитата(Jackov @ Apr 15 2015, 17:24) *
Посвятите в тайные знания? Хотя бы куда копать.

Шифрованные файлы коры это криптованные исходники.
Quartus имеет внутри механизм дешифрования файла перед компиляцией. То есть внутри себя quartis видит исходный текст.
К сожалению не все корки можно посмотреть - нужны еще кое-какие лицензии sad.gif
Как только шифрованные файлы подменяются нормальными, Quartus перестает запрашивать лицензию и нормально создает pof

ps: пишите в личку
Jackov
Цитата(D Mike @ Apr 21 2015, 17:35) *
Шифрованные файлы коры это криптованные исходники.
Quartus имеет внутри механизм дешифрования файла перед компиляцией. То есть внутри себя quartis видит исходный текст.

Так это понятно.
Какими образом из Квартуса этот алгоритм можно вытащить, чтобы самому исходники дешифровать? Декомпилировать сам Квартус?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.