UG0837
Upute za korištenje
IGLOO2 i SmartFusion2 FPGA
Simulacija usluga sustava
lipnja 2018
Povijest revizija
Povijest revizija opisuje promjene koje su implementirane u dokumentu. Promjene su navedene po reviziji, počevši od najnovije objave.
1.1 Revizija 1.0
Revizija 1.0 objavljena je u lipnju 2018. To je bila prva objava ovog dokumenta.
Simulacija usluga IGLOO2 i SmartFusion2 FPGA sustava
Blok System Services obitelji SmartFusion®2 FPGA sadrži skup usluga odgovornih za različite zadatke. To uključuje usluge simulacije poruka, usluge pokazivača podataka i usluge deskriptora podataka. Uslugama sustava može se pristupiti putem Cortex-M3 u SmartFusion2 i iz FPGA tkanine preko kontrolera sučelja tkanine (FIC) za SmartFusion2 i IGLOO®2. Ove metode pristupa šalju se kontroleru sustava preko COMM_BLK. COMM_BLK ima napredno sučelje periferne sabirnice (APB) i djeluje kao kanal za prijenos poruka za razmjenu podataka s kontrolerom sustava. Zahtjevi za usluge sustava šalju se kontroleru sustava, a odgovori usluga sustava se šalju CoreSysSerrvice putem COMM BLK. Lokacija adrese za COMM_BLK dostupna je unutar mikrokontrolerskog podsustava (MSS)/memorijskog podsustava visokih performansi (HPMS). Za detalje pogledajte UG0450: SmartFusion2 SoC i IGLOO2 FPGA sistemski kontroler.
Upute za korištenje
Sljedeća ilustracija prikazuje tok podataka sistemskih usluga.
Slika 1 • Dijagram protoka podataka usluge sustavaI za IGLOO2 i za SmartFusion2 simulaciju usluge sustava, trebate poslati zahtjeve za uslugu sustava i provjeriti odgovore usluge sustava kako biste potvrdili da je simulacija ispravna. Ovaj korak je neophodan za pristup kontroleru sustava koji pruža usluge sustava. Način pisanja i čitanja s kontrolera sustava razlikuje se za uređaje IGLOO2 i SmartFusion2. Za SmartFusion2, dostupan je Coretex-M3 i možete pisati i čitati sa sistemskog kontrolera koristeći naredbe funkcionalnog modela sabirnice (BFM). Za IGLOO2, Cortex-M3 nije dostupan i kontroleru sustava nije moguće pristupiti korištenjem BFM naredbi.
2.1 Vrste dostupnih usluga sustava
Dostupne su tri različite vrste usluga sustava i svaka vrsta usluge ima različite podvrste.
Usluge simulacijskih poruka
Usluge pokazivača podataka
Usluge deskriptora podataka
Dodatak – Vrste usluga sustava (vidi stranicu 19) ovog vodiča opisuje različite vrste usluga sustava. Za više informacija o uslugama sustava, pogledajte UG0450: SmartFusion2 SoC i IGLOO2 FPGA System Controller User Guide.
2.2 Simulacija usluge IGLOO2 sustava
Usluge sustava uključuju pisanje i čitanje s kontrolera sustava. Za pisanje i čitanje s kontrolera sustava u svrhu simulacije, morate izvršiti sljedeće korake.
- Instancirajte CoreSysServices meku IP jezgru, dostupnu u SmartDesign katalogu.
- Napišite HDL kod za konačni stroj (FSM).
HDL FSM sučeljava s CoreSysServices Core, koji služi kao master tkanine AHBLite sabirnice. Jezgra CoreSysServices inicira zahtjev za uslugu sustava prema COMM BLK i prima odgovore usluge sustava od COMM BLK preko FIC_0/1, kontrolera sučelja tkanine kao što je prikazano na sljedećoj ilustraciji.
Slika 2 • Topologija simulacije usluga sustava IGLOO22.3 Simulacija usluge SmartFusion2 sustava
Da biste simulirali sistemske usluge u SmartFusion2 uređajima, trebate pisati i čitati s kontrolera sustava. Dostupne su dvije opcije za pristup kontroleru sustava u svrhu simulacije.
Opcija 1 — Napišite HDL kod za FSM za sučelje s mekom IP jezgrom CoreSysService, koja služi kao master AHBLite tkanine i pokreće zahtjev za sistemsku uslugu prema COMM BLK i prima odgovore sistemske usluge od COMM BLK kroz FIC_0/1 tkaninu sučelje kao što je prikazano na sljedećoj slici.
Slika 3 • Topologija simulacije usluga sustava SmartFusion2
Opcija 2 — Kako je Cortex-M3 dostupan za SmartFusion2 uređaje, možete koristiti BFM naredbe za izravno pisanje i čitanje iz memorijskog prostora kontrolera sustava.
Korištenje BFM naredbi (opcija 2) štedi potrebu za pisanjem HDL kodova za FSM. U ovom korisničkom priručniku opcija 2 koristi se za prikaz simulacije usluga sustava u SmartFusion2. S ovom opcijom, pristupa se memorijskom prostoru kontrolera sustava kako bi se saznala mapa memorije COMM BLK i blok kontrolera prekida sučelja tkanine (FIIC) kada pišete svoje BFM naredbe.
2.4 Simulacija Npramples
Korisnički priručnik pokriva sljedeće simulacije.
- IGLOO2 Simulacija usluge serijskog broja (pogledajte stranicu 5)
- Simulacija usluge SmartFusion2 serijskog broja (pogledajte stranicu 8)
- Simulacija usluge nuliranja IGLOO2 (vidi stranicu 13)
- Simulacija usluge nuliranja SmartFusion2 (vidi stranicu 16)
Slične metode simulacije mogu se primijeniti na druge usluge sustava. Za potpuni popis različitih dostupnih usluga sustava idite na Dodatak – Vrste usluga sustava (pogledajte stranicu 19).
2.5 Simulacija usluge IGLOO2 serijskog broja
Za pripremu za simulaciju usluge IGLOO2 serijskog broja, izvršite sljedeće korake.
- Pozovite program za izgradnju sustava za stvaranje HPMS bloka.
- Označite potvrdni okvir HPMS System Services na stranici Device Features. Ovo će uputiti graditelja sustava da izloži sučelje sabirnice HPMS_FIC_0 SYS_SERVICES_MASTER (BIF).
- Ostavite sve druge potvrdne okvire neoznačene.
- Prihvatite zadane postavke na svim ostalim stranicama i kliknite Završi da dovršite blok za izgradnju sustava. U HDL editoru Libero® SoC-a napišite HDL kod za FSM (File > Novo > HDL) . Uključite sljedeća tri stanja u svoj FSM.
INIT stanje (početno stanje)
SERV_PHASE (stanje zahtjeva za uslugu)
RSP_PHASE (stanje odgovora usluge).
Sljedeća slika prikazuje tri stanja FSM-a.
Slika 4 • FSM s tri stanja U vašem HDL kodu za FSM, koristite ispravan kod naredbe ("01" Hex za uslugu serijskog broja) za unos stanja zahtjeva za uslugu iz INIT stanja.
- Sačuvajte svoj HDL file. FSM se pojavljuje kao komponenta u hijerarhiji dizajna.
- Otvorite SmartDesign. Povucite i ispustite svoj blok za izgradnju sustava najviše razine i vaš FSM blok u SmartDesign platno. Iz kataloga povucite i ispustite CoreSysService soft IP jezgru u SmartDesign platno.
- Desnom tipkom miša kliknite meku IP jezgru CoreSysService da biste otvorili konfigurator. Označite potvrdni okvir Usluga serijskog broja (pod Device and Design Information Services
grupa) za omogućavanje usluge serijskog broja. - Ostavite sve druge potvrdne okvire neoznačene. Pritisnite OK za izlaz iz konfiguratora.
Slika 5 • CoreSysServices soft IP Core Configurator
- Povežite HPMS_FIC_0 SYS_SERVICES_MASTER BIF bloka za izgradnju sustava s AHBL_MASTER BIF bloka CoreSysService.
- Spojite izlaz vašeg HDL FSM bloka na ulaz CoreSysService soft IP jezgre. Napravite sve ostale veze u SmartDesign platnu kao što je prikazano na sljedećoj slici.
Slika 6 • SmartDesign Canvas s HDL blokom, CoreSysServices Soft IP i HPMS blokovima - Na SmartDesign platnu desnom tipkom miša kliknite >Generiraj komponentu za generiranje dizajna gornje razine.
- U hijerarhiji dizajna view, desnom tipkom miša kliknite dizajn najviše razine i odaberite Create Testbench > HDL .
- Koristite uređivač teksta za izradu teksta file pod nazivom “status.txt” .
- Uključite naredbu za uslugu sustava i 128-bitni serijski broj. Za više informacija pogledajte tablicu 1 (vrijednosti naredbi/odgovora usluga sustava) u Priručnik za CoreSysServices v3.1 za kodove naredbi (Hex) koji će se koristiti za različite usluge sustava. Za uslugu serijskog broja, kod naredbe je “01” Hex.
Format status.txt file za uslugu serijskog broja je kako slijedi.
< 2 heksadecimalne znamenke CMD><32 heksadecimalne znamenke serijskog broja>
Example: 01A1A2A3A4B1B2B3B4C1C2C3C4D1D2D3D4
Spremite status.txt file u mapi Simulacija vašeg projekta. Dizajn je sada spreman za simulaciju.
Nakon što je usluga započela s izvršenjem, poruka koja označava odredišnu lokaciju i serijski broj prikazuje se u prozoru transkripta ModelSim, kao što je prikazano na sljedećoj slici.
Slika 7 • Prozor transkripta simulacije ModelSimKontroler sustava provodi AHB pisanje na adresu sa serijskim brojem. Nakon završetka usluge, COMM_BLK-ov RXFIFO bit će učitan s odgovorom usluge.
Napomena: Za potpuni popis kodova naredbi koji se koriste za različite sistemske usluge, pogledajte Tablicu 1 (System Services Command/Response Values) u CoreSysServices v3.1 Handbook ili UG0450: SmartFusion2 SoC i IGLOO2 FPGA System Controller User Guide.
2.6 Simulacija usluge SmartFusion2 serijskog broja
U ovom korisničkom priručniku, BFM naredbe (opcija 2) koriste se za pristup kontroleru sustava za uslugu sustava. BFM naredbe se koriste jer je Cortex-M3 procesor dostupan na uređaju za BFM simulaciju. BFM naredbe vam omogućuju izravno pisanje i čitanje iz COMM BLK nakon što saznate memorijsko mapiranje COMM_BLK.
Kako biste pripremili svoj dizajn za simulaciju usluge SmartFusion2 serijskog broja, izvršite sljedeće korake.
- Povucite i ispustite MSS iz kataloga na platno dizajna vašeg projekta.
- Onemogućite sve MSS periferne uređaje osim MSS_CCC, Reset Controller, Interrupt Management i FIC_0, FIC_1 i FIC_2.
- Konfigurirajte upravljanje prekidima za korištenje MSS-a za stvaranje prekida.
- Pripremite serijski broj.bfm file u uređivaču teksta ili u Liberovom HDL uređivaču. Spremite serialnum.bfm file u mapi Simulacija projekta. Serialnum.bfm treba sadržavati sljedeće pojedinosti.
• Mapiranje memorije na COMM BLK (CMBLK)
• Mapiranje memorije na periferiju upravljanja prekidima (FIIC)
• Naredba za zahtjev za uslugu sustava serijskog broja ("01" Hex)
• Adresa na kojoj se nalazi serijski broj
Bivšiample od serialnum.bfm file je kako slijedi.
memmap FIIC 0x40006000; #Mapiranje memorije za upravljanje prekidima
memmap CMBLK 0x40016000; #Mapiranje memorije u COMM BLK
memmap DESCRIPTOR_ADDR 0x20000000; #Lokacija adrese za serijski broj
#Komandni kod u heksadecimalnom obliku
konstanta CMD 0x1 # Kod naredbe za Serial NumberService
#FIIC konfiguracijski registri
konstanta FICC_INTERRUPT_ENABLE0 0x0
#COMM_BLK Konfiguracijski registri
konstantna KONTROLA 0x00
konstantan STATUS 0x04
konstanta INT_ENABLE 0x08
konstanta DATA8 0x10
konstanta DATA32 0x14
konstanta FRAME_START8 0x18
konstanta FRAME_START32 0x1C
serijski broj postupka;
int x;
napiši w FIIC FICC_INTERRUPT_ENABLE0 0x20000000 #Konfiguriraj
#FICC_INTERRUPT_ENABLE0 # Registrirajte se za omogućavanje COMBLK_INTR #
#prekid od bloka COMM_BLK do tkanine
#Faza zahtjeva
write w CMBLK CONTROL 0x10 # Konfigurirajte COMM BLK Control #Registrirajte se na
omogućiti prijenose na COMM BLK sučelju
write w CMBLK INT_ENABLE 0x1 # Konfiguriraj COMM BLK Omogući prekid
#Registrirajte se kako biste omogućili prekid za TXTOKAY (odgovarajući bit u
#registar statusa)
waitint 19 # čekaj COMM BLK prekid, ovdje #BFM čeka
#dok se ne potvrdi COMBLK_INTR
readstore w CMBLK STATUS x # Čitaj COMM BLK statusni registar za #TXTOKAY
# Prekid
postaviti xx & 0x1
ako x
napiši w CMBLK FRAME_START8 CMD # Konfiguriraj COMM BLK FRAME_START8
#Registrirajte se kako biste zatražili uslugu serijskog broja
endif
endif
waitint 19 # čekaj COMM BLK Prekid, ovdje
#BFM čeka dok se ne potvrdi COMBLK_INTR
readstore w CMBLK STATUS x # Read COMM BLK Status Register for
#TXTOKAY Prekid
postaviti xx & 0x1
postaviti xx & 0x1
ako x
write w CMBLK CONTROL 0x14 #Configure COMM BLK Control
#Registrirajte se kako biste omogućili prijenose na COMM BLK sučelju
napisati w CMBLK DATA32 DESCRIPTOR_ADDR
napisati w CMBLK INT_ENABLE 0x80
napišite w CMBLK CONTROL 0x10
endif
čekaj 20
#Faza odgovora
čekaj 19
readstore w CMBLK STATUS x
postaviti xx & 0x80
ako x
readcheck w CMBLK FRAME_START8 CMD
napisati w CMBLK INT_ENABLE 0x2
endif
čekaj 19
readstore w CMBLK STATUS x
postaviti xx & 0x2
ako x
readcheck w CMBLK DATA8 0x0
napišite w CMBLK CONTROL 0x18
endif
čekaj 19
readcheck w FIIC 0x8 0x20000000
readstore w CMBLK STATUS x
postaviti xx & 0x2
ako x
readcheck w CMBLK DATA32 DESCRIPTOR_ADDR
endif
provjera čitanja w DESCRIPTOR_ADDR 0x0 0xE1E2E3E4; #Readcheck za provjeru S/N
provjera čitanja w DESCRIPTOR_ADDR 0x4 0xC1C2C3C4; #Readcheck za provjeru S/N
provjera čitanja w DESCRIPTOR_ADDR 0x8 0xB1B2B3B4; #Readcheck za provjeru S/N
provjera čitanja w DESCRIPTOR_ADDR 0xC 0xA1A2A3A4; #Readcheck za provjeru S/N
povratak - Stvorite status. txt file u Liberovom HDL uređivaču ili bilo kojem uređivaču teksta. Uključite naredbu usluge sustava serijskog broja ("01" u Hex) i serijski broj u statusu. txt file. Pogledajte Priručnik za CoreSysServices v3.1 za korištenje ispravnog koda naredbe.
- Sintaksa ovoga file za uslugu serijskog broja je, <2 Hex znamenkasti CMD>< 32 Hex znamenkasti serijski broj> . nprample: 01A1A2A3A4B1B2B3B4C1C2C3C4E1E2E3E4.
- Spremite status .txt file u mapi Simulacija projekta.
- Uredite korisnički .bfm (koji se nalazi unutar mape Simulation) da biste uključili serijski broj. bfm file i pozovite proceduru serijskog broja kao što je prikazano u sljedećem isječku koda.
uključi “serijski broj.bfm” #uključi serijski broj.bfm
procedura user_main;
ispis “INFO:Simulacija počinje”;
print “INFO:Service Command Code in Decimal:%0d”, CMD ;
nazvati serijski broj; #poziv procedure serialnum
ispis “INFO:Simulacija završava”;
povratak - U hijerarhiji dizajna view, generirajte testni uređaj (desni klik, dizajn najviše razine > Stvori testni uređaj > HDL) i spremni ste za pokretanje simulacije usluge serijskog broja.
Nakon što je usluga počela izvršavati, prikazuje se poruka koja označava odredišnu lokaciju i serijski broj. Kontroler sustava provodi AHB pisanje na adresu sa serijskim brojem. Nakon završetka usluge, COMM_BLK-ov RXFIFO bit će učitan s odgovorom usluge. Prozor transkripta ModelSim prikazuje primljenu adresu i serijski broj kao što je prikazano na sljedećoj slici.
Slika 8 • Simulacija usluge SmartFusion2 Serial Number u prozoru transkripta ModelSim
2.7 Simulacija usluge nuliranja IGLOO2
Kako biste se pripremili za simulaciju usluge nuliranja IGLOO2, izvedite sljedeće korake.
- Pozovite program za izgradnju sustava za stvaranje HPMS bloka. Označite potvrdni okvir HPMS System Services u značajkama uređaja SYS_SERVICES_MASTER BIF. Ostavite sve druge potvrdne okvire neoznačene. Prihvatite zadane postavke na svim ostalim stranicama i kliknite stranicu. Ovo upućuje graditelja sustava da izloži HPMS_FIC_0 Finish kako bi dovršio konfiguraciju bloka graditelja sustava.
- U HDL uređivaču Libero SoC-a napišite HDL kod za FSM. U svoj HDL kod za FSM uključite sljedeća tri stanja.
INIT stanje (početno stanje)
SERV_PHASE (stanje zahtjeva za uslugu)
RSP_PHASE (stanje odgovora usluge)
Sljedeća slika prikazuje tri stanja FSM-a.
Slika 9 • FSM s tri stanja - U vašem HDL kodu koristite naredbeni kod “F0″(Hex) za unos stanja zahtjeva usluge iz INIT stanja.
- Sačuvajte svoj HDL file.
- Otvorite SmartDesign, povucite i ispustite svoj blok za izgradnju sustava najviše razine i vaš HDL FSM blok u SmartDesign platno. Iz kataloga povucite i ispustite CoreSysService meku IP jezgru u SmartDesign platno.
- Desnom tipkom miša kliknite meku IP jezgru CoreSysServices da biste otvorili konfigurator i označite potvrdni okvir Usluga nuliranja pod grupom Usluge sigurnosti podataka. Ostavite sve druge potvrdne okvire neoznačene. Pritisnite OK za izlaz.
Slika 10 • CoreSysServices Configurator
- Povežite HPMS_FIC_0 SYS_SERVICES_MASTER BIF bloka za izgradnju sustava s AHBL_MASTER BIF bloka CoreSysService.
- Spojite izlaz vašeg HDL FSM bloka na ulaz CoreSysService soft IP jezgre. Napravite sve ostale veze u SmartDesign platnu.
Slika 11 • SmartDesign Canvas s HDL blokom, CoreSysServices Soft IP i HPMS blokovima
9. U SmartDesign platnu generirajte dizajn najviše razine (desni klik > Generiraj komponentu).
10. U hijerarhiji dizajna view, desnom tipkom miša kliknite dizajn najviše razine i odaberite Create Bench > HDL. Sada ste spremni za pokretanje simulacije.
Nakon što je usluga započela s izvršenjem, prikazuje se poruka koja pokazuje da je nuliranje dovršeno u trenutku x, kao što je prikazano na sljedećoj slici.
Slika 12 • Prozor simulacije usluge nuliranja sustava IGLOO2
Kontroler sustava provodi AHB pisanje na adresu sa serijskim brojem. Nakon završetka usluge, COMM_BLK-ov RXFIFO bit će učitan s odgovorom usluge. Treba napomenuti da simulacijski model simulira nuliranje zaustavljanjem simulacije umjesto nuliranja samog dizajna.
Napomena: Za potpuni popis kodova naredbi koje se koriste za različite usluge sustava, pogledajte tablicu 1 (Vrijednosti naredbi/odgovora usluga sustava) u Priručnik za CoreSysServices v3.1:. ili UG0450: Korisnički priručnik za SmartFusion2 SoC i IGLOO2 FPGA sustav kontrolera
2.8 Simulacija usluge nuliranja SmartFusion2
U ovom vodiču, BFM naredbe (opcija 2) koriste se za pristup kontroleru sustava za uslugu sustava.
BFM naredbe se koriste jer je Cortex-M3 procesor dostupan na uređaju za BFM simulaciju. BFM naredbe vam omogućuju izravno pisanje i čitanje iz COMM BLK nakon što saznate memorijsko mapiranje COMM_BLK. Kako biste pripremili svoj dizajn za simulaciju usluge nuliranja SmartFusion2, izvedite sljedeće korake.
- Povucite i ispustite MSS iz kataloga na platno dizajna vašeg projekta.
- Onemogućite sve MSS periferne uređaje osim MSS_CCC, Reset Controller, Interrupt Management i FIC_0, FIC_1 i FIC_2.
- Konfigurirajte upravljanje prekidima za korištenje MSS-a za stvaranje prekida.
- Pripremite zeroizaton.bfm file u uređivaču teksta ili u Liberovom HDL uređivaču. Tvoja nulizacija. bfm bi trebao uključivati:
- Mapiranje memorije na COMM BLK (CMBLK)
- Mapiranje memorije na periferni uređaj za upravljanje prekidima (FIIC)
- Naredba za zahtjev usluge nuliranja ("F0" Hex za nuliranje)
Bivšiample od serialnum.bfm file prikazan je na sljedećoj slici.
Slika 13 • Zeroization.bfm za simulaciju usluga sustava nuliranja SmartFusion2
5. Spremite nuliranje.bfm file u mapi Simulacija projekta. korisnik.bfm
6. Uredite (koji se nalazi u zeroization.bfm mapi Simulation) da uključite pomoću sljedećeg isječka koda.
uključi “nuliranje.bfm” #uključi nuliranje.bfm file procedura user_main;
ispis “INFO:Simulacija počinje”;
print “INFO:Service Command Code in Decimal:%0d”, CMD ;
nuliranje poziva; #poziv postupak nuliranja povratak
7. U Hijerarhiji dizajna generirajte Testbench (Desni klik gornja razina > Stvori Testbench > HDL) i spremni ste za pokretanje SmartFusion2 simulacije nuliranja.
Nakon što je usluga počela izvršavati, prikazuje se poruka koja pokazuje da je uređaj postavljen na nulu u trenutku x. Treba napomenuti da simulacijski model simulira nuliranje zaustavljanjem simulacije umjesto nuliranja samog dizajna. Prozor transkripta ModelSim na sljedećoj slici pokazuje da je uređaj postavljen na nulu.
Slika 14 • Dnevnik simulacije usluge SmartFusion2 sustava za nuliranje
Dodatak: Vrste usluga sustava
Ovo poglavlje opisuje različite vrste usluga sustava.
3.1 Usluge simulacijskih poruka
Sljedeći odjeljci opisuju različite vrste usluga simulacije poruka.
3.1.1 Bljesak*Zamrzni
Simulacija će ući u stanje Flash*Freeze kada se ispravan zahtjev za uslugom pošalje na COMM_BLK s FIC-a (u slučaju IGLOO2 uređaja) ili Cortex-M3 (u SmartFusion2 uređajima). Nakon što kontroler sustava detektira uslugu, simulacija će se zaustaviti i prikazat će se poruka koja pokazuje da je sustav ušao u Flash*Freeze (zajedno s odabranom opcijom). Nakon nastavka simulacije, RXFIFO COMM_BLK će biti ispunjen servisnim odgovorom koji se sastoji od servisne naredbe i statusa. Treba napomenuti da ne postoji podrška za simulaciju za Flash*Freeze izlaz.
3.1.2 Nuliranje
Nuliranje je trenutno jedina usluga visokog prioriteta unutar sistemskih usluga koje obrađuje COMM_BLK. Simulacija će ući u stanje nuliranja čim COMM_BLK otkrije ispravan zahtjev za uslugom. Izvršenje ostalih usluga će biti zaustavljeno i odbačeno od strane kontrolera sustava, a umjesto njih će se izvršiti usluga nuliranja. Nakon što se otkrije zahtjev usluge nuliranja, simulacija se zaustavlja i prikazuje se poruka koja pokazuje da je sustav ušao u nuliranje. Ručno ponovno pokretanje simulacije nakon postavljanja na nulu nije valjano.
3.2 Usluge pokazivača podataka
Sljedeći odjeljci opisuju različite vrste usluga pokazivača podataka.
3.2.1 Serijski broj
Usluga serijskog broja će napisati 128-bitni serijski broj na adresnu lokaciju navedenu kao dio zahtjeva za uslugu. Ovaj 128-bitni parametar može se postaviti pomoću podrške za simulaciju usluge sustava file (vidi stranicu 22) . Ako parametar 128-bitnog serijskog broja nije definiran unutar file, koristit će se zadani serijski broj 0. Nakon što je usluga počela izvršavati, prikazuje se poruka koja označava odredišnu lokaciju i serijski broj. Kontroler sustava provodi AHB pisanje na adresu sa serijskim brojem. Nakon završetka usluge, COMM_BLK-ov RXFIFO bit će učitan s odgovorom usluge.
3.2.2 Korisnički kod
Usluga korisničkog koda zapisuje 32-bitni parametar korisničkog koda na mjesto adrese navedeno kao dio zahtjeva za uslugu. Ovaj 32-bitni parametar može se postaviti pomoću podrške za simulaciju usluge sustava file (vidi stranicu 22). Ako 32-bitni parametar nije definiran unutar file, koristi se zadana vrijednost 0. Nakon što je usluga započela s izvršavanjem, prikazuje se poruka koja označava ciljnu lokaciju i korisnički kod. Kontroler sustava provodi AHB pisanje na adresu s 32-bitnim parametrom. Nakon završetka usluge, COMM_BLK RXFIFO se učitava s odgovorom usluge, koji uključuje naredbu usluge i ciljnu adresu.
3.3 Usluge deskriptora podataka
Sljedeći odjeljci opisuju različite vrste usluga deskriptora podataka.
3.3.1 AES
Podrška za simulaciju za ovu uslugu bavi se samo premještanjem izvornih podataka od izvora do odredišta, bez stvarnog izvođenja šifriranja/dešifriranja podataka. Podatke koje je potrebno šifrirati/dešifrirati i strukturu podataka treba napisati prije slanja zahtjeva za uslugu. Nakon što je usluga počela izvršavati, prikazuje se poruka koja ukazuje na izvršenje AES usluge. AES usluga čita i strukturu podataka i podatke koje treba šifrirati/dekriptirati. Izvorni podaci se kopiraju i zapisuju na adresu navedenu unutar strukture podataka. Nakon što je usluga dovršena, naredba, status i adresa strukture podataka se guraju u RXFIFO.
Bilješka: Ova usluga je samo za 128-bitne i 256-bitne podatke, a i 128-bitni i 256-bitni podaci imaju različite duljine strukture podataka.
3.3.2 SHA 256
Podrška za simulaciju za ovu uslugu bavi se samo premještanjem podataka, bez stvarnog izvođenja raspršivanja podataka. Funkcija SHA 256 dizajnirana je za generiranje 256-bitnog hash ključa na temelju ulaznih podataka. Podaci koje je potrebno raspršiti i struktura podataka trebaju biti zapisani na njihove odgovarajuće adrese prije nego što se zahtjev za uslugom pošalje na COMM_BLK. Duljina u bitovima i pokazivač definirana unutar strukture podataka SHA 256 mora ispravno odgovarati duljini i adresi podataka koji se raspršuju. Nakon što je usluga počela izvršavati, prikazuje se poruka koja ukazuje na izvršenje usluge SHA 256. Umjesto izvršavanja stvarne funkcije, zadani hash ključ bit će upisan u odredišni pokazivač iz strukture podataka. Zadani hash ključ je hex "ABCD1234". Za postavljanje prilagođenog ključa idite na odjeljak Postavljanje parametara (pogledajte stranicu 23). Nakon završetka usluge, RXFIFO se učitava s servisnim odgovorom koji se sastoji od servisne naredbe, statusa i SHA 256 pokazivača strukture podataka.
3.3.3 HMAC
Podrška za simulaciju za ovu uslugu bavi se samo premještanjem podataka, bez stvarnog izvođenja raspršivanja podataka. Podaci koje je potrebno raspršiti i struktura podataka trebaju biti zapisani na njihove odgovarajuće adrese prije nego što se zahtjev za uslugom pošalje na COMM_BLK. Usluga HMAC zahtijeva 32-bajtni ključ uz duljinu u bajtovima, izvorni pokazivač i odredišni pokazivač. Nakon što je usluga započela s izvršavanjem, prikazuje se poruka koja označava izvršenje HMAC usluge. Ključ se čita i 256-bitni ključ se kopira iz podatkovne strukture u odredišni pokazivač. Nakon završetka usluge, RXFIFO se učitava s servisnim odgovorom koji se sastoji od servisne naredbe, statusa i HMAC pokazivača strukture podataka.
3.3.4 Generiraj DRBG
Generiranje slučajnih bitova vrši ovaj servis. Treba napomenuti da simulacijski model ne slijedi točno istu metodologiju generiranja slučajnih brojeva koju koristi silicij. Struktura podataka mora biti ispravno zapisana na predviđenu lokaciju prije nego se zahtjev za uslugu pošalje na COMM_BLK. Strukturu podataka, odredišni pokazivač, duljinu i druge relevantne podatke čita upravljač sustava. Usluga generiranja DRBG generira pseudoslučajni skup podataka tražene duljine (0-128). Kontroler sustava zapisuje nasumične podatke u odredišni pokazivač. U simulaciji se prikazuje poruka koja ukazuje na izvršenje usluge generiranja DRBG-a. Nakon što je usluga dovršena, naredba, status i adresa strukture podataka se guraju u RXFIFO. Ako tražena duljina podataka nije unutar raspona od 0-128, šifra pogreške "4" (Max Generate) bit će gurnuta u RXFIFO. Ako duljina dodatnih podataka nije unutar raspona Request Too Big od 0-128, kod pogreške "5" (Prekoračena maksimalna duljina dodatnih podataka) bit će gurnut u RXFIFO. Ako i tražena duljina podataka za generiranje i dodatna duljina podataka nisu unutar definiranog raspona (0-128), kod pogreške "1" (katastrofalna pogreška) se gura u RXFIFO.
3.3.5 DRBG Reset
Stvarna funkcija resetiranja izvodi se uklanjanjem DRBG instancija i resetiranjem DRBG-a. Nakon što je zahtjev za uslugom otkriven, simulacija prikazuje poruku DRBG Reset service completed. Odgovor, koji uključuje uslugu i status, gura se u RXFIFO.
3.3.6 DRBG samotestiranje
Podrška za simulaciju za DRBG samotestiranje zapravo ne izvršava funkciju samotestiranja. Nakon što je zahtjev za uslugom otkriven, simulacija će prikazati poruku o izvršenju usluge samotestiranja DRBG. Odgovor, koji uključuje uslugu i status, bit će gurnut u RXFIFO.
3.3.7 DRBG Instancija
Podrška za simulaciju za uslugu instantiranja DRBG zapravo ne izvodi uslugu instantiranja. Struktura podataka mora biti ispravno zapisana na predviđenu lokaciju prije nego se zahtjev za uslugom pošalje na COMM_BLK. Nakon što je zahtjev za uslugom otkriven, struktura i personalizacijski niz definiran unutar MSS adresnog prostora će se pročitati. Simulacija će prikazati poruku koja pokazuje da je usluga DRBG Instantiate započela s izvršenjem. Nakon što je usluga dovršena, odgovor, koji uključuje naredbu usluge, status i pokazivač na strukturu podataka, bit će gurnut u RXFIFO. Ako duljina podataka (PERSONALIZATIONLENGTH) nije unutar raspona od 0-128, šifra pogreške "1" (katastrofalna pogreška) bit će gurnuta u RXFIFO za status.
3.3.8 DRBG Neinstanciated
Podrška za simulaciju za neinstancirani servis DRBG zapravo ne izvodi neinstancirani servis uklanjanja prethodno instanciranog DRBG-a, kao što to radi silicij. Zahtjev za uslugu mora uključivati i naredbu i DRBG rukovanje. Nakon što je zahtjev za uslugom otkriven, DRBG rukovatelj će biti pohranjen. Simulacija će prikazati poruku koja pokazuje da je DRBG neinstancirana usluga inicijalizirana. Nakon što je usluga dovršena, odgovor, koji uključuje servisnu naredbu, status i DRBG handle, bit će gurnut u RXFIFO.
3.3.9 DRBG Reseed
Zbog simulativne prirode bloka sistemskih usluga, DRBG reseed usluga u simulaciji ne izvršava se automatski nakon svakih 65535 DRBG generiranih usluga. Struktura podataka mora biti ispravno zapisana na predviđenu lokaciju prije nego se zahtjev za uslugom pošalje na COMM_BLK. Nakon što je zahtjev za uslugom detektiran, očitat će se struktura i dodatni ulazni parametar u MSS adresnom prostoru. Prikazat će se poruka koja pokazuje da je DRBG reseed usluga počela izvršavati. Struktura podataka mora biti ispravno zapisana na predviđenu lokaciju prije nego se zahtjev za uslugom pošalje na COMM_BLK. Nakon što je usluga dovršena, odgovor, koji uključuje naredbu usluge, status i pokazivač na strukturu podataka, bit će gurnut u RXFIFO.
3.3.10 KeyTree
Stvarna funkcija se ne izvršava u simulaciji za uslugu KeyTree. Struktura podataka usluge KeyTree sastoji se od 32-bajtnog ključa, 7-bitnih optipa podataka (MSB zanemaren) i 16-bajtne staze. Podatke unutar strukture podataka treba zapisati na njihove odgovarajuće adrese, prije nego se zahtjev za uslugu pošalje na COMM_BLK. Nakon što se usluga započne s izvođenjem, prikazat će se poruka koja označava izvođenje usluge KeyTree. Sadržaj podatkovne strukture bit će pročitan, 32-bajtni ključ će biti pohranjen, a izvorni ključ unutar podatkovne strukture bit će prebrisan. Nakon ovog AHB pisanja, vrijednost ključa unutar strukture podataka ne bi se trebala promijeniti, ali će se dogoditi AHB transakcije za pisanje. Nakon završetka usluge, RXFIFO se učitava s servisnim odgovorom koji se sastoji od servisne naredbe, statusa i pokazivača strukture podataka KeyTree.
3.3.11 Odgovor na izazov
Stvarna funkcija, poput provjere autentičnosti uređaja, ne izvršava se u simulaciji za uslugu odgovora na zahtjev. Struktura podataka za ovu uslugu zahtijeva pokazivač na međuspremnik za primanje rezultata od 32 bajta, 7-bitni tip opcije i 128-bitni put. Podatke unutar strukture podataka treba zapisati na njihove odgovarajuće adrese prije nego što se zahtjev za uslugom pošalje na COMM_BLK. Nakon što je usluga započela s izvršenjem, prikazat će se poruka koja ukazuje na izvršenje usluge odgovora na izazov. Generički 256-bitni odgovor bit će zapisan u pokazivač koji se nalazi unutar strukture podataka. Zadani ključ postavljen je kao hex "ABCD1234". Za dobivanje prilagođenog ključa, provjerite postavke parametara (pogledajte stranicu 23). Nakon završetka usluge, RXFIFO će biti učitan s odgovorom usluge, koji se sastoji od naredbe usluge, statusa i pokazivača strukture podataka odgovora na izazov.
3.4 Ostale usluge
Sljedeći odjeljci opisuju razne druge usluge sustava.
3.4.1 Digest Check
Stvarna funkcija ponovnog izračuna i usporedbe sažetaka odabranih komponenti ne izvršava se za uslugu provjere sažetka u simulaciji. Ovaj servisni zahtjev sastoji se od servisnih naredbi i servisnih opcija (5-bitni LSB). Nakon što je usluga počela izvršavati, prikazat će se poruka s detaljima izvršenja usluge sažete provjere, zajedno s odabranim opcijama iz zahtjeva. Nakon završetka usluge, RXFIFO će biti učitan s servisnim odgovorom, koji se sastoji od servisne naredbe i zastavica za provjeru sažetka prolaz/neuspjeh.
3.4.2 Neprepoznati odgovor na naredbu
Kada se neprepoznati zahtjev za uslugom pošalje na COMM_BLK, COMM_BLK će automatski odgovoriti s neprepoznatom naredbenom porukom gurnutom u RXFIFO. Poruka se sastoji od naredbe poslane u COMM_BLK i statusa neprepoznate naredbe (252D). Također će se prikazati poruka na zaslonu koja pokazuje da je otkriven neprepoznati zahtjev za uslugom. COMM_BLK će se vratiti u stanje mirovanja, čekajući da prihvati sljedeći servisni zahtjev.
3.4.3 Nepodržane usluge
Nepodržane usluge postavljene na COMM_BLK pokrenut će poruku u simulaciji koja pokazuje da zahtjev za uslugom nije podržan. COMM_BLK će se vratiti u stanje mirovanja, čekajući da prihvati sljedeći servisni zahtjev. PINTERRUPT neće biti postavljen, označavajući da je usluga dovršena. Trenutačni popis nepodržanih usluga uključuje: IAP, ISP, Certifikat uređaja i uslugu DESIGNVER.
3.5 Podrška za simulaciju usluga sustava File
Za podršku simulaciji usluga sustava, tekst file pod nazivom "status.txt" može se koristiti za prosljeđivanje uputa o potrebnom ponašanju simulacijskog modela simulacijskom modelu. Ovaj file treba nalaziti u istoj mapi iz koje se pokreće simulacija. The file može se koristiti, između ostalog, za prisiljavanje određenih odgovora na pogreške za podržane usluge sustava ili čak za postavljanje nekih parametara potrebnih za simulaciju, (npr.ample, serijski broj). Maksimalan broj redaka podržan u ”status.txt” file je 256. Upute koje se pojavljuju nakon broja retka 256 neće se koristiti u simulaciji.
3.5.1 Forsiranje odgovora na pogreške
Korisnik može prisiliti određeni odgovor na pogrešku za određenu uslugu tijekom testiranja prosljeđivanjem informacija simulacijskom modelu koristeći "status.txt" file, koji treba staviti u mapu iz koje se pokreće simulacija. Kako bi se forsirali odgovori na pogreške određenoj usluzi, naredba i traženi odgovor trebaju biti upisani u isti redak u sljedećem formatu:ample, do Zapovijedi> ; naredi simulacijskom modelu da generira MSS odgovor na pogrešku pristupa memoriji usluzi serijskog broja, naredba je sljedeća.
Servis: Serijski broj: 01
Zatražena poruka o pogrešci: MSS Memory Access Error: 7F
Trebali biste imati redak 017F upisan u "status.txt" file.
3.5.2 Postavljanje parametara
"status.txt" file također se može koristiti za postavljanje nekih parametara potrebnih u simulaciji. Kao bivšiample, kako biste postavili 32-bitni parametar za korisnički kod, format retka mora biti ovim redoslijedom: <32 Bit KORISNIČKA ŠIFRA>; gdje se obje vrijednosti unose u heksadecimalnom obliku. Kako biste postavili 128-bitni parametar za serijski broj, format retka mora biti ovim redoslijedom: <128-bitni serijski broj [127:0]> ; gdje se obje vrijednosti unose u heksadecimalnom obliku. Kako biste postavili 256-bitni parametar za ključ SHA 256; format retka mora biti ovim redoslijedom: <256 bitni ključ [255:0]>; gdje se obje vrijednosti unose u heksadecimalnom obliku. Kako biste postavili 256-bitni parametar za ključ odgovora na izazov, format retka mora biti ovim redoslijedom: <256 bitni ključ [255:0]>;
gdje se obje vrijednosti unose u heksadecimalnom obliku.
3.5.3 Prioritet uređaja
Sistemske usluge i COMM_BLK koriste sustav visokog prioriteta. Trenutno je jedina usluga visokog prioriteta nuliranje. Kako bi se izvršila usluga visokog prioriteta, dok se druga usluga izvršava, trenutna usluga se zaustavlja i umjesto nje će se izvršiti usluga višeg prioriteta. COMM_BLK će odbaciti trenutnu uslugu kako bi izvršio uslugu višeg prioriteta. Ako se pošalje više usluga bez visokog prioriteta prije završetka trenutne usluge, te će usluge biti stavljene u red unutar TXFIFO. Nakon što je trenutna usluga dovršena, izvršit će se sljedeća usluga u TXFIFO.
Microsemi ne daje nikakva jamstva, zastupanja ili jamstva u vezi s ovdje sadržanim informacijama ili prikladnošću svojih proizvoda i usluga za bilo koju određenu svrhu, niti Microsemi preuzima bilo kakvu odgovornost koja proizlazi iz primjene ili upotrebe bilo kojeg proizvoda ili sklopa. Proizvodi koji se ovdje prodaju i svi drugi proizvodi koje prodaje Microsemi podvrgnuti su ograničenom testiranju i ne bi se trebali koristiti zajedno s opremom ili aplikacijama kritičnim za misiju. Vjeruje se da su sve izvedbene specifikacije pouzdane, ali nisu provjerene, a Kupac mora provesti i dovršiti sva ispitivanja performansi i druga testiranja proizvoda, samih i zajedno sa, ili ugrađenih u bilo koji krajnji proizvod. Kupac se neće oslanjati ni na kakve podatke i specifikacije izvedbe ili parametre koje pruža Microsemi. Odgovornost Kupca je da samostalno utvrdi prikladnost bilo kojeg proizvoda te istu testira i provjeri. Informacije koje Microsemi daje u nastavku dane su “kao što jesu, gdje je” i sa svim greškama, a cijeli rizik povezan s takvim informacijama u potpunosti je na Kupcu. Microsemi ne daje, eksplicitno ili implicitno, nijednoj strani nikakva patentna prava, licence ili bilo koja druga prava intelektualne svojine, bilo u pogledu samih takvih informacija ili bilo čega što je opisano takvim informacijama. Informacije navedene u ovom dokumentu vlasništvo su tvrtke Microsemi, a Microsemi zadržava pravo izmjene podataka u ovom dokumentu ili bilo kojeg proizvoda i usluga u bilo koje vrijeme bez prethodne obavijesti.
Microsemi, podružnica u stopostotnom vlasništvu Microchip Technology Inc. (Nasdaq: MCHP), nudi sveobuhvatan portfelj poluvodičkih i sistemskih rješenja za svemirska i obrambena tržišta, komunikacije, podatkovne centre i industrijska tržišta. Proizvodi uključuju visokoučinkovite analogne integrirane sklopove s mješovitim signalom otporne na zračenje, FPGA, SoC i ASIC; proizvodi za upravljanje napajanjem; uređaji za mjerenje vremena i sinkronizaciju i rješenja za precizno vrijeme, postavljanje svjetskih standarda za vrijeme; uređaji za obradu glasa; RF rješenja; diskretne komponente; rješenja za pohranu i komunikaciju poduzeća; sigurnosne tehnologije i skalabilni anti-tamper proizvodi; Ethernet rješenja; Power-over-Ethernet IC-ovi i srednji rasponi; kao i prilagođene mogućnosti dizajna i usluge. Microsemi ima sjedište u Aliso Viejo, Kalifornija, i ima približno 4,800 zaposlenika diljem svijeta. Saznajte više na www.microsemi.com.
Sjedište Microsemi
One Enterprise, Aliso Viejo,
CA 92656 SAD
Unutar SAD-a: +1 800-713-4113
Izvan SAD-a: +1 949-380-6100
Prodaja: +1 949-380-6136
Faks: +1 949-215-4996
Email: prodaja.support@microsemi.com
www.microsemi.com
© 2018 Microsemi. Sva prava pridržana. Microsemi i Microsemi logo
su zaštitni znaci Microsemi Corporation. Svi ostali zaštitni znakovi i usluge
oznake su vlasništvo njihovih vlasnika.
Dokumenti / Resursi
![]() |
Simulacija usluga Microsemi UG0837 IGLOO2 i SmartFusion2 FPGA sustava [pdf] Korisnički priručnik UG0837, UG0837 Simulacija usluga IGLOO2 i SmartFusion2 FPGA sustava, Simulacija usluga IGLOO2 i SmartFusion2 FPGA sustava, Simulacija usluga SmartFusion2 FPGA sustava, Simulacija usluga FPGA sustava, Simulacija usluga |