IRVS VLSI IDEA INNOVATORS

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

Tuesday, November 2, 2010

concurrent constructs (with…select)

• A concurrent statement which assigns one of several expressions to a signal depending on the value of the expression at the top.

• Equivalent to a process containing a case statement.

Syntax

[Label:] with Expression select
Target <= [Options]
Expression [after TimeExpression] when Choices,
Expression [after TimeExpression] when Choices,
Expression when others;


Where to use ?

architecture – begin – HERE – end
block – begin – HERE – end
generate – begin – HERE – end


Rules:

• Every case of the Expression at the top must be covered once and only once by the choices.

• An Expression on the right hand side may be replaced by the reserved word “unaffected”.

• All possible choices must be enumerated.

• “others” clause is important since we have 9- valued logic.

• Selected signal assignments are synthesized to combinational logic.

• The Expressions on the right hand side are multiplexed onto the Target signal.

Remarks:

• Conditional and selected signal assignments are a good way to describe combinational logic in Register Transfer Level descriptions.

Example (Multiplexer)


architecture mux41 of mux is -- Assumptions
begin -- a,b,c,d,z are
with control select -- std_logic
z <= a when “00” , -- control is
b when “01” ,-- std_logic_vector(1 downto 0)
c when “10” ,
d when “11” ,
‘Z’ when others ;
end mux41 ;





information shared by www.irvs.info