140 likes | 398 Views
VHDL: The Very Basics. CprE 488x. VHDL. VHDL: VHSIC Hardware Description Language ( VHSIC → Very High Speed Integrated Circuit) VHDL is widely used to model digital systems. Used as a design verification and validation tool. VHDL Code Structure. Entity Declaration
E N D
VHDL: The Very Basics CprE 488x
VHDL • VHDL: VHSIC Hardware Description Language (VHSIC → Very High Speed Integrated Circuit) • VHDL is widely used to model digital systems. • Used as a design verification and validation tool.
VHDL Code Structure • Entity Declaration • Defines input/output ports • Architecture Declaration • Defines what the component does • Variables, Signals, Constants defined • Component Mapping • Interconnects previously defined components/entities.
Overview • Entity Declaration • Declare the signals that come in and out of your component. • Architecture Declaration • Perform the internal functionality of your module.
VHDL Structure • Entity Declaration • Specifies the unit’s ports • States the port’s name, type and length • Input/Output/Inout • Length varies from single bit to vectors
VHDL Structure • Entity Declaration • Specifies the unit’s ports • States the port’s name, type and length • Input/Output/Inout • Length varies from single bit to vectors
VHDL Structure • Architecture Declaration • Describes the operation of an entity • Declares all signals and components used • Process Sensitivity List • Contains all the ports to which the process is sensitive • Used to indicate which signal change triggers a process revision
VHDL Structure • Process Sensitivity List • Contains all the ports to which the process is sensitive • Used to indicate which signal change triggers a process revision
Component Instantiation • Reuse the 2-bit adder to create a 4-bit adder. • New Entity with: • A and B as two input bit vectors. • Cin as a single bit input. • C as an output bit vector. • Cout as a single bit output. • The architecture of the 4-bit adder is compose of 2 calls to the 2-bit adder.
Component Instantiation • Declaration • component name • Port( • Signal name : type • ); • end component • Instantiation • instantName : ComponentName • port map( • internalSignal => externalSignal • );
Questions???? rmercado@iastate.edu