Introduction to FPGA Part 3 - Getting Started with Verilog | Digi-Key Electronics

Поділитися
Вставка
  • Опубліковано 20 січ 2025

КОМЕНТАРІ • 61

  • @navalenigma
    @navalenigma 3 роки тому +16

    I've looked at several fpga tutorials, this is by far the best. Absolutely fantastic.

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

      It almost recommends an ICE40hx1K dev board. I hope we're going somewhere special with this, because I'm not massively confident of what can actually be done with such an entry-level part. I think Shawn has really got into this one, though - even to the point of insisting that we should not make 'blink' on episode one or two... or three.. PDM microphone to I2S: - go! (eventually?)
      Part 3 > and only as 'digital' as a Class D amplifier, i.e. not synchronous ("blocking") yet.

  • @SolaiRaj-fs6qi
    @SolaiRaj-fs6qi 5 місяців тому +1

    It is refreshing to go through all the concepts which I loved learning at my College. Really a Great tutorial

  • @markusbuchholz3518
    @markusbuchholz3518 3 роки тому +23

    From my humble point of view you Shawn are the most impressive and brilliant educator/innovator I have ever seen. Awesome channel and impressive people who support the content and channel. Have a nice day!

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

      I almost completely agree if I hadn't attended courses with Professor Niklaus Wirth (ETHZ). But yes, compliments!

  • @Ivan-iu7xf
    @Ivan-iu7xf 3 роки тому +7

    I love the FPGA tutorials
    Keep making great videos

  • @citiesinspace
    @citiesinspace 3 роки тому +14

    I'm about to take an HDL course at university next semester so this is super helpful! Thank you Digikey and Shawn!

  • @NotMarkKnopfler
    @NotMarkKnopfler 3 роки тому +7

    Thank you. This is a nice, gentle introduction to the subject. Perfectly paced. That it uses open-source tools is a bonus. Much appreciated.

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

    I'm really enjoying the series. Following along without a FPGA and just using the simulator, at the moment. Thanks again.

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

    Well done Shawn! Moving up in the world since the beginning of our Sparkfun Days!

  • @MR-fs2pc
    @MR-fs2pc 3 роки тому +2

    Thank you for the clear explanation - Icestick just arrived and managed to get it up and running. Everything works, including my full adder implementation!! Really looking forward to the next part.

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

    Loving this series. I have the subscriptions with the bell on for this channel just so I know when these are out!

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

    Awesome next video of the series. Very well and simply presented. Waiting for the next one

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

    You have a very good presentation style. Clear, concise, articulate. Definitely one of the best presenters I've seen for this material.

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

    Very clear, easy to understand! Keep doing these videos please!

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

    This is a very excellent course, many thanks 👍

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

    Love your videos, the way you explain things....you're amazing! Thanks Shawn for your dedication to education.

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

    Very good tutorial! Perfect tempo and presentation! Keep on the good job 👍👍👍!

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

    This is so great, thank you very much for this easy to follow jump into the topic. This is exactly the level I needed to get started!

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

    I am a bit late to the party, but I'm here now. Very good stuff so far and very beginner friendly. I like the assignments at the end too! I ordered an Alchitry Cu, closest thing I could get to the Icestick. It will be a bit before I get it, but not 21 weeks! I have a cheap Chinese dev board with a Cyclone 4 and a lot of peripherals on it. I am currently using that to follow along till I can get my new board. I will try and catch up as soon as I can. Good job so far.

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

    I've been looking forward to this video and now I'm looking forward to the next. It occurred to me: I should probably subscribe XD
    I love bitbanging in assembly and this looks like it might be even more fun :O

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

      Why bitbang in assembly...when you can do it in hardware! :P

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

    Interesting overview of verilog! 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.

  • @AgainPsychoX
    @AgainPsychoX 3 роки тому +7

    I wish you could use editor like Visual Studio Code with some extension that styles/colors PCF files syntax. Anyways, great video as always!

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

      I just get started with fpga and I use Notepad++. The verilog syntax coloring is great, but I agree with you about pcf file. It's plain color, probably need to define by myself

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

      i am searching too!!

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

    Thank you, you are the best.

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

    Nice work...Thank you so much

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

    Can you perhaps share the Fritzing part for the iCEstick?

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

    Note that "apio build" now defaults main as the module name. Use the --top-module option to change.

  • @cl.5974
    @cl.5974 2 роки тому +1

    Thank you for making the videos. Your demo is in Windows. Could I work on the project using the Linux system? Thank you.

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

    This is absolute gold

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

    I'm curious to know the contents of the "funny" folder at 3:30 :) (Only if it isn't too personal..)

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

      Mostly just random memes I find and keep :P

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

    With 3 pins (video data, colorbust, H and V sync) and an external module with a few resistors and transistor you could generate a Black and White(no colorbust) or composite color signal. Apple II schematic has one bipolar transistor and a few resistors and a variable resistor to get the correct voltage. Before HDMI composite video was everywhere. For color it's critical to be able to generate a multiple close to 14.31818 MHz. Colorburst frequency is 3.579545. Artix-7 clock module gets close enough. I tried with Spartan-3e and couldn't get close enough so had drifting colors.

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

      For ICE Stick 4 month factory lead time. Not Good..Factory Lead-Time: 21 weeks

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

    What language is the pcf file in?
    And after generating the ini file
    "apio_init -b icestick"
    How does
    "apio build"
    automatically generate the command "yosys -p "synth_ice40 -json harware.json" -q and_gate.v"? for example, if you havd more files, now does it know which is the top one?
    apio upload

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

    Because I couldn't generate the files: .gtkw and .tb To do the simulation?

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

    So, I programmed the full-adder. I must say the synthesiser's error messages are not particularly helpful. Also one of my buttons on the breadboard was not working well, and I thought there was a problem with the verilog code. So a good advice is to test one's hardware using a simple programme, for example having each button press light a particular led. Anyway, great stuff.
    Incidentally, the link to the Wikipedia article about full adders is missing in the description of the video.

  • @vaniaeli4392
    @vaniaeli4392 11 місяців тому

    Muito Obrigado por democratizar esse conhecimento ❤

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

    Can anybody help me? I'm a beginner and I'm looking for a FPGA board to start with. I don't know which board is the most suitable for me. Nexys A7 is way too expensive. My options for the time being are: Basys 3 artix-7, Arty A7/S7 or Cmod A7/S7 (breadboardable). I need a good price quality ratio. And also I don't know if the breadboardable boards are enough powerful and capable. Are they worth it? Or the extra money for the other boards like Basys and Arty is worth it more? Thank you very much!

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

    very helpful bro. thank you!

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

    Hey Shawn, I dont known, why! this is happening?
    Im using Icebreaker dev board and i use your code and using yapio to build and upload the code.
    "&" is performing "|" operation and vice versa. can you help me out!

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

      solved the issue, made a mistake in de morgan's law ! thanks

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

    sick. over too quickly, I could watch this for hours.
    one thing I didn't get fully though is the 'wire' part. I'm thinking the 'assign' only works with outputs and if you're trying to take output from a gate to another gate you'd use a wire?
    and also, are wires just implicit when you do multiple operations in one expression? i.e. "~a & ~b"?
    thank you!

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

      Yes, wires are implicit when you do something like `assign out = ~a & ~b;` A wire is just a way to name an intermediate node (or "wire") that connects other logic. You could accomplish the same thing with:
      wire not_a;
      wire not_b;
      assign not_a = ~a;
      assign not_b = ~b;
      assign out = not_a & not_b;
      As you can see, we're just using wires to name the intermediate connections. Also, the `assign` keyword does not need to be used on outputs--we can use it to make connections between things within the module (e.g. connecting the `not_a` wire to the output of the logic `NOT a`). Hope that helps!

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

    Yes its awesome, i have learned alot from this videos, my only problem was that I use iCE40 UltraPlus breakout board, that had a bad FTDI setup, but finaly I managed to change the Descriptor with FT_Prog.

  • @power-max
    @power-max 3 роки тому +1

    It would be amazing if someone could take a digital logic simulator like Logisim and have it be capable of compiling the physical schematic into Verilog or VHDL!

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

    i am getting a "Error: module 'click' has no attribute 'get_terminal_size'" when i verify. i am using python 3.8.2 and apio 0.6.7. Anyone else see this?

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

      had this issue! Try update apio: python -m pip install apio==0.8.4 then use: apio install oss-cad-suite. You should then be able to use APIO verify

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

    👍👍

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

    The Special Tuesday digilent FPGA board prices for Arty and Zynq are well worth looking at. For today only. 11/30/2021.

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

    Brilliant

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

    Has anyone tried following this series using the Alchitry Au?

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

    These videos are great. I just wish that they used vhdl

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

    Oh and Senator, love the bowtie

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

    I need to wait until after work to watch these videos, too distracting.

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

    the fpga is very IO focused. why are there only so few pins on this board. i would rather have the possibility to use all pins.
    also why does it have male full size USB ?
    I hope they will release a arduino style board soon with about pins at either side and a micro/type c USB connector for easy use on a breadboard.
    The world of FPGA is still not ready I guess ^^

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

      There are dozens of different boards. This is like saying the world of microcontrollers isn't ready because there's a plastic casing on the EZ430-F2013. APIO alone supports over 30 different boards; e.g. the IceZUM Alhambra is shaped like an Arduino and the iCE40-HX8K Breakout Board breaks out many IOs to the sides. The first FPGA board I remember imitating the Arduino layout was the Papilio One. The TinyFPGA, iceFUN or OrangeCrab might fit better on a breadboard.

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

    hi

  • @PabloRamos-tm9rp
    @PabloRamos-tm9rp 2 роки тому

    Karnaugh maps are very useful for designing combinatorial logic. en.wikipedia.org/wiki/Karnaugh_map