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
Hata göremedim bunun üzerine sentezleyip implementasyon yaptım bir hata ile karşılaşmadım,
(http://i.hizliresim.com/PQL96N.png)
Evet Quartus II Verson 13 aynı hatayı veriyor. (Cyclone IV E 10k)
Vivado 2016.3 sıkıtısız. (Atrix 7 35k)
(https://s15.postimg.cc/yb2em9enr/Untitled_3.jpg) (https://postimg.cc/image/yb2em9enr/)
keske projede xilinx kullansaydık altera zırp pırt hata verıyor her seye
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)
(https://s15.postimg.cc/yb2em9enr/Untitled_3.jpg) (https://postimg.cc/image/yb2em9enr/)
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.
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.
@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.
@okg Sadece sentezleme aşamasında mı test ettin? Normalde pin atamalarını yaptıktan sonra Vivado'da Implementation aşamasında hatayı verecektir.
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
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.
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