What's an FPGA?

Поділитися
Вставка
  • Опубліковано 26 вер 2024
  • In the video I give a brief introduction into what an FPGA (Field Programmable Gate Array) is and the basics of how it works. In the future I might go more in-depth about certain topics relating to FPGAs/ASICs and CPUs, such as how synthesis or compilation works, or topics like retiming and lower-level FPGA architecture.
    This video was mostly made for me to practice doing animations and graphics all with Python and trying to experiment with developing my own style/aesthetic.
    Animations made using Grant Sanderson's (3blue1brown) wonderful "manim" Python animation engine: github.com/3b1...
    Music: "Black Jar" by Message (betterwithmusic.com) CC BY-SA: betterwithmusic...

КОМЕНТАРІ • 293

  • @crclayton
    @crclayton  2 роки тому +57

    Apologies for the shameless plug here, but since making this video I've started working at Intel in the FPGA division (*now Altera again!). If you want to see some more FPGA-related tutorials by me, feel free to check out my introductory high-level synthesis demo on the Intel FPGA channel here: ua-cam.com/video/mQKVQjJnIzA/v-deo.html

  • @cxsey8587
    @cxsey8587 2 роки тому +69

    Awesome explanation, makes much more sense than the super abstracted concepts people typically use

  • @wahabfiles6260
    @wahabfiles6260 4 роки тому +54

    OMG THE BEST EXPLANATION ON FPGA! AMAZING TRANSITION OF CONCEPTS!

  • @rachidtahiri9514
    @rachidtahiri9514 8 місяців тому +32

    The simplest explanation ever, thank you so much

  • @saivenkat4335
    @saivenkat4335 4 роки тому +15

    I am into the Talent Acquisition Team and you made it so simple that non Technical people can also understand.

  • @FPGASystems
    @FPGASystems 5 років тому +30

    The Best video which saw about fpga. GJ

  • @esotericray5750
    @esotericray5750 4 роки тому +10

    Loved the simple overview
    the animations made it easier to comprehend

  • @MelloCello7
    @MelloCello7 11 місяців тому +4

    Simple elegant and beautiful video.
    They dont make video's quite like this anymore, you packed more info into 1 minute then most do into 10,
    thank you for taking your time to share your expertise, and congratulations on your position at Intel!

  • @vinicentus
    @vinicentus 3 роки тому +3

    This is by far the best general explanation of FPGAs I have seen!

  • @kikiroy5178
    @kikiroy5178 3 місяці тому +1

    The ratio between your speech speed and the video progress speed is perfect ! Don't change it !

  • @asht7788
    @asht7788 4 роки тому +4

    The best explanation on the internet. Thanks. You are a rockstar

  • @melwinalm
    @melwinalm Рік тому +2

    Best and the easiest explanation on FPGA

  • @philipacovington
    @philipacovington 2 роки тому +7

    FPGAs are really great for those interesting in retro-computing or learning how a CPU works. I am implementing Ben Eater's 8-bit computer in an FPGA in a series of videos on my channel for anyone interested. Very cool stuff!

  • @rohankumar6962
    @rohankumar6962 2 роки тому +1

    one of the best short explanations I ever had

  • @revolutionoftheresolution5867
    @revolutionoftheresolution5867 4 роки тому +3

    the best video that i've ever seen in my life about fpga :)

  • @justintiger9
    @justintiger9 9 місяців тому +2

    short and sweet. thanks for this

  • @citricdolphin
    @citricdolphin 10 місяців тому

    Thank you!!
    I understood the concept of the hardware itself being programmable, but I didn't understand how that was possible. This video perfectly filled in that gap.

  • @andrewgreen1970
    @andrewgreen1970 Рік тому +1

    At first the content seemed a little confusing and somewhat out of order, but I figured it out after multiple re-watches. Very informative and hopefully will prove to be very useful to me some time in the future. Thank you.

  • @academicstuff548
    @academicstuff548 11 місяців тому +1

    Thanks sir for such a wonderful explanation.

  • @shade4246
    @shade4246 Рік тому +43

    Who can explain what the heck is FPGAs i really do not get what is this

    • @mehmetayparyangozalumni2606
      @mehmetayparyangozalumni2606 9 місяців тому +6

      Dude it's programmable lookup tables, duh😂

    • @midclock
      @midclock 7 місяців тому +25

      Instead of writing the code that you upload on a microcontroller, you write the code that transforms the fpga IC into an actual microcontroller.
      Basically if you know how an existing IC is made, you can recreate a copy of it by writing its code.
      The next day you need something else, let's say drive a display, then you write (or download) the code, upload it on the fpga, and you have another device.
      It's similar to the concept of 3D printing applied to electronics.

    • @fabienso5889
      @fabienso5889 7 місяців тому +10

      It's a flexible architecture
      Basically instead of designing and printing a circuit board
      You can just code it's behavior

    • @NoSpeechForTheDumb
      @NoSpeechForTheDumb 7 місяців тому +4

      ​@@midclockconfiguring an FPGA as a microcontroller is only one of infinitely many applications. It's not even mandatory, you can as well have a dedicated external microcontroller which communicates with the FPGA over PCIe, or no software at all. That's hard to imagine in our software-focused world of course.

    • @midclock
      @midclock 7 місяців тому +2

      @@NoSpeechForTheDumb well I've bought one, but honestly it's still too much for me.
      I think that anything that can be built inside a digital IC, can be ideally replicated into an FPGA, but I'm not sure about it.
      Even if you learn VHDL or similar, I think that knowing digital electronics is mandatory before writing any code.
      I hope to learn it in the future, it's a fascinating topic!

  • @TheCentreforComputingHistory
    @TheCentreforComputingHistory Місяць тому

    Great description!

  • @tombouie
    @tombouie Рік тому

    Well-Done; The simplest/bestest/briefest description I've come across.
    PS: ??hows-abouts a simple FPGA playlist for the numerous FPGA dummies like me??

  • @graphene1487
    @graphene1487 4 роки тому +1

    what a great explanation and concise too. Thank you!

  • @TusharSundarka
    @TusharSundarka 4 місяці тому

    This video is literally incredible omg

  • @RickB3n
    @RickB3n 3 місяці тому

    Love the perfection of this vid

  • @6LayersDeep
    @6LayersDeep 3 роки тому

    Very clean explanation. probably the best on UA-cam.

  • @gerhenry7127
    @gerhenry7127 3 роки тому +2

    You make an FPGA sound so simple 😉

  • @ZatoichiRCS
    @ZatoichiRCS Місяць тому

    Pretty good summary.

  • @HusnaMoosa-b6k
    @HusnaMoosa-b6k 7 місяців тому

    amazing video thank you. Always wondered how hardware could be magically changed by a program.

  • @FPGABeginner
    @FPGABeginner 3 роки тому +4

    I tried to start with FPGA programming, but didn't really get my head around it.
    I found the VHDPlus IDE and with the simple language, embedded libraries and other features it helped me a lot to make some cool projects :)
    Just in case someone has the same problem

  • @jendoesthemaths
    @jendoesthemaths Рік тому

    Love the background music. We shall call the genre bubblegum grunge.

  • @ai15208
    @ai15208 Рік тому

    what a legendary explanation.

  • @cryora
    @cryora Рік тому +2

    But can you program a circuit (of resistors, capacitors, inductors, transistors, diodes, etc.) into an FPGA? Or is it only computer instructions?

    • @crclayton
      @crclayton  Рік тому +4

      The FPGA is a digital device -- so you can implement a digital circuit on it (logic gates, switches, memory blocks, etc.), not an analog circuit (inductors, capacitors, diodes, etc.).

  • @108ahah
    @108ahah 4 роки тому

    Very good video. Hope to see more videos in future.
    Thanks for your work.

  • @barancan_snmz
    @barancan_snmz 17 днів тому

    Man, just awesome!

  • @oppenheimjm
    @oppenheimjm Рік тому

    Loved that explanation

  • @mammamia2418
    @mammamia2418 7 місяців тому +1

    Yup now I understand

  • @alymahmoud922
    @alymahmoud922 Рік тому

    amazing simple explanation thanks

  • @hermaiani
    @hermaiani Рік тому

    I loved this, thank you so much!

  • @educato4580
    @educato4580 3 місяці тому

    WOW, that was sooo simple, even for a non native speaker

  • @alazadar
    @alazadar 5 місяців тому

    What software you used to make these good animations of numbers and blocks?

  • @melkenhoning158
    @melkenhoning158 3 роки тому +1

    Just curious, How long did it take to make these manim animations?

  • @PhrontDoor
    @PhrontDoor 3 місяці тому

    It's kind of amazing. You can basically WRITE hardware. You can take code, and re-make a custom 6502 with extra features, or just even just one that works just like the original.

  • @nnamdi1172
    @nnamdi1172 10 місяців тому

    this video was beautiful

  • @EtherTheReal
    @EtherTheReal 7 місяців тому

    Noice, no need for an entire semester of hardware architecture, i got it from a 90sec UA-cam video😂 Thanks man!

  • @solotron7390
    @solotron7390 Рік тому +2

    Can the FPGA reprogram itself at runtime?

    • @crclayton
      @crclayton  Рік тому +3

      Yes, there are some techniques where the FPGA can download an image from an external source like a PCIe link or flash memory, then reprogram a section of the FPGA's logic while keeping the other logic consistent.

    • @solotron7390
      @solotron7390 Рік тому +1

      @@crclayton Consider the advantages of writing a function where parameters are not passed, but rather the code is modified before calling it (if necessary), or where optimization is performed just in time before execution.

  • @sangarsiva5080
    @sangarsiva5080 4 роки тому

    Awesome. very short still a gem...

  • @Crayoness
    @Crayoness 7 місяців тому

    Amazing!

  • @zuowang5185
    @zuowang5185 8 місяців тому +1

    This is good, no more videos?

  • @alirezakhorami
    @alirezakhorami 2 місяці тому

    Amazing Content!!!

  • @sickleandsuckle
    @sickleandsuckle 4 роки тому +2

    How would you make your lookup tables "programmable"

    • @g.d.8065
      @g.d.8065 4 роки тому +2

      A lookup table is just some memory that contains some set values, so you can make them programmable by storing them on rewriteable memory. In this case, the lookup tables are being used as logic gates by taking the individual address bits as the inputs, and the individual bits of the value stored at that address as the outputs.

  • @aravindhvasu195
    @aravindhvasu195 5 років тому +3

    This is Awesome. Can you please share your code?

  • @koteswararao110
    @koteswararao110 3 роки тому

    Oh god😱.. This is awesome👏

  • @Ash808s
    @Ash808s 18 днів тому

    What are some things I should learn before I get into fpgs

  • @hendmuhammad6238
    @hendmuhammad6238 4 роки тому

    EXCELLENT,thanks a lot

  • @everydaymoments5327
    @everydaymoments5327 8 місяців тому

    best explaination😀

  • @anti-tankartur677
    @anti-tankartur677 Рік тому

    Thanks for this illustration. Greatly admired.

  • @theoryandapplication7197
    @theoryandapplication7197 5 місяців тому

    thabkyou for sharing

  • @mustafaadel8194
    @mustafaadel8194 4 роки тому +1

    how does the user reprogram look-up table ??

  • @three_d1640
    @three_d1640 8 місяців тому

    Thanks.

  • @youngsdiscovery8909
    @youngsdiscovery8909 Рік тому

    very clear

  • @shreyj574
    @shreyj574 9 місяців тому

    cool explination

  • @tombouie
    @tombouie Рік тому

    Thks & I have a simple question that you have the expertise to easily answer;
    ??WithIn the combinational/sequential logic domain, are FPGAs an excellent replacement for traditonal CPU based systems??

    • @crclayton
      @crclayton  11 місяців тому +1

      It depends on the application, but yes there are situations where an FPGA could be a good replacement for a CPU based system. Particularly where low-latency, high-bandwidth, or high-parallelism are required. FPGAs can also be programmed to actually implement a CPU within the FPGA fabric alongside other logic (ex. Nios V).

  • @guliyevshahriyar
    @guliyevshahriyar Рік тому

    thanks. makes sense

  • @thakshakmp4352
    @thakshakmp4352 7 місяців тому

    u are a legend

    • @thakshakmp4352
      @thakshakmp4352 7 місяців тому

      the simplicity of the explanation is just wow....

  • @guerra_dos_bichos
    @guerra_dos_bichos 7 місяців тому +1

    Ok wait, so an FPGA is just a software defined circuit?

    • @crclayton
      @crclayton  7 місяців тому +1

      I've never heard that description but I think it's appropriate, yes.

  • @nothinginteresting1662
    @nothinginteresting1662 4 місяці тому

    Wait a minute...Could it be THAT simple? Configurable lookup tables?! And this can run ANY piece of software???!!!🤯

  • @thanatosor
    @thanatosor 4 місяці тому

    What're best boards to start learning with ?

  • @morsemo6966
    @morsemo6966 4 роки тому

    Talent video to explainn FPGA...

  • @guerra_dos_bichos
    @guerra_dos_bichos 7 місяців тому

    Cant ee just write "transpilers" to whatever new fpga arrangement , so our simple run of the mill cpu code will run optimally on any fpga?

  • @jean-christophelelann6308
    @jean-christophelelann6308 4 роки тому

    Thx for the video. How did you manage to do such morphing ?

  • @umarkhan-ey7dx
    @umarkhan-ey7dx Рік тому

    ❤❤❤

  • @afsallais9825
    @afsallais9825 Рік тому

    👌

  • @LincolnAstrid-k4u
    @LincolnAstrid-k4u 2 дні тому

    Daniel Throughway

  • @fredrickreagan8515
    @fredrickreagan8515 2 роки тому

    Sweet

  • @manobendro
    @manobendro 4 роки тому

    This explanation is best for primary school child...

  • @objectobjectobject4707
    @objectobjectobject4707 2 роки тому

    YES

  • @zx81
    @zx81 3 роки тому

    wow!

  • @ColletteEdell-s5g
    @ColletteEdell-s5g 9 днів тому

    Tremblay Shores

  • @Mukaddesİlhan-k2g
    @Mukaddesİlhan-k2g 7 днів тому

    Stark Turnpike

  • @miordaniel3235
    @miordaniel3235 4 роки тому

    Justin liked this video.Is her learning something?

  • @MobileDecay
    @MobileDecay Рік тому

    This reminds me of the time I had diarrhea at my grandma's house.

  • @YuleDodd-c2c
    @YuleDodd-c2c 25 днів тому

    King Gateway

  • @cezar3588
    @cezar3588 4 роки тому

    Some people come into our lives and leave footprints on our hearts, while others come into our lives and make us wanna leave footprints on their face.

  • @JordonColas-g2b
    @JordonColas-g2b 20 днів тому

    Connelly Crest

  • @JohnTillis-l2c
    @JohnTillis-l2c 7 днів тому

    Abshire Landing

  • @MartinMaxfield-b7o
    @MartinMaxfield-b7o 10 днів тому

    Hettinger Trafficway

  • @TimWilliam-q8v
    @TimWilliam-q8v 21 день тому

    Turcotte Spring

  • @MaggieMurray-p5p
    @MaggieMurray-p5p 11 днів тому

    Buckridge Glens

  • @ConnieWarner-c1v
    @ConnieWarner-c1v 18 днів тому

    Shields Freeway

  • @ChristopherRamos-z5y
    @ChristopherRamos-z5y 21 день тому

    Riley Springs

  • @ThomasThomas89Gonzalez-z3m
    @ThomasThomas89Gonzalez-z3m 25 днів тому

    Bradtke Throughway

  • @SylviaAnderson-i7t
    @SylviaAnderson-i7t 8 днів тому

    Bartell Fields

  • @JimSebastiane-g6b
    @JimSebastiane-g6b 10 днів тому

    Collier Hill

  • @TerisaWhitis-p3d
    @TerisaWhitis-p3d 3 дні тому

    Skiles Gardens

  • @EdgeworthMelissa-z6p
    @EdgeworthMelissa-z6p 5 днів тому

    Stamm Crescent

  • @LizzieModesty-c3v
    @LizzieModesty-c3v 2 дні тому

    Caroline Glens

  • @SunaTufekci
    @SunaTufekci 18 днів тому

    Filiberto Landing

  • @ArmstrongRichard-m4w
    @ArmstrongRichard-m4w 3 дні тому

    149 Gleichner Trail

  • @SuhadaIslam-r7i
    @SuhadaIslam-r7i 22 дні тому

    Bradly Mission