«« ( Date ) »» // «« ( Thread ) »» // vlsi-nastava - 2007

Re: pitanje za asistenta

by Igor Stojkovic
ponedeljak, 29. januar 2007 - 11:51.

On 1/28/07, Rade Jakovljević <radegm@gmail.com> wrote:
1. MASTER postavlja signale na uzlaznu ivicu takta i signale od SLAVE-a
ocitava na sledecu ( ili jednu od sledecih ) uzlaznu ivicu takta.

Tacno.

>
> 2. Postoje 3 nacina na koji SLAVE moze zavrsiti ciklus:

> 1) Asynchronous Cycle Termination -> ACK_O je KOMBINACINOG tipa. Kao u
primeru "wishbone kompatibilnog porta" - prakticno ACK_0 = STB_I u tom
primeru.
> Tj -> slave ne "odgovara" ni na kakvu ivicu CLK-a ...
> ( jedna operacija traje 1 wb ciklus )
> - ovakvi su svi primeri u knjizi, primer tog wb porta, Sasin domaci ...

To sam malopre i objasnjavao, jednostavno Slave ima obavezu da kada postavi
ack signal, da na sledecu uzlaznu ivicu takta ima postavljene podatke
(recimo da je citanje iz Slave-a u pitanju), to je sva poenta koliko ja
shvatam. A da li ces ti ack_o postaviti na silaznu ivicu takta ili
kombinaciono (odmah po postavljanju stb_i signala) zavisi kako si ti to
zamislio. Ako postavis odmah, onda znaci da ce ti citanje trajati 1 takt i
da na sledecu ivicu moras postaviti podatke. Ako ti je sistem takav da to ne
mozes da stignes, (kao sto je kod mene slucaj pa mi citanje traje 3 takta,
jer je fifo sinhron), onda moras to da odlozis za par taktova. E sad kako to
da realizujes? Pa jedan od nacina je da postavljas na silaznu ivicu, jer je
lako da se na nju sinhronizujes. Mozes i na uzlaznu, zavisi...

> E sad, mozda ja nesto prevodim/shvatam lose iz navedenog pravila -> no,
kod Asynchronous Cycle Termination - ACK_I ne zavisi od CLK_I .. da li to
znaci da se "kosi sa pravilom 4.10" ?

Ne kosi se pravilom. Pravilo 4.10 samo kaze kada se ocekuje ocitavanje
podataka od mastera/slave-a, a to je na uzlaznu ivicu. Kada ces postaviti
ack nije bitno, ako ces na sledecu ivicu imati podatke na izlazu, jer ce
ih master ocekivati na tu ivicu JER JE TO PRVA UZLAZNA IVICA POSLE
POSTAVLJANJA ACK_O. Tu je veza izmedju pr 4.10 i Asynchronous Cycle
Termination koji si ti opisao ovde.
Ovo je opet samo moje misljenje/shvatanje wb-a

Kako se sa pravilom 4.10 ne kosi ovo da se ACK_O postavlja na silaznu
ivicu? Po meni to je najjasnije da se kosi :). ACK_O, kao sto mu
poslednje slovo kaze je OUTPUT signal a pravilo kaze:
All WISHBONE output signals are registered at the rising edge of [CLK_I]

Znaci ako ga postavljas na silaznu ivicu onda ili krsis ovo ili
smatras da ACK_O nije izlazni signal.

--
Pozdrav,
Igor Stojkovic mailto: stojkovic.igor@gmail.com