| Yazar | Mesaj |
speak48 | | Tarih: 12.05.2008, 15:35 Mesaj konusu: vhdl ile ilgilenen arkadaşlar buraya | |
| anladığım kadarıyla bu vhdl türkiyede pek yaygın değil.
picte bulduğun kaynagı bu alanda bulamıyoruz.
onun için vhdl bilen,ilgilenen,çalışan,bi şeyler yapmış veya sorunları olan arkadaşları burada toplamak istiyorum.
diğital dünyanın ameleleri yerine efendileri olmak için vhdl şart benim görüşüm böyle :D
bizim bölümde bu konuyla ilgili ders olmadığı için biraz eksik kaldığımı düşünüyorum eğer hep beraber uğraşırsak halledebiliriz
ilgilenenlere şimdiden teşekkürler!!!
|
|
|
|
yalcinaygul | | Tarih: 12.05.2008, 17:55 Mesaj konusu: | |
| hocam bu konuda bildiklerin varsa önce siz başlasanız,biraz araştırma yaptım ama bulamadım
|
|
fuzzy | | Tarih: 12.05.2008, 18:19 Mesaj konusu: | |
| Bu konuda en deneyimli h.celik olmalı onu buraya davet etmeliyiz,kılavuz o olmalı....
|
|
speak48 | | Tarih: 12.05.2008, 18:54 Mesaj konusu: vhdl nedir? | |
| bildiğim kadarıyla
lojik devrelerin tasarımını derslerde gördüğümüz karnamap,flip flop la uğraşmadan ,devreyi vhdl diliyle ifade edip amele işerini bilgisayara yaptırmaktır.bu dille tasarımda sınıryoq.önemli olan hangi platformda çalıştığın,fpga,pld,cpld......
istersen tasarladığın devreyi combilerin oluşturduğu netlistle üreticiden bir devre elemanı olarakta üretebiliyorsun
tüm asic firmaları tasarımlarını vhdl le yapıp denemesini fpga ile yapıyor sonra devre olarak piyasaya satıyor.
şimdiki piyasada satılan lojik devrelerden (74xxxx) tut işlemcilere kadar vhdl ile tasarlanıyor.....
diğer arkadaşımda kılavuz olarak ne kastetmiş anlamadım
|
|
fuzzy | | Tarih: 12.05.2008, 19:06 Mesaj konusu: | |
| bu konuda forumda h.celik en deneyimli onun önerileri işi hızlandırır..
Bu işlere alta bir örnek 8051 i VHDL ile tasarlıyorlar.Von neumann dan risc yapısına dönmüşler.Sizin kendi FPGA nız içinde işlemcinizde olmuş oluyor.Sonuçlar başdöndürücü....
http://www.dcd.pl/acore.php?idcore=43
Bu da ulusal bir örnek..
http://www.iris.sakarya.edu.tr/yayinlar...ilmesi.pdf
|
|
speak48 | | Tarih: 12.05.2008, 22:22 Mesaj konusu: vhdl-cpu | |
| türkiyde birçok üniversitede gösterilen birşey zaten.birçok kişinin deneyimi olması lazım.benim amacımda çoğu kişiyi burada toplamak.
şöle bir soruda sorayım bu forumda türkiye işlemcisini tasarlıyor yarışmasına katılan bi arkadaş warmı??
bende seneye bitirme ödevinde özel kullanımlar için fpga ile mikrodenetleyici tasarlamayı düşünüyorumda...
|
|
speak48 | | Tarih: 16.05.2008, 16:01 Mesaj konusu: help | |
| bana clk girişiyle her yükselen kenarda 3 çıkışı sırayla high yapan vhdl kod lazım bi türlü gerçekleyemedim
çıkış "001" "010" "100" "001"... die gidecek
ben böle yaptım ama simulasyonda tam istediğimi alamıyorum
library ieee ;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity kyn is
port(clock:in std_logic;
ky:out std_logic_vector(2 downto 0)
);
end kyn;
architecture behv of kyn is
signal kyt :std_logic_vector(1 downto 0);
begin
process(clock)
begin
if (clock='1' and clock'event) then
kyt <= kyt +1;
if kyt="11" then
kyt<="00";
end if;
case kyt is
when "00"=> ky <="001";
when "01"=> ky <="010";
when "10"=> ky <="100";
when others => --ky <= "001";
end case;
end if;
end process;
end behv;
|
|
speak48 | | Tarih: 17.05.2008, 10:43 Mesaj konusu: 11027 arkadaş | |
| 11027 arkadaş arasında adam akıllı vhdl bilen yoqmu.
mutlaka olması lasım.
yoqsa ilgilenmiyolarmı :x :?:
|
|
h.celik | | Tarih: 17.05.2008, 20:46 Mesaj konusu: | |
| Öncelikle counter kısmında counter ın istenen değere ulaşıp ulaşmadığına bakmalı ,sonra 1 artırmalısın.
Ve bunlar aynı if state inin içinde olmalı ,Yoksa counter 1 fazla saymış olur ki bu zaman kaybı.1 clk_period gecikme olur.
Son olarak bu iş için bence 2 module kullanmalısın.Ki hatırladığım kadarıyla sequential ve combinational işlemleri bu şekilde aynı modulde kullanamzsın.
Sen benim yazdığımı bi denede olmadı başka bişi ayarlarız.Normalde çok basit bi işlem fakat nerdeyse 1 sene oldu bende vhdl ile uğraşmayalı.
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity kyn is
port ( clk : in std_logıc;
ky : out std_logıc_vector (2 downto 0));
end kyn;
architecture behavioral of kyn is
signal kyt :std_logic_vector(1 downto 0):="00";
begin
process(clk)
begin
if (clk='1' and clk'event) then
if kyt="10" then
kyt<="00";
else
kyt <= kyt +1;
end if;
case kyt is
when "00"=> ky <="001";
when "01"=> ky <="010";
when "10"=> ky <="100";
when others => ky <= "001";
end case;
end if;
end process;
end behavioral;
--BU da test bench i ;
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.all;
USE ieee.numeric_std.ALL;
ENTITY kyn_tb_vhd IS
GENERIC( clk_period: delay_length:= 1 ms); --added by user, the clock timeperiod
END kyn_tb_vhd;
ARCHITECTURE behavior OF kyn_tb_vhd IS
-- Component Declaration for the Unit Under Test (UUT)
COMPONENT kyn
PORT(
clk : IN std_logic;
ky : OUT std_logic_vector(2 downto 0)
);
END COMPONENT;
--Inputs
SIGNAL clk : std_logic := '0';
--Outputs
SIGNAL ky : std_logic_vector(2 downto 0);
signal EndTest: std_logic:='0';
BEGIN
-- Instantiate the Unit Under Test (UUT)
uut: kyn PORT MAP(
clk => clk,
ky => ky
);
tb : PROCESS
BEGIN
while EndTest = '0' loop
clk <= '0';
wait for 0.5*clk_period; -- Wait for half the clock period
-- defined in the entity
clk <= '1';
wait for 0.5*clk_period; -- Wait for half the clock period
-- defined in the entity
end loop;
wait; -- Will wait forever
end process;
-- ********************************************
-- Process for generating the other inputs
-- ********************************************
process
begin
wait for 1*clk_period; -- enable the counter
assert ky = "001" report "Failure!" severity failure;
wait for 1*clk_period; -- enable the counter
assert ky = "010" report "Failure!" severity failure;
wait for 1*clk_period; -- enable the counter
assert ky = "100" report "Failure!" severity failure;
wait for 1*clk_period; -- enable the counter
assert ky = "001" report "Failure!" severity failure;
wait for 1*clk_period; -- enable the counter
assert ky = "010" report "Failure!" severity failure;
wait for 1*clk_period; -- enable the counter
assert ky = "100" report "Failure!" severity failure;
report"tested succcesful!!";
EndTest <= '1'; -- Stop the clock process
wait; -- Will wait forever
end process;
END;
|
|
h.celik | | Tarih: 03.07.2008, 22:12 Mesaj konusu: | |
| eee millet nereye kayboldunuz yaaaww.
Vhdl ihmale gelmez walla.:)
Aranızda vhdl , fpga programlamada programı board , kart dışında bir yere yükleyipte kullanan warmı?
Mesela pic te olduğu gibi sadece bi entegre programlaması.
Ben bulmadım da .
Vhdl konusunda en büyük sıkıntım da bu.
Program ister ufak ister büyük olsun hepsi için kocaman board , kart kullanıyosun.
bu konuyla ilgili bilgisi olan warsa ve yardımcı olursa sevinirim.
|
|
|