Herhangi bir block, entity ya da component altnda tanmlanan arayz sabitleridir.
Generic ler, bir blok yapnn evresiyle iletiimi iin kanallar olutururlar. Sabitlerden farkl olarak; generic ler, component ve configuration tanmlamalar iinde bulunabilirler ve deerleri dardan deitirilebilir. generic ( generic_arayz_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 ilikili olan tm architecture larda kullanlabilecektir. Bu sayede tm tasarm iindeki parametreler kullanc tarafndan tek bir noktadan deitirilebiliyor. 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 deeri bir kn gecikme zamann belirliyor. DETAYLI AIKLAMA Generic ler, sabitlere benzer bir ekilde blok yaplara statik bilgi salarlar ve archit ecture iinde ilenebilirler, sabitlerden farkl olarak ise dardan beslenebilirler. Entity ve co mponent deklarasyonlar iinde tanmlanmalar ile de portlara ok benzerler fakat her zaman portla rdan nce yazlrlar. Entity iindeki generic ler tarafndan belirlenen deerler, hem entity nin iinde hem de o e ntity ile ilikili olan architecture iinde okunabilirler. Genel olarak generic ler aadaki gibi kullanlabilirler: -Port larn boyutlarn ifade etmek. (rnek1) -Alt komponentlerin saysn belirlemek, -Zamanlama zelliklerini belirtmek, (rnek2) -Bir tasarmn fiziksel zelliklerini belirtmek, -Architecture iindeki vector lerin uzunluunu belirlemek, -Dng saysn belirlemek