bonjour
je suis entrain de realiser une synthese d'un microprocesseur ressemblant au 6809 en VHDL mais lors de la conception de lunité arithmetique et logique je me suis bloquée au niveau de la declaration de RAM. voici mon programme:
entity ual is
port( A:in bit_vector(7 downto 0);
h,r:in bit;
Ir : out bit_vector (7 downto 0);
data : out bit_vector (7 downto 0);
A_r : in bit_vector(7 downto 0);
ty_data : in bit_vector(2 downto 0);
cc: out bit_vector(3 downto 0));
end ual;
architecture arcual of ual is
if h'event and h='1' then
if (Ty_Data = 2) or (Ty_Data = 3) then
case Ir is
when x"86" => --LDA (Imédiat)
A<=Data;cc(0)<='0';
cc(1)<='0';cc(2)<='0';
cc(3)<='0';
when x"4C" => --INCA
A<=A+1;cc(0)<='0';
cc(1)<='0';cc(2)<='0';
cc(3)<='0';
when x"9B" => --ADDA
A<=A+memoire(20);cc(0)<='0';
cc(1)<='0';cc(2)<='0';
cc(3)<='0';
when x"97" => --STA
memoire(10) <= A+memoire(20);
cc(1)<='0';cc(2)<='0';
cc(3)<='0';
when x"4F" => -- CLRA
A<= "0000" ;
when x"27" => --BEQ
if A='0' then
end case;
end arual ;
sachant que cc est un registre d'etat, A un accumulateur, IR registre d'instruction
et merci d'avance
-----