FPGA mantık hatası

Başlatan universitelim54, 03 Kasım 2016, 15:46:27

universitelim54

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity Hc595 is
    Port (
        clk_in : in  STD_LOGIC;
        reset  : in  STD_LOGIC;
        clk_out: out STD_LOGIC;
         
       
       
      Seri_Data_Ds           : Out     STD_LOGIC;                     -- Hc595 seri data gönderme ucu
      Sh_Cp_Clk              : Out     STD_LOGIC;                     -- Hc595 Clk Ucu
      St_Cp_Goster           : Out     STD_LOGIC;                     -- Hc595 Clk Ucu
      
      Paralel_Data_In          : in      STD_LOGIC_VECTOR (63 downto 0); -- 64 bıt cıkıs adresı
      Sys_Clk                : in      STD_LOGIC ;                     -- System Clk 80 mhz ucu
      Sys_Clk_T              : in      STD_LOGIC       
         
       
    );
end Hc595;

architecture Behavioral of Hc595 is

    signal temporal: STD_LOGIC;
    signal counter : integer range 0 to 63 := 0;
   
   
begin
process (reset, clk_in) begin

        if (reset = '1') then
       
           
            
            counter <= 0;
            
        elsif rising_edge(clk_in) then
       
       
                     if (62<counter ) then
                        
                        counter <= 0;
                        
                     else
                     
                        Seri_Data_Ds <=  Paralel_Data_In(counter) ;
                        Sh_Cp_Clk <= '1';
                        counter <= counter + 1;
                        
                     end if;
                     
                     
        end if;
       
end process;
   
clk_out       <= '0';
Seri_Data_Ds  <= '0'; -- Burada hata var dıyor
St_Cp_Goster  <= '0';
Sh_Cp_Clk     <= '0';


end Behavioral;


Yukardakı kodun nesı hatalım bılmıyorum

Error (10028): Can't resolve multiple constant drivers for net "Seri_Data_Ds" at Hc595.vhd(61)

boyle bır hata verıyor derleme sırasında lutfen yardım edın


okg

Hata göremedim bunun üzerine sentezleyip implementasyon yaptım bir hata ile karşılaşmadım,
KTU Elektronik Haberleşme - YTÜ Haberşelme YL - GTU Haberleşme YL

MC_Skywalker

Evet Quartus II Verson 13 aynı hatayı veriyor. (Cyclone IV E 10k)
Vivado 2016.3 sıkıtısız. (Atrix 7 35k)



universitelim54

keske projede xilinx kullansaydık altera zırp pırt hata verıyor her seye

kralsam

Alıntı yapılan: MC_Skywalker - 03 Kasım 2016, 16:53:49
Evet Quartus II Verson 13 aynı hatayı veriyor. (Cyclone IV E 10k)
Vivado 2016.3 sıkıtısız. (Atrix 7 35k)



Merhaba,
vivado da optimizasyon açık olabilir mi?

Şöyle bir durum var aynı değişkene hem process içinde hem dışında değer atanmış. Bu yapılmamalı ! Muhtemelen ona kızıyor. Başlangıç değeri falansa direk olarak if (reset = '1') then altına eklenebilir.
İyi çalışmalar.

MC_Skywalker

Vicado da varsayılan olarak "Cross Boundary and Area Optimization" var onun haricinde birşey yok. her ikisinde de proje varsayılanlarını kullandım.

muuzoo

@kralsam haklı. Verdiği hatanın nedeni Seri_Data_Ds için hem process içinde hem de process dışında atama yapılmasından kaynaklı. Aynı sinyali iki farklı kaynaktan değiştirmeye çalışıyorsun.
gunluk.muuzoo.gen.tr - Kişisel karalamalarım...

alicavuslu

@okg Sadece sentezleme aşamasında mı test ettin? Normalde pin atamalarını yaptıktan sonra Vivado'da Implementation aşamasında hatayı verecektir.

universitelim54

Ben vivoda ile test etmedim. Ama arkadaslar haklı cıktılar hem proces ıcınde hem dısında farklı kaynaklardan yukleme yapmaya calıstıgım ıcın o hatayı verıyormus hepınıze sonsuz tesekuurler

kralsam

Alıntı yapılan: universitelim54 - 03 Kasım 2016, 22:52:04
Ben vivoda ile test etmedim. Ama arkadaslar haklı cıktılar hem proces ıcınde hem dısında farklı kaynaklardan yukleme yapmaya calıstıgım ıcın o hatayı verıyormus hepınıze sonsuz tesekuurler
Rica ederiz. Sana tavsiyem modelsim ile similasyon yaparak çalış. Daha az vakit harcarsın.
İyi çalışmalar.

okg

Alıntı yapılan: alicavuslu - 03 Kasım 2016, 21:24:40
@okg Sadece sentezleme aşamasında mı test ettin? Normalde pin atamalarını yaptıktan sonra Vivado'da Implementation aşamasında hatayı verecektir.


Hocam pin ataması yapmadan direk  implementasyon yaptım
KTU Elektronik Haberleşme - YTÜ Haberşelme YL - GTU Haberleşme YL