---------------------- -- wine_example4.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 wine_example is end wine_example; architecture para_structure of wine_example is component winery port(WineryOldShop : inout channel; WineryNewShop : inout channel); end component; component shop port(wine_delivery : inout channel; wine_selling : inout channel); end component; component patron port(OldShopPatron : inout channel; NewShopPatron : inout channel); end component; signal winery_to_shop1 : channel := init_channel; signal winery_to_shop2 : channel := init_channel; signal shop1_to_patron : channel := init_channel; signal shop2_to_patron : channel := init_channel; begin THE_WINERY : winery port map(WineryOldShop => winery_to_shop1, WineryNewShop => winery_to_shop2); THE_SHOP : shop port map(wine_delivery => winery_to_shop1, wine_selling => shop1_to_patron); NEW_SHOP : shop port map(wine_delivery => winery_to_shop2, wine_selling => shop2_to_patron); THE_PATRON : patron port map(OldShopPatron => shop1_to_patron, NewShopPatron => shop2_to_patron); end para_structure;