In college in the late 80's i was involved with a custom processor design implemented in an FPGA. On paper the design was perfect. In the sim it worked perfectly. In hardware nothing worked. It took alot of lab time to figure out that that there was a significant race condition in a subset of the processor that the professor had given us to use. He passed my fix along to everyone else. Moral of the story: Don't trust the sim blindly.
@ericfort940 Жыл бұрын
this is what we get when the electronics labs produce bunches of simulator and screen junkies, dont require students to actually BUILD anything (physical) where real magic smoke gets released, and one never actually learns which end of a soldering iron is which by burning their fingers a few times!
@davidrush4908 Жыл бұрын
@@ericfort940 it's a well known fact that all electronic components contain some unknown quantity of smoke and you have to test to see how much. My personal record was a LARGE transistor that was sending about 18 to 20 kW to the load. I bumped something on the drive circuit and BAM. Sounded like a grenade going off. Good thing it was in a thick plexiglass box, because there was shrapnel embedded in it. This was in an elective Electronics class that covered practical feedback stabilization.
@FloydWolverton2 ай бұрын
@@ericfort940 I agree that JUST simulation as the ONLY learning vehicle is a bad way to teach/learn. An appropriate mix of hands-on physical and simulation experimentation produces better-rounded graduates. As for soldering irons and common sense, I will always recall asking a student to hand me a soldering iron. She said "Are you sure?" and I said yes...she placed the HOT end into my open hand. We BOTH learned something that day! 🙂
@TylerSimsMechanical3 жыл бұрын
Shawn, you are the man. Your Linux, RTOS, and FPGA series are immensely helpful. Thanks!
@bloodstyle3 жыл бұрын
Oh yeah, was waiting for this. There's plenty of FPGA tutorials on youtube but Digi-key's videos are so much easier to follow!
@mumbaiverve23073 жыл бұрын
Yes, they explain it in a manner which is practical and linearly laid out !
@tonywilson47133 жыл бұрын
I've never seen this guy before but I'd agree on your assessment. I don't know why this was even recommended but it'll be one of those little thigs I file away for future reference. I do industrial control systems, so I am on the end user side of FPGAs. I have done embedded controls in the past so this is very useful on basic understanding of what can be done.
@YoutubeBorkedMyOldHandle_why3 жыл бұрын
This is perfect. A couple of years ago, I decided I needed to conquer FPGAs. So I bought a bunch of boards, watched a lot of videos, learned many things, dabbled with projects, etc. But I kept getting distracted. It's time to dive back in and finish the job. Happily, one of the boards I bought was the Lattice board you have highlighted, which thus far I've barely touched. This has been a source of some frustration, since most good tutorials I've come across invariably use different tools than I have. This time I'm prepared. I like your attitude. Most people spend gobs of time explaining code and running testbenches, rarely ever implementing it on actual hardware. Important of course, but as you suggest, it's a lot more fun wiring things up and seeing the hardware actually do something. Thank you. I look forward to your next video.
@clems69893 жыл бұрын
Digi-key has been around. Helping designers and engineers forever...
@SidewaysCytlan3 жыл бұрын
I've been wanting to get into FPGAs for a while, and this series is right up my alley! I especially appreciate the use of an open source toolchain, as the proprietary tools that plague the FPGA landscape is why I've held back on getting into FPGAs for so long. Looking forward to the next entry in the series.
@squirlmy3 жыл бұрын
something parallel to that, but I can't say for sure how related it is to being not-FOSS, is how ridiculously large and bloated FPGAs are. I forget if it's Intel's Quartus Prime (Lite Edition is 6.8 GB!?!?) or Xilinx, where the "Windows version" was actually an entire virtual machine running the IDE on Linux. Without a lot of transparency. I mean, if we need a virtual machine for Windows, just tell us! We're adults, we can handle disappointment! It isn't just that they're proprietary, but plagued by all of the problems of proprietary software gone wrong.
@hjups3 жыл бұрын
That was one of the most concise and easy to understand overviews that I have seen! I will probably point students to this video as a supplement. One minor tweak to something said though regarding speed. A FPGA won't necessarily be faster than a CPU, but it will have higher throughput. That was mentioned, but then in the summarization you said "speed for specific computations", where it should be "throughput for specific computations" - most STM32s can run faster than a FPGA, but they take many cycles to compute one result while a FPGA can compute one result per cycle (with super-deep pipelines). Another use case for FPGAs is latency (which has implications for real-time applications) - often a FPGA can intake, process, and react to events faster than a CPU. Most of the 3D LIDAR systems used in self driving cars rely on FPGAs to minimize their feedback loops.
@ShawnHymel3 жыл бұрын
Good points, thank you for the distinctions!
@Henrix19983 жыл бұрын
What does "faster" mean in this context if not throughput?
@hjups3 жыл бұрын
@@Henrix1998 Short answer, clock speed. Long answer, that would depend on what you are trying to measure. Most likely it will be a combination of clock speed, latency, and throughput. For example, we say that CPUs are fast but not that GPUs are fast. GPUs can handle much higher throughput than a CPU, but at a much higher latency, and lower clock speeds. To take advantage of them (and a FPGA for that matter) you need to have enough data to cover the latency (i.e. a large enough batch). For streaming applications (like signal processing), your data size can be effectively infinite when capturing from real-time sensors / ADCs. But if you only want to perform the computation on a smaller dataset (potentially sample size 1), it will be much faster to do that on a CPU, because you can't hide the latency. Another case where the latency matters is with feedback loops in the computation, though that again depends on the nature of the problem being solved (how tolerant is the loop, and what computation is being done).
@jimziemer4743 жыл бұрын
He never said an FPGA would be faster. He said it may or may not be faster.
@floridaman9642 жыл бұрын
@@hjups Lots of good info man thank you. You are a genius. 🙏
@Ali-wf9ef3 жыл бұрын
As a FPGA engineer I appreciate you introducing our world to others. Keep up the good work
@hanspeter22103 жыл бұрын
As an FPGA engineer it's very interesting to get an understanding what you are actually dooing
@jeffreymadrid22882 жыл бұрын
Much respect ali, subscribed , would love to keep in touch with someone like you 🙏
@damage.3902 жыл бұрын
Hello, how can i contact you?
@MacGiollaCostigan Жыл бұрын
Thoughts on Peraso? Ticker PRSO seems very undervalued after watching nvidia go crazy
@kohein404 Жыл бұрын
Please I want to know that FPGA and ASIC are analog or digital design processors ?
@antonyalen27453 жыл бұрын
You guyz have the best electronics tutorials ever, better than my University degree. Thanks
@unrushed_crown3 жыл бұрын
Shawn Hymel is like the Steve Irwin of electronics. Thanks to you and Digikey for making these tutorials!
@corrupt1238 Жыл бұрын
Who that???
@SmoochyTea3 жыл бұрын
I love his bow tie. Shawn taught me a lot of what I know of pcb design.
@ShawnHymel3 жыл бұрын
Aw! Thanks :D
@mini-momentclips Жыл бұрын
I was searching for complete tutorial series for FPGA , got the best one ❤🎉
@SBA_poiko3 жыл бұрын
Stumbled onto this channel. Was glued for the entire duration. Can't wait for part 2!
@tehmudjinkhan22073 жыл бұрын
The RTOS series helped me a lot. Now I can get into FPGAs!
@nidhinbenny79753 жыл бұрын
I hope this series goes on to show how to create a custom FPGA PCB design eventually - but even if not, its really cool to get to see this stuff.
@wawan_ikhwan2 жыл бұрын
My day is not ruined, After All I thought I must build logic gate from scratch with using transistor while I can program it with FPGA
@sj69865 ай бұрын
Thanks for this series of videos. Very easy to understand and follow for someone with primarily a software background.
@rickh69633 жыл бұрын
I've wanted to do a little FPGA experimentation for a few years but have been spending my hobby time with SBCs and microcontrollers. Thanks for giving me the push to start on another adventure. My iCEstick will be here on Monday so I'm itching for the next episode! Thanks Digi-Key and Shawn!
@rickh69633 жыл бұрын
WOW! FedEx kicked ass and delivered my iCEstick on Friday! 3 days early!! Now I can't wait for the next episode.
@WistrelChianti3 жыл бұрын
This starts exactly where I needed it to start and goes exactly where I needed it to go
@Dinkleberg963 жыл бұрын
I'm really excited about this series! Shawn's work is amazing, can't wait!
@williamhart48963 жыл бұрын
Clean overview of the how to make a FPGA do what you want it to do
@tanjiro32853 жыл бұрын
These serieses worth a million dollars 💙💙💙
@calfee623 жыл бұрын
Board ordered. Looking forward to playing along at home!
@gfrommer3 жыл бұрын
What an amazing video!!! I'm very excited to see the next video! I was really impressed by the LED cubes in this first video demonstrating the throughput of the FPGA versus a regular CPU. I want to make one of those.
@thalanayarmuthukumar54723 жыл бұрын
Very good introduction which while explaining the concepts narrows down choices - e.g. use Verilog, use APIO) which facilitates hands on learning. Also, the list of parts needed that is provided, even specifying a USB extension cable, will have you well prepared for gaining the most from this series. Just finished this episode and looking forward to hands on in the next video in the series. Thanks Shawn for an excellent video
@jonnafry3 жыл бұрын
Excellent relaxed presentation ... looking forward to this series.
@justaszakarauskas60687 ай бұрын
I found those tutorials really useful, it is more than enough get a start-kick. Thank you
@robosilo3 жыл бұрын
Really looking forward to the follow up videos to this series. This first one was very dense but not overwhelming.
@dinoscheidt3 жыл бұрын
Incredible teaching skills. Incredible.
@justingreen80063 жыл бұрын
Cool! I'm going to digi-key to purchase the ICEstick now. Looking forward to the upcoming tutorial videos! Thanks.
@fcf82693 жыл бұрын
Very good video, looking forward to see the next videos in the series
@patrickbyamasu13533 жыл бұрын
A very good introduction to FPGA, I look forward to watching more videos that are coming in this series of videos on Designing FPGA. I hope they will be very helpful for my understanding studies as a computer engineering student.
@danmarquez39716 ай бұрын
EXCELLENT tutorial! THANK YOU! I look forward to the rest of tutorials!
@jayprakashbhele9442 Жыл бұрын
shawn my man once again perfeect video for yet another acadmic topic
@joymakerRC Жыл бұрын
I was gonna try this but i gotta learn a few more things before i get here , I accidentally bought a VHDL book and I dont return books but looking at it I realized i was Still in the STM32 early stages. I get there. Thanks bro.
@AhmadAsmndr3 жыл бұрын
I was waiting for this tutorial since a long time thank you very much ...
@accountname16512 жыл бұрын
Thanks, I learned a lot; clear language, good presentation, I really like what you do here
@electronichome11532 жыл бұрын
Finally found the iCE40 and can't wait to start this course! Thanks Shawn!
@TonyDaExpert3 жыл бұрын
As a computer engineer I got a lot of HDL and design logic and even microprocessor design experience in classes we used FPGAs but only for specific assignments and simple projects. I have one more class on Modern Processor architecture but I think I am getting to where I could modify a cpu to add specific assembly instructions. I should get my own fpga and play with it so this knowledge doesn’t go to waste lol
@ShawnHymel3 жыл бұрын
Same...we barely touched FPGAs and HDL in my classes, and this was back in 2003. My second computer architecture course was all theory! Please let me know if you do modify a softcore CPU--I'd love to know which core you use!
@philipacovington2 жыл бұрын
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!
@pramitchaudhury18213 жыл бұрын
You are awesome Shawn you always come with the greatest contents thanks so much 🙏🙏🙏🙏
@DanielRamos-zf2pw3 жыл бұрын
Finally, i love playing with my sidi fpga for retro computing, but i would really like to start making stuff for it.
@MuthannaAttyah Жыл бұрын
Thank you Shawn for the amazing introduction. Love your videos since your early days at SparkFun. please keep producing more.
@alfcnz2 жыл бұрын
8:55 one again, Verilog was a hardware description language which has been deprecated for its successor.
@matanlaza893 жыл бұрын
Great explanation! Already waiting for the rest of the series
@benzflynn2 жыл бұрын
Good intro to this stuff. Something a lot of us need to know for the future in CPUs and microcontrollers.
@lorhancosta6223 жыл бұрын
Great presenting! I'm really looking forward to the next video and I'm def buying the fpga used in the series.
@trishayun12123 жыл бұрын
What a great video clip which is very useful
@233kosta Жыл бұрын
The Miniware DS213 mini DSO is built around an FPGA. SUUUUUUUPER cool stuff!
@souris7713 жыл бұрын
I did not know that I can use FPGA, thanks for explain.
@chrisstanford36523 жыл бұрын
Clear, concise and informative 👍
@dymastro7883 жыл бұрын
Yes great! Shawn and Digikey keep it up with the great videos
@PhG19613 жыл бұрын
What an excellent overview and explanation ! I'm looking forward to see the next episode !
@robertphilip18323 жыл бұрын
I can't tell how glad i am ... thank You! thank You!
@katemoon74763 жыл бұрын
This like free college classes. Thanks
@nidhinbenny79753 жыл бұрын
In my opinion, even better because they have a more practical hands-on approach :)
@aekhv3 жыл бұрын
Thanks a lot! Can't wait for the next part!
@JSambrook2 жыл бұрын
Really a great introduction. Strong work!
@ashishchristian93772 жыл бұрын
Superbly explained....
@eamonhannon11033 жыл бұрын
Excellent topic Sean .
@djsbriscoe3 ай бұрын
Is there a more recent FPGA development board that can be used with this tutorial? The iCEstick is now expensive. Can you recommend anything cheaper? Thanks.
@ShawnHymel3 ай бұрын
The iCEBreaker boards from 1 Bit Squared should work. I'd love to get an iCEBreaker Bitsy, but it's always sold out.
@MkmeOrg3 жыл бұрын
This is REALLY good. Well done
@vaniaeli4392 Жыл бұрын
Parabéns... Ótima iniciativa, muito obrigado.
@aronhighgrove4100 Жыл бұрын
VHDL is inspired by Pascal syntax. Since you mention Verilog is inpired by C, it's a useful addition.
@youssefbensoudane77999 ай бұрын
Thank you for all your videos please I would like to buy a FPGA to learn what inexpensive FPGA can I buy to follow your tutorial
@digikey9 ай бұрын
Hi, here is where you can find the evaluation board that was featured in the video: www.digikey.com/en/products/detail/lattice-semiconductor-corporation/ICE40HX1K-STICK-EVN/4289604
@matthewvenn3 жыл бұрын
Great work Shawn!
@ShawnHymel3 жыл бұрын
Thanks, Matt!
@ngvn48983 жыл бұрын
Please do some example with Verilog. It is really useful for me because I learn embedded system with Verilog in this winter semester. Thank you so much
@ShawnHymel3 жыл бұрын
Coming soon ;)
@vaniaeli439210 ай бұрын
Muito Obrigado por democratizar esse conhecimento ❤
@AlexanderBukh3 жыл бұрын
i have an ICEstick, what would be the interesting beginner projects i can use it for? i mean that would fit in it and use a significant part of it's capabilities
@nathanjohnson40283 жыл бұрын
Shawn, I would love to see you tie into your ongoing Yocto series. The Xilinx Zynq 7000 series FPGA support Linux and it might be cool to branch into making your own peripherals and making drivers for it in Yocto Linux (Maybe a simple PWM peripheral?)
@AlpineTheHusky3 жыл бұрын
Not a single downvote. Impressive
@thesnax91775 ай бұрын
Hi, Shawn! I really want to get started with your guide, but the FPGA you use it a bit expensive in my country (Japan). Yen is REALLY weak right now. Are there any other compatible LATTICE FPGAs?
@ahriman462 жыл бұрын
3:49 where can I buy these cubes? Theyre pretty
@LittleRainGames3 жыл бұрын
FPGAs are out of stock, thats what they are.
@rjordans3 жыл бұрын
That's one of the ways they are similar as microcontrollers
@233kosta Жыл бұрын
Look again this year. Ordered mine off sparkfun yesterday
@andrewcool4587 Жыл бұрын
High demand.
@huyphanquang1780 Жыл бұрын
Please ask Cryptor Currency Miner 😂
@rude_tech3 жыл бұрын
I have a job interview this week. If you could go ahead and shoot, edit, and upload all videos in this series in the next 2 hours that would be greeeeaaaat. 😅
@Fleurlean43 жыл бұрын
Did you move on to the next step?
@vinaysv60963 жыл бұрын
I am very excited to learn FPGA programing I need to bye one of It and can I know the exact name of development kit, as I am new for this.
@alfcnz2 жыл бұрын
7:52 Verilog does no longer exist. Its replacement is called SystemVerilog.
@bennguyen13132 жыл бұрын
Any thoughts HDL converters, like Silice, Bluespec / chisel-lang HDL , SpinalHDL? Or Migen/nMigen/MiSoC->LiteX... which appears to be a python to HDL converter? FuseSoC IP? Would love to see 1) APIO multi-fpga-platform toolbox support other hardware (ex. Intel Nios, Microsemi Arm-M4, Quicklogic RIsc-V), JTAG/OpenOCD programmers, etc 2) Tips on setting up a build environment , preferably a Docker Container with all the tools for Lattice, Xilinx, etc 3) an led-blink tutorial that instantiates a FuseSoC IP (ex. ValentyUSB, CPU : LatticeMico32, Microblaze) 4) Synthesizing (SymbiFlow, Yosys ) and Simulating the logic/timing WITH (litescope, SignalTap, Chipscope) and WITHOUT hardware (Renode?, Modelsim) 5) Place-and-Routing and programming (nextpnr, etc) 6) Building, Downloading and Debugging or stepping thru the CPU CODE
@msbanda21233 жыл бұрын
Awesome title 👏
@bertbrecht75403 жыл бұрын
Looking forward to following along but a bit worried that toolchain you described will fill up my development workstation with a rats nest of applications and directories that are difficult to keep track of not to mention keep up to date. But I am going to do it anyway.
@ShawnHymel3 жыл бұрын
The toolchain does install a good number of programs, but I found them relatively easy to manage and a lot less cumbersome than most of the vendor IDEs out there :)
@rubetz5282 жыл бұрын
Hey there! I want to go through this course but the stick version of the ICE40 board is out of stock. Could anybody suggest a not so expensive alternative?
@electronichome11532 жыл бұрын
Aliexpress. But be carefull - my first order in December 2021 was lost, my second in January'22 was sent to another address in another country, in another continent (?!). Then the board was out of stock for 7 months. Now is possible to find it there, but first contact the seller, to be sure that the board is available.
@boratnighty82 жыл бұрын
This a really good video cheers mate
@cyberspider789103 жыл бұрын
I am Ex-enthusiast not knowing what is FPGA. Now I am ready to battle as this video rekindled the sleeping giant.
@115maxx3 жыл бұрын
I would really love to work alongside this series, but sadly the ICE40 FPGA is not available on Digi-Key. At least not in europe...
@TarnPeko Жыл бұрын
The button I need to prepare are 4 pins buttons, right?
@fredkilner22993 жыл бұрын
In Verilog start with: `default_nettype none otherwise when you have a typo, Vivado at least maybe other tools too, will create a new signal and assign it 1'b0 aka 0 instead of catching the error. I always had that problem and didn't know about `default_nettype none then one day I walked in a class at the hacker dojo I wasn't enrolled in and the teacher prof guy started with that. When loading a design you can touch the FPGA with your finger to see if it is getting hot which is a sign your IO pads are assigned wrong and fighting. Maybe you let it assign I/O pads automatically so it is trying to drive a ground trace with '1' or something. Xilinx at least so much as I know doesn't allow tri-state buses or latches so everything is clocked (not 100% sure about that) so tristate buses are automatically changed to MUXes.
@ShawnHymel3 жыл бұрын
Great tip, thanks!
@razvanvlad6072 жыл бұрын
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!
@smde13 жыл бұрын
an FPGA is possibly described as - semi-soft hardware that allows you to construct a custom application specific micro-controller/micro-processor
@lidarman23 жыл бұрын
Shawn, did you work at Spark fun doing this stuff?
@ShawnHymel3 жыл бұрын
I did :)
@surflaweb3 жыл бұрын
Interesting dear. I can do parallel tasks with fpga?
@Alacritous3 жыл бұрын
At 8:30 That H in VHDL is doing a LOT of heavy lifting there.
@Henrix19983 жыл бұрын
Isn't Vivado free as well? And it does everything the separated tools do
@DrKnow653 жыл бұрын
RC10GT, as classy as a bow tie!
@KangJangkrik3 жыл бұрын
Is it possible to develop two MCU cores inside FPGA? Thanks!
@ShawnHymel3 жыл бұрын
Yes, assuming you have enough resources (e.g. logic cells) to do so.
@KangJangkrik3 жыл бұрын
@@ShawnHymel interesting, i'm going to try that on spare time
@MichaelOfRohan3 жыл бұрын
So is this how people plan to emulate the 6502?
@mazenas34433 жыл бұрын
please complete FPGA Course
@Ohem1 Жыл бұрын
When you listed the design flow it got really complicated. I was considering getting into FPGA but everywhere I kept seeing dividing opinions on what to focus on. VHDL or SystemVerilog, industry standard vs modern language, C or Python etc. Geez I’d like to stay with one language but also be within the industry expectations. I still see education programs staying with VHDL and C, instead of C++.
@tomg03 жыл бұрын
Great video
@youme101ptg3 жыл бұрын
Love these videos
@pablovicentico3 жыл бұрын
Excellent!!
@JeromeDemers3 жыл бұрын
well I hope digikey gets those iCEstick back in stock! They should definitely check that out before releasing those videos.