fpganedir.com'da ara

fpganedir mail

ASSERT

Bir koşullu ifadenin doğruluğunu kontrol edip, yanlış ise hata dönmesini sağlayan ifadedir.

Assert koşul
report rapor
severity önem düzeyi;

NOT :Sentezlemede assertion statement göz ardı edilir.

Örnek:

assert not (K= '1' and S= '1')
report "Her iki değerde 1e eşit'"
severity ERROR;

K ve S sinyallerinin her ikisinin de değeri “1” olduğunda hataya meydana gelerek simülasyon durur.

Örnek:

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;

ENTITY AND_GATE_TEST_BENCH IS
END AND_GATE_TEST_BENCH;

ARCHITECTURE behavior OF AND_GATE_TEST_BENCH IS
COMPONENT AND_GATE
PORT(
           data0 : IN  std_logic;
           data1 : IN  std_logic;
          output : OUT  std_logic
            );
END COMPONENT;
    signal data0 : std_logic := '0';
    signal data1 : std_logic := '0';
    signal output : std_logic;
BEGIN
     U1: AND_GATE PORT MAP (
                                                    data0 => data0,
                                                    data1 => data1,
                                                    output => output );
   process
       begin                
          wait for 10 ms;   
          data0<='1';
          wait for 10 ms;
          data0<='0';
          data1<='1';
          wait for 10 ms;
          data0<='1';
          wait for 10 ms;
          assert false
          report "simülasyon bitti"
         severity failure;
   end process;
   END;

Buradaki assert ifadesi simülasyonu durdurur.

DETAYLI AÇIKLAMA:

Assertion Statement üç adet opsiyonel kod içerir ve genelde bu kodların üçüde kullanılır.

Assert kodu bir koşul (true, false) içerir. Eğer koşuk yanlış ise (false) assertion bozulması(assertion violation) meydana gelir.
Report kod kısmına mesaj (string) yazılır, ve assertion bozulması meydana geldiği anda bu mesaj rapor edilir.(simulasyon )
Severity kod kısmına, assertion bozulması meydana geldiği zaman assertion bozulmanın seviyesini belli eder. Kod yazılmaz ise Önem düzeyi ERROR olarak kabul edilir. Önem_Düzeyleri (Severity_level) STANDARd package (paket) bulunur ve aşağıdaki değerleri alır.

 

 

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.