FPGA wait hatası

Başlatan universitelim54, 30 Ekim 2016, 16:34:35

universitelim54

Mrb
Arkadaslar Wait for 50ns; process'i askıya almak istiyorum. Yazılımı derlemek istediğimde ağagıdaki gibi bir hata veriyor .Nedenini bulamadım. Program Asagıdakı gıbıdır.
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
use ieee.std_logic_unsigned.all;

entity Ram_2048 is
    
Port
      (    
     Clk      : in    STD_LOGIC
   
   );
   
end Ram_2048;

architecture Behavioral of Ram_2048 is
begin

process (Clk)
   
   begin
   
    IF (Clk'event AND Clk = '1') THEN
      
               WAIT FOR 50 ns ;
            
        END IF;      
      
   END PROCESS;

end Behavioral;



Aldıgım Hata Mesajı :  Wait Statement must contain condition clause with UNTIL keyword

alicavuslu

wait for if içinde kullanılmaz. Hatanın anlamı for yerine until kullanmanız. Bu arada wait for/until sadece benzetim için kullanılır. Sentezlenemez.

universitelim54

if içinde kullanılmadıgını bilmiyordum aydınlattıgın için tşkler . kucuk bir timer'a ihtiyacım vardı en basit şekilde bu gelmişti aklıma

bu şart saglanırsa
50ms bekle
bu sartı yerine getir şeklinde olacaktı.

sayıcı'ylamı yapmak durumundayım o halde...

okg

evet sayaç oluşturup yapabilirsiniz. bir process içerisinde sayma işlemini yapıp diğer process e dallandırabilirsiniz.

http://www.vhdl.club/2016/10/17/nexys4-ddr-7-segment-display-0-f-counter/

linkteki örnekte clk_1hz_process adında process oluşturulup sayma işlemi bittiği zaman clk_1hz process i 1 yapılıp işlemler yapılmıştır. Clock hızına göre parametreleri değişebilirsiniz.
KTU Elektronik Haberleşme - YTÜ Haberşelme YL - GTU Haberleşme YL

MC_Skywalker

1 Hz = 1000 ms den, 100Mhz clk girişin varsa 5 bitlik sayıcı kurduğun da 5. biti 20ns sonra 1 olur.


universitelim54

Bilgiler için tşk ederim gerçek zaman saatine ihtiyacım yok .Sadece gecikme vermek için timer'a ihtiyacım vardı. Öyle bi durum ki bu geçikmeden bana 64 adet gerekli aynı mimari içinde bu zamanlayıcıları ayarlamak için 64 adet int değişkeni tanımlamam gerekecek gibi.


Daha iyi bir fikri olan var mı ?