0
0
VHDLprogramming~20 mins

Selected assignment (with-select) in VHDL - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
VHDL Selected Assignment Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of a selected assignment with simple case
What is the output value of y when sel = "10"?
VHDL
architecture Behavioral of example is
  signal sel : std_logic_vector(1 downto 0);
  signal y : std_logic_vector(3 downto 0);
begin
  with sel select
    y <= "0001" when "00",
         "0010" when "01",
         "0100" when "10",
         "1000" when others;
end Behavioral;
A"0100"
B"0010"
C"0001"
D"1000"
Attempts:
2 left
💡 Hint
Check which value matches the selector "10" in the with-select statement.
Predict Output
intermediate
2:00remaining
Selected assignment with overlapping conditions
Given this VHDL code, what value does out_sig have when mode = "11"?
VHDL
architecture Behavioral of example2 is
  signal mode : std_logic_vector(1 downto 0);
  signal out_sig : std_logic_vector(7 downto 0);
begin
  with mode select
    out_sig <= x"0F" when "00",
               x"F0" when "01",
               x"AA" when "10",
               x"55" when others;
end Behavioral;
Ax"F0"
Bx"55"
Cx"AA"
Dx"0F"
Attempts:
2 left
💡 Hint
The selector "11" is not explicitly listed, so it falls under others.
🔧 Debug
advanced
2:00remaining
Identify the syntax error in selected assignment
Which option contains the syntax error in this with-select assignment?
VHDL
with sel select
  result <= "0001" when "00",
            "0010" when "01",
            "0100" when "10",
            "1000" when others
;
AMissing semicolon after the last when clause
BUsing double quotes instead of single quotes for std_logic_vector
CMissing 'end process;' statement
DUsing commas instead of semicolons after each when clause
Attempts:
2 left
💡 Hint
Check the punctuation at the end of the with-select statement.
🧠 Conceptual
advanced
2:00remaining
Behavior of with-select when no matching choice and no others clause
What happens if a with-select statement does not include an 'others' clause and the selector value does not match any explicit choices?
AThe signal is assigned a default value of all zeros
BThe compiler raises a syntax error during compilation
CThe simulation raises a runtime error due to incomplete assignment
DThe signal retains its previous value without change
Attempts:
2 left
💡 Hint
No assignment occurs if no match and no others, so retains previous value.
🚀 Application
expert
3:00remaining
Determine the number of unique output values from with-select
Given this with-select statement, how many unique values can out_val take based on code?
VHDL
with code select
  out_val <= "000" when "000",
             "001" when "001",
             "010" when "010",
             "011" when "011",
             "100" when "100",
             "101" when others;
A5
B8
C6
D7
Attempts:
2 left
💡 Hint
Count the distinct output values assigned explicitly and by others.