---
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:**
* 
* 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.
* 
> 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]
```
* 
* SW7 styrer *Sett* og SW6 styrer *Resett*
* 
* 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:**
* 
* 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.