LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Find Resources
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cores > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: gutobix at gmx.de<gutobix@g...>
    Date: Wed Mar 30 14:00:42 CEST 2005
    Subject: [oc] T80 bugfix for INI, IND, INIR, INDR, OUTI, OUTD, OTIR, OTDR
    Top
    Hi,
    Thank you for the exellent T80 Core. I use that in the C-One Projekt.
    Now I have found a Bug and fix it.
    TobiFlex

    when "10100010" | "10101010" | "10110010" | "10111010" =>
    -- INI, IND, INIR, INDR
    MCycles <= "100";
    case to_integer(unsigned(MCycle)) is
    when 1 =>
    Set_Addr_To <= aBC;
    Set_BusB_To <= "1010";
    Set_BusA_To <= "0000";
    Read_To_Reg <= '1';
    Save_ALU <= '1';
    ALU_Op <= "0010";
    when 2 =>
    IORQ <= '1';
    Set_BusB_To <= "0110";
    Set_Addr_To <= aXY;
    when 3 =>
    --TobiFlex was here
    if IR(3) = '0' then
    IncDec_16 <= "0110";
    else
    IncDec_16 <= "1110";
    end if;
    TStates <= "100";
    Write <= '1';
    I_BTR <= '1';
    when 4 =>
    NoRead <= '1';
    TStates <= "101";
    when others => null;
    end case;
    when "10100011" | "10101011" | "10110011" | "10111011" =>
    -- OUTI, OUTD, OTIR, OTDR
    MCycles <= "100";
    case to_integer(unsigned(MCycle)) is
    when 1 =>
    TStates <= "101";
    Set_Addr_To <= aXY;
    Set_BusB_To <= "1010";
    Set_BusA_To <= "0000";
    Read_To_Reg <= '1';
    Save_ALU <= '1';
    ALU_Op <= "0010";
    when 2 =>
    Set_BusB_To <= "0110";
    Set_Addr_To <= aBC;
    when 3 =>
    --TobiFlex was here
    if IR(3) = '0' then
    IncDec_16 <= "0110";
    else
    IncDec_16 <= "1110";
    end if;
    IORQ <= '1';
    Write <= '1';
    I_BTR <= '1';
    when 4 =>
    NoRead <= '1';
    TStates <= "101";
    when others => null;
    end case;
    end case;

    Follow upAuthor
    [oc] T80 bugfix for INI, IND, INIR, INDR, OUTI, OUTD, OTIR, OTDRMikeJ

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.