fpganedir.com'da ara

fpganedir mail

GENERIC

Herhangi bir block, entity ya da component altında tanımlanan arayüz sabitleridir. Generic’ler, bir blok yapının çevresiyle iletişimi için kanallar oluştururlar.

Sabitlerden farklı olarak; generic’ler, component ve configuration tanımlamaları içinde bulunabilirler ve değerleri dışarıdan değiştirilebilir.

generic ( generic_arayüz_listesi ) ;

NOT:Bir çok sentezleme gerecinde integer tipindeki generic’ler desteklenmektedir.

ÖRNEK 1

entity CPU is
     generic (BusWidth : Integer := 16);
     port(DataBus : inout Std_Logic_Vector(BusWidth-1 downto 0));
. . .

Örnekte DataBus portunun boyutu BusWidth generic’i ile belirleniyor. Bu generic CPU entitiy’si ile ilişkili olan tüm architecture’larda kullanılabilecektir. Bu sayede tüm tasarım içindeki parametreler kullanıcı tarafından tek bir noktadan değiştirilebiliyor.

ÖRNEK 2

entity Gen_Gates is
     generic (Delay : Time := 10 ns);
     port (In1, In2 : in Std_Logic;
                Output : out Std_Logic);
end Gen_Gates;
architecture Gates of Gen_Gates is
   begin
   . . .
   Output <= In1 or In2 after Delay;
   . . .
end Gates;

Örnekte, delay generic değeri bir çıkışını gecikme zamanını belirliyor.

DETAYLI AÇIKLAMA

Generic’ler, sabitlere benzer bir şekilde blok yapılara statik bilgi sağlarlar ve architecture içinde işlenebilirler, sabitlerden farklı olarak ise dışarıdan beslenebilirler. Entity ve component deklarasyonları içinde tanımlanmaları ile de portlara çok benzerler fakat her zaman portlardan önce yazılırlar.

Entity içindeki generic’ler tarafından belirlenen değerler, hem entity’nin içinde hem de o entity ile ilişkili olan architecture içinde okunabilirler. Genel olarak generic’ler aşağıdaki gibi kullanılabilirler:

 

 

Anasayfa | Fpga | VHDL | VHDL Sözlüğü | Embedded Sistem | Android | Sayısal Tasarım | Simulasyon | PCB | Örnekler | Forum | İletişim
Copyright © 2010-2013 FPGAnedir. All Rights Reserved.