Yeri gelmişken söyleyeyim, videoların doğaçlama olması bizler için çok daha faydalı oluyor. Tecrübeli bir FPGA tasarım mühendisinin beklenmedik hatalarda izlediği adımları görüyoruz, daha değerli ne olabilir :)
Dersleri gercekten cok guzel hazirlamissin, eline emegine saglik. =) Pipeline, CDC, timing analysis, UART, ... Daha ne olsun tek kelime ile mukemmel, gercekten cok emek var :)
Hocam derslerinize başladım gerçekten harika çok teşekkür ederiz umarım seriyi bırakmazsınız. FPGA yanında başka nelere çalışmamız gerek örneğin sinyal işleme vb. gibi alanlarla da fpga'yı birleştirirsek çok güzel olur.
Hocam Merhaba ben use IEEE.NUMERIC_STD.ALL; eklemeye çalıştığımda eklenmiyor kırmızı renkte olmuyor ve bunun sonucu olarak da unsigned olarak kullandığım yerlerde hata alıyorum.Ekleme işlemini nasıl yaparım ve neden ekleyemiyorum?
aslında var. ben hiç kullanmadım ama var. daha doğrusu std_logic_arith ve std_logic_unsigned package dosyaları incelendiğinde aslında +,- gibi operatorler için std_logic_vector tipleri için de kullanılabilmesi için overloading yapılmış. yani hali hazırda bu package'ları kullanınca overloading yapmış oluyoruz. kendimiz bir operatöre overload yapmak istersek de kendimiz bir package tanımlayıp yapabiliriz. linkteki sunumda güzel özetlenmiş: www.slideshare.net/bestwinpaul1/operating-overloading-in-vhdl
Merhaba hocam, FPGA üzerinde fixed_pkg veya float_pkg kütüphanelerini kullanmam gerekiyor fakat IEEE veya IEEE_proposed kütüphanelerinden çekemiyorum bir türlü, sürekli "library iee is mapped to error for fixed_pkg" ve "fixed_pkg is not compiled in library ieee" sorunlarıyla karşı karşıya kalıyorum. Forumlarda çeşitli çözüm yollarından bahsedilmiş, kütüphaneyi elle eklemek, proje içine koymak vs ama hiçbiri işe yaramadı. Acaba bu konu üzerine bilginiz var mıdır? Teşekkürler şimdiden
merhaba, dosyayı vhdl-2008 olarak ayarladınız mı? Ben o şekilde ayarlayıp sentezleyip kullanmıştım. aşağıda kullandığım bir örnek modülü kopyalıyorum: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.FIXED_PKG.ALL; -- I named the module fxd_const_div, but actually it multiplies div_i with div_const, be careful !!! entity fxd_const_div is generic ( div_const : real := 0.1 -- could be 0.1 to 0.0000001 ); Port ( div_i : in STD_LOGIC_VECTOR (3 downto 0); div_o : out STD_LOGIC_VECTOR (27 downto 0) ); end fxd_const_div; architecture Behavioral of fxd_const_div is signal div_const_fxd : UFIXED (-1 downto -28) := (others => '0'); signal div_i_fxd : UFIXED (3 downto 0) := (others => '0'); signal div : UFIXED (3 downto -28) := (others => '0'); begin div_i_fxd
@@mehmetburakaykenar hocam öncelikle cevap için teşekkürler, dosyayı vhdl-2008 olarak ayarladınız mı derken tam olarak neyi kastediyorsunuz acaba? C:\Xilinx\Vivado\2019.1\data uzantısındaki vhdl ismindeki klasörden bahsediyorsanız denedim fakat yine de çalışmıyor, biraz daha detay verebilir misiniz adlandırma konusunda lütfen, teşekkürler.
@@mahmutefil5265 vivadoda vhdl dosyasina tıklayınca source file properties penceresinde type kısmında VHDL yazıyorsa onu VHDL 2008 olarak değiştirmeniz lazım
@@mehmetburakaykenar maalesef yine aynı hatayı alıyorum hocam, acaba vivado nun sürümünden kaynaklı olabilir mi bu sıkıntı? Sizin kullandığınız sürüm neydi acaba bu kütüphanede işlem yaparken?
Hocam merhaba, sabahtan beri bir konu üzerinde düşünüyorum ve araştırıyorum ama bir türlü bulamadım. Yardımcı olursanız sevinirim. 16 bitlik bir input var bu input rastgele olacak. Eğer Most Significant Bit 1 ise farklı bir işlem 0 ise farklı bir işlem yapacağım. Ama bir türlü bunu kodda tanımlatamadım. Yani elde etmek istediğim kod kısaca şöyle: if MSB
HOCAM TEMELDEN ANLATMIYORSUNUZ YA LÜTFEN ÖNCE ÖĞRETİCEM DİYE UMUT VERİYORSUNUZ SONRA DA SANKİ BİLEN BİRİNE ANLATIYORMUŞ GİBİ ANLATARAK ÜMİDİMİZİ KIRIYORSUNUZ
Temel konular için yine RUclips kanalimda "Mantıksal Devre Tasarımı - Logic Design" isimli bir video oynatma listesi var, TOBB ETÜde verdiğim dersin kayıtları, önce onu izlemeniz faydalı olabilir
@@mehmetburakaykenar hocam onu geçtim onlar basit konular ama syntax ı bile açıklamıyorsunuz ki kod yazarken ilerleyen videolarda. direkt şunu şöyle yaptık bunu böyle yaptık deyip geçiyorsunuz lütfen hocam ya ne anlamı kaldı böyle olacaksa? zaten okulda da düzgün anlatamıyor hocalar şu dersi. cidden kafayı yiyeceğim
Yeri gelmişken söyleyeyim, videoların doğaçlama olması bizler için çok daha faydalı oluyor.
Tecrübeli bir FPGA tasarım mühendisinin beklenmedik hatalarda izlediği adımları görüyoruz, daha değerli ne olabilir :)
bu tur dersler temeli olmayanlar icin cok iyi oluyor. Tesekurler.
Dersleri gercekten cok guzel hazirlamissin, eline emegine saglik. =) Pipeline, CDC, timing analysis, UART, ... Daha ne olsun tek kelime ile mukemmel, gercekten cok emek var :)
Merhaba, video için teşşekkür ederim, emeğine sağlık. 06:46 Binary sistemde bir sayının iki katı o sayının 1 bit fazlasına eşittir. **s0
Hocam derslerinize başladım gerçekten harika çok teşekkür ederiz umarım seriyi bırakmazsınız. FPGA yanında başka nelere çalışmamız gerek örneğin sinyal işleme vb. gibi alanlarla da fpga'yı birleştirirsek çok güzel olur.
devam ediyorum seriye, derslerde ilerledikçe FPGA başka konularla nasıl birleşiyor göreceksiniz 👍
@@mehmetburakaykenar Harika haber. Merakla bekliyorum takipteyim sayın hocam
Emeğinize sağlık hocam
emeğinize sağlık çok teşekkürler hocam güzel bir seri olmuş
hocam çok güzel anlatım çok güzel bir seri çok teşekkürler :)
Hocam emeğinize sağlık çok güzel bir seri olmuş teşekkürler :)
Sentez kısmını yapınca "Parallel synthesis criteria is not met" uyarısı alıyorum, neden acaba?
package ları açmak istediğimde can not locate target loader hatası alıyorum nasıl düzelteceğim
Hocam Merhaba ben use IEEE.NUMERIC_STD.ALL; eklemeye çalıştığımda eklenmiyor kırmızı renkte olmuyor ve bunun sonucu olarak da unsigned olarak kullandığım yerlerde hata alıyorum.Ekleme işlemini nasıl yaparım ve neden ekleyemiyorum?
Hocam unsigned sayıyla da integer karşılaştırmak tuhaf değil mi? unsigned sayıyı da to_integer( ) ile çevirmemiz daha mantıklı değil mi?
hangi dakikada dediğiniz kısım uzun zaman oldu hatırlıyamiyorum, eğer integer sayının hep pozitif olduğundan eminsek sıkıntı olmaz
VHDL'e C++'daki Operator Overloading gelse ne kadar güzel olurmuş..
Yoksa var da ben mi bilmiyorum :)
aslında var. ben hiç kullanmadım ama var. daha doğrusu std_logic_arith ve std_logic_unsigned package dosyaları incelendiğinde aslında +,- gibi operatorler için std_logic_vector tipleri için de kullanılabilmesi için overloading yapılmış. yani hali hazırda bu package'ları kullanınca overloading yapmış oluyoruz. kendimiz bir operatöre overload yapmak istersek de kendimiz bir package tanımlayıp yapabiliriz. linkteki sunumda güzel özetlenmiş:
www.slideshare.net/bestwinpaul1/operating-overloading-in-vhdl
@@mehmetburakaykenar Aydınlanmış oldum, teşekkürler
hocam merhaba öncelikle emeğinize sağlık bir sorum olacak numeric std yi nasıl ekleyeceğim?
merhaba
library IEEE;
use IEEE.numeric_std.all;
işte böyle
Merhaba hocam, FPGA üzerinde fixed_pkg veya float_pkg kütüphanelerini kullanmam gerekiyor fakat IEEE veya IEEE_proposed kütüphanelerinden çekemiyorum bir türlü, sürekli "library iee is mapped to error for fixed_pkg" ve "fixed_pkg is not compiled in library ieee" sorunlarıyla karşı karşıya kalıyorum. Forumlarda çeşitli çözüm yollarından bahsedilmiş, kütüphaneyi elle eklemek, proje içine koymak vs ama hiçbiri işe yaramadı. Acaba bu konu üzerine bilginiz var mıdır? Teşekkürler şimdiden
merhaba,
dosyayı vhdl-2008 olarak ayarladınız mı? Ben o şekilde ayarlayıp sentezleyip kullanmıştım. aşağıda kullandığım bir örnek modülü kopyalıyorum:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.FIXED_PKG.ALL;
-- I named the module fxd_const_div, but actually it multiplies div_i with div_const, be careful !!!
entity fxd_const_div is
generic (
div_const : real := 0.1 -- could be 0.1 to 0.0000001
);
Port (
div_i : in STD_LOGIC_VECTOR (3 downto 0);
div_o : out STD_LOGIC_VECTOR (27 downto 0)
);
end fxd_const_div;
architecture Behavioral of fxd_const_div is
signal div_const_fxd : UFIXED (-1 downto -28) := (others => '0');
signal div_i_fxd : UFIXED (3 downto 0) := (others => '0');
signal div : UFIXED (3 downto -28) := (others => '0');
begin
div_i_fxd
@@mehmetburakaykenar hocam öncelikle cevap için teşekkürler, dosyayı vhdl-2008 olarak ayarladınız mı derken tam olarak neyi kastediyorsunuz acaba? C:\Xilinx\Vivado\2019.1\data uzantısındaki vhdl ismindeki klasörden bahsediyorsanız denedim fakat yine de çalışmıyor, biraz daha detay verebilir misiniz adlandırma konusunda lütfen, teşekkürler.
@@mahmutefil5265 vivadoda vhdl dosyasina tıklayınca source file properties penceresinde type kısmında VHDL yazıyorsa onu VHDL 2008 olarak değiştirmeniz lazım
@@mehmetburakaykenar maalesef yine aynı hatayı alıyorum hocam, acaba vivado nun sürümünden kaynaklı olabilir mi bu sıkıntı? Sizin kullandığınız sürüm neydi acaba bu kütüphanede işlem yaparken?
Hocam merhaba, sabahtan beri bir konu üzerinde düşünüyorum ve araştırıyorum ama bir türlü bulamadım. Yardımcı olursanız sevinirim.
16 bitlik bir input var bu input rastgele olacak. Eğer Most Significant Bit 1 ise farklı bir işlem 0 ise farklı bir işlem yapacağım. Ama bir türlü bunu kodda tanımlatamadım. Yani elde etmek istediğim kod kısaca şöyle:
if MSB
merhaba input(15) yazın olur 😊
@@mehmetburakaykenar Yazıklar olsun ya bu kadar kolay olmamalıydı :D. Sağolun hocam cansınız
kolay gelsin 😊
ekrandaki yazılar çok korkutucu
:l
HOCAM TEMELDEN ANLATMIYORSUNUZ YA LÜTFEN ÖNCE ÖĞRETİCEM DİYE UMUT VERİYORSUNUZ SONRA DA SANKİ BİLEN BİRİNE ANLATIYORMUŞ GİBİ ANLATARAK ÜMİDİMİZİ KIRIYORSUNUZ
Temel konular için yine RUclips kanalimda "Mantıksal Devre Tasarımı - Logic Design" isimli bir video oynatma listesi var, TOBB ETÜde verdiğim dersin kayıtları, önce onu izlemeniz faydalı olabilir
@@mehmetburakaykenar hocam onu geçtim onlar basit konular ama syntax ı bile açıklamıyorsunuz ki kod yazarken ilerleyen videolarda. direkt şunu şöyle yaptık bunu böyle yaptık deyip geçiyorsunuz lütfen hocam ya ne anlamı kaldı böyle olacaksa? zaten okulda da düzgün anlatamıyor hocalar şu dersi. cidden kafayı yiyeceğim