--- title: Lab6 --- <div style="height: 1000px; padding-top: 200px"> <center><p style="font-size: 40px; font-weight: 600">Laboratorieøving 6</p></center> <center><p style="font-size: 30px">Del 1: SR-lås</p></center> <center><p style="font-size: 20px">Gruppe: SA</p></center> <center><p style="font-size: 20px">Erik Martin (250660)</p></center> <center><p style="font-size: 20px">Tormod Kvam (250612)</p></center> </div> # Laboratorieøving 6 ## Innholdsliste [TOC] ## Simulering av avprellingslogikk for brytartrykk **Deloppgåvenr:** 5.1 **Dato:** 28.10.2022 **Navn:** Avprellingslogikk **Funksjon:** Åpne filer, kjør simulering og studer resultat. **Framgangsmåte for utføring:** 1. Opprett filmapper, last ned filer og åpne dem. 2. Åpne simulink og start simulering. 3. Studer resultat. **Resultat:** * ![](https://i.imgur.com/TJqvbG9.png) * Resultatet her ble det samme som det vi kom fram til i teoriøvinga. *Altså ingen avvik*. * Bryter trykket inn: * På xR kom det to pulser. * På xS kom det tre pulser. * Bryter slept: * På xR kom det tre pulser. * På xS kom det én puls. * ![](https://i.imgur.com/HzQFY7U.png) > Ja SR-låsen virker som tenkt iom. at utgangssignalet ikke har noen pulser. > De forskjellige pulsene på inngangssignalet vil ikke påvirke bryteren SW1 nok til at bryteren vi ta kontakt med kontaktpukt **3** igjen og Q vil fortsette å holde signalet. Når bryteren slippes vil tar den kontakt med kontaktpunkt **3** igjen og Q *nullstilles*. **Analyse og konklusjon** En SR-lås holder utgangssignalet konstant uansett om det er små pulser på inngangssignalet. Det endres ikke før det er oppnådd en skikkelig kontakt mellom GND og xR eller GND og xS. ## Funksjonstesting av avprellingslogikken for brytartrykk **Deloppgåvenr:** 5.2 **Dato:** 28.10.2022 **Navn:** Funksjonstesting **Funksjon:** Testing og analyse på *zedboard* **Framgangsmåte for utføring:** 1. Start vivado og modifiser støttefila. 2. Programmer *zedboardet* 3. Analyser resultat ved hjelp av *zedboard* **Resultat:** * lab6_sr_SA_clock.xdc kilde filen: ``` set_property PACKAGE_PIN F22 [get_ports sw0[0]] set_property IOSTANDARD LVCMOS33 [get_ports sw0[0]] set_property PACKAGE_PIN G22 [get_ports sw1[0]] set_property IOSTANDARD LVCMOS33 [get_ports sw1[0]] set_property PACKAGE_PIN H17 [get_ports sw6[0]] set_property IOSTANDARD LVCMOS33 [get_ports sw6[0]] set_property PACKAGE_PIN M15 [get_ports sw7[0]] set_property IOSTANDARD LVCMOS33 [get_ports sw7[0]] create_clock -name clk -period 10.000 [get_ports clk] set_property PACKAGE_PIN Y9 [get_ports clk] set_property PACKAGE_PIN T22 [get_ports ld0[0]] set_property IOSTANDARD LVCMOS33 [get_ports ld0[0]] set_property PACKAGE_PIN T21 [get_ports ld1[0]] set_property IOSTANDARD LVCMOS33 [get_ports ld1[0]] set_property PACKAGE_PIN U19 [get_ports ld6[0]] set_property IOSTANDARD LVCMOS33 [get_ports ld6[0]] set_property PACKAGE_PIN U14 [get_ports ld7[0]] set_property IOSTANDARD LVCMOS33 [get_ports ld7[0]] set_property IOSTANDARD LVCMOS33 [get_ports clk] ``` * ![](https://i.imgur.com/6TwxtVK.png) * SW7 styrer *Sett* og SW6 styrer *Resett* * ![](https://i.imgur.com/EQICRiF.png) * Tilstanden til Q når xS = 0: * Lys (LD7) er på * Tilstanden til Q når xS = 1: * Lys (LD7) forholder seg på * Fordi låsen er aktivert vil ikke en endring av xS påvirke utgangssignalet før resetsignalet er sendt. * Når vi gir flere xS pulser skjer det ingenting med Q signalet. Forklaring er som over. Dette er nyttig for avprelling fordi små pulser av inngangssignalet ikke vil påvirke utgangssignalet før bryteren gjør en kontakt med kontaktflaten som resetter signalet igjen. * Ved å slå av xR bryteren så låser vi opp SR-låsen. Når vi da endrer på xS signalet så vil Q endres, altså utgangssignalet er ikke lengre låst. * Når begge inngangssignalene er aktivert lyser både (LD6) og (LD7), altså nå er signalet fra Q på. Tilstanden er ustabil fordi at Q og $\overline{Q}$ er 1. Altså vil låsen gå over i en av de to stabile tilstandene med en gang en av inngangene blir deaktivert. **Analyse og konklusjon** Her testet vi ut simuleringen fra oppgaven over i praksis. ## Testing av kappløp/res **Deloppgåvenr:** 5.3 **Dato:** 28.10.2022 **Navn:** Kappløp **Funksjon:** Analysere hva som skjer dersom begge bryterene blir trykt inn samtidig. **Framgangsmåte for utføring:** 1. Legg logikkskjema i protokollen. 2. Test låsen og analyser reultat. **Resultat:** * ![](https://i.imgur.com/0xwehc4.png) * Må sette SW1 til 1 fordi at vi må aktivere signalet først. For at vi skal kunne deaktivere xR og xS samtidig for å få en race condition. * Når vi aktiverte styresignalene slo LD1 seg av. * Når vi deaktiverte styresingalene, slo LD1 seg på igjen. Pga. det er et delay ($z^{-1}$) på NOG-porten som skulle ha styrt xR så vil alltid xS komme igjennom først og endre på Q uansett om xR også er satt. Dette er en race-condition. **Analyse og konklusjon** En race condition skjer når begge signalene deaktiveres samtidig. Da vil det ene signalet ende opp med å bli låst og ikke kunne endres uansett verdien til inngangssignalet.