This video teaches how to write synthesizable SystemVerilog code for general components that serve as building blocks in digital circuit design, including asynchronous resettable D flip flops with and without enable signals, multiplexers, and D multiplexers. The course emphasizes that complex digital systems are composed of these simple reusable modules, and engineers must write their own code for these components when library versions are unavailable. Key implementation details include using non-blocking assignment statements for proper simulation behavior, adding hash delays to model setup and hold time requirements, and parameterizing data types and widths for flexibility. The video also explains that using flip flops with enable signals is recommended for power efficiency, as they only trigger on clock edges when the enable signal is asserted, rather than on every clock cycle.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
Course: Systemverilog Design 3 : L4.1 : Writing General Components in RTL Design - Part A
Added:now you will learn how to write a complete system verilog synthesizable code to design and interconnect so before going into the actual design in this session you will be learning to write few general components so in every system will have descend there are few modules or components which will come multiple times in a design and or another way if you decode any complex design into some simple uh system buildup modules those should be composed of a few multiplexes few flip flops and a few other simple circuits so these are called the general components and you need to write your own code for your general components if it is not really available readily so if you are working in a company this will be available in the company or the the tool companies will provide this library library components otherwise you need to write these components from scratch so here you learn how to write those components so we'll be learning how to write a asynchronous resettable flow and asynchronous resettable flop with an enable signal then uh how to write a multiplexer and d multiplexer also finally you'll be learning how to write fp4 so these are the basic building blocks of almost every system by log circuits digital circuits so the first one is a d flip flop with asynchronous reset so a simple flop is an asynchronous reset so this is the code module uh default passing reset which is parameterized with the type of logic 7.0 and your inputs are the clock reset and the dn and the output is d out and the input and output are of type which is passed as a parameter it's the default value is logic 7 down to serum now the functionality of a flop is very simple since the flow piece of asynchronous reason whenever there is a reset assorted you need to reset the output value to zero and whenever there is a clock available you need to store the in din and store it and flop it out to the layout in the next clock so this is a code in system variable for that always at positive clock or negative edge of reset so here we are considering the reset as a negative reset this always a positive edge of clock or negative just reset uh within a beginning you are writing the code here so if reset is equal to x or which is unknown then the output will be again unknown and else if the reset is um zero that is if three c is asserted then d out will be zero which will be reset the output value will be reset to zero and if there is if any none of these are there and uh if the clock is again x your d out will go x and if there is no reset or clock going to x or nor is it assorted then your diode will be equal to dn in the next positive jeff cloud so that is accomplished by using the non-blocking assignment statement which is less than or equal to so you can see that all your statements are assigned with a non-blocking assignment less than or equal to and also you might have noticed that i have added a hash one delay here in this flow this is to get the correct simulation behavior when we consider the setup and hold time or the other timing passing in the real flip flop this is how you model a flip flop uh which will store a type of logic 7.0 which is of eight bit fight and you can change the type or the width of the flip flop by changing the parameter while instantiating this particular flip flop now this flip flop doesn't have any um enable signal next we'll be learning how to implement an uh flip flop enable signal so the code is almost same you will be passing one more input to this module which is the enabled and if any of the clock or enable is going x then your d out will be again x or unknown and if not if there is enabled then you will change the output value to the input value so this is a change from the previous code you can see that here by default if none of these conditions are asserted your d out will be equal to dn in the next clause but here if none of these conditions are then there and if enable signal is asserted then they have to be assigned to d in the next clock so this is how we implement a flip flop with enable signal now you should use a flow with enable signal whenever it is possible the reason is if you had a symbol flop without enabled signal that flop will be powered or triggered on every positive edge of clock and if your input is not really changing on every clock positive or just a clock this uh power triggering or power power supply to this flop is unwanted or it is faster so if you can use an enable signal which will enable the flop only when there is a change in the input then it will save a lot of power so it is recommended to use an enable signal for almost of the all the flops especially when you want to flop a lot of signals
Related Videos
BMW Built A Radial Engine So Good It Made The Spitfire Obsolete Overnight
MachineTitans999
123 views•2026-06-18
UÇAK MOTOLARI ÇALIŞMA PRENSİMİ
PistonTV
428 views•2026-06-17
The Bizarre Design Flaw That Ruined The Convair 990
Jet-Deck
631 views•2026-06-19
Why Are Rocket Nozzles Bell-Shaped? Propulsion | Aerospace engineering | GATE | Viru Sir IITian
conceptlibrary
189 views•2026-06-15
US Navy's Helios laser tech
Striketech0310
6K views•2026-06-18
NEW ENGINEERING DESIGN FOR IAM MARWA APPALOOSA FARM @iammarwa
findingian001
443 views•2026-06-17
The Air Force Built a Jet With Wings Swept the Wrong Way
TheAbsurdArchiveYT
639 views•2026-06-16
China Is Building a Machine the World Can’t Stop
TechAIVision-f6p
192 views•2026-06-15











