Re: Block Read pitanje
Evo moj kratak (?) pogled na ovu problematiku, iliti tekstualno opis
asistentove slike :))
NAJBITNIJE 1: WB slave interface ne treba da vidi razliku izmedju single i
block ciklusa
NAJBITNIJE 2: i blok ciklus moze biti sa WS taktovima, dakle kome je sve ovo
komplikovano neka pravi sve sinhrono u 2 takta, a sa ACK neka odgovara tek u
2. taktu (u 1. taktu ACK je '0')
u block-u
- CYC definise zauzece magistrale i da je ciklus na magistrali u toku.
Na njega ne treba da se obazire preterano slave, jer je on vise za arbitera
magistrale.
- STB se ne treba nikada obarati, obaranje je samo odraz uzimanja daha
mastera (tj. WS takt) (ako nije oboren slave ce vec odmah na pocetku
slijedeceg kloka pripremati nove podatke)
- analogno je sa ACK ali gledano sa strane SLAVE-a
generalno:
- master postavi CYC i STB na samom pocetku takta 0, a moze i 1% pred
kraj takta 0
- slave reaguje asinhrono (rijetki su slucajevi gdje moze sinhrono) na
ACK i priprema se za transfer (dakle, izlaz FIFO-a je asinhron, mada sam ja
uradio jedan "sinhroni" pristup)
- nije problem ako slave ne moze za 1% pred kraj da se pripremi, nikakav
data-leak nece da se desi, samo se cijeli ciklus rasteze jos jedan takt
- master/slave na pocetku takta 1, FINALNO reaguje na signale i to samo
ako su oni i dalje aktivni (dakle ulaz FIFO-a je sinhron)
Zakljucak 1: WISHBONE radi pripremne radnje asinhrono, a sve verifikuje i
konacno odsjeca sinhrono (N-ti takt od pocetka ciklusa (n = 1..beskonacno)
Zakljucak 2 Testbench asistenta Gvozdena dozvoljava ubacivanje WS taktova,
dakle mogu i potpuno sinhroni memorijski blokovi :)
pozdrav,
Sasa
asistentove slike :))
NAJBITNIJE 1: WB slave interface ne treba da vidi razliku izmedju single i
block ciklusa
NAJBITNIJE 2: i blok ciklus moze biti sa WS taktovima, dakle kome je sve ovo
komplikovano neka pravi sve sinhrono u 2 takta, a sa ACK neka odgovara tek u
2. taktu (u 1. taktu ACK je '0')
u block-u
- CYC definise zauzece magistrale i da je ciklus na magistrali u toku.
Na njega ne treba da se obazire preterano slave, jer je on vise za arbitera
magistrale.
- STB se ne treba nikada obarati, obaranje je samo odraz uzimanja daha
mastera (tj. WS takt) (ako nije oboren slave ce vec odmah na pocetku
slijedeceg kloka pripremati nove podatke)
- analogno je sa ACK ali gledano sa strane SLAVE-a
generalno:
- master postavi CYC i STB na samom pocetku takta 0, a moze i 1% pred
kraj takta 0
- slave reaguje asinhrono (rijetki su slucajevi gdje moze sinhrono) na
ACK i priprema se za transfer (dakle, izlaz FIFO-a je asinhron, mada sam ja
uradio jedan "sinhroni" pristup)
- nije problem ako slave ne moze za 1% pred kraj da se pripremi, nikakav
data-leak nece da se desi, samo se cijeli ciklus rasteze jos jedan takt
- master/slave na pocetku takta 1, FINALNO reaguje na signale i to samo
ako su oni i dalje aktivni (dakle ulaz FIFO-a je sinhron)
Zakljucak 1: WISHBONE radi pripremne radnje asinhrono, a sve verifikuje i
konacno odsjeca sinhrono (N-ti takt od pocetka ciklusa (n = 1..beskonacno)
Zakljucak 2 Testbench asistenta Gvozdena dozvoljava ubacivanje WS taktova,
dakle mogu i potpuno sinhroni memorijski blokovi :)
pozdrav,
Sasa
- Follow-Ups:
- RE: Block Read pitanje
- From: "Ivan Milosavljevic" <ivan.mile@sezampro.yu>
- RE: Block Read pitanje
- References:
- RE: Block Read pitanje
- From: "Ivan Milosavljevic" <ivan.mile@sezampro.yu>
- RE: Block Read pitanje
Previous by date: Re: SEL_O/I()
Next by date: Re: TestBench
Previous by thread: RE: Block Read pitanje Next by thread: RE: Block Read pitanje
Previous by thread: RE: Block Read pitanje Next by thread: RE: Block Read pitanje