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
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Openrisc > Message List > Message Post

    Message

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

    From: Andreas Ehliar<ehliar@i...>
    Date: Fri Oct 7 18:51:50 CEST 2005
    Subject: [openrisc] Instruction cache related bug
    Top
    Hi,
    I discovered another cache related bug, this time in the instruction
    cache. In certain cases it is possible for a cacheline to be filled
    incorrectly:

    | AAAA | BBBB | CCCC | DDDD | <-- correct cacheline
    | AAAA | AAAA | CCCC | DDDD | <-- buggy cacheline

    I have created a screendump of modelsim where this behaviour is
    shown at the following URL:
    http://www.da.isy.liu.se/~ehliar/opencores/waveform.png

    If you look at /cachebug_top/cpu/iwb_adr_o in the picture you can see
    that the address is not changed after the first ACK. I have also
    included some signals from the iwb_biu unit where I think the bug is
    located. The problem seems to be that the biu_ack_o either happens too
    late in case of a repeated access or that the iwb_stb_o/iwb_adr_o
    signals are asserted one clock cycle too early. If this is true the
    wb_biu should also be checked for this kind of bug.


    I have included the testbench that I used in order to create the
    behaviour described above:
    http://www.da.isy.liu.se/~ehliar/opencores/ifetchbug.tar.gz


    /Andreas

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