12 Kasım 2009 Perşembe

VHDL- Program sayacı tasarımı


Soru-2 : Program sayacının tasarımı
İşlemcinin en önemli birimlerinden oluşan program sayacı (PC- Program counter) blok olarak gösteriliyor.32 bit q çıkışı olan PC da saat(clk), silme (clr), 32 bit giriş (d), yükleme (ld) ve artırma (inc) girişleri vardır.Buna göre verilen blok yapısı kullanılarak VHDL gerçeklemesini yapınız.


library ieee;
use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;


entity PC_reg is

port(

d: in std_logic_vector(31 downto 0);

inc: in std_logic;
ld: in std_logic;

clk: in std_logic;

clr: in std_logic;

do: out std_logic_vector(31 downto 0)
);
end PC_reg;

architecture behaviour of PC_reg is
begin

process(clk)

begin

if clk='1' then

if inc='0' then

if ld='0' and clr='1' then

do<= d xor d;

elsif ld='1' and clr='0' then

do<= d;

elsif ld='1' and clr='1' then

do<= d xor d;

end if;

elsif inc='1' then

if ld='1' and clr='0' then

do<=d+4;

elsif ld='0' and clr='1' then

do<= d xor d;

elsif ld='1' and clr='1' then

do<= d xor d;
end if;

end if;

end if;

end process;

end behaviour;

Hiç yorum yok:

Yorum Gönder