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

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 ธ.ค. 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

    • @ELECTRONOOBS
      @ELECTRONOOBS  4 ปีที่แล้ว

      So glad you say that! Thanks

  • @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.

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

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

  • @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!

  • @Francisco-j1e
    @Francisco-j1e 4 ปีที่แล้ว +2

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

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

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

  • @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.

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

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

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

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

  • @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.

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

    Wow very good explanation. Great video

  • @Ori-Retro-Gamer
    @Ori-Retro-Gamer 3 ปีที่แล้ว

    Nice explanation my friend.

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

    Great explanation, thank you!

  • @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 4 ปีที่แล้ว

    Thank you so much sir you are explaining very good

  • @clx3960
    @clx3960 4 ปีที่แล้ว

    Nice Work! Save my day ! Awesome!

  • @JoachinYnchausti
    @JoachinYnchausti 4 ปีที่แล้ว

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

  • @seriousengineering
    @seriousengineering 4 ปีที่แล้ว

    Wow! Soooo much knowledge in one video :O

  • @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

  • @PeterIllmayer
    @PeterIllmayer 4 ปีที่แล้ว

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

  • @musenzerob2181
    @musenzerob2181 4 ปีที่แล้ว

    thanks bro,have been waiting for this.

  • @ranganatennakoon
    @ranganatennakoon 4 ปีที่แล้ว

    this is great tutorial, I love FPGAs thanks !

  • @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.

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

    This help me a lot, thanks!

  • @PrinceP1025
    @PrinceP1025 4 ปีที่แล้ว

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

  • @engr.qaisarfarooq5336
    @engr.qaisarfarooq5336 4 ปีที่แล้ว

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

  • @guy0lan
    @guy0lan 4 ปีที่แล้ว

    Great video!

  • @joopcornet1504
    @joopcornet1504 4 ปีที่แล้ว

    Very well explained. Thank you.

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

    Hello electronoobs 😘😘😘

  • @shanagondaarun2436
    @shanagondaarun2436 4 ปีที่แล้ว

    What's the board, you are using?

  • @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?

  • @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!

  • @captivator13
    @captivator13 4 ปีที่แล้ว

    Thank U 👍🏻
    Sam 🎵

  • @Moonlight-ugc
    @Moonlight-ugc 4 ปีที่แล้ว

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

  • @shis10
    @shis10 4 ปีที่แล้ว

    Excellent video

  • @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

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

    Thanks, Man. I really am.

  • @SeekersudiP
    @SeekersudiP 4 ปีที่แล้ว

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

  • @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.

  • @RinksRides
    @RinksRides 4 ปีที่แล้ว

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

  • @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.

  • @MrSzymixx
    @MrSzymixx 4 ปีที่แล้ว

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

  • @DAVIDGREGORYKERR
    @DAVIDGREGORYKERR 4 ปีที่แล้ว

    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.

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

    i like FPGA, can you make more please?

  • @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.

  • @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.

  • @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

  • @dubaifatimaali
    @dubaifatimaali 4 ปีที่แล้ว

    Good Job!

  • @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.

  • @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.

  • @anispinner
    @anispinner 4 ปีที่แล้ว

    Santa came early this year! :)

  • @raer7844
    @raer7844 4 ปีที่แล้ว

    İ am waiting big project from you .thank you

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

    OR gates are not the same as EX-OR

  • @Replacedhumans
    @Replacedhumans 4 ปีที่แล้ว

    good job thanks !

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

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

  • @shahzaibshamim6524
    @shahzaibshamim6524 4 ปีที่แล้ว

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

  • @NitishYadav-lb7zc
    @NitishYadav-lb7zc 4 ปีที่แล้ว

    Please make a robotic linear actuator 👏👏👏👏👏

  • @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.

  • @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😊😊😊😊😊😊😊

  • @HadronCollisionYT
    @HadronCollisionYT 4 ปีที่แล้ว

    make a video on making anemometer. arduino

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

    🔥 🔥 🔥 🔥 🔥 🔥

  • @sanjayaanuradha7509
    @sanjayaanuradha7509 4 ปีที่แล้ว

    I have to say ❤👍

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

    You have confused the NOR gate with an XOR gate twice

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

      yeah... maybe, it happens :)

  • @siddharthmali5841
    @siddharthmali5841 4 ปีที่แล้ว

    Great

  • @wondertechno7758
    @wondertechno7758 4 ปีที่แล้ว

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

  • @hunkbol6154
    @hunkbol6154 4 ปีที่แล้ว

    LIKE IT

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

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

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

    Many false claims herein.

  • @bashaaksema94
    @bashaaksema94 4 ปีที่แล้ว

    FPGA huh? Just after great scott? Hmmmmm suspicious

  • @romitmakhijani2902
    @romitmakhijani2902 4 ปีที่แล้ว

    Awesome video!