sistemi na čipues.elfak.ni.ac.rs/es/materijal/pog.10-soc dizajn.pdf · 2013-12-06 · sistemi na...

20
Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem ugrađen u jedinstveni čip. Takođe, po definiciji, svaki SoC sadrži najmanje bar po jedan mikroprocesor. Da bi ispunili postavljene zahteve neki od SoC-ova imaju ugrađeno po dva ili tri mikroprocesora, a postoje i SoC-ovi koji koriste po više od desetinu procesora. Da bi videli gde se SoC dizajn nalazi danas, i gde će on biti u budućnosti, neophodno je da se prvo sagleda na koji je način evaluiralo projektovanje elektronskih uređaja od trenutka pojave na tržištu prvog mikrroprocesora. Početak radikalnog pristupa Način projektovanja elektronskih uređaja radikalno se promenio 15. novembra 1971. godine, od momenta kada je Intel izbacio na tržište svoj prvi 4-bitni mikroprocesor, Intel 4004. Pre tog perioda, projektovanje sistema se izvodilo direktnim žičanim međusobnim povezivanjem velikog broja gradivnih blokova sistema, od kojih su neki bili digitalni, a drugi analogni. Od tog trenutka projektovanje elektronskih sistema se značajno promenilo u sledeća dva glavna pravca. Kao prvo, svakako najuočljivija promena, predstavlja uvođenje softvera ili firmware-a u pristupu projektovanja elektronskih sistema. Naime, nakon uveđenja mikroprocesora Intel 4004 projektanti su, za potrebe upravljanja radom sistema, počeli da savladavaju veštine programiranja, inkorporirajući nakon toga te kreirane programe u samu mašinu, kreirajući pri tome, u prvoj fazi (negde 70-tih godina) prvo programe na asemblerskom jeziku, a zatim (negde od 80-ih godina) i na nekom drugom višem programskom jeziku, kakav je C, Pascal i td. Druga glavna promena u projektovanju sistema se odnosila na korišćenje magistrale kao resursa sistema koja se koristila za međusobno povezivanje glavnih gradivnih blokova sistema. Na slici 1 prikazan je blok dijagram digitalnog voltmetra Hewlett-Packard 3440A projektovan 1963. godine, osam godina pre pojave mikroprocesora. Slika 1. Blok dijagram digitalnog voltmetra HP 3440A 1

Upload: others

Post on 31-Dec-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

Sistemi na čipu

Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem ugrađen u jedinstveni čip. Takođe, po definiciji, svaki SoC sadrži najmanje bar po jedan mikroprocesor. Da bi ispunili postavljene zahteve neki od SoC-ova imaju ugrađeno po dva ili tri mikroprocesora, a postoje i SoC-ovi koji koriste po više od desetinu procesora. Da bi videli gde se SoC dizajn nalazi danas, i gde će on biti u budućnosti, neophodno je da se prvo sagleda na koji je način evaluiralo projektovanje elektronskih uređaja od trenutka pojave na tržištu prvog mikrroprocesora. Početak radikalnog pristupa Način projektovanja elektronskih uređaja radikalno se promenio 15. novembra 1971. godine, od momenta kada je Intel izbacio na tržište svoj prvi 4-bitni mikroprocesor, Intel 4004. Pre tog perioda, projektovanje sistema se izvodilo direktnim žičanim međusobnim povezivanjem velikog broja gradivnih blokova sistema, od kojih su neki bili digitalni, a drugi analogni. Od tog trenutka projektovanje elektronskih sistema se značajno promenilo u sledeća dva glavna pravca. Kao prvo, svakako najuočljivija promena, predstavlja uvođenje softvera ili firmware-a u pristupu projektovanja elektronskih sistema. Naime, nakon uveđenja mikroprocesora Intel 4004 projektanti su, za potrebe upravljanja radom sistema, počeli da savladavaju veštine programiranja, inkorporirajući nakon toga te kreirane programe u samu mašinu, kreirajući pri tome, u prvoj fazi (negde 70-tih godina) prvo programe na asemblerskom jeziku, a zatim (negde od 80-ih godina) i na nekom drugom višem programskom jeziku, kakav je C, Pascal i td. Druga glavna promena u projektovanju sistema se odnosila na korišćenje magistrale kao resursa sistema koja se koristila za međusobno povezivanje glavnih gradivnih blokova sistema. Na slici 1 prikazan je blok dijagram digitalnog voltmetra Hewlett-Packard 3440A projektovan 1963. godine, osam godina pre pojave mikroprocesora.

Slika 1. Blok dijagram digitalnog voltmetra HP 3440A

1

Page 2: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

Kao što se vidi sa slike 1 strukturu voltmetra čine veći broj analognih i digitalnih elemenata (gradivnih blokova) međusobno direktno povezanih korišćenjem veze tipa tačka-ka-tački (point-to-point). Uočljivo je da u ponuđeno rešenju ne postoje magistrale, kao i da egzistira veći broj nezavisnih gradivnih blokova koji su međusobno direktno povezani, kao i četiri nezavisna dekadna brojača od kojih svaki pobuđuje svoj sopstveni numerički displej. Na slici 2 prikazan je način na koji danas sistemski projektant može da implementira digitalni voltmetar tipa HP 3440 A. Kao što se vidi sa slike 2, mikroprocesor upravlja radom svih glavnih sistemskih komponenata komunicirajući sa njima preko magistrale.

Slika 2. Verzija blok dijagrama HP 3440 A sa slike 1 adaptirane za mikroprocesorsko zasnovanu

implementaciju Sa aspekta projektovanja sistema postoje značajne razlike između dizajna digitalnog voltmetra ranih 60-ih godina prošlog veka i moderne mikroprocesorske implementacije. Najvažnija razlika se pre svega odnosi na masovni iznos paralelizma koji je korišćen ranih 60-ih godina u odnosu na izvršenje po jedne operacije u datom trenutku preko magistrale mikroprocesora. Tako na primer, mikroprocesor sa slike 2 može u jednom trenutku preko magistrale da čita podatak samo iz RAM-a ili ROM-a, a ne i iz A/D konveertora. To znači da je magistarla deljivi resurs i može da podržava izvršenje, u datom trenutku, samo jedne operacije. S obzirom da je magistrala deljivi resurs njeno korišćenje mora biti vremenski multipleksirano. U cilju ostvarivanja boljih performansi, Intel je aprila 1972. godine izbacio na tržište 8-bitni mikroprocesor Intel 8008, a aprila 1974. godine 8-bitni mikroprocesor Intel 8080 kod koga su bile izdvojene magistrale za adrese i podatke. I druge kompanije, kakva su bile Motorola i Zilog imale su svoje 8-bitne procesore. Mikroprocesor - univerzalni gradivni blok sistema Tokom narednih 30 godina mikroprocesorsko bazirani dizajn je postao skoro univerzalni pristup kod projektovanja sistema. Razlog za ovakav uspeh svakako predstavlja, pre svega, niska cena mikroprocesorskih čipova kao i univerzalna integrisana kola. Danas, mikroprocesori, kao ključni gradivni upravljački i procesni blokovi, dominiraju u modernim elektronskim sistemima iz prostog razloga što se izmene u hardveru sistema izvode mnogo teže u odnosu na one u softveru/firmware. Kod hardverske izmene projektant mora da redizajnira i reverifikuje logiku. Izmene se rade tako što se prvo menja dizajn štampane ploče (odnosi se na period pre pojave SoC-ova), a zatim se obavlja ponovno funkcionalno testiranje radi verifikacije ispravnosti uređaja. Sa druge strane, projektanti softvera/firmware-a mogu da promene samo kôd, nakon toga da rekompajliraju taj kôd, i na kraju da ga upišu u ROM, ili download-uju novi kôd u postojeći hardver.

2

Page 3: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

Od trenutka pojave na tržištu prvog mikroprocesora pa do danas proizvođači mikroprocesorskih čipova su bili u permanentnoj presiji za konstantnim poboljšanjem performansi. Globalno posmatrano, poboljšanja performansi se mogu ostvariti na veći broj načina od kojih su najvažnija ona koja se ostvaruju na:

1. arhitekturnom planu (protočnost, akceleratori tipa keš, scratchpad memorija, koprocesori, i dr.); 2. na nivou tehnologije (povećanje frekvencije rada, smanjenje napona napajanja, smanjenje

dimenzija tranzistora, i dr.); i 3. uvođenje paralelizma u obradi informacije (homogeni i heterogeni multiprocesorski sistemi, i dr.)

Ilustracije radi, na slikama 3 i 4 prikazane su tendencije u razvoju mikroprocesora sa tačke gledišta povećanja taktne frekvencije i broja pinova na čipu.

Slika 3. Dramatično povećanje taktne frekvencije mikroprocesora u proteklom vremenu

Slika 4. Dramatično povećanje broja pinova mikroprocesora u proteklom vremenu

3

Page 4: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

Posledice povećanja performansi na makro nivou Viša frekvencija taktne pobude kao i veći obim magistrala za prenos podataka neminovno su uslovili i povećanje performansi sistema. No, povećanje taktne frekvencije i smanjenje dimenzija tranzistora su doveli do povećanja disipacije na čipu. Na slici 5 prikazane su realne i očekivane tendencije u povećanju disipacije kod integrisanih kola u funkciji smanjenja dimenzija tranzistora.

Slika 5. Gustina disipirane snage kod mikroprocesora

Još od trenutka pojave na tržištu prvih mikroprocesora projektanti elektronskih sistema, a posebno oni koji su razvijali PC mašine, veliku pažnju su posvećivali efikasnom izvođenju hlađenja čipa (instalirani su aluminijumski hladnjaci, ventilatori, tečno hlađenje, i dr.). No, nezavisno od postignutog cilja, dva negativna efekta su evidentna, a oni se odnose na povećanje cene proizvoda i smanjenje pouzdanosti u radu. Ipak pri ovome treba imati u vidu sledeće:

• kod SoC dizajna se ne koriste isti pristupi u hlađenju kao i kod PC procesora, iz prostog razloga što procesorska jezgra koja se ugrađuju u SoC dizajn nisu tako moćna kao i procesori kod PC mašina.

• jezgro procesora kod SoC-a predstavlja samo mali deo sistema tako da procesor ne treba da ima dominantni uticaj na cenu proizvoda i strukturu sistema kakav je to slučaj kod procesora PC mašina.

Dodatno treba istaći i sledeće: SoC kola se razvijaju koristeći ASIC pristup u projektovanju. Specifičnost ovog pristupa se sastoji u sledećem: Dimenzije kola (gejtova) na kritičnim putevima individualno se ne optimiziraju u cilju ostvarivanja većih brzina rada i efikasnijeg pakovanja (manja površina na silicijumu). Saglasno tome, prosečne brzine rada embedded procesorskih jezgara su do nekoliko stotina MHz, što znači da SoC porcesori ne rade na multi-GHz frekvencijama kakvi su procesori kod PC mašina.

4

Page 5: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

Povećanje performansi procesora na mikro nivou Jedan od standardnih načina da se povećaju performanse sistema se bazira na sledećem konceptu: Povećanje broja magistrala i povećanje obima magistrala. Na makro-nivou, kada se procesori izvode kao posebna IC pakovanja, veći broj pinova po pravilu znači veća cena i teže testiranje čipova. Sa druge strane, na mikro-nivou SoC dizajna, dodatni pinovi za veći obim magistrala ne koštaju mnogo. Oni samo usložnjavaju rutiranje, a time i napore koje projektant layout-a čipa treba da uloži. U suštini, kada su jedanput veze izrutirane, dodatni pinovi na mikroprocesorskom jezgru nemaju neki uticaj na cenu proizvoda, ako se pri tome izuzme povećanje cene proizvoda usled uvećane površine čipa na silicijumskoj podlozi. Na sličan način, dodatne mikroprocesorske magistrale imaju veoma mali uticaj na povećanje cene, ali u velikoj meri obezbeđuju da se značajno povećaju performanse sistema. Zbog toga, procesorska jezgra koja se ugrađuju u SoC-ove imaju veći broj magistrala (vidi slilku 6).

Slika 6. SoC procesorska jezgra

Na slici 6 je prikazano procesorsko jezgro sa osam magistarla. Jedna od ovih magistrala je tradicionalna multi-master magistrala koja se koristi kod svih mikroprocesora još od pojave prvih mikroprocesora 1971. godine. Četiri magistrale se koriste za direktnu komunikaciju sa memorijama u kojima se čuvaju lokalne instrukcije i lokalni podaci. Preko dodatne dve magistrale komunicira se sa keš memorijama za instrukcije i za podatke. Ostala lokalna magistrala se koristi za veoma brzo komuniciranje sa čvrsto spregnutim uređajima kakvi su FIFO-i i periferije visoke propusne moći. Procesor sa slike 6 ima dve Load/Store jedinice i jednu jedinicu za pribavljanje instrukcija koje istovremeno mogu da rade preko tri procesorske magistrale. Pored toga preko keš kontrolera procesor može istovremeno da pristupa kešu instrukcija i kešu podataka. Drugim rečima, jezgro-procesora-SoC-a može istovremeno da komunicira preko nekoliko magistrala. Ovakav način postizanja ulazno-izlazne konkurentnosti u radu jezgra-procesora ima dominantan uticaj na to da radna frekvencija procesora bude niska, a saglasno tome i diisipacija čipa bude mala. Kao zaključak bi mogli da kažemo sldeće: broj pinova potreban da se implementiraju osam magistrala kod procesora izvedenih kao posebna IC pakovanja ima dominantan uticaj na cenu proizvoda, ali nema tako veliki uticaj na cenu procesorskih jezgara (processor cores) koji se ugrađuju u SoC dizajn.

5

Page 6: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

Ulazno/izlazna propusnost i taktna frekvencija procesorskog jezgra Podela sistemske magistrale (sistemska magistrala je tipična za procesore koji se izvode kao IC pakovanja) na veći broj magistrala (rešenja tipična za procesorska jezgra kod SoC dizajna) ukazuje na ključnu razliku između procesorskih čipova i procesorskih jezgara. Procesorska jezgra su u stanju da podrže istovremeni rad većeg broja ulazno/izlaznih transakcija koje se ostvaruju preko nekoliko različitih magistrala (vidi sliku 6). Na ovaj način proširuju se mogućnosti visoko-performansnih sistemskih arhitektura (tipični za SoC dizajn), a takođe se i povećava broj različitih topologija koje se mogu realizovati, a koje ponekad mogu biti ne-ekonomične ili šta više nemoguće za realizaciju (slučajevi kada se koriste procesorski čipovi koji se kao integrisana kola ugrađuju na štampanim pločama). Saglasno prethodnom, SoC dizajneri ne treba da budu toliko mnogo opterećeni izazovom da procesorska jezgra treba, u cilju ostvarivanja visokih performansi, da rade na visokim frekvencijama kakav je slučaj sa projektantima PC mašina. Ali to ne znači da taktne frekvencije kod visoko-performansnih procesorskih jezgara ne treba da budu od važnosti. U principu, kada se govori o izboru taktne frekvencije potrebno je da se ispune sledeća dva zahteva:

• da se ostvare visoke performanse pri što nižim taktnim frekvencijama, i • da se koriste više taktne frekvencije samo kada je to potrebno.

Evolucija u projektovanju sistema Napredak na polju poluprovodničke tehnologije permanentno je prisutan još od pojave prvih integrisanih kola i grubo je formulisan Moore-ovim zakonom. Kada se govori o razvoju mikroprocesora važe isti zaključci. Na slici 7 dat je dijagram koji prikazuje promene dimenzija tranzistora ugrađivanih u mikroprocesora tokom proteklog perioda, kao i predviđanja do 2020. godine koja su u skladu sa Moore-ovim zakonom.

Slika 7. Promene dimenzija tranzistora koji se ugrađuju u mikroprocesore

Napomena: Predviđanja su urađena od strane asocijacije International Technology Roadmap for Semiconductor i poznata su kao ITRS 2005.

Na slici 8 prikazana je struktura jednog mikroprocesorski-baziranog sistema, iz perioda 1985. godine. Kod ovog sistema za korektnu spregu memorijskih i periferijskih čipova sa procesorskom magistralom koriste se interfejs čipovi, u stručnoj literaturi nazvani glue logic (ova kola su obično iz serije 74LS , tj TTL Low Power Schotky). Sistem sa slike 8 je bio realizovan na štampanoj ploči.

6

Page 7: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

Slika 8. Mikroprocesorsko zasnovani sistem iz perioda 1985. godine.

Negde početkom 90-ih godina glue logic, u cilju minimizacije broja ugrađenih komponenata na štampanoj ploči, zamenjivana je sa programibilnim logičkim kolima tipa PAL, FPGA ili šta više kod visoko serijske proizvodnje, zbog niže cene, ASIC kolima (vidi sliku 9).

Slika 9. Mikroprocesorsko-bazirani sistem iz perioda 1990. godine

Mikroprocesorsko zasnovani sistemi u periodu od 1995 do 2000. godine karakteriše integracija na jedinstvenom čipu celokupne logike sistema (vidi sliku 10). No i pored toga što je celokupna logika ugrađivana u jedinstveni čip blok dijagram ovakvih sistema je podsećao na rešenje tipično za štampane ploče.

7

Page 8: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

Slika 10. Struktura SoC-a iz perioda 1995. do 2000. godine

Od 2000. godine brzi napredak u proizvodnji VLSI IC-ova omogućio je da se u sistem inkorporiraju procesorska jezgra. Glavni problem koji se sada pojavio odnosio se na neusklađenost u brzini rada procesora sa jedne i periferija sa druge strane. Za razdvajanje brzog procesorsko-memorijskog podsistema od sporih perifernih sekcija u samom SoC-u projektanti su počeli da koriste on-chip hijerarhijski organizovane magistrale. Jedna od magistrala je brza, a druga spora. Logika tipa bus-bridge se koristi za sprezanje obe magistrale (vidi sliku 11).

Slika 11. Blok dijagram mikroprocesorskog sistema iz perioda 2000. godine

Danas, skoro svaki SoC dizajn se realizuje kao multiprocesorski sistem. Takvi SoC-ovi se nazivaju MPSoC (multi-processor system-on-chip). Na slici 12 prikazana je struktura jednog 8

Page 9: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

dvoprocesorskog SoC dizajna sa control-plane i data-plane procesorima. Svaki procesor ima svoju sopstvenu brzu magistralu. Sprega sa sporom periferijskom magistralom se ostvaruje preko bus bridge-eva.

Slika 12. Današnji SoC dizajn

Termini control-plane i data-plane procesor imaju sledeća značenja. Na nivou celog MPSoC-a data-plane procesor je zadužen za procesiranje (obradu podataka), a control-plane procesor za upravljanje radom sistema. Tako na primer, dvoprocesorski SoC sistem standardno se danas ugrađuje kod mobilnih telefona. Control-plane procesor je procesor opšte namene kakav je recimo ARM RISC. Ovaj procesor je zadužen za interakciju sa korisnikom, upravljanje radom sistema, i komuniciranje (zadaci koji se odnose na protokol stack). Data plane procesor je DSP procesor i on vrši obradu signala u baseband-u, kao i procesiranje signala govora (FFT, inverzna FFT, kodiranje, dekodiranje, filtriranje, i dr.). S obzirom da su kod SoC dizajna sa slike 12 oba procesorska jezgra različitog tipa za takav sistem kažemo da je heterogeno-multiprocesorski sistem. Sistem kod koga su procesorska jezgra istog tipa nazivamo homogenim. Reuse metodologija Kao što smo već naglasili, ekonomski faktori u VLSI projektovanju su doveli stepen integracije do takvog nivoa da elektronski sistemi koji su prethodno bili realizovani od većeg broja štampanih ploča i velikog broja IC-ova mogu danas da se realizuju na jednom silicijumskom čipu nazvanom SoC. SoC kao pristup ima dve kontradiktorne implikacije. Sa jedne strane on obezbeđuje drastično smanjenje cene proizvoda, a sa druge, podrazumeva uvođenje visokog stepena specifičnosti u radu kola što u suštini redukuje mogućnosti svake individualne komponente koja se ugrađuje u SoC. Ilustracije radi, kombinacija dve komponente opšte namene je manje univerzalna od svake pojedinačne komponente. Saglasno prethodnom, što se veći broj komponenata integriše u sistem, rezultujuće elektronsko kolo postaje sve više i više specijalizovano i njegova potencijalna mogućnost da bude univerzalno postaje sve manja. Povećanje složenosti kola kao i cene dizajna uslovljavaju projektante da pronađu nove načine u projektovanju kako bi bili u stanju da više puta iskoriste svoje stečeno znanje u izradi prethodnog proizvoda, tj. koriste pristup koji se bazira na konceptima design reuse kola i plug-and-play komponenti. Normalno, svaki novi pristup i metodologija u projektovanju donosi i nove probleme kao izazove

9

Page 10: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

10

koje treba rešiti. U konkretnom slučaju, jedan od ključnih problema koga treba savladati se odnosi na dokazivanje korektnosti rada SoC-a a to uključuje sledeće aktivnosti: a) simulacija, b) validacija, c) verifikacija, i d) testiranje. IP blokovi i dizajn reuse Jezgro (core ili IP - Intelectual Property) je unapred projektovano i verifikovano kolo koga čine najmanje 5000 gejtova, a standardno se koristi za gradnju većih ili kompleksnijih aplikacija na poluprovodničkom čipu. Korišćenjem jezgara u značajnoj meri se poboljšava produktivnost, ali i dalje ostaju nerešeni veliki broj problema koji se odnose na: i) verifikaciju rada sistema, ii) implementaciju izmena, iii) prilagođenje jezgra različitim magistralama ili konvencijama signaliziranja, iv) implementaciji novih tehnoloških procesa, i v) koordinacija u izradi standarda između većeg broja proizvođača poluprovodničkih kola. Jezgra se realizuju kao soft, firm ili hard.

• Soft jezgro se zadaje kao HDL opis koji se može sintetizovati i preusmeriti (retargetirati) na različite poluprovodničke procese.

• Firm jezgro sadrži više detalja, obično net listu na gejt nivou koja je pogodna za razmeštaj (placement) i rutiranje.

• Hard jezgro sadrži layout i drugu tehnološki zavisnu informaciju, pa u takvoj formi je spremno za direktni unos u sistem.

Glavni problemi koji prate IP reuse odnose se na nedostatak standardnih interfejsa, metodologija za simulaciju rada sistema, i jedinstvene strategije za verifikaciju. U principu (vidi sliku 13), postoje sledeća četiri reuse nivoa:

1) Personal reuse - tradicionalno se koristi od strane projektanata ASIC-a. Kod ovog metoda delovi dizajna, za potrebe sukcesivnih generacija, su tipa reused. Prednost ovog pristupa je ta što ne zahteva bilo kakvu specifičnu infrastrukturu, ali kao rešenje nije univerzalno i prihvatljivo za veći broj projektantskih timova, nego samo za onaj tim koji je kreirao jezgro i koji planira njegovo reuse.

2) Source reuse - zadaje se kao opis na nivou RTL-a, ili net liste. Opis se može bootstrap-ovati u novi dizajn. Njegova efikasnost zavisi od kvaliteta kôda, dokumentacije, podrške testiranju, i dostupnosti projektanta za potrebe konsultacije u slučaju da se u fazi projektovanja jave neki problemi. Na žalost, vreme koje je potrebno da se razume, evaluira, i verifikuje ovakvo jezgro često može biti duže od vremena koje je potrebno, počevši od specifikacije problema pa do implementacije jezgra, da se napiše izvorni IP kod. Nedostatak dobre dokumentacije skoro uvek predstavlja glavni problem koji prati source reuse.

3) Core reuse - to su obično dobro definisani blokovi, bilo kao hard ili soft, sa pažljivo karakteriziranim tajmingom, funkcionalnošću, i strategijom za verifiikaciju.

4) Virtual component reuse - garantuje potpunu izolovanost od pravila koja su postavljena od strane autora jezgra ili procesa integracije jezgra. Virtuelna komponenta je u celosti karakteriziran, verifikovan i modifikovan blok. To znači da za njega postoji striktna specifikacija interfejsa, dokumentacija urađena po strogim pravilima, i jasno izvedena podela na nivou sistema.

Page 11: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

Slika 13. Reuse nivoi

Napomena: U zavisnosti od kompleksnosti dizajna i infrastrukture koja se podržava postoji razlika između oportunistic reuse (odluka o reuse bloka se donosi nakon što je blok kreiran) i plannet reuse (odluka da se kreira IP blok se donosi pre nego što se počne sa dizajn aktivnošću). Jedan tipičan SoC SoC obično integriše blokove koji potiču od različitih proizvođača. Tako na primer, Cirrus Logic Maverick EP 9312 (vidi sliku 14) audio procesor je SoC koji integriše procesor ARM 920T zajedno sa svim drugim funkcionalnim blokovima.

Slika 14. Primer komercijalnog SoC-a

Napomena: SoC tipa Cirrus Logic Maverick EP 9312 sadrži 32-bitni RISC (ARM 920T), standardne periferije (UART, USB, Ethernet), video kontroler, ulazne interfejse, IP blok (Maverick Lock security komponentu) i on-chip magistralu. Virtuelne komponente i VSIA alijansa Nekoliko inicijativa, zadnjih 15-inu godina, je pokrenuto sa ciljem da se donese neki red kod rešavanja problema koji prate design reuse i virtuelne komponente. Najzapaženiji rezultati su postignuti od strane konzorcijuma Virtual Socket Interface Alliance (VSIA - http://www.vsia.org) koji je doneo skup

11

Page 12: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

preporuka. Preporuke se odnose na izradu ili korišćenje standardizovane: a) dokumentacije; b) metodologije projektovanja; i c) interfejs specifikacije za SoC dizajn. Ključni koncept VSIA predstavlja virtuelna komponenta (virtual component - VC), koja je u potpunosti definisan IP blok koji se u celosti uklapa u virtuelni socket kako na funkcionalnom (interfejs protokolu, tipovima transakcija i dr.) tako i na fizičkom nivou (distribucija taktovanja, struktura napajanja, test signali). Virtuelne komponente se povezuju na hijerarhijski organizovane interne magistrale (on-chip buses - OCBs) preko bus-wrapper-a. Kao interfejs blokovi (tj. kao logika) bus-wrapper-i omogućavaju VC-ovima da implementiraju standardizovane transakcije koje su kompatibilne u radu sa drugim VC-ovima povezanih na OCB-ovima. Nivo transakcija kod VSIA specifikacije je zadužen za rešavanje problema koji egzistitiraju kod prenosa tipa tačka-ka-tački između VC-ova i OCB-ova. Jedan tipičan SoC obično sadrži dva ili tri nivoa magistrala (procesorska magistrala, sistemska magistrala, i periferijska magistrala - vidi sliku 15).

Slika15. OCB hijerarhija

Napomena: Korišćenje hijerarhijski organizovanih magistrala je postala uobičajena praksa kod SoC dizajna. Tako na primer, procesor_OCB se koristi kao brza magistarla koja podržava složene transakcije (kakve su pipelined i split transakcije). System bus i Peripheral bus obično rade na manjim brzinama i podržavaju jednostavnije transakcione modele (kakvi su in-order request/acknowledge). Tok projektovanja Svako savremeno hardversko dizajn okruženje je usko povezano sa EDA (Electronic Design Automation) sredstvima za projektovanje. Ova sredstva omogućavaju projektantima da specificiraju hardverske blokove i signale, instanciraju te blokove u dizajn, i međusobno povežu te blokove. Faze SoC dizajna se mogu podeliti na sledeća dva glavna dizajn toka:

a) kreacioni; i b) verifikacioni.

Kreacioni tok Kreacioni tok tradicionalno se naziva faza projektovanja (design phase). Fazu projektovanja čine front-end i back-end faza (aktivnosti). U zavisnosti od karakteristike IP bloka (da li je hard ili soft), IP kreatori i integratori dele odgovarajuće odgovornosti na različite načine. Tako na primer, kod hard jezgra (makroa) retko se zahtevaju back-end aktivnosti, dok se kod soft jezgra zahteva potpuna usluga place-and-route sredstava uključujući i specifičnosti tehnologije mapiranja.

• Front-end aktivnosti - u ove aktivnosti spadaju specifikacija sistema, projektovanje na RTL nivou, sinteza, funkcionalna simulacija, i tajming analiza.

• Back-end aktivnosti - u ove aktivnosti spadaju floor-planning, razmeštaj (placement), rutiranje, DFT (design for testability), generisanje blokova po porudžbini kakvi su SRAM-ovi, a za

12

Page 13: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

integratore sistema dodatno treba uključiti aktivnosti integracije čipa, pad design (projektovanje stopica), i pakovanje.

Verifikacioni tok Verifikacija je multinivovska aktivnost kojom se teži ostvariti 100%-na korektnost funkcionalnosti i tajminga SoC-a, tj. cilj verifikacije (kao jedan od najtežih i najizazovnijih aspekata u projektovanju) mora biti usmeren ka postizanju nula defekata. Izučavanje ove problematike izlazi iz okvira sadržaja koji je predviđen nastavnim planom i programom ovog predmeta pa zbog toga, u neku dalju analizu se nećemo upustati. O standardnim postupcima za uspešno rešavanje ovog problema studenti više znanja mogu steći na višim godinama studija. Vodopad vs spiralni tok projektovanja Da bi uspešno realizovali SoC čip, projektanti integrisanih kola morali su da promene svoj standardni pristup toka-projektovanja, koji je važio za mikroračunarske sistema, prema sledećih dvaju pravaca:

• sa modela vodopad (waterfall model) na spiralni model, i • sa metodologije odozgo-naniže (top-down) na kombinaciju odozgo-naniže i odozdo-naviše

(bottom-up). Model vodopad (vidi sliku 16) predstavlja standardni model koji se koristi za razvoj ASIC kola.

Slika 16. Tradicionalni model vodopad

13

Page 14: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

Kod modela vodopad projekat prelazi sa jedne faze na drugu na principu korak-po-korak ne vraćajući se na aktivnosti iz prethodne faze, tj. jedan projektantski tim predaje svoje rezultate drugom bez da postoji izraženija interakcija u saradnji između oba tima. Kako se kompleksnost VLSI IC-ova iz dana u dan povećava, geometrija tranzistora smanjuje, a vreme da se proizvod izbaci na tržište sve kraće, projektanti čipova, sa ciljem da proizvedu SoC-ove, prinuđeni su da modifikuju tok projektovanja. S toga, veliki broj projektantskih timova napušta model vodopada i koristi spiralni razvojni model. Kod spiralnog modela, projektantski tim istovremeno radi na većem broju aspekata projektovanja, inkrementalno poboljšavajući kvalitet dizajna na svakom koraku do konačnog završetka. Na slici 17 prikazan je spiralni tok projektovanja SoC-a koji se karakteriše sledećim aktivnostima:

• paralelni, konkurentni razvoj hardvera i softvera • paralelna veifikacija i sinteza modula (jezgara) • floor planning, razmeštaj-i-rutiranje su uključeni (učestvuju) u procesu sinteze SoC-a • obavlja se razvoj novih modula samo ako nisu dostupni hard ili soft jezgra • proces razvoja SoC-a je iterativan

Slika 17. Spiralni tok projektovanja SoC-a

Ad-hoc SoC projektovanje U nedostatku opšte prihvaćenog industrijskog standarda koji se odnosi na tok projektovanja SoC-a na tržištu se pojavio veliki broj ad-hoc rešenja. Prvi ad-hoc pristup, svakako najpopularniji među projektantima, je bio onaj prikazan na slici 18. Sistem sa slike 18 veoma mnogo podseća na rešenja mikroprocesorskih sistema iz perioda 70-ih godina. 14

Page 15: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

Slika 18. Mikroprocesorsko-zasnovani SoC dizajn organizovan oko jedinstvene mikroprocesorske

magistrale Devedesetih godina prošlog veka kompanija Texas Instruments je izbacila na tržište čip iz klase ASSP (application specific standard products) pod nazivom OMAP (open media applic ations platform) čija je struktura veoma bliska SoC-u. Strukturu OMAP-a, prikazanu na slici 19, čine dva procesora, deljivi DMA kontroler, deljivi memorijski kontroler, i skup perifernih blokova. OMAP karakterišu sledeće osobine:

• ako jedan od procesora nema dovoljnu procesnu moć da obavi željeni zadatak, dodaje se drugi, • ako i drugi procesor nije u stanju da ispuni zadatak eksterno se dodaje aplikacioni akceclerratorski

hardverski blok.

Slika 19. OMAP čip firme Texas Instruments

Danas na tržištu postoji veliki broj SoC-ova različitih proizvođača. Izučavanje struktura svih SoC-ova je besmisleno. Mi ćemo se, u daljem tekstu, ograničiti samo na one detalje koji su važni za dobro razumevanje arhitektura SoC-ova.

15

Page 16: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

16

On-chip komunikacione arhitekture On-chip komunikaciona arhitektura se odnosi na onaj deo kola koji integriše SoC komponente i obezbeđuje mehanizam za razmenu podataka i upravljačke informacije između komponenata. Komunikacione arhitekture možemo klasifikovati na osnovu većeg broja kriterijuma. Prvi se bazira na mrežnoj topologiji. Ovaj kriterijum definiše fizičku strukturu komunikacione arhitekture. U opštem slučaju topologije po svojoj složenosti se mogu rangirati od topologije tipa jedinstvena deljiva magistrala do topologije sa proizvolljnom složenošću, izvedena kao regularna ili neregularna interkonekcija kanala namenjenih za prenos podataka. Drugi klasifikacioni kriterijum se zasniva na komunikacionom protokolu koji se koristi od strane komunikacione arhitekture. Ovim kriterijumom se specificiraju egzaktne konvencije i logički mehanizmi na osnovu kojih sistemske komponente međusobno komuniciraju. Pored toga, na bazi korišćenih protokola definiše se i način upravljanja resursima kao i mehanizmima za arbitražu koji se koriste radi pristupa deljivim delovima komunikacione arhitekture. U tekstu koji sledi ukazaćemo sa nešto više detalja na osnovne koncepte topologija kod komunikacionih arhitektura i komunikacionih protokola. Terminologija Prvo ćemo definisati neke osnovne termine koje ćemo koristiti u daljem tekstu. Tipovi komponenata Na tipičnu SoC magistralu se mogu povezati sledeće komponente:

a) bus masters - to su komponente koje mogu inicirati operacije tipa prenos putem generisanja adresne i upravljačke informacije. Samo master može u datom trenutku da pristupi magistrali. Savremene SoC magistrale podržavaju rad većeg broja master-a, pri čemu se svaki master karakteriše jedinstvenim identifikatorom. Master-i mogu biti CPU-ovi, DSP-ovi, DMA kontroleri, i td.

b) bus slaves - su komponente koje opslužuju zahteve bus master-a obezbeđujući (ili čitajući) podatke sa specificiranog adresnog opsega. Slave-ovi se uobičajeno preslikavaju na određeni adresni opseg koga SoC dizajnei predodređuju (planiraju da bude) u toku specifikacije sistema. Drugim rečima, slave komponente mogu biti on-chip memorije i pasivne periferije koje samostalno ne iniciraju komunikacione transakcije, ali se odazivaju na transakcije inicirane od strane master-a. Bridge-ovi i ruter-i ostvaruju komunikaciju između parova komponenata koje su povezane na različite komunikacione kanale. Bridge-vi mogu da podržavaju rad jednosmerne (one-way) ili dvosmerne (two-way) komunikacije i u sebi mogu da sadrže veći broj master i slave interfejsa.

c) bus arbiters - u datom trenutku može da kontroliše magistralu (svaka magistrala ima samo jedan arbitar). Obično, arbitri implementiraju request/grant interfejs prema master-ima na magistrali, koristeći pri tome prioritetnu šemu kojom se odlučuje koji od master-a ima pravo pristupa na magistrali.

Složeni SoC dizajni koji se baziraju na hijerarhijskoj strukturi magistrala koriste bridge komponentu za povezivanje sa individualnim bus podsistemima. Bridge komponenta obično se ponaša kao slave za brzu magistralu (kakva je AHB kod AMBA), a istovremeno kao master za periferijsku magistralu (kakva je APB kod AMBA). Svrha bridge komponente je da razdvoji oba sistema i obezbedi sinhronizaciju za zahteve koji prolaze granicu (oba podsistema, spori i brzi, imaju svoje sopstvene taktne domene).

Page 17: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

17

Transakcije Kod SoC domena, transakcija predstavlja atomizirani transfer podataka koji postoji između master-a i slave-a. U nekim slučajevima, transakcija može biti tipa bradcast, kada je upućena većem broju slave-ova, ili može biti ograničena (address-only transakcija, koja se koristi za slanje komandi komponenata). Transakcije na magistrali obično sadrže request fazu (predaja adresne i kontrolne informacije), transfer faza (predaja podataka) i acknowledge faza (završetak transakcije). U zavisnosti od složenosti protokola magistrale i tipa komponenata transakcije se mogu protočno organizovati. Tako na primer, faza request nove transakcije može da se preklopi (overlap) sa transfer fazom prethodne transakcije (inicirane od strane drugog master-a). U prvoj aprokcimaciji moguće je identifikovati tri tipa transakcija: simple (jednostavna), burst (paketna), i split (podeljena). Jednostavne transakcije Obavlja se čitanje ili upis individualnog podatka u toku jedinstvene transakcije. Obično, jednostavni transferi u skladu su sa obimom podataka sa kojima manipuliše slave (na primer, pristup 32-bitnoj reči kod 32-bitno organizovane memorije), a shodno tome, zahtevaju i jednu request-acknowledge transakciju na magistrali. Tipični scenario sekvence read se odvija na sledeći način:

1. master inicira zahtev (aktivira adresu i upravljačke signale) 2. slave uzorkuje zahtev i predaje podatak 3. master prihvata podatak i završava se prenos.

U transakcionoj sekvenci, slave može u okviru jednog taktnog ciklusa, kada se request ne može opslužiti, da ubaci wait ciklus. Burst transakcije Burst transferi se koriste za kopiranje blokova podataka koji su prostorno korelisani i adresibilni putem korišćenja regularnih oblika adresiranja (u najjednostavnijem obliku ovaj prenos se odnosi na kopiranje sa jednog mesta na drugo kontinualnog bloka sekvencijalnih adresa). Burst transferima se povećava propusnost korišćene magistrale, ali i dalje se zahteva da master u toku ukupnog trajanja transfera zadrži pravo upravljanja nad magistralom. Burst transferi su posebno efikasni za slave kompoenente, čije performanse, koje se odnose na proizvoljan pristup (random access) lokacijama, su niže u odnosu na performanse koje se odnose na sekvencijalan pristup. Tipičan primer je DRAM memorija, kod koje proizvoljan pristup može da traje 10% duže u odnosu na sekvencijalan pristup. Ilustracije radi, scenario kod sekvence read burst je sledeći:

1. master inicira burst request (adrese, dužina burst-a, i upravljački signali) 2. slave uzorkuje request i počinje prenosom podataka 3. master prihvata podatke 4. master i slave inkrementiraju adresu i ponavljaju korake 2 i 3 sve do kraja trajanja burst-a 5. završava se transfer.

Obično SoC magistrale podržavaju nekoliko dužina burst-ova (paketi obima od 4 do 16 su standardni), i postavljaju ograničenja koja se odnose na poravnjanje (alignement) početne burst adrese. Kod mikroprocesorski zasnovanih SoC-ova, burst pristupi standardno se koriste za punjenje keš linije iz DRAM memorije. Podeljene transakcije Podeljeni (split) transferi se koriste za poboljšanje ukupne iskorišćenosti magistrale razdvajanjem operacije master-a od operacije opsluživanje request-a od strane slave-a.

Page 18: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

18

Nasuprot burst transferima, kod podeljene transakcije magistrala je zauzeta nekim drugim transakcijama od trenutka kada je master izdao request do trenutka kada je slave u stanju da se odazove na taj zahtev. Podeljeni transferi su efikasni kada slave zna da je request-u potrebno duže vreme da bude opslužen. Ipak, ovaj tip prenosa u značajnoj meri povećava kompleksnost transakcije. Naime, slave mora da signalizira arbitru, sa ciljem da ovaj obavesti master-a koji je inicirao transfer, kada je slave spreman da kompletira request. Sa ciljem da se izbegnu konflikti (nedvosmislenosti) koji se mogu javiti kod konkurentnih split transakcija, transakcije se markiraju (tagged) master identifikatorom, tako da arbitar obaveštava slave-a, koji opslužuje taj zahtev, na taj način što predaje identifikacioni broj master-a (koji je inicirao taj request). Podeljene transakcije uslovljavaju da hardverska složenost master-a i slave-a bude takoreći ista, a posebno se to odnosi na logiku arbitraže radi pristupa magistrali. Ilustracije radi osnovni koraci kod read split transakcije su sledeći:

1. master inicira zahtev (adresa, upravljački signali, identifikator), 2. slave zapisuje identifikator master-a i vraća split odziv, 3. arbitar zaustavlja tekuću transakciju master-a koji je izdao request i dodeljuje pristup magistrali

drugim master-ima, 4. slave kada je spreman predaje master identifikator arbitru, 5. arbitar dodeljuje pravo upravljanja nad magistralom slave-u koji je zahtevao pristup, 6. slave predaje željene podatke master-u i oslobađa magistralu, 7. master prima podatke i prenos završava.

Treba naglasiti da kod ovog prenosa master može u datom trenutku da inicira samo jedan transfer. Master-i koji mogu da iniciraju veći broj transakcija vide se kao veći broj individualnih master-a (svaki ima svoj identifikator). Split transakcije standardno se koriste kod protočno organizovanih transakcija, pri čemu master može prvo radi potrebe čitanja da generiše adrese podataka, a zatim da se ti pročitani podaci u redosledu (in-order) vraćaju master-u. Topologije kod komunikacionih arhitektura U odnosu na topologiju on-chip komunikacione arhitekture se mogu podeliti na:

1) Deljiva magistrala (shared bus) - sistemska magistrala je najjednostavniji primer deljive komunikacione arhitekturne topologije koja se standardno koristi kod komercijalnih SoC-ova. Nekoliko master-a i slave-ova je povezano na deljivu magistralu. Blok, nazvan arbitar magistrale, periodično ispituje akumulirane zahteve od strane većeg broja master interfejsa i dodeljuje pravo pristupa master-u koristeći arbitražne mehanizme koji su specificirani od strane protokola magistrale. Povećan saobraćaj na globalnoj magistrali ograničava propusnost magistrale. Prednost arhitekture deljiva magistrala sastoji se u jednostavnoj topologiji, maloj ceni na silicijumskoj površini, jednostavnosti izrade i efikasnoj implementaciji. Nedostaci arhitekture sa deljivom magistralom su veća opterećenja (fan out) po linijama za prenos podataka, duže vreme za prenos podataka, veća potrošnja energije, i manja propusnost. U novije vreme veliki broj deljivih magistrala, u cilju smanjenja potrošnje i povećanja propusnosti koristi low-voltage swing signaling tehniku.

2) Hijerarhijska magistrala - ovu arhitekturu čini veći broj deljivih magistrala međusobno povezanih bridge-vima formirajući na taj način hijerarhijsku organizaciju. SoC komponente se postavljaju na odgovarajućem nivou u hijerarhiji uglavnom u skladu sa nivoom performanse koji treba postići. SoC komponente nižih performansi se smeštaju na magistralama nižih performansi, koje su preko bridg-eva povezane na magistrale viših performansi. Komercijalni primeri ovakvih arhitektura su: AMBA bus, CoreConnect i dr. Transakcije koje se ostvaruju preko bridge-va unose dodatno režijsko vreme jer u toku tog transfera ove magistrale su zauzete i nedostupne su drugim komponentama. Hijerarhijski organizovane magistrale obezbeđuju veću propusnost u

Page 19: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

19

odnosu na deljive magistrale iz sledećih razloga: a) smanjeno je opterećenje po magistrali; i b) postoji potencijal za ostvarivanje paralelnih transakcija po različitim magistralama.

3) Prsten - brojne aplikacije zasnovane na prstenu se koriste kod mrežnih procesora, ATM komutatora i td. Kod prstena, svaka čvorna komponenta (master ili slave) komunicira koristeći ring interfejs a komunikacija se implementira koristeći token-pass protokol.

On-chip komunikacioni protokol Komunikacioni protokoli su zaduženi za ipravljanje različitim resursima sa ciljem da se odredi pravo pristupa deljivim komunikacionim kanalima. Ukazaćemo sada na neke osnovne karakteristike komunikacionih protokola.

• Statički prioritet- koristi arbitražnu tehniku. Ovaj protokol se koristi kod komunikacionih arhitektura sa deljivom magistralom. Centralni arbitar ispituje akumulirane zahteve inicirane od strane svakog master-a i dodeljuje pravo upravljanja magistralom onom master-u koji je izdao zahtev a ima najviši prioritet. Transakcije mogu biti tipa non-preemptive (bez istiskivanja) ili preemptive (sa istiskivanjem). AMBA i CoreConnect koriste ovakav tip protokola.

• TDMA (Time Division Multiple Access)- arbitražni mehanizam se zasniva na vremenskoj raspodeli pri čemu je po jedan vremenski slot statički rezervisan za svaki master. Specijalne tehnike se koriste za rešavanje problema neiskorišćenih slotova. Sonics koristi ovaj tip protokola.

• Lottery- centralizovani lottery menadžer akumulira zahteve za dodelu deljivih komunikacionih resursa od strane jednog ili većeg broja master-a pri čemu se svakom od njih, statički ili dinamički, dodeljuje broj Xlotery ticketsX.

• Token passing: Ovaj protokol se koristi kod arhitektura tipa prsten. Specijalna reč, nazvana token, cirkuliše kroz prsten. Interfejsu koji primi token je dozvoljeno da inicira transakciju. Kada transakcija završi, interfejs oslobađa token i šalje ga susednom interfejsu.

• CDMA (Code Division Multiple Access): ovaj protokol je bio predložen za deljivi on-chip komunikacioni kanal. Kod deljivog medijuma on obezbeđuje bolju rezistentnost u odnosu na interferenciju. Za implementaciju ovog protokola koristi se DSSS (direct sequence spread sprectum) kodna šema.

Tipične on-chip magistrale SoC rešenja koriste veliki broj različitih tipova magistrala. Mi ćemo se ograničiti samo na dve. AMBA (Advanced Microcontroller Bus Architecture) bus: AMBA je jedna od najpoznatijih on-chip magistrala koja se koristi kod SoC-ova. AMBA (vidi sliku 1) je hijerarhijski organizovana u dva segmenta, sistemska- i periferna-magistrala. Ove magistrale uzajamno su povezane preko bridge-a koji baferuje podatke i operacije između te dve magistrale. AMBA ne definiše metod arbitraže, a arbitar se projektuje u zavisnosti od aplikacije. Kod AMBA razlikujemo sledeće magistrale:

• ASB (Advanced System Bus) - prva generacija AMBA sistemske magistrale koja se koristila kod jeftinih rešenja sa ciljem da podrži burst transfer, protočni transfer, i višestruki bus master prenos.

• AHB (Advanced High performance Bus) - je kasnija generacija AMBA sistemske magistrale i namenjena je za brzi prenos. Koristi se kao visoko peformansni komunikacioni kanal za spregu embedded procesorskih jezgara (ARM, MIPS, AVR, i dr.) i visoko performansnih periferijskih hardverskih akceleratora (ASIC MPEG kola, kolor LCD, i dr.), on-chip SRAM-ova, on-chip eksternih memorijskih interfejsa, APB bridge-a, i dr.

• APB (Advanced Peripheral Bus) - se koristi za povezivanje sporih perifernih uređaja opšte namene. Bridge je bus master za APB, a slave za AHB.

Page 20: Sistemi na čipues.elfak.ni.ac.rs/es/Materijal/Pog.10-SoC dizajn.pdf · 2013-12-06 · Sistemi na čipu Sistem na čipu (System-on-Chips - SoC) je, po definiciji, elektronski sistem

Slika 20. AMBA arhitektura CoreConnect: CoreConnect on-chip magistrala razvijena je od strane IBM-a. To je hijerarhijski organizovana arhitektura sastavljena od tri magistrale koje omogućavaju efikasnu spregu jezgara, bibliotečnih makroa, i logike projektovane po porudžbini (vidi sliku 21).

Slika 21. CoreConnect ahitektura PLB (Processor Local Bus) je glavna sistemska magistrala. To je sinhrona, multimaster, magistrala sa centralizovanom arbitražom koja omogućava brzi prenos podataka. OPB (On-chip Peripheral Bus) je magistrala optimizirana za povezivanje sporih uređaja kakvi su serijski ili paralelni portovi. DCR (Device Control Register bus) je single-master magistrala koja se alternativno koristi za spori prenos podataka u sistemu, kakav je prenos statusa uređaja ili stanje sistema nakon sprovedenog testa.

20