Author Topic: Ethernet On Zynq  (Read 4021 times)

0 Members and 1 Guest are viewing this topic.

Offline Morgan127Topic starter

  • Contributor
  • Posts: 27
  • Country: se
Ethernet On Zynq
« on: August 18, 2018, 01:30:53 pm »
Hi,
does anyone know a Xilinx Zynq dev-board that has an Ethernet interface that is not connected directly to the processor (PS)?
I want to be able to use Ethernet communication without using the processor with os etc.
I have found cores that do all Ethernet stuff I want like TCP/IP, UDP, remote programming and remote logic analyzer.
These works very good in Artix however I want to try these in a Zynq.
Cheers

 

Offline ebclr

  • Super Contributor
  • ***
  • Posts: 2328
  • Country: 00
Re: Ethernet On Zynq
« Reply #1 on: August 18, 2018, 08:05:55 pm »
 

Offline Morgan127Topic starter

  • Contributor
  • Posts: 27
  • Country: se
Re: Ethernet On Zynq
« Reply #2 on: August 19, 2018, 05:40:23 am »
@ebclr Thanks for your reply.
That pmod doesn't work. I use the cores from FPGA Cores. These cores contains the MAC and connects to standard PHY interfaces like RMII and MII.
The chip on that pmod has MAC and PHY and uses a non standard SPI-interface.
 

Offline coolohm

  • Newbie
  • Posts: 4
  • Country: gb
Re: Ethernet On Zynq
« Reply #3 on: August 19, 2018, 10:35:20 am »
You could use something like the LAN8720 eth board. Available for about $2-3 on ebay and contains just the phy, so interfaces to the FPGA using a standard RMII interface over PMOD. That way you can use virtually any development board you like.
 
The following users thanked this post: Morgan127

Offline Scrts

  • Frequent Contributor
  • **
  • Posts: 797
  • Country: lt
Re: Ethernet On Zynq
« Reply #4 on: August 20, 2018, 04:08:48 pm »
 
The following users thanked this post: Morgan127

Offline Morgan127Topic starter

  • Contributor
  • Posts: 27
  • Country: se
Re: Ethernet On Zynq
« Reply #5 on: August 21, 2018, 07:34:20 am »
It looks like I need to add PMOD-like board to solve this. The two suggested devices are almost PMOD, one extra tx outside the PMOD.
I still would prefer if there was an Ethernet interface already on the board.
 

Offline Scrts

  • Frequent Contributor
  • **
  • Posts: 797
  • Country: lt
Re: Ethernet On Zynq
« Reply #6 on: August 21, 2018, 12:51:29 pm »
I am not sure about the Zynq architecture, but maybe it's possible to reach the interconnect bus from FPGA side without initializing the CPU?
 

Offline coolohm

  • Newbie
  • Posts: 4
  • Country: gb
Re: Ethernet On Zynq
« Reply #7 on: August 21, 2018, 06:14:00 pm »
It looks like I need to add PMOD-like board to solve this. The two suggested devices are almost PMOD, one extra tx outside the PMOD.
FYI the DP83848 has one TX outside PMOD, but the LAN8720 has all the pins inside the PMOD pinout, so you wouldn't need to mess around with jumper wires to hook it up.

Quote
I still would prefer if there was an Ethernet interface already on the board.
Yes I did have a quick look at a few Zynq boards which I knew of, but none had a PL connected ethernet PHY. I guess development board manufacturers expect you to do all your networking through the PS  :-//

I am not sure about the Zynq architecture, but maybe it's possible to reach the interconnect bus from FPGA side without initializing the CPU?
I'm fairly sure that that is not possible on the Zynq. It's quite easy to do the reverse (use a PL pin for a PS peripheral) in most cases, but there is no access to dedicated PS pins from the PL.
 

Offline Morgan127Topic starter

  • Contributor
  • Posts: 27
  • Country: se
Re: Ethernet On Zynq
« Reply #8 on: August 22, 2018, 06:31:34 am »
Quote
FYI the DP83848 has one TX outside PMOD, but the LAN8720 has all the pins inside the PMOD pinout, so you wouldn't need to mess around with jumper wires to hook it up.
LAN8720 also have Tx outside PMOD. It has 2x7 pins and PMOD is 2x6.

 

Offline coolohm

  • Newbie
  • Posts: 4
  • Country: gb
Re: Ethernet On Zynq
« Reply #9 on: August 22, 2018, 05:36:01 pm »
Ooops, You're entirely correct - I can't count!
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 3507
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: Ethernet On Zynq
« Reply #10 on: August 22, 2018, 09:06:25 pm »
In most cases, AFAIK Zynq always boot the ARM core first, and it is usually expected to load the FPGA byte code from the ARM part (using a special driver for the Linux kernel.) In this case since it is almost guaranteed to have an instance of Linux ready, why not just use it?

In the odd case you found one of the chips that boot from FPGA first, you can use the AXI bus master interface exposed to the fabric to manipulate the Ethernet hard core on the ARM side.
 

Offline Morgan127Topic starter

  • Contributor
  • Posts: 27
  • Country: se
Re: Ethernet On Zynq
« Reply #11 on: August 23, 2018, 07:59:51 am »
@technix,
In my case I don't want to use Linux for Ethernet. I wan't to use the cores from "FPGA-Cores.com". Why?
* It is much easier to access the FPGA logic using the AXI4-streams instead of going through an OS.
* I only add the netlist and I have all Ethernet stuff I need. Very easy.
* I can update/program the flash from remote.
* I can debug with the internal logic analyzer from remote.

In the ARM I'm not going to have Linux at all. It will only have some code running without os. Doing some algorithms that is more suitable to have in c++.

The cores does only support standard interfaces like RMII so I don't think it is possible to access the AXI-Master of the PS.




 

Offline technix

  • Super Contributor
  • ***
  • Posts: 3507
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: Ethernet On Zynq
« Reply #12 on: August 23, 2018, 10:45:10 am »
Quote
I still would prefer if there was an Ethernet interface already on the board.
Yes I did have a quick look at a few Zynq boards which I knew of, but none had a PL connected ethernet PHY. I guess development board manufacturers expect you to do all your networking through the PS  :-//
That is the intended use: boot Linux first, bring up the FPGA later when the relevant drivers load.

I am not sure about the Zynq architecture, but maybe it's possible to reach the interconnect bus from FPGA side without initializing the CPU?
I'm fairly sure that that is not possible on the Zynq. It's quite easy to do the reverse (use a PL pin for a PS peripheral) in most cases, but there is no access to dedicated PS pins from the PL.
There are some rarely-seen Zynq variants that boots FPGA first, but in most cases you have to boot ARM first, and the FPGA in intended to serve solely as a peripheral to the ARM.

@technix,
In my case I don't want to use Linux for Ethernet. I wan't to use the cores from "FPGA-Cores.com". Why?
* It is much easier to access the FPGA logic using the AXI4-streams instead of going through an OS.
* I only add the netlist and I have all Ethernet stuff I need. Very easy.
* I can update/program the flash from remote.
* I can debug with the internal logic analyzer from remote.

In the ARM I'm not going to have Linux at all. It will only have some code running without os. Doing some algorithms that is more suitable to have in c++.

The cores does only support standard interfaces like RMII so I don't think it is possible to access the AXI-Master of the PS.
If this is your use case, maybe Zynq is NOT the correct choice for you. A better option would be choose a chip with built-in ARM Cortex-M hard core, burn some gates to include a soft ARM Cortex-M or RISC-V core, or use an external microcontroller hooked to some kind of communication interconnect (SPI, for example.)
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf