|
Message
From: darus at mail.ru<darus@m...>
Date: Sat Jun 30 13:00:34 CEST 2007
Subject: [oc] WISHBONE signals question
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.
|
 |