jenya7 0 January 24 Posted January 24 (edited) · Report post Мне надо реализовать транспортный протокол UDP, TCP и PTP1588 на Cyclone 5 5CEFA9217I7. В связи с этим возникло два вопроса 1. Этот IP подойдёт? 2. Какой транспортный леер купить? Edited January 24 by jenya7 Quote Share this post Link to post Share on other sites More sharing options...
new123 0 January 24 Posted January 24 · Report post Не открывается ссылка под санкциями ) Но там смотрю обычный Ethernet MAC. Если под словом "реализовать", имеется ввиду генерация пакетов udp, tcp, то у интела вроде не было таких корок. Все приходится делать самому. Особенно весь tcp стэк Quote Share this post Link to post Share on other sites More sharing options...
jenya7 0 January 24 Posted January 24 (edited) · Report post On 1/24/2023 at 10:32 AM, new123 said: Не открывается ссылка под санкциями ) Но там смотрю обычный Ethernet MAC. Если под словом "реализовать", имеется ввиду генерация пакетов udp, tcp, то у интела вроде не было таких корок. Все приходится делать самому. Особенно весь tcp стэк Quote Overview The Triple-Speed Ethernet Intel® FPGA IP core consists of a 10/100/1000 Mbps Ethernet media access control (MAC) and physical coding sublayer (PCS) Intellectual Property (IP). This IP function enables Intel® FPGAs to interface to an external Ethernet PHY device, which interfaces to the Ethernet network. This IP is offered in MAC-only mode or in MAC+PHY mode. In the MAC only mode, the IP uses an external PHY chip to do signaling. The two supported interfaces to the external PHYs are: GMII (8-bit interface at 125 MHz SDR) and RGMII (4-bit interface at 125 MHz DDR). In the MAC+PHY mode, the PHY is realized using on-chip transceivers or LVDS I/O with dynamic phase alignment (DPA) logic that can operate up to 1.25 Gbps. SGMII or 1000Base-X protocol is used in this case. The usage of LVDS I/Os enables very scalable multiport gigabit Ethernet (GbE) system designs while saving the serial transceivers for higher performance protocols. Features Complete 10/100/1000 Mbps Ethernet IP with all the necessary IP modules 10/100/1000 Mbps MAC, PCS, and PMA Flexible IP options MAC only, PCS only, MAC + PCS, MAC + PCS + PMA, PCS + PMA Many options for various applications and sizes as small as 900 logic elements (small-MAC) Standard-based statistics counters supporting simple network management protocol (SNMP) Management Information Base (MIB and MIB-II) and Remote Network Monitoring (RMON) Parameterizable FIFO or FIFO-less MAC options IEEE 1588 v2 high accuracy and high precision time stamping option in hardware IP 1-step and 2-step time sync Supports IEEE 1588 v2 PTP packet encapsulation in IPv4, IPv6, and Ethernet Real time of day clock generator (ToD) IP in design example Many external Ethernet interface options for various Intel® FPGA families MII (10/100 Mbps), GMII, RGMII, and SGMII (10/100/1000 Mbps), 1000BASE-X, and TBI (1 Gbps) Management data I/O (MDIO) for external PHY device management это описание. а что ни у кого нет TCP стека купить? я вижу что Triple-Speed Ethernet Intel FPGA IP есть в библиотеке. я его подключил и получил топ entity ETH is port ( clk : in std_logic := '0'; -- control_port_clock_connection.clk reset : in std_logic := '0'; -- reset_connection.reset reg_addr : in std_logic_vector(7 downto 0) := (others => '0'); -- control_port.address reg_data_out : out std_logic_vector(31 downto 0); -- .readdata reg_rd : in std_logic := '0'; -- .read reg_data_in : in std_logic_vector(31 downto 0) := (others => '0'); -- .writedata reg_wr : in std_logic := '0'; -- .write reg_busy : out std_logic; -- .waitrequest tx_clk : in std_logic := '0'; -- pcs_mac_tx_clock_connection.clk rx_clk : in std_logic := '0'; -- pcs_mac_rx_clock_connection.clk set_10 : in std_logic := '0'; -- mac_status_connection.set_10 set_1000 : in std_logic := '0'; -- .set_1000 eth_mode : out std_logic; -- .eth_mode ena_10 : out std_logic; -- .ena_10 rgmii_in : in std_logic_vector(3 downto 0) := (others => '0'); -- mac_rgmii_connection.rgmii_in rgmii_out : out std_logic_vector(3 downto 0); -- .rgmii_out rx_control : in std_logic := '0'; -- .rx_control tx_control : out std_logic; -- .tx_control ff_rx_clk : in std_logic := '0'; -- receive_clock_connection.clk ff_tx_clk : in std_logic := '0'; -- transmit_clock_connection.clk ff_rx_data : out std_logic_vector(7 downto 0); -- receive.data ff_rx_eop : out std_logic; -- .endofpacket rx_err : out std_logic_vector(5 downto 0); -- .error ff_rx_rdy : in std_logic := '0'; -- .ready ff_rx_sop : out std_logic; -- .startofpacket ff_rx_dval : out std_logic; -- .valid ff_tx_data : in std_logic_vector(7 downto 0) := (others => '0'); -- transmit.data ff_tx_eop : in std_logic := '0'; -- .endofpacket ff_tx_err : in std_logic := '0'; -- .error ff_tx_rdy : out std_logic; -- .ready ff_tx_sop : in std_logic := '0'; -- .startofpacket ff_tx_wren : in std_logic := '0'; -- .valid magic_wakeup : out std_logic; -- mac_misc_connection.magic_wakeup magic_sleep_n : in std_logic := '0'; -- .magic_sleep_n ff_tx_crc_fwd : in std_logic := '0'; -- .ff_tx_crc_fwd ff_tx_septy : out std_logic; -- .ff_tx_septy tx_ff_uflow : out std_logic; -- .tx_ff_uflow ff_tx_a_full : out std_logic; -- .ff_tx_a_full ff_tx_a_empty : out std_logic; -- .ff_tx_a_empty rx_err_stat : out std_logic_vector(17 downto 0); -- .rx_err_stat rx_frm_type : out std_logic_vector(3 downto 0); -- .rx_frm_type ff_rx_dsav : out std_logic; -- .ff_rx_dsav ff_rx_a_full : out std_logic; -- .ff_rx_a_full ff_rx_a_empty : out std_logic -- .ff_rx_a_empty ); end entity ETH; для подключения к PHY остальные сигналы надо подключать к транспортному лееру? странно что я не вижу сигналов PTP 1588 хотя заявлено что в коре есть полная поддержка протокола. то есть по сути нужен LWIP но для FPGA. Edited January 24 by jenya7 Quote Share this post Link to post Share on other sites More sharing options...
sorok-odin 5 January 24 Posted January 24 · Report post 6 часов назад, jenya7 сказал: а что ни у кого нет TCP стека купить? Попробуйте купить тут https://comblock.com/com5402soft.html https://comblock.com/com5403soft.html Quote Share this post Link to post Share on other sites More sharing options...
jenya7 0 January 24 Posted January 24 · Report post On 1/24/2023 at 4:47 PM, sorok-odin said: Попробуйте купить тут https://comblock.com/com5402soft.html https://comblock.com/com5403soft.html выглядит неплохо. а что скажете насчёт их родного? он наверно к их мак кору хорошо подойдёт. Quote Share this post Link to post Share on other sites More sharing options...
sorok-odin 5 January 24 Posted January 24 · Report post Ничего не скажу, при попытке купить comblock нам отказали из-за санкций. Может, вам повезет больше. Если что, у них и mac свой есть для легкой стыковки с TCP/IP. Quote Share this post Link to post Share on other sites More sharing options...
gosha-z 1 January 24 Posted January 24 · Report post Ээээ, а чем дядька Форенкич плох? Quote Share this post Link to post Share on other sites More sharing options...
jenya7 0 January 25 Posted January 25 (edited) · Report post On 1/24/2023 at 10:22 PM, gosha-z said: Ээээ, а чем дядька Форенкич плох? стрёмно как то. а если проблемы какие? поддержки нет если что. кроме того я пишу в VHDL, исходники я могу вставить в проект и на верилоге, не впервой, но примеры он даёт на верилоге. и у него нет PTP 1588. Edited January 25 by jenya7 Quote Share this post Link to post Share on other sites More sharing options...
Realking 0 January 25 Posted January 25 · Report post Использовать Triple speed ethernet корку от интела, поднять Nios-II и на нем стек уже реализовать. Делал на операционке uCos-II. Но было уже очень давно. Quote Share this post Link to post Share on other sites More sharing options...
jenya7 0 January 25 Posted January 25 (edited) · Report post On 1/25/2023 at 9:43 AM, Realking said: Использовать Triple speed ethernet корку от интела, поднять Nios-II и на нем стек уже реализовать. Делал на операционке uCos-II? Но было уже очень давно. я не очень понимаю работу с Nios-II. это же CPU. на нём на С надо писать? и как он сопрягается с MAC IP? Edited January 25 by jenya7 Quote Share this post Link to post Share on other sites More sharing options...
new123 0 January 25 Posted January 25 (edited) · Report post 11 hours ago, gosha-z said: Ээээ, а чем дядька Форенкич плох? активно его юзаю, но там вроде нет tcp стэка. И udp нет. реализован только полноценный ethernet еще он больше под xil с их axi Edited January 25 by new123 Quote Share this post Link to post Share on other sites More sharing options...
gosha-z 1 January 25 Posted January 25 · Report post 23 minutes ago, new123 said: И udp нет. А udp_complete тогда что? Quote Share this post Link to post Share on other sites More sharing options...
des00 16 January 25 Posted January 25 · Report post 17 minutes ago, gosha-z said: А udp_complete тогда что? и либа PTP) Quote Share this post Link to post Share on other sites More sharing options...
jenya7 0 January 25 Posted January 25 · Report post On 1/25/2023 at 10:14 AM, new123 said: активно его юзаю, но там вроде нет tcp стэка. И udp нет. реализован только полноценный ethernet еще он больше под xil с их axi а как его вставить в проект? там куча зависимостей. все файлы из rtl и lib включать надо? Quote Share this post Link to post Share on other sites More sharing options...
Ivanii 0 January 25 Posted January 25 · Report post В 24.01.2023 в 11:26, jenya7 сказал: реализовать транспортный протокол UDP, TCP и PTP1588 А какая точность PTP этого бутерброда планируется? На сколько я понимаю для точности PTP выше 10 мкс требуется выделенная среда без коммутаторов и вланов. Quote Share this post Link to post Share on other sites More sharing options...