fpganedir.com'da ara

fpganedir mail

PROCESS

Bağımsız sıralı işlemlerin tanımlandığı ifadedir.

process_etiketi: process ( duyarlılık_listesi )
    process_deklarasyonları
        begin
           --- sıralı_ifadeler
        end process process_etiketi ;

NOT: Process içerisinde işlem sırası yukarıdan aşağıya doğrudur. Bir ifade process içerisinde en son nasıl tanımlanmışsa o değeri alır.

ÖRNEK 1

Process(A,B;C)
    begin
        temp<=1;
        temp<=2;
        temp<=5;
end process;

Temp  değişkenine en son 5 atandığı için değer 5 olur.

ÖRNEK 2

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity D_FLIP_FLOP is
      port (CLK : in STD_LOGIC;
           D:in STD_LOGIC;
            Q : out STD_LOGIC:= '0';
         NQ : out STD_LOGIC:= '1' );
end entity D_FLIP_FLOP;
architecture Behavioral  of D_FLIP_FLOP is
     begin
        U1: process (CLK)
                  begin
              if CLK = '1' and CLK'Event then
                   Q <= D;
                 NQ <= not D;
            end if;
     end process;
end architecture Behavioral;

Örnekte, iki giriş ve iki çıkışlı bir D-Flip flop’u tanımlanıyor. CLK sinyali ‘0’ dan ‘1’ e değiştiğinde, D sinyali Q çıkışına aktarılıyor. U1 etiketli process,duyarlılık listesindeki CLK’nin değişimiyle birlikte aktif oluyor.

CLK’nin değerinin yeni değerinin ‘1’ olduğu ve gerçekten değişip değişmediği “if” ifadesiyle kontrol ediliyor. Bunu yaparken “attribute 'Event” ifadesi kullanılıyor.İlk satırdaki koşullu ifadenin TRUE olmasıyla birlikte sıradaki iki satır işleme alınıyor.

DETAYLI AÇIKLAMA

Process içindeki işlemlerin sırası kullanıcı tarafından belirlenir. Process’e istenirse bir etiket atanabilir.

Process deklarasyonu kısmında, sadece bu process için kullanılacak olan yerel bileşenler tanımlanır. Bu bölümde ayrıca, subprogram, type, subtype, constant, variable, file, alias, attribute, use ve group deklarasyonalrı da bulunabilir.

Process deklare edilirken duyarlılık listesi belirtmek zorunlu değildir. Burada istenirse process’in duyarlı olduğu sinyallerin tanımlamaları verilebilir. Böylece askıya alınmış olan process, listedeki herhangi bir sinyalin değişmesiyle birlikte kaldığı yerden işleme devam eder.

Process’in sonunda kullanılabilecek olan “wait“ ifadesi de buradaki kullanımla aynı işe yarar. Fakat aynı process içinde hem wait, hem de duyarlılık listesi kullanılamaz. Üstelik, eğer bir duyarlılık listesi olan process içinde bir procedure çağrılmışsa; o procedure içinde herhangi bir wait ifadesi olmamalıdır.

Duyarlılık listesi olan bir process içinde wait ifadesi kullanılamaz.

 

 

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.