Тёмный
No video :(

The best way to start learning Verilog 

Visual Electric
Подписаться 28 тыс.
Просмотров 116 тыс.
50% 1

Опубликовано:

 

19 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 73   
@audiodiwhy2195
@audiodiwhy2195 Год назад
Outstanding! I am a Verilog newbie and was bewildered by the different Verilog programming paradigms until I watched this. Thank you.
@andrewphillip8432
@andrewphillip8432 3 года назад
Wow what a great video! Thanks for taking the time to put this together!
@VisualElectric_
@VisualElectric_ 2 года назад
Thanks, glad you liked it
@lujeanguieb7271
@lujeanguieb7271 5 месяцев назад
Cried in class because I couldn't understand this topic. Thank you for the simple explanation
@e630fnr
@e630fnr 6 месяцев назад
Blocking or non-blocking assignments can give you either combinational or sequential logic depending on the sensitivity list of the always block these assignments are included in.
@julio4094
@julio4094 Год назад
I took digital Circuits 1 and barely survives, this tutorial helped me understand what I didn't in my class. Thank you!
@ksbs2829
@ksbs2829 Год назад
At 4:02 I don't understand why the data flow is out1 = ((~X&A)&A)|(B&X); isn't the second &A redundant? I would think assign out1 = (~X&A)|(X&B); ? I haven't tried it in a tool so don't know if there is another reason to construct the statement this way. Great Video. Thanks.
@nikoskandyliotis8854
@nikoskandyliotis8854 Год назад
i would actually comment the same thing? are we thinking of sth wrong?
@riperboyxl3216
@riperboyxl3216 Год назад
it's wrong, you're correct on your solution
@LorenMLang
@LorenMLang Год назад
I had to come to the comments for the very same question.
@ichigonixsun
@ichigonixsun Год назад
I was going to ask the exact same question before I saw your comment.
@lukealadeen7836
@lukealadeen7836 11 месяцев назад
Same here, had me sitting up thinking why on earth they would write it like that! Okay now back to the video 😂
@ctbram0627
@ctbram0627 Год назад
Very goog. Short sweet and to the point! Your explanation of blocking and non-blocking was especially good. Coming from a programming background I get wrapped around that axel constantly.
@GayathriG-j7h
@GayathriG-j7h Месяц назад
Wow wow wow! , I am a total beginner to verilog and this video helped so much for my lab exam due in a few days. Thank you!
@kandredfpv
@kandredfpv Год назад
Awesome tutorial! I was able to follow with ease as a complete Verilog newbie. Thanks! 👍
@OmarWaelAhmed
@OmarWaelAhmed 8 месяцев назад
00:01 Verilog coding involves three different layers of abstraction and understanding the difference between combinational and sequential logic is important. 01:59 Modeling in Verilog at the gate level involves instantiating each logic gate independently and connecting them together using wires. 03:46 Behavioral level Verilog code describes circuit behavior at a high abstraction level. 05:40 Multiplexer can be implemented in different ways: gate level, data flow level, and behavioral level. 07:31 Utilize D-type flip-flops for sequential logic 09:14 Blocking and non-blocking assignments have different evaluation and assignment processes. 11:03 Understanding the difference between blocking and non-blocking assignments in Verilog 12:54 Use blocking assignments for combinational logic and non-blocking assignments for sequential logic.
@233kosta
@233kosta 10 месяцев назад
My first FPGA kit will be here in a few days... can't wait to get stuck in!
@huynhbaoduy6057
@huynhbaoduy6057 9 месяцев назад
Prominent instruction. Thank you !
@Kaamanita
@Kaamanita 2 месяца назад
Thank you so much and kudos to you for making this marvelous video!
@neilclay5835
@neilclay5835 9 месяцев назад
Excellent explanation
@kashaarjun595
@kashaarjun595 Год назад
Can anyone confirm to me that the statement assign out1 = ((~X & A)&A)|(B & X) should be assign out1 = (~X & A)| ( B&X)
@johnpatrickmoore5505
@johnpatrickmoore5505 Год назад
They're equivalent but yeah it should
@Ma_X64
@Ma_X64 Год назад
You can remove left internal parentheses without any effect. Then you can see that A & A is always equals A. So your two expressions are the same. There definitely is a rule of the formal logic that describes this kind of cases but I'm to lazy to take the book from the shelf.)
@MrMineHeads.
@MrMineHeads. Год назад
A&A simplifies to A anyway so they are equivalent
@lukealadeen7836
@lukealadeen7836 11 месяцев назад
​@@MrMineHeads.yea but why would you write it like that. Why not just have the simplified expression
@Shagrat_52
@Shagrat_52 9 месяцев назад
​@@lukealadeen7836is this design always simplified? is it impossible to write so as to make a small delay?
@arifnishan5646
@arifnishan5646 Год назад
just outstanding
@shantanufatale7968
@shantanufatale7968 Год назад
Really good informational video
@Hexor1211
@Hexor1211 10 месяцев назад
08:13 starting an important explanation of non-blocking vs blocking assignments.
@emanon2315
@emanon2315 2 месяца назад
I don't have any background in this subject, but I want to know why, at the data flow level, he used `((~X & A) & A) | (X & B)` and not `(~X & A) | (X & B)`.
@ksbs2829
@ksbs2829 Год назад
Very well done. Thanks
@ayeflippum
@ayeflippum 9 месяцев назад
*Visual Electric* 3:20 Why are there 2 ampersands: ((~X&A)&A)?
@cchsiang2002
@cchsiang2002 6 месяцев назад
I have the same question. (~X & A) | (B & X) should serve the purpose well.
@jfbeam
@jfbeam Месяц назад
It's a trick! Were you paying attention? Is your compiler a piece of s...? (it emit a warning "statement has no effect". at best it'll optimize it out.)
@SamualN
@SamualN 8 месяцев назад
the behavioural level is a bit like reactive programming which is something I'm familiar with as a web developer
@sajanjeka677
@sajanjeka677 6 месяцев назад
@3:54 Why do you &A twice ? shouldn't it just be (~X&A)|(X&B) ?
@sulphuric99
@sulphuric99 10 месяцев назад
Great video overall, other than the multiplexor code at 4:02 which could be simplified. Good explanation of non-blocking vs. blocking assignments.
@esijal
@esijal 18 дней назад
Excellent 🫡
@AK-vx4dy
@AK-vx4dy 6 месяцев назад
@3:56 Why (~X&A)&A) instead of ~X&A ?
@geevnahal7926
@geevnahal7926 2 года назад
Would you please make a series of videos teaching DSP using this setup?
@VisualElectric_
@VisualElectric_ 2 года назад
Maybe in the future.
@rahi10
@rahi10 11 месяцев назад
How do codes written at these different level of abstractions convert to synthesis in ASIC Design? Say I write, assign wire = (a&b) | (c&d) ; I can come up with 3 possible ways to synthesize this: 1) 2 AND, 1 OR gate ( 18 Transistors ) 2) 3 NAND gates ( 12 Transistors ) 3) AND-OR22 module ( 10 Transistors ) Which one does the code synthesize in this case and how does it make that decision?
@cryora
@cryora 11 месяцев назад
I'd assume number 1, because that is the literal interpretation of the boolean expression. Unless the synthesizer has a way to automatically simplify boolean expressions into simpler circuits.
@akhilthomas2890
@akhilthomas2890 8 месяцев назад
hi what is the third option? could you please explain it?
@riperboyxl3216
@riperboyxl3216 Год назад
3:30 ain't an error in that assign?
@asherpaul4450
@asherpaul4450 3 года назад
Can you please help us to have the Verilog code for the ifft and fft to implement in FPGA
@Vishalkumar-ez5xy
@Vishalkumar-ez5xy Год назад
thank you for this video
@Oppppppppppppppppp
@Oppppppppppppppppp 7 месяцев назад
Thank u
@eggxecution
@eggxecution 4 месяца назад
great
@tombouie
@tombouie Год назад
Thks &; I'm new to FPGAs & will try to watch your whole playlist. Oh a question, I would like to program FPGAs via smartphone & I hope to use the smartphone as the human interface to the FPGA. ??Can you point me in the right direction to get started??
@VisualElectric_
@VisualElectric_ Год назад
Hi, thanks! I'm not aware of any development tool or existing project which does this. Programming the FPGA is not a simple task so it will be a big challenge!
@tombouie
@tombouie Год назад
@@VisualElectric_ Thks, a few more newbie questions though; I been researching FPGAs (how they work in theory) & collecting the material to come up to speed. Now I need to choice my 1st FPGA to learn-on. 1. Given the initial comment, ??Which FPGA would you recommend to try implementing all these crux FPGA theories (ex: LUTs, Boolean Algebra, SOP/POS tables, etc) I've learnt so I can minimize frustration, profanity, throwing-things, etc ;)?? 2. ??What are some good groups/resources/etc to learn FPGAs with others knowledgeable people?? (I've found slim-to-none except a few good but old books, RU-vid playlists, etc ;) 3. ??Why pray-tell ain't FPGAs more popular?? (ex: programable FPGA hardware, parallel FPGA processing, etc runs circles around CPUs hands-down) Thks again
@AkbarRajaei
@AkbarRajaei 2 года назад
good job
@Reanplayzz
@Reanplayzz Год назад
I think you made a mistake here at 9:36. "Blocking" means, that the assignments are blocking, i.e. they run sequentially (one waits for the prior to finish). "Non-blocking" means, that the assignments do NOT block, i.e. they run in parallel and are evalutaed immediately.
@alfandosavant4639
@alfandosavant4639 5 месяцев назад
Is the example of dataflow level correct here? At around 3:40 , isn't it supposed to be: assign out1 = ( (~X&A) | (X&B) ); #newbie here, dont understand why the 1st AND gate is written as (~X&A)&A
@PaulKooros
@PaulKooros 2 дня назад
Yes, it's wrong in the sense that it doesn't match the logic gate schematics, but it is harmless (A&A = A), and still works the same. The compiler will optimize that out regardless.
@zulyadein4837
@zulyadein4837 11 месяцев назад
Is it term of bolean algebra...?...why the symbol different...
@temporary9508
@temporary9508 Месяц назад
Is Gate level design same a Structural design in Verilog ?
@marwanal-yoonus280
@marwanal-yoonus280 Год назад
Dear Sir 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
@phengyang2639
@phengyang2639 7 месяцев назад
Could be bc you’re driving the same output for two different processes. In VHDL I think this is equivalent to a “multiple drivers” error and I think that means the output can’t be determined correctly. If you think about it at the Logical Level, it may be clearer.
@nantes9807
@nantes9807 9 месяцев назад
What FPGA kit do you use ?
@ayanacharya9747
@ayanacharya9747 3 месяца назад
What software are you using?
@ladolahiral5007
@ladolahiral5007 6 месяцев назад
Which tool you using ?
@lazynet1246
@lazynet1246 Год назад
👍👍👍..,
@dustincdouglas2290
@dustincdouglas2290 4 месяца назад
You dropped the science down so smooth on this video man Much respect 🫡
@cchsiang2002
@cchsiang2002 6 месяцев назад
Why the firs example is not (~X & A) | (B & X) instead of ((~X & A) & A) | (B & X)? Why do we need the extra "& A"?
@alfcnz
@alfcnz Год назад
Great video, awesome teaching style. Thanks a bunch! What resources are you recommending as follows-ups?
@AkbarRajaei
@AkbarRajaei 2 года назад
good job
Далее
EEVblog #496 - What Is An FPGA?
37:44
Просмотров 761 тыс.
The History of the FPGA: The Ultimate Flex
18:08
Просмотров 340 тыс.
An Introduction to Verilog
4:40
Просмотров 152 тыс.
HOW TRANSISTORS REMEMBER DATA
16:58
Просмотров 255 тыс.
These Chips Are Better Than CPUs (ASICs and FPGAs)
5:08
What is an FPGA? Intro for Beginners
13:22
Просмотров 365 тыс.