AXI Stream Tutorial

Поделиться
HTML-код
  • Опубликовано: 25 дек 2024

Комментарии • 22

  • @RenatoSoftllution
    @RenatoSoftllution Год назад +3

    very good! you`re the master on Paint too!

  • @tempusFugit1337
    @tempusFugit1337 3 года назад +7

    This tutorial is definitely not crappy. Whish you would do more Zynq related basic stuff in exactly this manor. Greetings

    • @biquinary
      @biquinary  2 года назад +1

      I've thought about making more videos. Any specific requests?

    • @dmitryeliseev9088
      @dmitryeliseev9088 Год назад

      @@biquinary let's say AXI Video Stream?

    • @Febbe1
      @Febbe1 Год назад

      @@biquinary but for future videos I can recommend something like OneNote or xournal++

  • @Kartavya64
    @Kartavya64 Год назад

    Great video, almost feels like you are studying AXI stream besides a water stream.

  • @shilpashreeshekar3018
    @shilpashreeshekar3018 3 месяца назад

    Please continue your video &axi protocol explanation still testbench..... :)

  • @abarnaamdekhe
    @abarnaamdekhe 9 месяцев назад

    Loved the tutorial, definitely not crappy

  • @dmitryeliseev9088
    @dmitryeliseev9088 Год назад +2

    Nice explanation, but let me also slightly critisize one aspect. In your diagram the DATA and VALID signals are switching right *before* the clock's rising edge. In reality all flip-flops driven by the particular clock would switch right *after* the clock's rising edge. Same is true for the READY signal which you show switching simultaneously with the CLK. The READY signal is the same as DATA and VALID in the sense that it is a Q-output of a flip-flop, tacted by the CLK. So the READY signal will naturally switch simultaneously with DATA and VALID right *after* the CLK rising edge.

    • @biquinary
      @biquinary  9 месяцев назад

      Alas, you're right. Originally I recorded this for another student, and the (bizarre) way we were running simulations had the testbench stimulus only getting applied just in time for the clock edge, so this video is kind of misleading for everyone else. Thanks for pointing this out!
      P.S. I'm shocked how many people have found this video, had I known I would have tried to do a better job...

  • @joshelijah9231
    @joshelijah9231 2 года назад +1

    When would one use this instead of something like XGMII? This seems like a very general purpose, loosely designed protocol.

    • @biquinary
      @biquinary  2 года назад +1

      I'm glad you asked :-)
      What I described in the video was the basic handshaking idea used in AXI Stream. The "ready to send + ready to receive" idiom is very widely used, and you are right that it is quite loosely defined. For example, many handshaking implementations use active-low polarity for tready (and call it "pause" or something).
      The actual protocol has much more to it, and you would use it to ensure compatibility with others' designs. Here are some extra features that are specific to the AXI Stream protocol:
      - (very important) on the sender side, tvalid may NOT depend on tready, though the receiver is allowed to make tready depend on tvalid. This prevents combinational loops
      - standardized polarity of tready and tvalid. No need to remember to add NOT gates all over the place
      - well-defined (optional) extensions. In the video I mentioned tlast, but there are a few others, such as tkeep, which is a byte-enable signal for partial writes. In my experience, it's actually a pain to support the optional parts, but it helps a lot that they are standard. I can only imagine the suffering if each IP used a different idea to denote (for example) packet boundaries.

    • @joshelijah9231
      @joshelijah9231 2 года назад

      @@biquinary That makes a tonne of sense. Thanks for providing this stellar content!

  • @RohitSingh-fz7ps
    @RohitSingh-fz7ps 2 года назад

    What is the difference between AXI memory mapped and AXI stream then? I think memory mapped also works same way as you explained in AXI stream. Not able to understand the difference.

  • @007m1x
    @007m1x 3 года назад +3

    Donation button anywhere?

    • @biquinary
      @biquinary  2 года назад +1

      That is very kind! At the moment this is literally my only tutorial video, so a donation button doesn't seem worth the trouble. But maybe I'll make more tutorials (any requests?)

    • @georgetroulis
      @georgetroulis 2 года назад

      Perhaps a comparison of different AMBA protocols, and when it's appropriate to use each one. Maybe with some practical examples too 😋 nice work so far!

  • @nickchang3154
    @nickchang3154 4 года назад +4

    NIce tutorial, thanks a lot!

  • @AbijithP-y1f
    @AbijithP-y1f 9 месяцев назад

    sorry..axi stream has different signals right like TDATA, TVALID.. . this seems like AXI4/3

  • @glaxchen
    @glaxchen 3 года назад +1

    pretty good, clear enough in oral but you can do more practices on presentations to boost more viewer's coming to your channel. By more interact with viewers, you can do better.

  • @siddharthdhamaskar3953
    @siddharthdhamaskar3953 2 года назад

    It is true for APB but not for AXI

  • @CryingNeutrons
    @CryingNeutrons 2 года назад

    Damn a lot of views on this