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 > Cores > Message List > Message Post

    Message

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

    From: darus at mail.ru<darus@m...>
    Date: Sat Jun 30 13:00:34 CEST 2007
    Subject: [oc] WISHBONE signals question
    Top
    Hello.

    I have a question concerning WISHBONE signals.
    I'm new to FPGA design, so maybe my question will seem to you rather
    silly.

    In WISHBONE specs, there is a place about BLOCK READ:

    -------------------------------------------------------------
    CLOCK EDGE 0: MASTER presents a valid address on [ADR_O()] and [TGA_O()].
    MASTER negates [WE_O] to indicate a READ cycle.
    MASTER presents bank select [SEL_O()] to indicate where it expects
    data.
    MASTER asserts [CYC_O] and [TGC_O()] to indicate the start of the
    cycle.
    MASTER asserts [STB_O] to indicate the start of the first phase.

    Note: the MASTER asserts [CYC_O] and/or [TGC_O()] at, or anytime
    before, clock edge 1.

    SETUP, EDGE 1: SLAVE decodes inputs, and responding SLAVE asserts
    [ACK_I].
    SLAVE presents valid data on [DAT_I()] and [TGD_I()].
    MASTER monitors [ACK_I], and prepares to latch [DAT_I()] and
    [TGD_I()].

    CLOCK EDGE 1: MASTER latches data on [DAT_I()] and [TGD_I()].
    MASTER presents new [ADR_O()] and [TGA_O()].
    MASTER presents new bank select [SEL_O()] to indicate where it
    expects data.
    -------------------------------------------------------------

    So, at the rising edge 1 master sees ACK from slave and latches data.
    But before the same edge, master should present new address on ADR_O!
    But how master knows in advance, that slave will assert ACK on edge 1?
    Here I assume that all input signals are sampled on the rising edge of
    clock. And since all input signals are synchronously latched on rising
    edge, master really don't have any chance to peek into slave signals
    before the rising edge.

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