xilinx

Tauri elektrolista at pdg.hu
Fri Jan 13 23:14:38 CET 2006


Hi Lista

2006. január 13., 18:49:08, írtad:

> Hali!

na most en vagyok repulo



ez lefordul nalad?

nalam a 92. sorban az "avr_pa" ertekadasaval van baj. ha kikomentezem
akkor fordul.



library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity ht is
    Port ( CLK : in std_logic;        
           ACLK : out std_logic;

 -- 8085 Lábak

           INTR : in std_logic;
           READY : in std_logic;
           RESETIN : in std_logic;
           RST55 : in std_logic;
           RST65 : in std_logic;
           RST75 : in std_logic;
           SID : in std_logic;
           TRAP : in std_logic;

           AD : inout std_logic_vector(7 downto 0);

           A8 : out std_logic;
           A9 : out std_logic;
                 A10 : out std_logic;
                 A11 : out std_logic;
                 A12 : out std_logic;
                 A13 : out std_logic;
                 A14 : out std_logic;
                 A15 : out std_logic;

           ALE : out std_logic;
           IOM : out std_logic;
           RD : out std_logic;
           WR : out std_logic;
           S0 : out std_logic;
           S1 : out std_logic;
           CLKOUT : out std_logic;
           HOLDA : out std_logic;

           INTA : out std_logic;
           RESOUT : out std_logic;
           SOD : out std_logic;

 -- AVR lábak

           AVR_RD : in std_logic;
           AVR_WR : in std_logic;
           AVR_ALE : in std_logic;
           AVR_PA : inout std_logic_vector(7 downto 0);
           AVR_PC : in std_logic_vector(7 downto 0);

 -- SRAM
                 raml: out std_logic_vector(7 downto 0);
                 ramh: out std_logic_vector(7 downto 0);
                 ramd: out std_logic_vector(7 downto 0);
                 ramcs: out std_logic;
                 ramoe: out std_logic;
                 ramwe: out std_logic;

                 RESET : in std_logic
                 );
end ht;

architecture Behavioral of ht is
signal O0: std_logic_vector(7 downto 0);
signal O1: std_logic_vector(7 downto 0);
signal O2: std_logic_vector(7 downto 0);
signal I0: std_logic_vector(7 downto 0);


signal aclks: std_logic;

begin

aclock: process(clk,reset)
begin
        if reset='L' then
                aclks<='0';
        elsif rising_edge(clk) then
                aclks<=not aclks;
        end if;
end process;

        O0<= avr_pa    when avr_pc="00000000" and rising_edge(avr_wr) and avr_rd='H';
        O1<= avr_pa    when avr_pc="00000001" and rising_edge(avr_wr) and avr_rd='H';
        O2<= avr_pa    when avr_pc="00000010" and rising_edge(avr_wr) and avr_rd='H';
        raml<= avr_pa  when avr_pc="00000011" and rising_edge(avr_wr) and avr_rd='H';
        ramh<= avr_pa  when avr_pc="00000100" and rising_edge(avr_wr) and avr_rd='H';
        ramd<= avr_pa  when avr_pc="00000101" and rising_edge(avr_wr) and avr_rd='H';

        avr_pa<="00000000" when avr_pc="00000000" and avr_rd='L' else "ZZZZZZZZ";

        aclk<=aclks;

-- 8085 outputok

        a8<=O0(0);
        a9<=O0(1);
        a10<=O0(2);
        a11<=O0(3);
        a12<=O0(4);
        a13<=O0(5);
        a14<=O0(6);
        a15<=O0(7);

        ale<=O1(0);
        iom<=O1(1);
        rd<=O1(2);
        wr<=O1(3);
        s0<=O1(4);
        s1<=O1(5);
        clkout<=O1(6);
        holdA<=O1(7);

        inta<=O2(0);
        resout<=O2(1);
        sod<=O2(2);

-- 8085 Inputok

        I0(0)<=intr;
        I0(1)<=ready;
        I0(2)<=resetin;
        I0(3)<=rst55;
        I0(4)<=rst65;
        I0(5)<=rst75;
        I0(6)<=sid;
        I0(7)<=trap;

end Behavioral;


-- 




More information about the Elektro mailing list