Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

i am implementing sap-1 microprocessor in vhdl.but hav prob

Status
Not open for further replies.

ziku12

Newbie level 4
Joined
Dec 19, 2008
Messages
5
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,336
sap microprocessor

i am implementing sap-1 in vhdl.but i cannot make system bus and controller circuit. here is my code of controller.if possible fix the error.i will be very great full

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
use work.all;


entity control_matrix is
port(

clk :in std_logic;
reset: in std_logic;
id_lda :in std_logic;
id_add:in std_logic;
id_sub:in std_logic;
id_out:in std_logic;
id_hlt:in std_logic;
cp_cout:eek:ut std_logic;
ep_cout:eek:ut std_logic;
lm_cout:eek:ut std_logic;
er_cout:eek:ut std_logic;
l1_cout:eek:ut std_logic;
e1_cout:eek:ut std_logic;
la_cout:eek:ut std_logic;
ea_cout:eek:ut std_logic;
su_cout:eek:ut std_logic;
eu_cout:eek:ut std_logic;
lb_cout:eek:ut std_logic;
lo_cout:eek:ut std_logic
);
end control_matrix;
architecture struct of control_matrix is

component ring_test is
port (clk, reset: in bit;
t_state: out bit_vector(5 downto 0));

end component;

component ir_decoder is
port( ip: in std_logic_vector(3 downto 0);
op: out std_logic_vector(4 downto 0)
);
end component;

signal t1_state: std_logic_vector(5 downto 0);
signal ir_deco: std_logic_vector(4 downto 0);

signal state0: std_logic;
signal state1: std_logic;
signal state2: std_logic;
signal state3: std_logic;
signal state4: std_logic;
signal state5: std_logic;

begin
process(clk,reset)
begin
U1: ring_test port map(t_state(0)=>state0,t_state(1)=>state1,t_state(2)=>state2,
t_state(3)=>state3,t_state(4)=>state4,t_state(5)=>state5);
U2: ir_decoder port map();
if reset='1'then
cp_cout<="0";
ep_cout<="0";
lm_cout<="0";
er_cout<="0";
l1_cout<="0";
e1_cout<="0";
la_cout<="0";
ea_cout<="0";
su_cout<="0";
eu_cout<="0";
lb_cout<="0";
lo_cout<="0";

elsif (clk'event and clk='1')then



cp_cout<=state2;
ep_cout<=state2;
lm_cout<=state0 or (id_lda and state3) or (id_add and state3) or (id_sub and state3) ;
er_cout<=state1 or (id_lda and state4) or (id_add and state4) or (id_sub and state4) ;
l1_cout<=state1;
e1_cout<=(id_lda and state3)or (id_add and state3) or (id_sub and state3) ;

la_cout<=(id_lda and state4) or (id_add and state5) or (id_sub and state5);
ea_cout<=id_out and state3;
su_cout<=id_sub and state5;
eu_cout<=(id_add and state5) or (id_sub and state5);
lb_cout<=(id_add and state4) or (id_sub and state4);
lo_cout<=id_out and state3;
end if;
end process;
end struct;

here i also give the code of ir_decoder and ring counter
library ieee;
use ieee.std_logic_1164.all;



entity ir_decoder is
port( ip: in std_logic_vector(3 downto 0);
op: out std_logic_vector(4 downto 0)
);
end ir_decoder;

architecture behv of ir_decoder is
begin



process (ip)
begin



case ip is
when "0001" => op <= "00001";--lda
when "0010" => op <= "00010";--add
when "0011" => op <= "01000";
when "0100" => op <= "00101";
when others => op <= "XXXXX";
end case;

end process;

end behv;

ring counter:

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.numeric_bit.all;

entity ring_test is
port (clk, reset: in bit;
t_state: out bit_vector(5 downto 0));
end ring_test;

architecture behv of ring_test is
signal IQ : bit_vector(5 downto 0);
signal LIN : bit;
begin
LIN <= not iq(4) and not iq(3) and not iq(2) and not iq(1) and not IQ(0);
process(clk)
begin
if (clk'event and clk = '1') then
if reset = '1' then
iq <= "000001";
else
iq <= iq(4 downto 0) & LIN;
end if;
end if;
end process;
t_state <= iq;
end behv;


any one can pls make the port map for this code
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top