How To Do Ethernet in FPGA - Easy Tutorial

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 พ.ย. 2024

ความคิดเห็น • 63

  • @FPGAsforBeginners
    @FPGAsforBeginners 3 หลายเดือนก่อน +37

    Thanks so much Robert for inviting me on and the wonderful chat we had! It was so nice to collaborate with someone who has the same passion for helping the EE community, albeit in different disciplines.

    • @RobertFeranec
      @RobertFeranec  3 หลายเดือนก่อน +2

      Thank you Stacey. I really enjoyed creating this video and learned a lot!

    • @TarikZakariaBenmerar
      @TarikZakariaBenmerar 3 หลายเดือนก่อน

      Hi @FPGAsforBeginners, thanks for sharing your experience. One question I had in mind. Why using raw sockets rather then udp ones ? Is it because of some checksum issues, or unexpected data in packet ?

    • @AhmedAdam-lg1vn
      @AhmedAdam-lg1vn 3 หลายเดือนก่อน

      You are always impressive Stacy. Thanks very much for this valuable information you really cleared a lot.

    • @monk6848
      @monk6848 2 หลายเดือนก่อน

      Stacey! You're awesome! :)

  • @va3bhav
    @va3bhav 3 หลายเดือนก่อน +17

    the tutorial the FPGA student community deserves!

  • @TahaAlars
    @TahaAlars 3 หลายเดือนก่อน +6

    Stacey is the best ever, very important video as usual

  • @miguelflores-acton8581
    @miguelflores-acton8581 3 หลายเดือนก่อน +2

    I was litterally trying to do a project with Ethernet and a Spartan6, this was so helpful to understand the concepts

  • @mrmaherani7077
    @mrmaherani7077 2 หลายเดือนก่อน

    Thank you Robert for discovering talented people on TH-cam and introducing them to beginners and engineers.

  • @ksbs2036
    @ksbs2036 3 หลายเดือนก่อน +1

    Yay Stacey! Her gentle enthusiasm and clear competence is wonderful

  • @marwinthedja5450
    @marwinthedja5450 3 หลายเดือนก่อน +1

    That was great!
    I've never touched FPGAs before, but this video makes them feel approachable.

  • @666aron
    @666aron 3 หลายเดือนก่อน

    The moment you said that no IP blocks would be used, you got my full attention.
    Thank you so much for this informative and fun video.
    I have an Ultra96 V2 and some RMII Ethernet modules. Looks like I'll have to follow along.

  • @darssmare915
    @darssmare915 3 หลายเดือนก่อน +2

    I'm following you both but I wanted to say that you have a great chemistry for teaching digital electronics. I hope you will collaborate again in the future!

  • @bobby9568
    @bobby9568 3 หลายเดือนก่อน +2

    This is why we've subscribed! Amazing!

  • @amirmm5352
    @amirmm5352 18 วันที่ผ่านมา

    Thank both of you for such extremely helpful video that gives us an sight about the Ethernet . If you make videos about how to connect ethernet ARP to our design or about the UDP and TCP theme selves , it would be helpful too . Tnx again.

  • @monk6848
    @monk6848 2 หลายเดือนก่อน

    Awesome video & collaboration! Great job Robert!

  • @MrHeatification
    @MrHeatification 3 หลายเดือนก่อน +5

    A dream come true please make more videos together. Wonderful (-;

  • @tijuthomas6793
    @tijuthomas6793 3 หลายเดือนก่อน

    Awesome. this You tube channel cs and electronics students must follow. the information we can grab from here is more than a text book. also he upload videos like this for free. you are awesome Robert.

  • @RonaldArthur
    @RonaldArthur 3 หลายเดือนก่อน +2

    I love this so much. Very informative

  • @olivierconet7995
    @olivierconet7995 3 หลายเดือนก่อน +1

    Simply excellent ! Thanks

  • @Teo97b
    @Teo97b 3 หลายเดือนก่อน +2

    thank you for this educative video

  • @cccmmm1234
    @cccmmm1234 3 หลายเดือนก่อน +1

    Awesome collaboration. Both if you work well with other people.

  • @jeffdahl5298
    @jeffdahl5298 หลายเดือนก่อน +1

    Stacey, great video, thanks for sharing these modules! It looks like the checksum is hardcoded at design time and depends on some variables which it is not easy to see, like protocol, version, length etc. even if static. I tried to re-calculate your default checksum (0x65B3), guessing at some values, reading some from the spreadsheet, but the result is not correct. I get 0x65B8.

  • @87Spectr
    @87Spectr 3 หลายเดือนก่อน +1

    Great job!

  • @liliansirbu840
    @liliansirbu840 3 หลายเดือนก่อน +2

    for those who wants to repeat this wonderful course but their board do not have so many LEDs and buttons (I use qmtech kits very often for my tests), I propose to use the virtual input/output module from Xilinx IP list. From my side I might have some questions regarding SDIO PHY configuration interface. Since it was not used at all, I suspect it was used as it configures itselves in the negotiation sequence when the PHY was connected to the switch? In such case I can use any PHY ASIC? Even 1G if ASIC sustains the RMII communication option? How about if to connect directly to PC, and the PHY ASIC is able to detect the crossover cable, the configuration over SDIO bus still can be avoided or not?

    • @bene5431
      @bene5431 22 วันที่ผ่านมา

      If you connect this to a device with Gigabit Ethernet (pretty much any PC made in the last 20 years) it will detect the right crossover configuration automatically

  • @abhiastronomy
    @abhiastronomy 3 หลายเดือนก่อน +2

    Good tutorial

  • @user-xb5zu6zu7j
    @user-xb5zu6zu7j 3 หลายเดือนก่อน +1

    Most Excellent! I think FPGA's are a little bit neglected. Maybe because they're so complicated.

  • @SandeepKumar-qh3zs
    @SandeepKumar-qh3zs 3 หลายเดือนก่อน +2

    Nice. Please make a video on designing custom IP modules in Xilinx Vivado.

    • @cccmmm1234
      @cccmmm1234 3 หลายเดือนก่อน +2

      Stacey has many examples on her channel.

  • @eneszikri
    @eneszikri 29 วันที่ผ่านมา

    it was really helpful

  • @slohning
    @slohning 2 หลายเดือนก่อน

    Hi Stacey, what are using to compile the verilog to a bit stream to feed into the FPGA. In the past the compilers were the really expensive, I have written more in VHDL than verilog. But I have done both

  • @pdielectronics
    @pdielectronics 3 หลายเดือนก่อน +1

    🤩🤩

  • @EngineerAnandu
    @EngineerAnandu 3 หลายเดือนก่อน +1

    Good.

  • @Chris-hi2hn
    @Chris-hi2hn 3 หลายเดือนก่อน

    Hi, I'm working with a zynq board implementing udp using the built in arm. I'm looking for an example implementing the software for the connection. My remote host is connected via a python socket, and I'm trying to correct for dropped packets. 🤔

  • @johntilghman
    @johntilghman 3 หลายเดือนก่อน +1

    OK, so this is the hardware part of Ethernet, but there still has to be some kind of software for a TCPIP stack to transport the data?

    • @RobertFeranec
      @RobertFeranec  3 หลายเดือนก่อน +1

      based on the example you can easily transport the data over local network to a standard PC/server and then run there an application to extract the data and do anything you need.

    • @minhkhoa445
      @minhkhoa445 3 หลายเดือนก่อน +2

      Usually for TCP/IP you would implement it purely using software on a softcore processor instead like a Microblaze or a hardcore processor like Zynq/Zynq US Processing System connected to an AXI crossbar.

    • @liliansirbu840
      @liliansirbu840 3 หลายเดือนก่อน +1

      I use Hercules and Wireshark

    • @cccmmm1234
      @cccmmm1234 3 หลายเดือนก่อน +2

      No there is no software. The FPGA itself forms up UDP packets and sends them, or receives and decodes them.

  • @JavadTaghia
    @JavadTaghia 3 หลายเดือนก่อน

    Is there anychange that this IP works for AES-ZUB-1CG-DK-G ?

  • @DaryllDixonnn
    @DaryllDixonnn 3 หลายเดือนก่อน

    Can I use this module with 2018.2 because I got some warnings problems.

    • @cccmmm1234
      @cccmmm1234 3 หลายเดือนก่อน

      Taking a new project back to 2018 m8ght cause problems. Try recreating the project from scratch and import the verilig files.

  • @JavadTaghia
    @JavadTaghia 3 หลายเดือนก่อน

    IP does not show after adding repository... Not sure what is the issue. I can successfully add IP repo. But when click on + in the design, it will not list those. I tested in both 2023, 2024 version. Changed the board but still not working. Any help appriciated.

    • @asheeshkumar8602
      @asheeshkumar8602 2 หลายเดือนก่อน

      I'm facing the same issue, did you resolve it

    • @JavadTaghia
      @JavadTaghia 2 หลายเดือนก่อน

      @@asheeshkumar8602 nope

    • @00niix
      @00niix หลายเดือนก่อน +4

      Hey,
      You need to add the family of your FPGA to the supportedFamilies in the component.xml of each custom IP.
      To do this, follow these steps:
      If you're using an FPGA from e.g. the Zynq family, you'll need to modify the following part of the component.xml file from:
      ```
      artix7
      ```
      to
      ```
      artix7
      zynq
      ```
      You can use the following TCL command to get a list of all families in Vivado:
      ```
      lsort -uniq [get_property FAMILY [get_parts]]
      ```
      The component.xml files you need to update are located in the following directories:
      - \ip_repo\axis_gpio_1_0
      - \ip_repo\axis_snoop_debug_1_0
      - \ip_repo\axis_uart_1_0
      - \ip_repo
      mii_axis_1_0
      After making these changes, you may need to restart Vivado for the modifications to take effect. Once that's done, you should be able to add the IP to the block design (at least, this worked for me).

    • @JavadTaghia
      @JavadTaghia หลายเดือนก่อน

      @@00niix I'll give it a try; thanks

    • @eneszikri
      @eneszikri 29 วันที่ผ่านมา

      @@00niix Thank you very much it worked

  • @parthsuyal5879
    @parthsuyal5879 3 หลายเดือนก่อน

    how to make it work for Arty A7 100t ? It does not have CPU_RESET pin

    • @cccmmm1234
      @cccmmm1234 3 หลายเดือนก่อน

      You can wire the reset to a constant of the right polarity.

  • @aayush_deo_ranchi
    @aayush_deo_ranchi 3 หลายเดือนก่อน

    how many luts does this project consume. how easy will it be to port to tang nano fpga

    • @liliansirbu840
      @liliansirbu840 3 หลายเดือนก่อน

      from the design of implementation in this video, it may suspect that was used between 5K and 10K resources, but it can be less as well. If your tango has 20K no worry about

    • @cccmmm1234
      @cccmmm1234 3 หลายเดือนก่อน

      Does the tango nano have RMII ethernet?
      This example needs an RMII ethernet chip to actually send or receive ethernet.

    • @aayush_deo_ranchi
      @aayush_deo_ranchi 3 หลายเดือนก่อน

      @@cccmmm1234 you can send the packets on something like spi and then to ther microcontroller do not solder your cat 5 or cat 6 cable to tang nano it will not be eletricalky correct

    • @cccmmm1234
      @cccmmm1234 3 หลายเดือนก่อน +1

      @@aayush_deo_ranchi Sure you could potentially do that, but it would be kinda defeating the point...

    • @aayush_deo_ranchi
      @aayush_deo_ranchi 3 หลายเดือนก่อน

      @@cccmmm1234 what point is being defeated

  • @RadoslavMarkov-w5i
    @RadoslavMarkov-w5i 11 วันที่ผ่านมา

    Why you deal with the things you COMPLETELY don't understand ?

  • @SalinaParbin-u2t
    @SalinaParbin-u2t 3 หลายเดือนก่อน

    Rodriguez Dorothy Lee Daniel Johnson Jason