IRVS VLSI IDEA INNOVATORS

IRVS VLSI IDEA INNOVATORS
VLSI Project, Embedded Project, Matlab Projects and courses with 100% Placements

Saturday, November 20, 2010

Sequential Statements

• VHDL code is inherently concurrent.

• Sections of code that are executed sequentially are :

– PROCESS
– FUNCTION
– PROCEDURE


• One important aspect of sequential code is that it is not limited to sequential logic.

• We can build sequential circuits as well as combinational circuits.

• Sequential code is also called behavioral code.

• Thus a PROCESS is a concurrent statement which describes behavior.

• Sequential statements are allowed only inside PROCESSES, FUNCTIONS, or PROCEDURES.

• Sequential statements are:

– IF
– WAIT
– CASE
– LOOP


• VARIABLES are also restricted to be used in sequential code only.

NOTE: VARIABLE can never be global, so its value can not be passed out directly.

SIGNALS and VARIABLES
• VHDL has two ways of passing non-static values around: by means of a SIGNAL or by means of a VARIABLE.

• A SIGNAL can be declared in a PACKAGE, ENTITY or ARCHITECTURE (in its declarative part), while a VARIABLE can only be declared inside a piece of sequential code.

• SIGNAL is global while VARIABLE is local.

• The value of a VARIABLE can never be passed out of the PROCESS directly; if necessary, then it must be assigned to a SIGNAL.

• Update of VARIABLE is immediate whereas new value for SIGNAL is generally only guaranteed to be available after the conclusion of the present run of the PROCESS.

• Assignment operator for SIGNAL is “<= “ while that for VARIABLE is “ : =

information shared by www.irvs.info