Jump to content
  • 0

PMOD NIC100


elAmericano

Question

Hello,

I am working with arty A7 and arty Z7 dev boards purchased through your website.  I have downloaded IP files from github .  However I when I import into Vivado (2018.2) I am not finding the NIC100 PMOD .  Several of the other PMODS are working and verified.  However, I am not finding the NIC100 PMOD in the add IP , even after digilent library is imported.

Can you send me to correct github location that contains this file?

 

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Hello @elAmericano,

Here is the github location of the IP library. As you can see we currently don't have an IP for this Pmod.

However the Pmod is using SPI protocol. You could easily add an Axi Quad SPI IP and then constrain the outputs, the in SDK you can adapt the code from SPI Ethernet ENC24J600 Library which is made for PIC and use it.

As you can see SPI Ethernet ENC24J600 Library supports ENC424J600 module, which is the module used by Pmod NIC100.

For SPI communication there are several Pmods that have SPI drivers ( see git location ) which you can take as an example.

It's a bit of work, but maybe it could be a great opportunity for you to learn something new.

Best regards,

Ana-Maria

 

Link to comment
Share on other sites

  • 0

Hello Ana,

i'm working currently with NIC100 on Zybo Board and i can't apply the Pmod. I'm newbie therefore it's really hard for me to use the adapted code of ENC24J600 Library. So i have some questions:

1) May you have the already adapted Library for me please?

2) When i clicked on your library link. I can't find out how to download the library.

Please help me!

Thank you in advance!

Link to comment
Share on other sites

  • 0

If you are hoping for 100 Mbps data rates from this device you better read and understand the ENC24J600 datasheet. The device has a few interface options that might support that speed, but the SPI interface isn't one of them. This depends on packet size, packet rate, and whether your connection is full duplex or half duplex. It's an odd device. Suggesting that the NIC100 will support 100 Mbps is a bit sketchy in my view.

Link to comment
Share on other sites

  • 0

Yes i kown that the NIC100 never get the speed of 100Mps when comunicate with my board through SPI interface. But in my application it's enough for speed of 10Mbps. So, my question is how to apply the library to my board to get this Pmod working.

Link to comment
Share on other sites

  • 0

Well, that's fine and well for you.

Here's what both you and I know so far. Digilent either can't or isn't inclined to provide the same resources for the NIC100 that it does for most of it's PMODs so that should be informative. If you want to figure this out one your own, then get the ENC24J600 datasheet, create your own ENC24J600 SPI compatible AXI interface ( assuming that you are using either a ZYNQ device or soft processor that ideally would be software compatible with the ucontroller that the library was created for ) and do the work yourself. I once planned on creating a universal interface suitable for the typical PMOD equipped platform and after a few days of looking it over decided that it wasn't worth the effort. Could that be the same conclusion that Digilent has arrived at?

True Etherenet PHY based interfaces don't require any software to implement basic functionality. This isn't necessarily the case with the NIC100. Digilent's marketing of this product seems a bit disingenuous to me. The fact that their position is, hey we have this nice library created for a controller so go ahead and buy the product for use with your FPGA board and see what you can do with is isn't much help in mitigating that viewpoint any...

Marketing people are supposed to be optimistic. But when a company markets to a predominately student and hobbyist consumer optimistic can quickly veer into the unethical sphere; so what is mentioned in the marketing of a product, and more importantly what is not mentioned is extremely important. At least that's how I see things.

BTW both of your platforms have functional Ethernet PHY interfaces.

Edited by zygot
Link to comment
Share on other sites

  • 0

you are right. Everything isn't easy as i have though before i bought this Pmod. Digilent's marketing team did the job well und i was too naive. 
I have tried to create my own library based on ENC24J600 datasheet since weeks. But for a newbie is not really easy. For my application i need 2 Ethernet gates but the Zybo board provides only 1. So this is why i need to apply the extenal Ethernet. But now i have a new idea that i use 2 boards separately and connect themself with a SPI interface. Then i don't need to use the NIC100 anymore. This way is of course informal and not effective but at least i can make my application working. What do you think? Should i do it like that or keep effort trying with ENC24J600 datasheet?

Edited by songha
Link to comment
Share on other sites

  • 0

It's depressingly often that I resort to a 2 board solution to complete a project. I've posted a possible solution to an asynchronous full-duplex board-board data interface here: https://forum.digilentinc.com/topic/20479-inter-board-data-transfer-project/ that uses the high speed PMODs. You can always roll your own.

It's a shame that finding FPGA boards with more than 1 Ethernet PHY at reasonable price is hard; but that's the way it is. The $199 MAX 10 Development board has 2 such PHYs. It unfortunately uses a stacked RJ-45 connector. I've been able to use either one seeparately, but not both together; my working assumption is that it's a board design issue. This would make for an ideal platform for your project... if it worked. Terasic makes a dual 1 GbE HSMC card that would work but this isn't cheap. Affordable platforms providing 2 or more Ethernet PHYs are hard to come by.

I've told you about what I think of spending more time on an ENC24J600 SPI effort. Unfortunately, Digilent is dead set on a commitment to the very outdated 12-pin PMOD ecosystem so implementing an ENC24J600 interface that's worth the effort isn't possible.

[edit] PS Take care when connecting two boards with separate power supplies into one functional unit.

Edited by zygot
Link to comment
Share on other sites

  • 0

I've already spent last 2 weeks to write the library for our NIC100 Pmod works on the Zybo board.  It works well and the Pmod Nic100 can now send and receive all data over Ethernet channels at 10Mbps or 100Mbps speeds.  So I no longer have to use 2 separate boards.

Now I have to finish my project first.  After that I will post a topic on the forum to share my library with everyone.  Many thanks for your help.  ;).

Song

Edited by songha
Link to comment
Share on other sites

  • 0
On 3/26/2022 at 2:12 AM, songha said:

I've already spent last 2 weeks to write the library for our NIC100 Pmod works on the Zybo board.  It works well and the Pmod Nic100 can now send and receive all data over Ethernet channels at 10Mbps or 100Mbps speeds.  So I no longer have to use 2 separate boards.

Now I have to finish my project first.  After that I will post a topic on the forum to share my library with everyone.  Many thanks for your help.  ;).

Song


Hello . Is there any update on your driver. Is it working ? Can you share here for learning purpose ?

 

Link to comment
Share on other sites

  • 0

Hi Aswanth,

here is the source file and the driver you need. Everything works perfectly with the NIC-100 and the Zybo Z7-20 board. The code is a part of our current project. Please do not share publicly. Inbox me for the password.

Song

src.rar

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...