Ethernet On Zynq - Page 1
Forum section: electronics / general

author: Morgan127
author_rank: Contributor
timestamp: August 18, 2018, 01:30:53 pm
content: 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

author: ebclr
author_rank: Super Contributor
timestamp: August 18, 2018, 08:05:55 pm
content: Just add thishttps://store.digilentinc.com/pmod-nic100-network-interface-controller/

author: Morgan127
author_rank: Contributor
timestamp: August 19, 2018, 05:40:23 am
content: @ebclr Thanks for your reply.That pmod doesn't work. I use the cores fromFPGA 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.

author: coolohm
author_rank: Newbie
timestamp: August 19, 2018, 10:35:20 am
content: You could use something like theLAN8720 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.

author: Scrts
author_rank: Frequent Contributor
timestamp: August 20, 2018, 04:08:48 pm
content: https://www.waveshare.com/DP83848-Ethernet-Board.htmThis has a proper MAC interface.

author: Morgan127
author_rank: Contributor
timestamp: August 21, 2018, 07:34:20 am
content: 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.

author: Scrts
author_rank: Frequent Contributor
timestamp: August 21, 2018, 12:51:29 pm
content: 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?

author: coolohm
author_rank: Newbie
timestamp: August 21, 2018, 06:14:00 pm
content: Quote from: Morgan127 on August 21, 2018, 07:34:20 amFYI 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.QuoteYes 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 PSQuote from: Scrts on August 21, 2018, 12:51:29 pmI'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.

author: Morgan127
author_rank: Contributor
timestamp: August 22, 2018, 06:31:34 am
content: QuoteLAN8720 also have Tx outside PMOD. It has 2x7 pins and PMOD is 2x6.

author: coolohm
author_rank: Newbie
timestamp: August 22, 2018, 05:36:01 pm
content: Ooops, You're entirely correct - I can't count!

author: technix
author_rank: Super Contributor
timestamp: August 22, 2018, 09:06:25 pm
content: 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.

author: Morgan127
author_rank: Contributor
timestamp: August 23, 2018, 07:59:51 am
content: @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.

author: technix
author_rank: Super Contributor
timestamp: August 23, 2018, 10:45:10 am
content: Quote from: coolohm on August 21, 2018, 06:14:00 pmThat is the intended use: boot Linux first, bring up the FPGA later when the relevant drivers load.Quote from: coolohm on August 21, 2018, 06:14:00 pmThere 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.Quote from: Morgan127 on August 23, 2018, 07:59:51 amIf 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.)