FPGA vs. Microcontroller: How to choose the right one for your project

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 มิ.ย. 2024
  • Picking the smarts of your project is an incredibly important decision. It will impact your project for its entire lifetime. A common choice is between using an FPGA or a Microcontroller as the "heart" of your design. Learn the strengths and weaknesses of FPGAs and Microcontrollers. Given project requirements, you might decide one or another, so make sure you choose correctly!
    If you like this video and want me to make more, please support me on Patreon:
    / nandland
    The Go Board is the best FPGA development board for beginners. Get one for yourself today:
    nandland.com/goboard/introduc...
  • วิทยาศาสตร์และเทคโนโลยี

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

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

    Great to see the new content. Thanks for the channel and your great explanations.

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

    great overview and exactly what I was looking for! Thanks for putting in the work to make this video and share it with us

  • @poll1986
    @poll1986 2 ปีที่แล้ว

    Really great video many thanks for sharing such high-quality content.

  • @964tractorboy
    @964tractorboy 2 ปีที่แล้ว

    Good video with lots of handy tips. Nice work. Must have a look at your Go Board.

  • @user-xb5zu6zu7j
    @user-xb5zu6zu7j 2 ปีที่แล้ว +14

    Hi, thanks to this channel I got into FPGA's and now plan to do FPGA based project for my final uni year. Thanks man!

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

    Good overview ,particular with the examples. Looking for forward for FPGA vs Micro processor

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

    Thank you so much, this was actually a question in my mind for a while and your explanation cleared everything in my mind. Super helpful, please post more frequently :)

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

    @nandland is this channel dead? I really love your videos. They are very informative and you can explain FPGA topics very clearly.

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

    Please make more videos like this related to embedded, fpga and asic system designs

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

    I had FPGA and VHDL on Digital Electronics class at university. But I dropped off college and now enrolled again. Looking to expand on what I've failed to do few years ago. Your tutorials help.

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

      Are you studying at CSUN for your masters???

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

    Thank you!

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

    Nice presentation, many thanks for sharing! I have Go Board and enjoyed it very much, and your series of tutorials as well (in text, I believe it was before the channel). Don't have many projects for FPGAs at the moment though.

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

    It would be nice if new videos covering AXI and PS-PL architectures will come to the channel.

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

    Thanks a lot!

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

    Another great video. Fun to see the Scout team making a special appearance. We need good engineers so please apply!

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

    Okay, I have seen that you updated your websites. Hope you continue doing stuff ;)

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

    Thanks!

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

    Another disadvantage of FPGA is the heat generation (due to high power consumption). If you want to build a compact prototype (product), it might get pretty hot and will reduce the lifetime or even shut down in warmer environments.

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

    great. can you please explain same with all uC, uP, FPGA, ASIC, DSP. Specially with last three as here i got understanding in uC and FPGAs
    thanks

  • @Ionizedwater-xc6tq
    @Ionizedwater-xc6tq ปีที่แล้ว

    please do lecture on avalon bus protocol used in altera fpga.

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

    Please increase your activity, you explain very well, we will learn a whole new thing

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

    Hi, I have a query unrelated to this video.
    If I need to detect a pulse on sdata when sclk is turned off in a serial interface, how to do so without using a latch?

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

    what could be some hot research areas in this field for phd and masters?

  •  2 ปีที่แล้ว +2

    You can design high-speed (for example optical 10Gb/s) communication hardware with FPGAs: Serializer, deserializer, clock regeneration and so on. You can not make any of them at that speed with a microcontroller.

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

      Wrong.
      You can make those interfaces with some FPGAs (not all), you can also have them in microcontrollers too.

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

      @@conorstewart2214 prey tell, what MCU have >20gbps serialisers? Or at the very least an array of 2.5gbps LVDS links? Even getting a full speed 4-lane D-PHY on an MCU is a wet dream.

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

    Are you gonna continue videos ?

  • @MohanRaj-pp6zz
    @MohanRaj-pp6zz ปีที่แล้ว

    intellegently explained. With JDs

  • @ZayMeisters
    @ZayMeisters 2 ปีที่แล้ว

    Does anyone know how long it takes the Go-Board to be shipped to you. I wanna buy one but I'm not sure if it would be a good time since he hasnt posted in awhile.

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

      A few days to US. Up to 10 days international. I'm not dead! News soon...

  • @happychuckprogramming6048
    @happychuckprogramming6048 2 ปีที่แล้ว

    nice vid, bud

  • @iliasoul3947
    @iliasoul3947 2 ปีที่แล้ว

    Hello dear friend... Thank you for your good work... I like it sincerly... We need more video about FPGA please

  • @sowmyareddy8897
    @sowmyareddy8897 2 ปีที่แล้ว

    for implementation of infotainment which one would be better FPGA or microcontroller and could you explain y

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

      Generish answer to a generish question: Use an FPGA for the signal processing and a microcontroller for the control logic. SOCs with integrated processors are ideal for such hybrid tasks.

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

    Is quantum computer work like a FPGA?

  • @ShiiniigamiiX
    @ShiiniigamiiX 2 ปีที่แล้ว

    Hi, I ordered a go board, I'm excited to start learning FPGA! Is there a way to track my package?

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

      Shipped today. You should get an email with tracking number.

    • @ShiiniigamiiX
      @ShiiniigamiiX 2 ปีที่แล้ว

      ​@@Nandland Just checked it and I got the email, thanks!

  • @pouryaahmadi615
    @pouryaahmadi615 2 ปีที่แล้ว

    👍👍

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

    I am wondering if you might know where I could find Verilog code which describes a logic element like the ones you might find inside of an FPGA.
    I have been learning about FPGA and Verilog for a while and would like to look a little deeper inside of their hardware.
    It might be a neat project to build an FPGA using an FPGA... Zero practical value of course but it would be interesting to understand how they're configured.
    I understand how a multiplexer can be used to describe any combinational logic function but this is somewhat trivial and logic elements a a lot more complicated.
    Most seem to have at least a flip flop, and some look like they have adders built in.

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

      A “slice” or logic element is pretty much just a multiplexer with a latch chained after it.
      Look at any FPGA datasheet and you will see their layout.

  • @liliansirbu840
    @liliansirbu840 2 ปีที่แล้ว

    Can you make a video with a simple SOC project inside of your go-board?

  • @FilipMilerX
    @FilipMilerX 2 ปีที่แล้ว +13

    Programming FPGAs is more fun than programming MCUs, this should also be considered.

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

      As well as the fact that programming the same things (uart, spi, i2c) takes considerably less time and rows in MCUs

    • @briancannard7335
      @briancannard7335 2 ปีที่แล้ว

      I agree, it's a reactive programming model of computation that web developers keep wanting for a few decades now.

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

      Ok

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

    use both!

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

      Not if power consumption matters. FPGAs are very hungry. 😉

  • @alexandrosiii5676
    @alexandrosiii5676 2 ปีที่แล้ว

    Hi, i am a beginner. I am looking for a book on ethernet protocol. Can you show me that book or a course on that part?

  • @briancannard7335
    @briancannard7335 2 ปีที่แล้ว

    The Go board is the best, I agree.

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

      Except only 1280 LUTs and very little storage for $70, it is a very bad deal.

  • @MannyBojorquez
    @MannyBojorquez 2 ปีที่แล้ว

    Anyone know how to mine with an FPGA? I have an NEXYS 4DDR that could be put to good use

  • @ahmeta6367
    @ahmeta6367 2 ปีที่แล้ว +6

    In aviation, FPGA goes through hardware life cycle and verification which is much cheaper and quicker than software verification. This is where FPGA shines the most.

    • @Nandland
      @Nandland  2 ปีที่แล้ว +5

      That's interesting. Can you elaborate on why FPGA verification is cheaper than software verification? FPGA verification is not exactly simple and quick. It usually takes longer than designing the FPGA itself.

    • @ahmeta6367
      @ahmeta6367 2 ปีที่แล้ว +6

      @@Nandland In aviation DO254 and DO178 standards are used for hardware and software development respectively. In DO254 system level testing (black box) is good enough but DO178 requires unit testing (white box) which is apparently tedious and longer. Some good info here:
      afuzion.com/do-254-costs-versus-benefits/
      Im not sure on how either testing is performed but thats just how I read it. Curious to find out more though.

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

      I never worked in aviation but generally consider this a myth because in hardware you always have phenomenons like clock-domain crossing or timing issues which are very hard to debug. Not to mention that there are much too few competent hardware designers in the industry.

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

    Watched the whole video, don't know what an FPGA is. Still don't know. Still enjoyed it, don't know why.

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

      you can think of fpga as - readily available interconnection matrix on the fpga. As per the boolean equation of your written logic in HDL. interconnection matrix will be realized as a logic circuit.

    • @briancannard7335
      @briancannard7335 2 ปีที่แล้ว

      99.999% of all electronic devices on this planet are sliced as chips from disk-shaped n-type or p-type silicon wafers, processed at a factory (called "fab") to make patterns of transistors and HARDWIRE them, using layers of metal and oxide (insulator). All these chips are called ASICs. A microprocessor is an ASIC. A GPU is an ASIC. Even an FPGA is an ASIC. But it's a clever one. Ross Freeman in the 1980s at Xilinx (now AMD) has invented an idea to wire up the transistors at ASIC's application FIELD, and so FIELD-Programmable Gate Arrays were born.
      ASICs are hard-wired at the fab.
      FPGAs are soft-wired at the field.
      To hard-wire the ASICs, we use Verilog (or VHDL) and special place-and-route methods to lay out the transistors and hard-wires on a 2D description of the ASIC chip (manual, traveling salesman, simulated annealing). Fab owns proprietary trade secrets of how to make actual transistors on a wafer. Everything below 130 nm is covered by NDAs and "top secret" access agreements (or non-commercial use university-accesses). The fab gives exact sizes and spacing between transistors so the so called "Standard Cells" can be used at the place-and-route process.
      To soft-wire FPGAs, we ALSO use Verilog (or VHDL), and very similar place-and-route (P&R) methods. But instead of waiting several months for creating a chip at a fab, we create a special "firmware" that's called "bitstream" and we can put all kinds of different bitstreams into the same FPGA indefinite number of times. Some FPGAs, connected to each other, can even reprogram one another, while working in the "field of their application".
      Both FPGAs and all ASICs run on a special model of computation that is different from CPU. It's a massively parallel computation of a forest of Boolean functions of many variables (sharing a lot of overlapping branches, otherwise there's not enough atoms in the Universe to compute anything fun). Each trunk of such a Boolean function tree produces a single 1-bit value, 0, or 1. In order to do all the magic we see around us, that single bit is stored inside of the truly magical device called D flip-flop.
      D flip-flop is crucial to understand the magic of FPGAs (and most ASICs). D flip-flop stores the PREVIOUS (old, "current") value of all computed variables, so that value can be fed into the forest of Boolean function trees. Each Boolean tree in an FPGA produces the NEXT value (new, "updated") value and feeds it into the "D" input of the D flip-flop at a special moment, when the "CLOCK" input of the D flip-flop changes from 0 to 1: the D flip-flop has internal double buffer to swap between the "old" and the "new" 1-bit values stored inside of it. The "Q" output shows only one internal buffer's value at a time: a special device called "multiplexer" (MUX) switches between one of the two buffers.
      In short, what FPGAs and ASICs do, for software developers can be summarized as reactive programming:
      en.wikipedia.org/wiki/Reactive_programming

  • @briancannard7335
    @briancannard7335 2 ปีที่แล้ว

    Correction: you can get an FPGA for almost a dollar. iCE40LP384-SG32. And you can even solder it without X-ray BGA inspection! It has 21 GPIO, 48 bytes in D flip-flops, and 384 LUT4 for your custom Boolean logic.

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

    FPGAs use fixed-point arithmetics. If your algorithm uses a lot of floating point operations and accuracy matters, you should think twice before you choose an FPGA. It can be really hard because you do not get any support from the hardware.

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

      Wrong. You can implement floating point in FPGAs, also a lot of microcontrollers don’t have floating point units (FPUs) hence are not good at floating point arithmetic. So with a lot of microcontrollers you don’t get any support from the hardware, but FPGAs you can implement floating point math if you need it and have enough resources.

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

      @@conorstewart2214 the DSP slices in FPGAs are fixed-point. That's the only support for arithmetic operations you get from the FPGA itself. Of course, since an FPGA can be synthesized to almost any boolean function, you could implement a floating-point unit or use some IP core for that, but that would be an extreme waste of resources. Floating-point operations are usually done in software, typically on a softcore or hardcore processor built into the FPGA, which I personally do not consider as FPGA design since I'm a hardware developer. 😉

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

      @@NoSpeechForTheDumb you can use the existing DSP slices plus a little additional logic to do floating point operations. It is generally easier to implement multiplication and division than addition and subtraction though.

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

      @@conorstewart2214 the point is: even though you CAN do virtually anything in an FPGA since it's a reprogrammable integrated circuit doesn't mean you SHOULD do everything in it. If your algorithms rely mostly on floating-point logic, a dedicated microcontroller may be MUCH more economical since it is cheaper.

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

      @@NoSpeechForTheDumb in just about every situation you would be cheaper to use a microcontroller, but if you are using an FPGA anyway there is nothing wrong with implementing a floating point math unit in it and if you needed to do lots of floating point calculations then you can do them in parallel.

  • @bluegizmo1983
    @bluegizmo1983 2 ปีที่แล้ว

    I can get FPGA's for $1.... But I'm not telling you how, it's my secret!!! 😈🤣 I'm kidding of course, FPGA's are expensive (unless your reading this in 2031 or something, they're probably cheap by then lol)

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

      2023 they are cheap, cheap enough that their “go board” is very bad value.

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

    Pls speak slow..it is hard to understand your speech

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

      This is very typical of someone who speaks English, the problem isn’t with the video.

  •  ปีที่แล้ว

    Hi nandland, I am interesting in doing an unboxing, I sent you more details in your reddit account as a pm. Cheers.