--\begin{algorithm} --\small -- patron.vhd library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; use work.nondeterminism.all; use work.channel.all; entity patron is port(wine_buying:inout channel:=init_channel); end patron; architecture behavior of patron is type wine_list is (cabernet, merlot, zinfandel, chardonnay, sauvignon_blanc, pinot_noir, riesling, bubbly); signal wine_drunk:wine_list; signal bag:std_logic_vector(2 downto 0); begin patron:process begin receive(wine_buying,bag); --@synthesis_off wine_drunk <= wine_list'val(conv_integer(bag)); --@synthesis_on end process patron; end behavior; --\end{algorithm}