LearnMore#4 - More About FPGAs | From Transistor to Logic Gates To Synthesis

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

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

  • @ELECTRONOOBS
    @ELECTRONOOBS  4 года назад +3

    Sign up at ELECTRONOOBS.io: electronoobs.io/
    Follow me on FACEBOOK for more: facebook.com/Electronoobs
    help me on Patreon: www.patreon.com/ELECTRONOOBS

    • @fekkralebanon
      @fekkralebanon 4 года назад

      hi how are you? i send a message on your forum can you reply please

    • @ELECTRONOOBS
      @ELECTRONOOBS  4 года назад

      @@fekkralebanon I can't find any of your posts on the forum...

    • @fekkralebanon
      @fekkralebanon 4 года назад

      @@ELECTRONOOBS my name their is noob 2005

    • @fekkralebanon
      @fekkralebanon 4 года назад

      hello my friend how are you. I am working on the rc plane controller everything is working good but i have a small problem that the servo motor is not turning for 90 degree just for 10 degree left and 10 right. I am new in arduino can you help me how to fix it please.(this is my problem please if you can help me and i changed my name on the forum it is now fekkra.lb)

    • @ELECTRONOOBS
      @ELECTRONOOBS  4 года назад

      @@fekkralebanon are you using the servo library or the writeMicroseconds function? For servos use servo library!

  • @yonelaposwa4932
    @yonelaposwa4932 4 года назад +16

    I hope you understand how much we appreciate your work. Thank you and stay safe

  • @matth3wc
    @matth3wc 4 года назад +1

    Well done Electronoobs, this is a very informative video from the basic building blocks of an FPGA up to the actual thing. This video pretty much sums up what I learned in my first digital design course in college a few years back!

  • @littleneutron2056
    @littleneutron2056 4 года назад +2

    Sir i have a problem and you are the only who can help me.i have a futaba t7c transmitter but i dont have its reciever. Can we make its reciever with arduino and nrf24.or somthing else.please help me sir.

  • @electronic7979
    @electronic7979 4 года назад +2

    It was an excellent video. Thank you for sharing useful information.

  • @dolflb
    @dolflb 4 года назад +2

    Thank you for sharing your knowledge and building a better community!! Much appreciated!

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

    Huge thanks for the video. Explained a lot and with ease.

  • @robertturner7090
    @robertturner7090 4 года назад

    Just wanted to say thank you for your work! Very professional, interesting, and easy to understand videos. Keep up the great job!

  • @t1d100
    @t1d100 4 года назад +1

    I really enjoyed this. Great job! Your English is fine; no worries. Thank you for your efforts to make and share your content.

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

    nice video man, I'll be waiting for the next video of FPGAs

  • @youtube_showcase
    @youtube_showcase 28 дней назад

    Great explanation, thank you!

  • @user-sf5iq2fl1l
    @user-sf5iq2fl1l 4 года назад +2

    I went to abstract to something i can grab onto. This is legit.

  • @Regimantas_Baublys
    @Regimantas_Baublys 4 года назад +6

    CPLD is cheaper than FPG and don't need external memory. CPLD + MCU best combo. Nice informative video G.J.

    • @schumerthd
      @schumerthd 4 года назад +3

      CPLDs predate FPGAs for a reason. If you are using a PLD as a hobbyist then most of your needs will be met by a CPLD. If you need speed, amount of logic cells, high speed transceivers, or 5v logic level, then you need a FPGA.
      if internal memory like DDR is necessary, than a zynq series FPGA would work. Even using a low end FPGA, a designer can build internal memory.
      I might be biased after updating CPLD designs to FPGAs.

    • @VrumsAdventures
      @VrumsAdventures 4 года назад

      Each have their strenghts... but CPLDs are pretty niche nowadays, as uC are powerful enough on their own and if you need something very complex, an FPGA is better suited.

    • @matth3wc
      @matth3wc 4 года назад

      @@schumerthd Well said, I love my ZYNQ FPGA with dual core arm-cortex. It kicks trash!

  • @faridhousni2966
    @faridhousni2966 3 года назад

    Thank you so much sir you are explaining very good

  • @Ori-Retro-Gamer
    @Ori-Retro-Gamer 2 года назад

    Nice explanation my friend.

  • @koshan12
    @koshan12 4 года назад +1

    Wow very good explanation. Great video

  • @clx3960
    @clx3960 4 года назад

    Nice Work! Save my day ! Awesome!

  • @engr.qaisarfarooq5336
    @engr.qaisarfarooq5336 4 года назад

    Please share more about FPGA, we are awaiting...

  • @romitmakhijani2902
    @romitmakhijani2902 4 года назад

    Awesome video!

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

    This help me a lot, thanks!

  • @pau1976
    @pau1976 4 года назад +1

    Thank you so much! I think a simple enough yet very useful project could be a SPI module to control multiple steppers (multiplexing?). So you don't run out of pins to control them. By the way, what about the litex project? can you recommend it? It seems pretty powerful and there is even complete RISC-V processors programmed in litex

  • @Osmanity
    @Osmanity 4 года назад

    I have watched the entire FPGA 101 series really enjoy it. can you make more videos about FPGA:s maybe one were you build up FPGA from scratch PCB would be awesome thanks a lot!

  • @alizaarour8573
    @alizaarour8573 4 года назад +1

    Very good explanation. Thank you.
    Can you build project a custom PCB containing FPGA chip with the basic configuration (crystal, programmer, etc.....). Or build Electronoobs FPGA board.
    And thank you again. You are the best.

  • @VrumsAdventures
    @VrumsAdventures 4 года назад +1

    I would like to add another important difference between FPGAs and uC:
    - uC usually have internal ROM or Flash memory for their code. You just power it on and it starts doing its thing.
    - FPGAs are RAM based. Essentially they are one big memory that's split between the Look-Up Tables used to implement functions similar to logic gates truth tables (which can be used as distributed RAM) and a block RAM memory. They also hae some Flip-flops and 3 state logic gates to pass the data between LUTs to implement complex functions. However, once power is gone, FPGAs return to being blank. Most FPGAs have an EEPROM/Flash memory that can hold the configuration file for the FPGA and the FPGA gets programmed from it automatically when it's powered on.
    P.S.: FPGAs also have clock management and generation blocks, ALUs for accelerating some operations and not use programmable resources and more recently CPU cores that can run software to use your accelerated algorithm in the programmable part in general purpose software... need to mention this for the ones that will have problems with my "one big memory" expression :)

    • @VrumsAdventures
      @VrumsAdventures 4 года назад

      TL;DR: FPGA - RAM based, power off-power on => need reprogramming; uC - ROM based, power off-power on => starts running like from a reset.

    • @ELECTRONOOBS
      @ELECTRONOOBS  4 года назад +1

      True. Thank you for the info!

    • @schumerthd
      @schumerthd 4 года назад +1

      This is false, both FPGAs and uC need to be bootloaded after a power off. This is apart of the power on sequence.
      You are confusing how each device works with power on sequence.
      Power on sequence for uC requires loading the pointer for where in the program you are starting. You than proceed through the code to initialize the design. Very few designs can be loaded into a previous state.
      FPGA power sequence is similar to that of uC. The difference is the FPGA needs to be re-image (similar to that of re-imaging hard drives). Once the design has been configured, the design can initialize itself.

    • @VrumsAdventures
      @VrumsAdventures 4 года назад

      @@schumerthd I am not confusing anything. I never said the uC can resume from where it left off. I just said that most uC are ROM based, and if they have code inside their ROM you can just power it on and it will start running (see Arduinos for example). FPGAs are RAM based, when you take away their power, they return to an unprogrammed state. Most FPGA development boards (and even FPGA based designs) I have worked on or with have an external ROM where the FPGA configuration is held for the FPGA to be programmed when powered on.
      Simply put, a uC on its own, most of the time will actually execute something once you power it on. There is an initial instruction pointer, even if it points to blank memory (which usually translates to NOP instruction). An FPGA will do absolutely nothing on it's own once powered on.
      In real life, your last sentence is exactly what I said, but fancier :) Technically correct, but I don't want to dive to deeply in details, as this video does not go to such depths.

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

    Thanks, Man. I really am.

  • @ReevansElectro
    @ReevansElectro 4 года назад +1

    Are you sure that you mean GROUND or do you mean chassis ground or do you mean 0V reference or do you mean Negative? There is a difference.

  • @PrinceP1025
    @PrinceP1025 4 года назад

    Great Video!! Keep on uploading content!! Your content really helps me in my education life!

  • @PeterIllmayer
    @PeterIllmayer 4 года назад

    Great video. Never used FPGA but i do like logic gates. Time to do some more research..🙏

  • @joopcornet1504
    @joopcornet1504 4 года назад

    Very well explained. Thank you.

  • @captivator13
    @captivator13 3 года назад

    Thank U 👍🏻
    Sam 🎵

  • @stephensu4371
    @stephensu4371 4 года назад +2

    i like FPGA, can you make more please?

  • @seriousengineering
    @seriousengineering 4 года назад

    Wow! Soooo much knowledge in one video :O

  • @ranganatennakoon
    @ranganatennakoon 4 года назад

    this is great tutorial, I love FPGAs thanks !

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

    I don't quite agree with the arguments on the choice of fpga/controller. I would lean more on the division between working in control-plane or data-plane. For example, if you have several high speed transmissions going on, it would be hell to solve such a task using only a controller. Moreover, we should not forget that there are cheaper FPGAs. On the other hand, using an FPGA to control a complex device with complex sequential logic is not the best option either. As for me, if you have a task related to parallel high-speed processing/sending of several data streams, FPGA is the way to go. Because no matter how cool the controller is, it will not be able to process 2 interrupts instantly. Even just two output signals at the same time 2 pins for example on different ports can already become a problem for the controller. So I would ask questions right away: Is the logic of the device complex and sequential? (Controller)
    Is there parallel processing of time-critical signals? (FPGA).
    If the answer to both questions is yes, then it might be worthwhile to put a controller + FPGA.
    I.e. do not take the most expensive FPGA and do not emulate memory/processor on it, but buy an inexpensive controller and an inexpensive FPGA. Still, their tasks are different. Well, and options when some smart device consists only of FPGA seems to be something from the category of a cannon at sparrows.

  • @DAVIDGREGORYKERR
    @DAVIDGREGORYKERR 3 года назад

    A FPGA Especially a SPARTAN FPGA can accommodate a complete unit i.e a Sinclair Spectrum or even a AMIGA A1000 on a FPGA and can make for a small PCB, I think that if OLIVETTI had access to FPGA chips then the electronics that were spread across 16x S100 boards would fit onto one PCB and mean the the OLIVETTI M3030 would be more like a IBM PC and would not be built into the back of the desk made from sheet steel.

  • @musenzerob2181
    @musenzerob2181 4 года назад

    thanks bro,have been waiting for this.

  • @RinksRides
    @RinksRides 4 года назад

    FPGA's are VERY cool! SUPER low latency devices, very fast at specific tasks.

  • @schumerthd
    @schumerthd 4 года назад

    One request, could you include code examples along with the example of how synthesis works.
    The process for synthesis works by interpreting the code into abstractions. These abstractions, are memory, accumulators, and, or, not, or clock dividers just to name a few. Once the code is turned into abstractions, then a process called implementation can proceed. An example of this in code would be: count

  • @aakashprajapati9752
    @aakashprajapati9752 4 года назад +1

    Hello electronoobs 😘😘😘

  • @shis10
    @shis10 4 года назад

    Excellent video

  • @Daylight-9f
    @Daylight-9f 4 года назад

    Please make some project on buck and boost converter using FPGA board

  • @JoachinYnchausti
    @JoachinYnchausti 4 года назад

    Can I ask if you can recommend an ASIC manufacturer which is really affordable just like JLCPCB?

  • @SeekersudiP
    @SeekersudiP 4 года назад

    Awesome brother..
    And please also make video on 8051 microcontroller...😇

  • @MrSzymixx
    @MrSzymixx 4 года назад

    How many times can we reprogram fpga? Is there any limit? Good job btw :) really enjoyed this video

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

    With the schematics for NAND and NOR that you showing you never can get zero on the output. You should have a resistor on top to limit the current. Your way you have on positive side a zero resistance to positive rail and on negative side you have tiny but significant in this case resistance of two MOSFET channels.

  • @dubaifatimaali
    @dubaifatimaali 4 года назад

    Good Job!

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

    Hello, I bought Chinese FPGA board (Altera IV EP4CE6) in aliexpress long time ago that you used in this video, unfortunately I found that I don't have any supplemental materials like schematics, manuals or demo programs/codes. I wanted to start programming, but there is very small info in internet on that board and it is out of stock everywhere. Could you or anyone please send it to me or tell where I could find it?

  • @shahzaibshamim6524
    @shahzaibshamim6524 4 года назад

    Please do a video on building user interface with ARM and esp32!

  • @shanagondaarun2436
    @shanagondaarun2436 3 года назад

    What's the board, you are using?

  • @vamsyungaram
    @vamsyungaram 4 года назад

    Hai brother small doubt about what is difference between FPGA and ASIC Flow ( also this is the process)like Specification, RTL,SYNTHETICS DFT,STA,PD ) I am training at Dft that's why I am asking plz tell me brother

    • @oniruddhoalam2039
      @oniruddhoalam2039 4 года назад

      ASIC is an abbreviation for application specific integrated circuit. It is an IC that is used for a specific function. For example webcams and digital cameras have ASICs that process and compress the image. FPGAs on the other hand are general purpose devices with which you can make almost any combination of logic gates. You can use them for the prototyping digital ASICs.

  • @Replacedhumans
    @Replacedhumans 4 года назад

    good job thanks !

  • @raer7844
    @raer7844 4 года назад

    İ am waiting big project from you .thank you

  • @tropcm
    @tropcm 4 года назад +1

    You are like greatscotts 2nd channel. Same topics but late upload and less density information flow.

  • @anispinner
    @anispinner 4 года назад

    Santa came early this year! :)

  • @GrandNecro
    @GrandNecro 4 года назад

    I'm always confused about what type of code is synthesizable or not. Like using if statement inside of an always statement. Sometimes I'm able to synthesize it and it works fine when testing the physical output, but other times it doesnt work at all even though the stimulation works. Maybe you can do a video on that?

    • @ELECTRONOOBS
      @ELECTRONOOBS  4 года назад +1

      hmm, "if" inside an "always" is no problem... This might be related with non-blocking or blocking. You have a full post about that here: inst.eecs.berkeley.edu/~cs150/Documents/Always.pdf

    • @matth3wc
      @matth3wc 4 года назад

      There's a book i got from Amazon called 100 Power Tips for FPGA Designers. It explains a lot of conventions that are for simulation only and goes over what parts of verilog are synthesizable . For example, initial blocks are not synthesizable and only work for simulations. However, on Xilinx FPGAs initial blocks are. Sometimes it depends on the device manufacturer as well. Defiantly check out the book @GrandNecro

  • @willyouwright
    @willyouwright 4 года назад

    Just wondering do some fpgas impliment a look up table rather than actual logic gates? As logic gates are complex and hard to configure. Where as a lookup table is fast programmable and has 0 propegation delay...

    • @matth3wc
      @matth3wc 4 года назад +2

      In FPGAS they are configured into logical blocks, for Xilinx FPGAs they generally have 4 six-input look up tables (LUTs, these can be configured to behave like logical operations i.e. x & Y | Z) 8 registers (Flip-Flops, save data) a carry a chain and multiplexers. Sometimes if your logic behaves like a look up table BRAMS can be used to accomplish this task.

    • @oniruddhoalam2039
      @oniruddhoalam2039 4 года назад

      Probably the look up table only stores the configuration of logic gates. The information of the lookup table is used to connect the logic gates together.

  • @NitishYadav-lb7zc
    @NitishYadav-lb7zc 4 года назад

    Please make a robotic linear actuator 👏👏👏👏👏

  • @NitishYadav-lb7zc
    @NitishYadav-lb7zc 4 года назад +1

    Hey there! Why don't you make register level programming vedio (learn more)that will be great 😊😊😊😊😊😊😊😊😊😊😊😊😊
    Plz make one

    • @ELECTRONOOBS
      @ELECTRONOOBS  4 года назад +1

      I'm preparing a video like that one....

    • @NitishYadav-lb7zc
      @NitishYadav-lb7zc 4 года назад

      @@ELECTRONOOBS thanks very much bro😊😊😊😊😊😊😊

  • @whatacode
    @whatacode 4 года назад +1

    🔥 🔥 🔥 🔥 🔥 🔥

  • @ReevansElectro
    @ReevansElectro 4 года назад +1

    OR gates are not the same as EX-OR

  • @AndrewAHayes
    @AndrewAHayes 4 года назад

    I have a rough idea of how logic gates work is this the same thing as a hardware LG or is it virtual?

    • @matth3wc
      @matth3wc 4 года назад

      FPGAs are the same as hardware logic gates, that's what makes them up. It's not simulating the functionality of them. The bit stream goes into program the FPGA which really tells the transistors and blocks where to make connections and where to not to make connections. You could think of it as wiring up a circuit board in a way.

  • @sanjayaanuradha7509
    @sanjayaanuradha7509 4 года назад

    I have to say ❤👍

  • @siddharthmali5841
    @siddharthmali5841 4 года назад

    Great

  • @amciaapple1654
    @amciaapple1654 4 года назад +1

    You have confused the NOR gate with an XOR gate twice

  • @HadronCollisionYT
    @HadronCollisionYT 4 года назад

    make a video on making anemometer. arduino

  • @crayzeape2230
    @crayzeape2230 4 года назад +1

    Nope, FPGA's in quantity don't get anywhere near as cheap as you suggest. Nope, the original arcade machines, while now implementable in FPGA, were not FPGA based in their day.

  • @hunkbol6154
    @hunkbol6154 4 года назад

    LIKE IT

  • @tmggaming7758
    @tmggaming7758 4 года назад

    you r a making pubg game pad,
    usde for androin and ios,
    making this is a arduino microcontroller
    programming basd.

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

    Ошибка с 6 по 7 минуты.

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

    Many false claims herein.

  • @bashaaksema94
    @bashaaksema94 4 года назад

    FPGA huh? Just after great scott? Hmmmmm suspicious

  • @guy0lan
    @guy0lan 4 года назад

    Great video!