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

 
 
 
Reply to this topicStart new topic
> 10_100_1000 Mbps Ethernet MAC + Gb eth UDP/IP Stack с opencores.
wert101
сообщение Mar 19 2017, 19:31
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 71
Регистрация: 29-02-08
Из: Москва
Пользователь №: 35 493



Коллеги, поделитесь опытом работы с данными IP с opencores.
Насколько они "оживляемы" по отдельности и в связке?
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Mar 20 2017, 08:02
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 wert101
"в принципе" оно рабочее, надо только подпилить под свои хотелки. А что вас именно интересует?
Go to the top of the page
 
+Quote Post
wert101
сообщение Mar 20 2017, 11:40
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 71
Регистрация: 29-02-08
Из: Москва
Пользователь №: 35 493



Цитата(Kuzmi4 @ Mar 20 2017, 11:02) *
2 wert101
"в принципе" оно рабочее, надо только подпилить под свои хотелки. А что вас именно интересует?

Нужно изменить интерфейс в одном из проектов цифровой камеры на Ethernet.
Ранее, с реализацией Ethernet на ПЛИС я не сталкивался.
В результате изучения форума и поиска информации по данной теме остановился
на варианте, изложенном Алексеем Пашиновым в журнале КиТ №5/2015г.
http://kit-e.ru/articles/circuit/2015_05_100.php
Там описан вариант реализации Ethernet контроллера на ПЛИС на основе связки :
User layer (castom) + UDP/IP Stack (opencores) + TSE MAC (Xilinx core) + PHY (Marvell 88Е1111).

Под Альтеру я хочу использовать в качестве МАСа
10_100_1000 Mbps Ethernet MAC (opencores) или TSE от Альтеры (нужна лицензия, это "-").
Физ. уровень на тестовой плате - Marvell 88Е1512 в режиме RGMII.

Сначала был сделан тестовый проект в Ква генератора UDP-пакетов для "знакомства"
с 88Е1512. Плата и ПК соединены кроссоверным патч-кордом.
На ПК вижу прием UDP-пакетов Wireshark-ом.
На плате СигналТапом вижу пакеты (ARP) от ПК на выходе 88Е1512 и переходника RGMII/GMII.

Далее в проект добавлен 10_100_1000 Mbps Ethernet MAC с opencores.
По нему и вопросы :
В доке описано конфигурирование МАСа запуском скрипта #vish start.tcl и записью
конфигурации в файл "CPU.dat".
Это обязательно? Можно записать конфиг. регистры в проекте через
Host interface CSB, WRB, [15:0] CD_in, [15:0] CD_out, [7:0] CA ?
Судя по исходникам, модуль reg_int.v отвечает за инициализацию конф. регистров при сбросе?
Прикрепленные файлы
Прикрепленный файл  reg_int.v ( 9.99 килобайт ) Кол-во скачиваний: 26
Прикрепленный файл  Tri_mode_Ethernet_MAC_Specifications.pdf ( 305.81 килобайт ) Кол-во скачиваний: 21
 
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Mar 21 2017, 11:14
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата(wert101 @ Mar 20 2017, 14:40) *
Можно записать конфиг. регистры в проекте через
Host interface CSB, WRB, [15:0] CD_in, [15:0] CD_out, [7:0] CA ?

Можно. Для этого вам нужен какой то софт-проц или ваш самописный мастер.

Цитата(wert101 @ Mar 20 2017, 14:40) *
Судя по исходникам, модуль reg_int.v отвечает за инициализацию конф. регистров при сбросе?

Модуль "reg_int.v" - контейнер регистров MAC-а, с предустановками для регистров по сбросу.

Советую так же ознакомиться вот с этим:
../ethernet_tri_mode/trunk/EDK/edk_user_repository.tar.gz -> ../edk_user_repository/MyProcessorIPLib/drivers/opencore_tri_mac_v1_00_a/src/


Go to the top of the page
 
+Quote Post
wert101
сообщение Mar 21 2017, 12:30
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 71
Регистрация: 29-02-08
Из: Москва
Пользователь №: 35 493



Цитата(Kuzmi4 @ Mar 21 2017, 14:14) *
Можно. Для этого вам нужен какой то софт-проц или ваш самописный мастер.


Модуль "reg_int.v" - контейнер регистров MAC-а, с предустановками для регистров по сбросу.

Советую так же ознакомиться вот с этим:
../ethernet_tri_mode/trunk/EDK/edk_user_repository.tar.gz -> ../edk_user_repository/MyProcessorIPLib/drivers/opencore_tri_mac_v1_00_a/src/


Написан простой VHDL модуль для записи всех регистров МАС после сигнала сброса.

Но, еще до принудительной перезаписи регистров внешним модулем,
в Сигналтапе я вижу несоответствие содержимого конф. регистров значениям,
указанным reg_int.v.
Например, согласно reg_int.v :
- регистр Tx_Hwmark д.б. инициализирован в 16'h001E, в железе после ресета он равен 16'h0019.
- регистр Tx_Lwmark д.б. инициализирован в 16'h0019, в железе после ресета он равен 16'h0000.

Хотя, в reg_int.v указаны след. строки для их первоначальной установки :
RegCPUData U_0_000(Tx_Hwmark ,7'd000,16'h001E,Reset,Clk_reg,!WRB,CSB,CA,CD_in);
RegCPUData U_0_001(Tx_Lwmark ,7'd001,16'h0019,Reset,Clk_reg,!WRB,CSB,CA,CD_in);

Если я правильно понял Верилог, которым не пользуюсь.
Содержимое EDK я смотрел, спасибо.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Mar 21 2017, 13:01
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 wert101
Если вы уверены что смотрите те регистры которые хотите, и у вас прошёл сброс перед этим - значит кто то переписал их. Проверяйте, например в симуляции, поведение вашей системы после сброса.
Go to the top of the page
 
+Quote Post
wert101
сообщение Mar 21 2017, 13:12
Сообщение #7


Участник
*

Группа: Свой
Сообщений: 71
Регистрация: 29-02-08
Из: Москва
Пользователь №: 35 493



Цитата(Kuzmi4 @ Mar 21 2017, 16:01) *
2 wert101
Если вы уверены что смотрите те регистры которые хотите, и у вас прошёл сброс перед этим - значит кто то переписал их. Проверяйте, например в симуляции, поведение вашей системы после сброса.

Проверил в Сигналтапе еще раз.
Инициализация регистров МАС после сброса проходит как указано в reg_int.v.
Go to the top of the page
 
+Quote Post

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

 


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


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