VHDL
VHDL
VHDL
2022
eg:
signal busactive : boolean;
...
busactive <= true;
...
if (busactive and valid = ‘1’) then
data_out <= din;
valid_out <= ‘1’;
end if;
COMPONENTS OF VHDL
COMPONENTS OF VHDL
• Entity –A design’s interface signals to the external
circuitry.
• Architecture –Describes a design’s behavior and
functionality.
• Configuration –Binds an entity to an architecture when
there are multiple architectures for a single entity.
• Package –Contains frequently used declarations,
constants, functions, procedures, user data types and
components.
• Library –Consists of all the compiled design units like
entities, architectures, packages and configurations.
ENTITY
• Entity defines a new component , its I/O connections
and related declarations.
• It can be used as a component in other entities after
being compiled into a library.
• Any data type used in an entity must be previously
declared in a standard or user defined package.
• Using components in an entity helps in reducing the
complexity of a design and assists in building a
hierarchical design.
ENTITY PORTS
Entity port is a signal with a specified data flow
direction which provides an interconnection between
the component and its environment.
Modes of ports -
IN : input Value can be read but not assigned
OUT : output Value can be assigned but not read
INOUT : bi-directional Value can be read and assigned
BUFFER : out port with read capability. It is an output port
and not a bi-directional port.
entity my_and is
port (a, b, c : in std_logic; d : out std_logic);
end my_and;
Syntax:
STD and WORK need not be declared. Its syntax is
library library_name ;
components declared inside a library can be accessed by
the ‘USE’ statement
use library_name.package_name.item_name ;
use library_name.item_name ;
CONCURRENT VS SEQUENTIAL STATEMENTS
Concurrent statements
– Simple signal assignment statement
– Conditional signal assignment statement
– Selected signal assignment statement
Sequential Statements
– VHDL process
– Sequential signal assignment statement
– Variable assignment statement
– If statement
– Case statement
– Simple for loop statement
CONCURRENT STATEMENTS
• Intended only for design of Combinational
circuits
• Three purely concurrent statements , they can
only be used outside sequential code ie
outside process or sub-program –
When
Select
Generate
SEQUENTIAL STATEMENTS
• Used for design of both Combinational and
Sequential circuits
• Four purely sequential statements, they can
only be used inside sequential code–
If
Wait
Loop
Case
Integrated Synthesis Environment (ISE)
• ISE enables the developer to synthesize
(compile) their designs, perform timing
analysis, examine RTL diagrams, simulate a
design's reaction to different stimuli, and
configure the target device with
the programmer.