Tips for Verilog beginners from a Professional FPGA Engineer

Hi, I'm Stacey, and I'm a Professional FPGA Engineer! Today I go through the first few exercises on the HDLBits website and discuss tips for Verilog beginners that I see going through them.
HDLBits website:
hdlbits.01xz.net/wiki/Main_Page
Buy me a coffee to support my channel: www.buymeacoffee.com/fpgasfor...

Пікірлер: 83

  • @FPGAsforBeginners
    @FPGAsforBeginners3 жыл бұрын

    Hi everyone, Thanks for all the feedback! I'm hoping to make some more videos like this one. To this end, I've made a google form to find out more of what you want to see! It's a handful of questions, all optional. Thanks again! forms.gle/ssNwzTKiioj3RNHD9 Also, I know I ramble in this one quite a bit. It was my first video and I didn't know what I was doing! My newer ones are more concise. My goal is to cram as much information into as small of a time as possible! Appreciate you all!

  • @cccmmm1234
    @cccmmm1234 Жыл бұрын

    Keeping it simple and clear is the best advice ever. It often allows the synthesis tools to do a better job too!

  • @JohnJohnson-dl8oq
    @JohnJohnson-dl8oq3 жыл бұрын

    Hey Stacey, this was really good! I hope you'll post more videos!

  • @FPGAsforBeginners

    @FPGAsforBeginners

    3 жыл бұрын

    Thanks!

  • @ksbs2036
    @ksbs2036 Жыл бұрын

    That was great! Looking forward to watching the rest of your videos 😊

  • @johantjie
    @johantjie Жыл бұрын

    I just discovered your channel and looking forward to watching all the videos! Thanks for the awesome tutorials

  • @digicinematic
    @digicinematic29 күн бұрын

    Wow, thanks for the video. The last time I did logic gates (using ICs) and Karnaugh maps was the mid-1990s while studying electrical and electronic engineering. Good times.

  • @bulgarianicedtea7897
    @bulgarianicedtea78976 ай бұрын

    You are a wonderful presenter and I love your youtube channel! I'm only starting to get into FPGA's, as a soon to be Electrical Engineering student, I figured getting a head start with the things I want to study would be useful. You're one of the only channels I have found that has resources on HDL, and teach/explain it in a way that's easy to grasp. You're awesome!

  • @joshelijah5144
    @joshelijah51442 жыл бұрын

    Thank you so much Stacey! I come from an analog electronics background, and found this very useful. Please keep the videos up!

  • @coding_and_things
    @coding_and_things Жыл бұрын

    Excellent video! Keep up the awesome work.

  • @darkdante2k4
    @darkdante2k42 жыл бұрын

    Hi Stacey, thanks for making these videos, they are very helpful! I really hope you keep making youtube videos.

  • @MechaCat123
    @MechaCat123 Жыл бұрын

    Great advice! thank you

  • @SteveAcomb
    @SteveAcomb Жыл бұрын

    Great video! Thanks for the tips!

  • @adithyadevmattada810
    @adithyadevmattada8102 жыл бұрын

    Hey Stacey, this is really great stuff! loved it, and i hope i can get a lot out of this channel.

  • @ZenoTasedro
    @ZenoTasedro Жыл бұрын

    Great video, thank you!!

  • @10e999
    @10e9992 жыл бұрын

    This is great! Thanks, Stacey! Subscribed !

  • @tose9611
    @tose96113 жыл бұрын

    Thanks! Great!

  • @FPGAsforBeginners

    @FPGAsforBeginners

    3 жыл бұрын

    Thanks for the feedback!

  • @VeLawrence
    @VeLawrence Жыл бұрын

    Love this thanks for sharing

  • @AlejandroHernandez-xi4vl
    @AlejandroHernandez-xi4vl3 жыл бұрын

    This is awesome, thanks a lot Stacey!!

  • @FPGAsforBeginners

    @FPGAsforBeginners

    3 жыл бұрын

    Thanks!

  • @IzharDhiyaUlHayyan-ok6yf
    @IzharDhiyaUlHayyan-ok6yf3 жыл бұрын

    Great job, I'll wait your next video

  • @rovshansharifli7760
    @rovshansharifli77602 жыл бұрын

    Explanations are really good!

  • @Obsessedwithcoding
    @Obsessedwithcoding9 ай бұрын

    I will be watching every one of your videos in a timely manner. Thank you for the great content!

  • @FPGAsforBeginners

    @FPGAsforBeginners

    9 ай бұрын

    Thanks for your support!

  • @PawanKumar-pn9gi
    @PawanKumar-pn9gi2 жыл бұрын

    Hey ma'am you did really well. Certainly the best way to explain. Thanks

  • @donnstewart706
    @donnstewart7063 ай бұрын

    Just found your channel. As I am a total FPGA noob, this video was so helpful. I have some experience designing and implementing hardware using physical 74LS series ICs (made an processor), but FPGA and verilog are new to me. I have in my struggles learned now that I am not writing a program but describing a circuit thanks to your help. Best wishes!

  • @BeMuslimOnly
    @BeMuslimOnly7 ай бұрын

    Good video tutorial ❤ thank you

  • @cccmmm1234
    @cccmmm1234 Жыл бұрын

    Thanks Stacey. I've been working with FPGAs on and off from the 1990s and I find your approach very informative.

  • @Blesson_IIITMK
    @Blesson_IIITMK5 ай бұрын

    That was a Nice and Simple presentation !!!!!!

  • @mmetzger79
    @mmetzger792 жыл бұрын

    Hi Stacey - fantastic video! I'm an old electrical engineer who got my start physically breadboarding and/or gates, etc. when they only existed in chips and we used "real" wires. FPGA is a natural progression yet I struggled so much looking for content to help make the transition. As you said, the learning curve is sooo steep! And so hard to "ease in" to this. You have to start out with basically everything from design to testbench to constraint files...each complex, with their own nuances and seemingly 100's of ways to mess up! Even the Amazon highly recommended book I got seemed to jump all over the place and assume a great deal of background knowledge. I had to re-read sections over and over just to understand what the author was trying to say. (Readler's "Verilog By Example" is wonderful, but only a tiny subset of what you need to actually program an FPGA - back to my earlier comment.) How I wish you had done this video a year ago - would have saved me many hours of frustration! Thanks so much and please keep it up!

  • @jasontay4704
    @jasontay47046 ай бұрын

    Thanks for suggesting HDLbits! I've been picking up Verilog in a haphazard way for years, I'm just working through the whole thing now just to clean up and tidy up my knowledge. Thanks!

  • @communicationskills1888
    @communicationskills18883 жыл бұрын

    Great work!

  • @harrydobbs4179
    @harrydobbs4179 Жыл бұрын

    Hi ! Your channel is amazing! Keep up the good work :)

  • @placeholder5982
    @placeholder59822 жыл бұрын

    This was super useful!

  • @rwasher320
    @rwasher320 Жыл бұрын

    great vid, thanks

  • @jcd2diablo100
    @jcd2diablo1002 жыл бұрын

    Great video ... looking for more great and useful videos :)

  • @briancooper2737
    @briancooper27375 ай бұрын

    HDL bits is sweet, and I thought you presented everything very well. I will be look for more of your videos.

  • @AbarajithanGnaneswaran
    @AbarajithanGnaneswaran3 жыл бұрын

    Congratulations on the first video. Would be very useful for beginners

  • @FPGAsforBeginners

    @FPGAsforBeginners

    3 жыл бұрын

    Thanks!

  • @hant226
    @hant2262 жыл бұрын

    Your video is great, hope you post more video about hardware engineer

  • @loose-leif
    @loose-leif3 жыл бұрын

    Amazing!

  • @FPGAsforBeginners

    @FPGAsforBeginners

    3 жыл бұрын

    Thanks!

  • @bertkoerts3991
    @bertkoerts39915 ай бұрын

    Good that you made this video, FPGA has a hurdle in the beginning, and beginners tutorials are not abundant… Thanks, 👍😊 BTW, love how you communicate with Verilog, like it is a cat or something…👍😊

  • @flip4119
    @flip4119 Жыл бұрын

    Great video :)

  • @SOMYAGUPTA-jz9qr
    @SOMYAGUPTA-jz9qr21 күн бұрын

    Thanks maam for such amazing explaination..love from india>>

  • @AkbarRajaei
    @AkbarRajaei2 жыл бұрын

    good job. I know VHDL and am trying to learn Verilog.

  • @Maj_venture
    @Maj_venture2 ай бұрын

    I got new Job as hardware designer but never done any FPGA, thanks god I found your channel :)), cause my senior doesnt look so nice :P

  • @markchristophergemzon1052
    @markchristophergemzon10523 жыл бұрын

    Go Stacey!

  • @maninderpalsingh9097
    @maninderpalsingh90972 жыл бұрын

    Best advice : keep it simple

  • @bartibv
    @bartibv2 ай бұрын

    Where have You been my whole life?! Like and subscribe

  • @johnmartin1024
    @johnmartin1024 Жыл бұрын

    Stacey. Awesome . . . simply Awesome. I would love to have you as a live classroom teacher or tutor. So many FPGA sources suffer from "the curse of knowledge". They do not seem to realize that their knowledge background is much more advanced than my knowledge background. Ahem . . . you might mention at the beginning that a background in digital logic gates and binary logic / boolean algebra would be most helpful for the completely uninitiated. Internet handshake. Internet hug. (gratitude hug - NOT flirting) John M.

  • @rylendy5230
    @rylendy5230 Жыл бұрын

    Cool

  • @yensteel
    @yensteel3 жыл бұрын

    Wow! Congratulations for posting your first video, and thanks for your teaching! I hope you can continue and make this a series. ^ ^ Also, thank you for introducing us to HDLbits. It looks like a great way to practice! Just a question, is there a way to calculate square roots on non-square numbers? VHDL has an iEEE library, but still couldn't find one for Verilog. Is there an easy way?

  • @FPGAsforBeginners

    @FPGAsforBeginners

    3 жыл бұрын

    Thanks for the feedback. There is a way to calculate square roots using a CORDIC (en.wikipedia.org/wiki/CORDIC ). It depends on the vendor, but both xilinx and Intel(altera) have CORDIC ip that you can use, they usually generate both VHDL and verilog (you can mix and match too, usually tools will allow a mix of both languages). They generally are not efficient and pretty bulky both in terms of space on the FPGA and computation time, so I usually try to offload any divide/square root operations off to a microcontroller if possible.

  • @yensteel

    @yensteel

    3 жыл бұрын

    @@FPGAsforBeginners Thank you for the help!

  • @user-ld3jn2pm5g
    @user-ld3jn2pm5g Жыл бұрын

    Dear Sir Thank you very much for your helpful videos. I am a beginner in Verilog programming language, I have a zybo_zc_10 board. Please, I want to display a real-time video signal through this board. Do you have any valuable tutorials that could guide me to start this project? Thanks, again.

  • @powerHungryMOSFET
    @powerHungryMOSFET Жыл бұрын

    Hi Stacey, thanks for the video, I wanted to know how do I start learning VHDL or Verilog? I have studied digital systems, and done some basics of VHDL coding. But how do I become good enough to get a job ? Can you please tell about this

  • @yungbanz4635
    @yungbanz4635 Жыл бұрын

    Hypothetically speaking, how would we re-design the and gate, or any other gate in a way that it deals with inequal input sizes for inputs A and B?

  • @marwanal-yoonus280
    @marwanal-yoonus280 Жыл бұрын

    Thank you very much for this helpful video Please, I try to write the following Verilog code in Vivado, the synthesis process is OK but when I want to implement it an error signal appear !! module Tog_not (hsync, EOL, q); input hsync, EOL; output reg q; always @ (posedge hsync) begin q

  • @mujeevkhan7298
    @mujeevkhan7298 Жыл бұрын

    Can you make processor design playlist from the scratch?

  • @3dmaxuser
    @3dmaxuser Жыл бұрын

    Great video I'm just starting out with FPGA chips so this is a real help 😊

  • @LUCKYLUCKY-rs5ps
    @LUCKYLUCKY-rs5ps Жыл бұрын

    Hey sir / mam I name is lucky I need help regarding my work on a project on which i am working i don't know to to write a code of path planning in v hdl will u pls help me in this

  • @fpga-all-day
    @fpga-all-day3 жыл бұрын

    Hi Stacy! As a professional, how do you feel about the use of gate primatives over assign statements with binary expressions? Are primatives too fancy?

  • @FPGAsforBeginners

    @FPGAsforBeginners

    3 жыл бұрын

    Hi Kasey! I'd say that for a beginner primitives are not something to worry about. The synthesis tool will automatically infer primitives as it sees fit. Synthesis tools are highly efficient and generally good at choosing when to use what. For intermediate and advanced users, there are times where it may be necessary to instantiate primitives explicitly if the designer has a specific RTL implementation in mind, but even then, usually one can predict what primitives will be inferred by the tool just based on the code, and you don't even need to explicitly instantiate them. I've used them perhaps a handful of times in my career, and almost all of those times were using older tools that weren't as good at inferring them. With the latest tools I hardly ever need to.

  • @fpga-all-day

    @fpga-all-day

    3 жыл бұрын

    @@FPGAsforBeginners Thank you for your response! When coding combinational logic circuits I prefer using primatives so that I can think of the circuit visually. I don't see many people using them.

  • @FPGAsforBeginners

    @FPGAsforBeginners

    3 жыл бұрын

    @@fpga-all-day I don't think it's that common, but if it works for you and that's the way you think about combinitorial logic then there's nothing wrong with that! I always recommend to code how you think!

  • @jogeshsingh854
    @jogeshsingh8543 жыл бұрын

    Is it good practice to write code at behavioral level, like designing AND gate using if/else statements?

  • @FPGAsforBeginners

    @FPGAsforBeginners

    3 жыл бұрын

    I'm not 100% sure what you mean. If you mean a dedicated module that's just an AND gate, then that's a fun exercise to build for a beginner, but not something you need to do later on. If you mean incorporating "if" statements combined with "and" conditions in your code at a larger scale, than sure, that's fine! Preferred even! At the end of the day the RTL circuit that is generated by the synthesis tool should be the same either way. I recommend coding the way you think about it. If you think of it in terms of "if" conditionals, then code it that way. I will only add that I recommend covering all cases. an "if" statement should generally have an "else" with it. If you don't, you can create an inferred latch in some cases, which can cause trouble.

  • @jogeshsingh854

    @jogeshsingh854

    3 жыл бұрын

    @@FPGAsforBeginners yeah , I know it's very critical for one to understand that latches could be inferred In combinational circuits more easily.👍🏼👍🏼👍🏼hope to see you covering more about verilog concepts and some good techniques of writing efficient code for beginners and for experts as well.

  • @alexeigoun
    @alexeigoun Жыл бұрын

    Hard to see code on the monitor, can you make background dark.

  • @nantes9807
    @nantes98078 ай бұрын

    Hi Stacey, I'm aim to become an engineer working in the chip design industry, what Xilinx/Alterta board should I buy to learn?, my budget is under 150$.

  • @FPGAsforBeginners

    @FPGAsforBeginners

    8 ай бұрын

    Digilent has several options within your budget (depending on shipping costs) ArtyS7 and CoraZ7 both < 150$. Xilinx is a better choice.

  • @nantes9807

    @nantes9807

    8 ай бұрын

    ​@@FPGAsforBeginners Between 150$ and 200$. I'm now considering DE-10 Lite & Basys 3 Artix-7 (both have VGA port). What is better for learning? Thank you.

  • @FPGAsforBeginners

    @FPGAsforBeginners

    8 ай бұрын

    @@nantes9807I'd say Basys 3 Artix-7. There are tons of examples out there if you google "Basys 3 example projects" to get you started.

  • @priyadarshanish
    @priyadarshanish2 жыл бұрын

    Hi Stacey. I started using HDLbits two days ago. Now the website isn’t working. Do you know any alternatives that are similar to this?

  • @FPGAsforBeginners

    @FPGAsforBeginners

    2 жыл бұрын

    It seems it's temporarily down. There's chipdev.io/ as well, and makerchip.com/sandbox/

  • @priyadarshanish

    @priyadarshanish

    2 жыл бұрын

    @@FPGAsforBeginners Thank you so much Stacey.

  • @robinhodson9890
    @robinhodson9890 Жыл бұрын

    Text on the screen is far too small. I can't read it on my screen at all. There's also far too much wasted space around the screen. The variable name one (which I found after taking a screenshot and zooming in), is non-descriptive and confusing. Being unable to see it, I assumed you were talking about the number 1.

  • @user-ng8rl3jb1i
    @user-ng8rl3jb1i Жыл бұрын

    sure cool ill do that hahaha