A hardware description language (HDL) is a specialized computer language used to describe the structure and behavior of electronic circuits, and most commonly, digital logic circuits. It is a textual description consisting of expressions, statements and control structures. It is a language that describes hardware.
There are two major hardware description languages: VHDL and Verilog. There are different types of description in them: "dataflow, behavioral and structural". Example of dataflow of VHDL:
LIBRARY IEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTTIY NOT1 IS
PORT(
a : IN STD_LOGIC;
b : OUT STD_LOGIC;
END NOT1;
ARCHTECTURE behavioral OF not1 IS
BEGIN
b <= NOT1 a ;
END behavioral ;
👉VHDL stands for very high-speed integrated circuit Hardware Description Language. It is a programming language used to model a digital system by dataflow, behavioral and structural style of modeling.
👉VHDL Program Format:
1) ieee.std_logic_1164 (from the ieee library),
2) standard (from the std library) and
3) work (work library).
👉Describing a Design:
👉Entity Declaration
👉Architecture −
In this modeling style, the flow of data through the entity is expressed using concurrent (parallel) signal. The concurrent statements in VHDL are WHEN and GENERATE.
Besides them, assignments using only operators (AND, NOT, +, *, sll, etc.) can also be used to construct code.
Finally, a special kind of assignment, called BLOCK, can also be employed in this kind of code.
In concurrent code, the following can be used −
⦁ Operators
⦁ The WHEN statement (WHEN/ELSE or WITH/SELECT/WHEN);
⦁ The GENERATE statement;
⦁ The BLOCK statement
👉Behavioral Modeling
In this modeling style, the behavior of an entity as set of statements is executed sequentially in the specified order. Only statements placed inside a PROCESS, FUNCTION, or PROCEDURE are sequential.
PROCESSES, FUNCTIONS, and PROCEDURES are the only sections of code that are executed sequentially.
However, as a whole, any of these blocks is still concurrent with any other statements placed outside it.
One important aspect of behavior code is that it is not limited to sequential logic. Indeed, with it, we can build sequential circuits as well as combinational circuits.
The behavior statements are IF, WAIT, CASE, and LOOP. VARIABLES are also restricted and they are supposed to be used in sequential code only. VARIABLE can never be global, so its value cannot be passed out directly.
👉Structural Modeling
In this modeling, an entity is described as a set of interconnected components. The order of these statements is not important. The structural style of modeling describes only an interconnection of components without implying any behavior of the components themselves nor of the entity that they collectively represent.
In Structural modeling, architecture body is composed of two parts − the declarative part (before the keyword begin) and the statement part (after the keyword begin).
👉Logic Operation – AND GATE
VHDL Code:
Library ieee;
use ieee.std_logic_1164.all;
entity and1 is
port(x,y:in bit ; z:out bit);
end and1;
architecture sp of and1 is
begin
z<=x and y;
end sp;
👉Data Objects :
Type of data objects:
1) Constant :
2) File :
3) Variables :
4) Signal :
what is VHDL Operators:? - Introduction to digital system
The operators in VHDL are divided into four categories:
⦁ Arithmetic operators
⦁ Shift operators
⦁ Relational operators
⦁ Logical operators
Operator overloading:
Operator overloading is the most useful feature of the VHDL languageOperators work only on specific types+: only on integer, real, physical types&: only on arraysIf a designer wants to use a particular operator on user defined types, the operator should be overloaded.+ is used only for the numeration type, to add 2-bit vector it doesn’t work so designer need to write a function that overload the operator for this operation.Operator overloading is a declaration of a function whose designator is an operator symbol. The operator is called overloaded if there is more than one function specifying it for different data and result types. It is a manner in which the system allows the same operator name or symbol to be used for multiple operations.
What are PAL & PLA ? -Logic Design , Example, and differences ..
PAL
PAL is a programmable logic device that has Programmable AND array & fixed OR array. The advantage of PAL is that we can generate only the required product terms of Boolean function instead of generating all the min terms by using programmable AND gates. The block diagram of PAL is shown in the following figure.
Here, the inputs of AND gates are programmable. That means each AND gate has both normal and complemented inputs of variables. So, based on the requirement, we can program any of those inputs. So, we can generate only the required product terms by using these AND gates.
Here, the inputs of OR gates are not of programmable type. So, the number of inputs to each OR gate will be of fixed type. Hence, apply those required product terms to each OR gate as inputs. Therefore, the outputs of PAL will be in the form of sum of products form.
PAL
PAL is a programmable logic device that has Programmable AND array & fixed OR array. The advantage of PAL is that we can generate only the required product terms of Boolean function instead of generating all the min terms by using programmable AND gates. The block diagram of PAL is shown in the following figure.
Example
Let us implement the following Boolean functions using PAL.
A=XY+XZ′B=XY′+YZ′The given two functions are in sum of products form. There are two product terms present in each Boolean function. So, we require four programmable AND gates & two fixed OR gates for producing those two functions. The corresponding PAL is shown in the following figure.
The programmable AND gates have the access of both normal and complemented inputs of variables. In the above figure, the inputs X, X′X′, Y, Y′Y′, Z & Z′Z′, are available at the inputs of each AND gate. The symbol ‘X’ is used for programmable connections.
Here, the inputs of OR gates are of fixed type. So, the necessary product terms are connected to inputs of each OR gate, so that the OR gates produce the respective Boolean functions. The symbol ‘.’ is used for fixed connections.
The given two functions are in sum of products form. There are two product terms present in each Boolean function. So, we require four programmable AND gates & two fixed OR gates for producing those two functions. The corresponding PAL is shown in the following figure.
The programmable AND gates have the access of both normal and complemented inputs of variables. In the above figure, the inputs X, X′X′, Y, Y′Y′, Z & Z′Z′, are available at the inputs of each AND gate. The symbol ‘X’ is used for programmable connections.
Here, the inputs of OR gates are of fixed type. So, the necessary product terms are connected to inputs of each OR gate, so that the OR gates produce the respective Boolean functions. The symbol ‘.’ is used for fixed connections.
0 Comments