Search This Blog

Tuesday, November 19, 2013

VHDL Lab Exercises...






VHDL Lab Exercise...

Learn VHDL with Naresh Singh Dobal Test Series...



1.  LAB Exercise 1             (Combinational System Design using Gates).

2.  LAB Exercise 2             (Combinational System Design data flow).

3.  LAB Exercise 3             (Combinational System Design using Behavior Model).

4.  LAB Exercise 4             (Flip Flop & Latches Design using Behavior Model).

5.  LAB Exercise 5             (Counters & Frequency Dividers Design using Behavior Model).

6.  LAB Exercise 6             (Hardware Peripherals &  System Design using Behavior Model).

7.  LAB Exercise 7             (Combinational System Design using Structural Model).

8.  LAB Exercise 8             (Flip Flop & Shift register design using Structural Model).



I also linked Solutions for most of the assignment
If you feel any difficulties in any assignment then you can follow the links mentioned in the last of assignment pages...


I would love to read your suggestions and comments here below.
My name is Naresh Singh Dobal, for any query contact us at nsdobal@gmail.com

VHDL Lab Exercise ::: Exercise 8






VHDL Lab Exercise   :::   Exercise 8

LAB- 8  DESIGN OF SHIFT REGISTERS AND FLIP-FLOPS USING STRUCTURAL MODEL.



VHDL Lab Exercise 8 :: VHDL with Naresh Singh Dobal Learning Series.


If you feel any difficulties in any assignment then follow the below link...



I would love to read your suggestions and comments here below.
My name is Naresh Singh Dobal, for any query contact us at nsdobal@gmail.com

VHDL Lab Exercise ::: Exercise 7





VHDL Lab Exercise   :::   Exercise 7


LAB5  COMBINATIONAL SYSTEM DESIGN USING STRUCTURAL MODEL.



VHDL Lab Exercise 7 :: VHDL with Naresh Singh Dobal Learning Series.




If you feel any difficulties in any assignment then follow the below link...



I would love to read your suggestions and comments here below.
My name is Naresh Singh Dobal, for any query contact us at nsdobal@gmail.com

VHDL Lab Exercise ::: Exercise 6






VHDL Lab Exercise   :::   Exercise 6

LAB 6 : HARDWARE PERIPHERALS  & SYSTEM DESIGNS.


Lab Exercise 6 :: VHDL with Naresh Singh Dobal Learning Series.



If you feel any difficulties in any assignment then follow the below link...



I would love to read your suggestions and comments here below.
My name is Naresh Singh Dobal, for any query contact us at nsdobal@gmail.com

VHDL Lab Exercise ::: Exercise 5





VHDL Lab Exercise   :::   Exercise 5

LAB5 : COUNTERS AND FREQUENCY DIVIDERS.


Lab Exercise 5 : VHDL with Naresh Singh Dobal Learning Series.


If you feel any difficulties in any assignment then follow the below link...



I would love to read your suggestions and comments here below.
My name is Naresh Singh Dobal, for any query contact us at nsdobal@gmail.com

VHDL Lab Exercise ::: Exercise 4






VHDL Lab Exercise   :::   Exercise 4 -


LAB4 : LATCHES & FLIP-FLOPS & ALU.



Lab Exercise 4 : VHDL with Naresh Singh Dobal Learning Series.



If you feel any difficulties in any assignment then follow the below link...



I would love to read your suggestions and comments here below.
My name is Naresh Singh Dobal, for any query contact us at nsdobal@gmail.com

VHDL Lab Excercise ::: Exercise 3






VHDL Lab Exercise   :::   Exercise 3 -

LAB 3 : COMBINATIONAL SYSTEM DESIGN USING BEHAVIOR MODELLING STYLE.


Lab Exercise 3 :  VHDL with Naresh Singh Dobal Learning Series.
Lab Exercise 3-b ::  VHDL with Naresh Singh Dobal Learning Series.


Task1 :      Write a VHDL code for Full adder using if-else.
Task2:       Write a VHDL code for Full subtractor using if-else.
Task3:       Write a VHDL code for 4:1 Multiplexer using if-else.
Task4:       Write a VHDL code for 1:4 Demultiplexer using if-else.
Task5:       Write a VHDL code for a 8:3 Encoder using if-else.
Task6:       Write a VHDL code for a 3:8 Decoder using if-else.
Task7:       Write a VHDL code for Full adder using case.
Task8 :      Write a VHDL code for Full subtractor using case.
Task9:       Write a VHDL code for 4:1 Multiplexer using case.
Task10:     Write a VHDL code for 1:4 Demultiplexer using case.
Task11:     Write a VHDL code for 8:3 Encoder using case.
Task12:     Write a VHDL code for 3:8 Decoder using case.
Task13:     Write a VHDL code for 3 bit comparator using if-else.
Task14:     Write a VHDL code for BINARY TO GRAY converter using if-else.
Task15:     Write a VHDL code for GRAY TO BINARY converter using case.


If you feel any difficulties in any assignment then follow the below link...



I would love to read your suggestions and comments here below.
My name is Naresh Singh Dobal, for any query contact us at nsdobal@gmail.com

VHDL Lab Exercise ::: Exercise 2






VHDL Lab Exercise   :::   Exercise 2 -

LAB2 : COMBINATIONAL SYSTEM DESIGN USING DATA FLOW MODELLING STYLE.

Lab Exercise 2a :: VHDL with Naresh Singh Dobal Learning Series.
Lab Exercise 2-b :: VHDL with Naresh Singh Dobal Learning Series.




Task1 :      Write a VHDL code for all gates using with-select.
Task2:       Write a VHDL code for Full adder using with-select.
Task3:       Write a VHDL code for Full subtractor using with-select. .
Task4:       Write a VHDL code for 4:1 Multiplexer using With-select.
Task5:       Write a VHDL code for a 1:4 Demultiplexer using with-select.
Task6:       Write a VHDL code for a 8:3 Encoder using With-Select.
Task7:       Write a VHDL code for a 3:8 Decoder using With-Select.
Task8 :      Write a VHDL code for all gates using when-else.
Task9:       Write a VHDL code for Full adder using when-else.
Task10:     Write a VHDL code for Full subtractor using when-else.
Task11:     Write a VHDL code for 4:1 Multiplexer using When-else. .
Task12:     Write a VHDL code for a 1:4 Demultiplexer using when-else.
Task13:     Write a VHDL code for a 8:3 Encoder using When-else.
Task14:     Write a VHDL code for a 3:8 Decoder using When-else.
Task15:     Write a VHDL code for 8:3 Encoder with Priority using when-else.
Task16:     Write a VHDL code for BINARY to GRAY Converter using with-select.
Task17:     Write a VHDL code for GRAY to BINARY Converter using with-select.
Task18:     Write a VHDL code for BINARY to GRAY Converter using when-else.
Task19:     Write a VHDL code for GRAY to BINARY Converter using when-else.
Task20:     Write a VHDL code for BINARY to EXCESS-3 using With-select.
Task21:     Write a VHDL code for BINARY TO GRAY Converter using equation.
Task22:     Write a VHDL code for GRAY to BINARY Converter using equations.
Task23:    Write a VHDL code for BINARY TO EXCESS-3 using equations.



If you feel any difficulties in any assignment then follow the below link...



I would love to read your suggestions and comments here below.
My name is Naresh Singh Dobal, for any query contact us at nsdobal@gmail.com

VHDL Lab Exercise :: Exercise 1






VHDL Lab Exercise   :::   Exercise 1 -


LAB 1:  COMBINATIONAL SYSTEM DESIGN USING BASIC GATES AND EQUATIONS.
VHDL Lab Exercise 1 :: VHDL with Naresh Singh Dobal Learning Series.




Task1 :   Write a VHDL Program for all Logic Gates.
Task2 :   Write a VHDL code for a Half Adder using Digital Electronics.
Task3 :   Write a VHDL code for a Full Adder using Digital Electronics.
Task4 :   Write a VHDL code for a Half Subtractor using Digital Electronics.
Task5 :   Write a VHDL code for a Full Subtractor using Digital Electronics.
Task6:    Write a VHDL code for a 4:1 Multiplexer using Digital Electronics.
Task7:    Write a VHDL code for a 1:4 Multiplexer using Digital Electronics.
Task8:    Write a VHDL code for a 4:2 Encoder using Digital Electronics.
Task9:    Write a VHDL code for a 2:4 Decoder using Digital Electronics.
Task10:  Write a VHDL code for 1 bit Comparator using Digital Electronics. 


If you feel any difficulties in any assignment then follow the below link...



I would love to read your suggestions and comments here below.
My name is Naresh Singh Dobal, for any query contact me at nsdobal@gmail.com

Tuesday, November 12, 2013

A Small Discussion about VHDL & Verilog HDL...






A Small Discussion about VHDL & Verilog HDL -


VHDL or Verilog HDL - A small discussion (VHDL with Naresh Singh Dobal learning Series).



Verilog HDL is easier to understand and use, It is very effectively used for simulation and synthesis. but it lacks for system level or complex designing. It is promoted by OVI (Open Verilog International). It is widely used for ASIC designing or lower level design (RTL or  lower), but this results in faster simulation and effective synthesis. Mostly used in North America, Asia & Japan, but not popular in Europe.

As comparable to verilog HDL, VHDL is more complex, thus difficult to learn and use. But this offers more flexibility of designing. Since VHDL is better suited for handling very complex systems, so it is now gaining popularity. VHDL  is mainly promoted by VHDL international. VHDL is relatively weaker in lower designs. But superior in system level design. Many believes that in long terms presents better condition and adaptability than its competitors. This language is widely used in Europe, significantly used in US and Canada, but this disliked in Japan...


Both the HDL's are used to describe electronic systems.
The function of systems is to get input data from it's environment and give output some data in return.
In verilog HDL this is called a module which is a basic building block in Verilog HDL, and in VHDL this is defined in Entity & Architecture Pair.
 Both the Languages are IEEE Standard.


I would love to read your suggestions and comments here below,
Best Regard //
Naresh Singh Dobal
nsdobal@gmail.com

Monday, November 11, 2013

Basics of VHDL Language Execution process concurrent and sequential







Basics of VHDL Execution Process (Concurrent and Sequential) 




In this comprehensive tutorial, we will cover everything you need to know about VHDL sequential and concurrent statements. Sequential statements allow us to execute code in a step-by-step manner, while concurrent statements offer a more parallel execution approach. Welcome to this beginner's guide on VHDL basics, where we will dive into the concepts of sequential and concurrent statements in VHDL. If you've ever been confused about these fundamental aspects of VHDL programming, this video is perfect for you. We will start by explaining the differences between sequential and concurrent statements, providing clear examples and illustrations to eliminate any confusion. By the end of this video, you will have a solid understanding of how to effectively utilize sequential and concurrent statements in your VHDL designs. This guide is suitable for beginners who have some basic knowledge of VHDL. We will go step-by-step and explain each concept thoroughly, ensuring that you grasp the fundamentals before moving on to more advanced topics. Make sure to subscribe to our channel for more informative videos on VHDL programming and digital design. Don't forget to hit the notification bell to stay updated with our latest uploads. If you have any questions or suggestions, feel free to leave them in the comments section below.

       Before start writing of codes in VHDL for digital systems you must know about the execution of VHDL language, you should know that how the tools process the VHDL code. This is a very important concept you should understand for proficiency in VHDL.

VHDL can be programmed in following execution pattern.
1.Concurrent Execution.
2.Sequential Execution.
 
 
VHDL can work on –
1.Concurrent Statements.
2.Sequential Statements.
3.Net-List Language.
4.Timing Specification.
5.Waveform Generation Language.
 
 
Sequential statements are very much like software languages. These statements execute sequentially that means at the start statement 1 will execute and then statement 2 will execute than statement 3 will execute and so on.

This means that sequential statements must be in correct order, just like the flow-charts we have in software.  Let’s understand this with a simple example.


If (a=b) then
    eq <= ‘1’;
Else
   eq <= ‘0’;
End if;

We also have the concurrent statements in VHDL, these statements are very likely to a hardware model like a schematic design. All the concurrent statements execute simultaneously, just like hardware. 

So if you have Concurrent statement 1 and statement 2 and 3 and 4 and so on… and all these statements executes concurrently, which means when the concurrent statement 1 is executing at the same time statement 4 is executing, similarly at the same time statement 2 or statement 3 are executing. I mean all are executing at the same time, so this is important to know that the sequence or order of the statements not really matter if your statement executing concurrently, and you can write them anywhere within the architecture without thinking of the sequence. And the results will be the same.




Net list language –
Net list language is also working on Concurrent execution. But only the difference is in net list language we design our system by defining the basic elements like gates or collection of gates (called modules and registers). 

** Above three languages are used for designing purpose.


Other two languages i.e. Timing specification and waveform generation language are used for verification purpose. In brief-
Timing Specification -  we can define the flow of data from input to output in our simulation screen but again this cannot be implemented in real life hardware because you can't specify the time of flow of data. So timing specification language only use in writing of test benches. Same a waveform generation language,
Is used for creation of waveforms, basically this is a  algorithm to get the same output by minimizing the processing time.


For more information you can go with our video tutorial series.