A VHDL leírástípusok 1. A funkcionális leírásmód Company: SAPIENTIA EMTE Engineer: Domokos József Create Date: 08:48:48 03/21/06 Design Name: Module Name: Logikai es kapuk funkcionalis leirasa- Behavioral Project Name: FPGA gyakorlat Target Device: SPARTAN 2 Tool versions: Xilinx ISE 7.1 Description: Dependencies: Revision: Revision 0.01 - File Created Additional Comments: entity funkcionaliseskapuk is end funkcionaliseskapuk; architecture Behavioral of funkcionaliseskapuk is kapuk : process (x1, x2, x3) temp <= x1 and x2; y <= temp and x3; end process kapuk; 1. Ábra: Funkcionális leírásmód Ez a leírásmód az áramkör működését veszi alapul. Használható szekvenciális logikai áramkörök tervezésénél, hiszen figyelembe veszi az időt. 1
2. A strukturális leírásmód Company: SAPIENTIA EMTE Engineer: Domokos József Create Date: 08:28:32 03/21/06 Design Name: Module Name: Logikai es kapuk strukturalis leirasa- Behavioral Project Name: Target Device: SPARTAN 2 Tool versions: Xilinx ISE 7.1 Description: Dependencies: Revision: Revision 0.01 - File Created Additional Comments: entity strukteskapuk is end strukteskapuk; architecture Behavioral of strukteskapuk is component es Port ( be1 : in std_logic; be2 : in std_logic; end component es; U1 : es port map (x1, x2, temp); U2 : es port map (temp, x3, y); 2. Táblázat: Strukturális leírásmód 2
A strukturális leírásmód, amelyet az egyszerű logikai kapuk esetében is használtunk, a legkézenfekvőbb leírásmód. Egyszerű logikai áramkörök esetén használatos. Az egymáshoz kötődő áramköri elemek leírásait és a köztük létező kapcsolatokat tartalmazza. A strukturális leírásmód hátránya, hogy nem veszi figyelembe az időt. Ebből kifolyólag a szekvenciális logikai áramköröket nem lehet tervezni ezzel a leírásmóddal. Az alábbi két példa egy logikai ÉS kapu és egy logikai NEM kapu strukturális leírásmódját szemlélteti. entity es is Port ( be1 : in std_logic; be2 : in std_logic; end es; architecture Behavioral of es is ki<=(be1 and be2); 3. Táblázat: Logikai ÉS kapu strukturális leírása entity nem is Port ( be : in std_logic; end nem; architecture Behavioral of nem is ki<=not(be); 4. Táblázat: Logikai NEM kapu strukturális leírása 3
3. Az adatfolyam típusú leírásmód Company: SAPIENTIA EMTE Engineer: Domokos József Create Date: 08:22:39 03/21/06 Design Name: Module Name: Logikai es kapuk adatfolyam tipusu leirasa - Behavioral Project Name: FPGA gyakorlat Target Device: SPARTAN 2 Tool versions: Xilinx ISE 7.1 Description: Dependencies: Revision: Revision 0.01 - File Created Additional Comments: Uncomment the following library declaration if instantiating any Xilinx primitives in this code. library UNISIM; use UNISIM.VComponents.all; entity eskapuk is end eskapuk; architecture Behavioral of eskapuk is temp <= x1 and x2; y <= temp and x3; 5. Táblázat: Adatfolyam típusú leírás Ez a leírástípus a legegyszerűbb és legrövidebb. Lényegében véve, a funkcionális leírás egy 4
rövidített változata. Meg kell adni a kimenet, vagy kimenetek leírását a bemeneti adatok függvényében, és nem kell figyelembe venni a belső felépítést. Ez a leírásmód hasonlít leginkább a strukturált programozásra. 1. Ábra: Logikai és kapukat tartalmazó áramkör tervezése a Schematic Editor segítségével Felhasználva az előző gyakorlaton megírt logikai kapukat, írjátok meg az 1. Ábrán látható áramkör strukturális, funkcionális és adatfolyam leírásait. A logikai kapuknak készítsetek szimbólumot a Design Utilities Create Schematic Symbol parancs segítségével, majd rajzoljátok meg az 1. Ábrán látható áramkört a Schematic Editort használva. Tervezzetek a Schematic Editort és az előre értelmezett logikai kapukat használva, egy MUX 2:1 áramkört mindhárom le1rásmodot használva, majd rajzoljátok meg az áramkört a Schematic Editor segítségével. 5