How much combinitorial logic is too much? Always block guide for beginners by FPGA professional.

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 ก.พ. 2025

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

  • @FPGAsforBeginners
    @FPGAsforBeginners  3 ปีที่แล้ว +4

    if you're here for the answer to the title, 3:15! Also, I realize the intro focuses on the synchronous always block and memory because that's where I thought I was going when I filmed it and I am following on from my previous video in the series. But actually I cover both, I get into the async pretty quickly at 1:43

  • @jogeshsingh854
    @jogeshsingh854 3 ปีที่แล้ว +2

    Yeah ,this is what I wanted you to cover up more upon and please keep making videos 🙏

  • @joshelijah5144
    @joshelijah5144 2 ปีที่แล้ว +1

    This is awesome, please keep these videos coming.
    Incidentally if you're looking for topics, I think serial transceivers would be great!

  • @yensteel
    @yensteel 3 ปีที่แล้ว +2

    Thank you for your tutorial. Asynchronous is really cool!

  • @DavidGoedicke
    @DavidGoedicke 3 ปีที่แล้ว +2

    Really great video, especially, that you focus on practical ways of thinking about the code segments. I hope you keep making videos.

  • @NickJungels
    @NickJungels 3 ปีที่แล้ว +2

    A nice job. It might be too advanced for true beginners, but spending time on blocking and non-blocking might make a good video. It’s certainly not required for a beginner, but is good as you advance in your digital logic career.

    • @FPGAsforBeginners
      @FPGAsforBeginners  3 ปีที่แล้ว

      Yeah I actually originally had an explanation recorded and ended up not including it in the final thing. It was already >10min in total and I figured blocking/nonblocking is a more advanced explanation.

  • @dl1962
    @dl1962 2 ปีที่แล้ว +1

    This is very practical and useful , thanks~ By the way, are there any ways or workflows of writing a good and clear verilog testbenches for debugging circuit? Since I couldn't find good videos about testbenches for complex design online.

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

    LFSRs are very interesting structures with many uses. Eg. GPS codes.

  • @trannusaran6164
    @trannusaran6164 3 ปีที่แล้ว +1

    Very cool! I'm very green to verilog/HDLs, but I'll check out your back catalog and maybe finally crack my iCEstick out of its box ^_^

  • @arishsu
    @arishsu 2 ปีที่แล้ว +1

    Excellent video!
    I have one question. What if I use blocking statements within the synchronous always block? It works fine for me, but is that a bad practice?

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

      Yes it is bad practice. Rather split them into different parts.
      Only use = in combinatorial code and assigns.

  • @ObliviousOwl123
    @ObliviousOwl123 ปีที่แล้ว +1

    Hi, you mentioned that long signals will add up and in that case we should use synchronous always blocks. If the LFSR width was 32 instead of 4 and the case for asserting the led was comparing the lfsr value with a 32 bit constant, would it still be ok to use a combinatorial always block?

    • @FPGAsforBeginners
      @FPGAsforBeginners  ปีที่แล้ว +1

      It depends on the clock rate and how congested the device is. For 100M and below it's probably fine. The only way to know for sure is to try it on a given design and see.

    • @ObliviousOwl123
      @ObliviousOwl123 ปีที่แล้ว

      Thank you @@FPGAsforBeginners

  • @Ikkepop
    @Ikkepop 3 ปีที่แล้ว +1

    nice video, keep up the good work :)

  • @aleXelaMec
    @aleXelaMec ปีที่แล้ว

    did i missed, or you didnt explained the LOGIC type part. reading about it, but not yet clear.
    could you please say couple of words on it? thanks