Examens arbete 10-poäng C-nivå Mälardalens Högskola Testbed for a semi-full-custom mixed signal ASIC

Storlek: px
Starta visningen från sidan:

Download "Examens arbete 10-poäng C-nivå Mälardalens Högskola Testbed for a semi-full-custom mixed signal ASIC"

Transkript

1 Examens arbete 10-poäng C-nivå Mälardalens Högskola Testbed for a semi-full-custom mixed signal ASIC Februari 2007 Institutionen för Datavetenskap och Elektronik Mälardalen Högskola Västerås

2 INLEDNING... 2 BAKGRUND OCH SYFTE... 2 HUVUDDEL... 2 BAKGRUNDSBESKRIVNING... 2 REDOGÖRELSE AV ARBETE... 2 Planering... 2 Design och tillverkning av mönsterkort... 3 Programmering och simulering... 4 Testning... 5 Slutsats... 5 UART... 6 VÅR UART... 6 Transmittern... 7 Receivern... 7 TESTPROGRAM... 8 TEST AV AD-OMVANDLARNA... 8 Från kort... 8 Till kort... 9 Koden TEST AV FASSKIFTAREN Från kort Till kort Koden PCB PROGRAMKOD TEST AV AD-OMVANDARNA Testad.vhdl testad.ucf test.do Simulering TEST AV FASSKIFTAREN Phaser.vhdl Phaser.ucf test.do Simulering UART:EN uart.vhdl rcvr.vhdl txmit.vhdl REFERENSER

3 Inledning Testbed for a semi-full-custom mixed signal ASIC Bakgrund och syfte I ett tidigare examensarbete vid MDH har en ASIC designats, den har nu tillverkats. För att testa denna ASIC krävs en testbänk, bestående av ett mönsterkort med testpunkter för oscilloskop och en CPLD för hantering av alla styrsignaler. All kommunikation med denna ASIC sker genom ett mångt skiftregister. Huvuddel Bakgrundsbeskrivning Patrick Fallbergs exjobb gick ut på att man med minimala resurser och tid skull konstruera en ASIC. På 20 veckor utfördes detta och denna ASIC har nu tillverkats. En simulering av denna ASIC är allt för komplicerad och skulle kräva enorm datorkraft, alternativet blir att konstruera en testbänk. Denna testbänk ska ha testpunkter för att med oscilloskop kunna kontrollera de analoga utgångar och kontakter på ingångarna. För att kunna testa de digitala delarna används en CPLD till kommunikationen mellan ASIC och dator via USB. All kommunikation med denna ASIC sker genom ett mångt skiftregister. Redogörelse av arbete Planering Det första vi gjorde var att lägga upp en strategi på hur vi skulle lösa uppgiften. Eftersom examensarbetet går ut på att testa den ASIC Patrick Fallberg designat beslutade vi oss för att först läsa in oss på hans rapport, (Fallberg,2005). Nästa steg var att designa ett mönsterkort i Eagle. Första tanken var att vi skulle skicka iväg kortet på tillverkning, därför valde vi att först designa kortet innan vi började programmera. Under tiden kortet skulle vara på tillverkning tänkte vi programmera testprogrammet. När kortet sedan kommit tillbaka från tillverkning skulle vi löda alla komponenter på plats och utföra tester. När alla tester var utförda skulle vi sammanställa en rapport. 2

4 Design och tillverkning av mönsterkort Efter att vi hade studerat Patrick Fallbergs rapport planerade vi utformning av mönsterkortet och letade lämpliga komponenter. För att göra kortet så användarvänligt som möjligt valde vi att ha en kontakt för matningsspänning och sedan dela upp i de fem olika spänningsnäten som ASIC: en och CPLD: n krävde. På ASIC: en finns det fyra ingångar och fyra utgångar som går till fyra olika förstärkarsteg. Dessa valde vi att sätta BNC-kontakter på så att det skulle vara lätt att koppla in till oscilloskop och signalgenerator. Vi beslutade även att fräsa kretskortet själva istället för att skicka iväg det på tillverkning för att lättare kunna korrigera felaktigheter vid designen. Programvaran som användes till kretskortslayouten var Cadsoft Eagle. Många av de komponenter som vi använde fanns inte med i standardbiblioteken vilket medförde att vi var tvungna att rita dessa själva. På den första versionen på kortet hade vi missat en del designregler. Eftersom vi aldrig tidigare designat ett kretskort kände vi inte till dessa. Det var till exempel att inte ha några 90º böjar på ledningar, att signalledningarna kunde göras tunnare samt att matningsledningarna skulle vara bredare. För att inte behöva fräsa bort all koppar på kortet som inte används måste man koppla detta till jord för att undvika störning. Vid fräsning av kortet, som även det var nytt för oss, stötte vi på ytterligare problem. När första sidan var fräst och kortet vändes uppstod en förskjutning längs y-axeln. Denna förskjutning var på nästan 1mm. Detta problem kunde enkelt lösas genom att borra ett hål innan vändningen på kortet och sedan borra ett nytt hål på samma koordinat efter vändningen och därefter korrigera förskjutningen i datorn. Vid lödning på det första kortet utan förskjutning släppte kopparlaminatet, detta på grund av att fräsen hade tagit för djupt. Ett nytt kort frästes och alla komponenter löddes dit. När matningsspänningen kopplades in på kortet gick spänningsregulatorerna som delar upp i de fem olika spänningsnäten sönder. Vid mätning med multimeter visade det sig att denna DC-adapter ej var stabiliserad. Den levererade 19V istället för de 12V den var specificerad att leverera. En stabilisering som var justerbar från ungefär 1V till ungefär 12V konstruerades. Vid test med en last som motsvarade kortets last kunde vi konstatera att denna var mycket stabil. Vid fortsatta mätningar på kortet konstaterades att det var kortslutning mellan 3 av de 5 matningsspänningarna och jordplanet. Detta kan troligtvis ha orsakats av kopparspån som blir kvar mellan ledningar efter fräsningen. För att undvika detta bör alla banor skrapas med en liten kniv och sedan lägga kortet i ett K-sprit bad och dra med en pensel för att alla lösa kopparspån ska sköljas bort. Efter detta bör kortet granskas under mikroskåp för att se att alla banor är rena från kopparspån. För att få en bättre översikt på funktionen på kretskortet och dess komponenter valde vi att fräsa ett nytt kort och noggrant granska alla banor på kopparspån. När alla banor var rena från kopparspån löddes spänningsregulatorerna på plats samt avkopplingskondensatorer till dessa. Då samtliga spänningsnät fungerade som planerat löddes CPLD: n, JTAG-kontakt, resetknapp samt oscillatorn på plats. Vid inkoppling av strömmen så oscillatorn började svänga gick en av spänningsregulatorerna sönder. När vi läste i databladet för spänningsregulatorerna visade det sig att vi hade förväxlat den kapsel dessa hade med en annan som kunde leverera mer ström. Den kapsel som vi använde klarade bara av att leverera 250 ma och inte de 380 ma som CPLD:n drar vid 40 MHz. 3

5 Vi letade efter någon annan spänningsregulator med samma kapsel som kunde leverera mer ström. Dessvärre hittade vi ingen spänningsregulator med samma kapsel som klarade av att leverera tillräckligt med ström. Då det inte fanns någon passande spänningsregulator med samma kapsel ritades kortet om med andra kraftigare spänningsregulatorer. De nya spänningsregulatorerna klarade av att leverera 800mA. Ett nytt kort kunde tillverkas med spänningsregulatorer som kunde leverera tillräckligt med ström. För att vara säkra på att inte överbelasta spänningsregulatorerna löddes även kylflänsar i koppar fast på dessa. Nu när kretskortet fungerade kunde vi fokusera på mjukvarudesignen. Eftersom oscillatorkretsen i ASIC: en inte fungerade, mer om detta under testning, valde vi även att byta ut 40 MHz oscillatorn till CPLD:n mot en 16 MHz. Programmering och simulering För att testa att CPLD: n gick att programmera skrev vi ett program som omvandlade systemklockan till en 200 khz klocka som lades ut på en I/O-pinne. Detta fungerade utan problem och vi kunde nu fokusera på att få den seriella kommunikationen mellan kortet och datorn att fungera. Först använde vi en UART som kom från Opencores.org. Efter att vi pratat med handledaren och kom vi fram till att den var onödigt komplicerad och använde sig av flera kontroll- och statussignaler som inte behövdes. Därför tittade vi på en UART från xilinx. Vi fick inte den att fungera med kommunikation. Den hittade startbiten men sedan var de någon form av fördröjning som gjorde att de två nästa bitarna inte lästes in, detta medförde att de två sista bitarna alltid blev ettor då stoppbiten redan var satt. Problemet visade sig inte då vi simulerade utan bara vid det verkliga testet. Vi beslutade oss då för att skriva en egen UART. Det resulterade i en väl fungerande UART som bara har de nödvändigaste funktionerna. De tester som skulle göras var att se om AD-omvandlarna och phaseshiftern fungerade. När vi hade skrivit ett program för att kontrollera funktionen på AD-omvandlarna upptäckte vi att det skulle bli svårt att få plats med testet för phaseshiftern i samma program i CPLD: n. Därför beslutade vi oss för att göra två olika program. Båda programmen innehåller UART: en och har en systemklocka på 16 MHz som även läggs ut till ASIC: en. 4

6 Testning Det första testet som utfördes var att kontrollera den seriella kommunikationen mellan kortet och datorn. Detta gjordes med hjälp av ett program som skickade det decimala värdet 82. Vårat program skulle då skicka tillbaka värdet 83 om det var 82 som kom in i CPLD:n annars skulle det skicka 81. Nästa test var på ASIC: ens AD-omvandlare. För att kunna läsa från AD-omvandlarna behövs ett program som styr CPLD: n genom att välja vilken av AD-omvandlarna som ska läsas ifrån. Programmet sätter signalen AD_conv_request hög varannan gång. När vi nu testade lägga på en spänning på ingången till AD 1 för att se om AD-omvandlaren arbetade eftersom vi inte fick något värde på datorn började vi felsöka. Vi konstaterade att testsignalerna från AD-omvandlaren ständigt var låga och att det inte uppstod någon upp- och urladdningskurva på kondensatorn till AD 1. Vi fortsatte felsökningen och konstaterade att den keramiska resonatorn inte svängde. När vi mätte på in- och utgången till oscillatorn låg dessa på olika nivåer vilket indikerade att motståndet som ska ligga mellan dessa signaler inte fungerade. Vi testade då löda dit ett 1MΩ motstånd. När vi nu mätte på in- och utgångarna låg dessa på samma nivå men utan att resonatorn svängde. Vi testade då lägga på en spänning på ingången i serie med ett motstånd på 100kΩ och mätte om det gick någon ström genom kretsen, vilket det inte gjorde. Om det hade gjort det hade transistorerna i inverteraren varit trasiga. Efter detta testade vi med en kristall istället för resonatorn men inte heller detta kunde få klockan att svänga. Slutsats Det verkar som att ASIC: en inte får ström som den ska. Vi har kontrollerat de olika spänningsnäten och de fungerar. Oscillatorkretsen startar t.ex. inte och utan en systemklocka går det inte att testa om AD-omvandlarna fungerar. Det finns en backupingång där man kan koppla in en systemklocka men inte ens med en systemklocka kopplade till denna fungerar AD-omvandlarna. 5

7 UART UART är en förkortning för Universal Asynchronous Receiver/Transmitter. UART bygger på asynkron kommunikation och med det menas då två eller fler enheter, med av varandra oberoende klockor, kommunicerar. Överföringshastigheten för asynkron kommunikation mäts i baud. En UART består av två block. Det första blocket är en receiver som tar emot informationen i seriell form och levererar den vidare i parallell form. Det andra blocket är en transmitter som tar data i parallell form för att sedan skicka den vidare i seriell form. Eftersom inga handskakningar används vid asynkron kommunikation lägger transmittern till en startbit framför de åtta databitarna och en stoppbit efter dessa. Startbit Databitar Stopbit Bild 1: Datapaket Startbiten används för att uppmärksamma receivern på att en byte är på väg att skickas. Efter startbiten skickas de åtta databitarna med den minst signifikanta (LSB) biten först. För att få en så säker receiver som möjligt bör man testa varje databit 16 gånger och om hälften av dessa är höga ska den mottagna biten tolkas som en hög bit. För att kunna göra en mer komprimerad men inte lika säker mottagardel kan man välja att vänta tills 8 av klockpulser har gått och tolka den mottagna biten som det den är vid den klockpulsen. Anledningen till att man ska vänta några klockpulser är att signalen då hunnit stabilisera sig efter eventuellt omslag. Efter att alla databitar har skickats lägger transmittern till en stoppbit. Vår UART Den UART vi skrivit kommunicerar med en baud rate på Kommunikationen med dator sköts via signalerna rxd och txd. Typ Namn Beskrivning In Rst System reset In Clk16x Den är 16 gånger 9600Hz = Hz In Rxd Signal från datorn. Som läggs till dout. In Send Sätter startbit aktiv hög. In Din Vektor med den data som man vill skicka till datorn. Åtta bitar lång. Ut Dout Vektor som UART:en sätter ihop av den data som kommer från datorn. Åtta bitar lång. Ut Txd Signal till datorn. Som kommer från din. Ut Tbe Hög när buffern är tom och UART:en är redo att skicka data från CPLD till datorn. Tabell 1: Signaltabell för UART:en 6

8 Transmittern Eftersom startbiten är aktivt låg kommer transmittern att lägga signalen txd hög om det inte finns någon data som ska skickas. När det finns information i din att skicka kommer transmittern lägga över den informationen i vektorn tmpdin och ändra signalen txd till låg för att uppmärksamma den mottagande UART: en att en byte är på väg att skickas. De åtta databitarna skickas nu seriellt med en frekvens om 9600 Hz. Eftersom stoppbiten är aktivt hög sätts txd till hög efter att alla åtta databitar har skickats. Receivern Vi valde på grund av utrymmesskäl att göra en enklare receiver som inte kontrollerar varje bit 16 gånger utan istället läser av rxd efter 8 klockpulser vilket blir mitt i varje bit. Så länge ingen information finns att ta emot ligger signalen rxd hög. Då rxd går låg tillräckligt länge för att receivern ska tolka den som en låg bit kommer den tolkas som en startbit. Receivern kommer nu att samla de åtta databitarna som följer i vektorn dout. När en datasekvens tagits emot går rxd hög för att indikera en stoppbit. Rxd kommer att kvarstå hög till nästa startbit kommer. 7

9 Testprogram All kommunikationen mellan dessa testprogram och datorn sköts via vår UART. Test av AD-omvandlarna Programmets uppgift är att kontrollera hur AD-omvandlaren arbetar. Typ Namn Beskrivning In Clk System klocka In Rst System reset In Power_on_reset Från ASIC läggs i Din(2) i andra paketet In Sw_input Från ASIC läggs i Din(3) i andra paketet In Sw_op Från ASIC läggs i Din(4) i andra paketet In Comp Från ASIC läggs i Din(5) i andra paketet In Trip Från ASIC läggs i Din(6) i andra paketet In Data_pending Från ASIC läggs i Din(7) i andra paketet In Rxd Seriell signal från datorn In Clk200kHz Signalen testas In Clk16_out Används ej In AD0_serial_out Seriell utgång från AD-omvandlare In AD1_serial_out Seriell utgång från AD-omvandlare Ut Clk16_in 16 MHz Från CPLD:n Ut Txd Seriell signal till datorn Ut Reset_n Reset signal till ASIC:en Ut Serial_input Data från CPLD:n Ut Serial_clock 2 MHz från CPLD:n Ut Ad_conv_request Sätts från datorn på bit 3 Tabell 2: Signaltabell till testprogrammet för test av AD-omvandlarna Från kort I ASIC:en finns en AD-omvandlaren på 10-bitar, denna skiftas in till vektorn AD som är tio bitar. Från kortet vill vi skicka AD-omvandlarens 10-bitar samt sex statussignaler. UART:en kan bara skicka 8-bitar åt gången därför måste vi skicka värdena i två byte. Den första byten innehåller bit 0 till 7 från AD-omvandlaren. Den andra byten innehåller de sista två bitarna från AD-omvandlaren samt statussignalerna från ASIC:en Den ser ut på följande sätt: AD (9-0) = Tilldelas av vald AD-omvandlare Din(2) = power_on_reset Din(3) = sw_input Din(4) = sw_op Din(5) = comp Din(6) = trip Din(7) = data_pending 8

10 Till kort Man styr detta program från en dator genom att skicka in vektor på åtta bitar till UART:en. Bit 0 till 2 i denna vektor från datorn sätter värdet på vektorn state. Här väljer man vilken ADomvandlare man vill läsa ifrån. State 001 = AD0 State 010 = AD1 När dessa är satta uppdateras inte värdet för än kortet har skickat klart allt till datorn och åter står i läge för att ta nya order. Bit 3 från dout tilldelar signalen ad_conv_request. Bit 4 tilldelar signalen serial_input. Övriga bitar används ej. Clk2= 1 dout(2downto0)= 001 Synkar med AD0 Läser från AD0 Default Bitcount< 1001 dout(2downto0)= 010 tbe= 1 Sänder Bitcount= 1001 Synkar AD1 tbe= 0 Synkar sändning Bitcount< 1001 Clk2= 1 Bitcount= 1001 Läser från AD1 9

11 Koden Tillståndsmaskinen i första processen börjar i state others, det är i detta tillstånd data läses in från datorn. Från detta tillstånd hoppar man till state 001 eller 010 beroende på vilken AD-omvandlare man ska titta på. De enda som skiljer dessa två state ifrån varandra är att de tittar på olika AD-omvandlare. De första som händer i state 001 eller state 010 är att man väntar på att serial_clock går hög för att då hoppa till state 011 eller 100 beroende på vilken AD-omvandlare man tittar på. Detta är för att AD-omvandlaren uppdaterar värdet på utgången när serial_clock går hög. För att synkronisera AD-omvandlaren i ASIC:en med CPLD:n väntar vi till serial_clock går låg för att där skifta in värdet i vektorn AD. När ett värde är inläst från AD-omvandlaren räknas räknaren bitcount upp. Om inte alla bitar är inlästa hoppar man tillbaka till föregående tillstånd för att där invänta nästa värde. När alla inläsningar av värden är klara fortsätter programmet till state 111. State 111 är tillståndet som lägger över data till UART:en som ska skickas till datorn. Innan data kan läggas över till vektorn din kontrolleras signalen tbe som är en kontrollsignal från UART:en. När tbe är hög är bufferten tom och UART:en är redo att skicka data. Först sänder man de första 8-bitarna ur vektor AD genom att lägga över dem i vektorn din till UART:en. När dessa har skickats och tbe åter går hög läggs de sista två bitarna från ADomvandlaren in samt de statussignaler som ska skickas till datorn. De sista som händer där är att man nollställer räknaren bitcount och hoppar till state others för att invänta nya kommandon från datorn. Nästa process är till för att generera klocksignalen clk16x som ska styra UART:en. Den överförings hastighet vi har på UART:en är 9600 baud. 10

12 Test av Fasskiftaren Programmets uppgift är att från en dator kunna mata in värden till fasskiftaren för att se att fasskiftning sker och att rätt förstärkarsteg väljs. Typ Namn Beskrivning In Clk System klocka In Rst System reset In Rxd Seriell signal från datorn Ut Clk16_in 16 MHz Från CPLD:n Ut Txd Seriell signal till datorn Ut Reset_n Reset signal till ASIC:en Ut Serial_input Data från CPLD:n Ut Serial_clock 2 MHz från CPLD:n Ut Ad_conv_request Sätts från datorn på bit 3 Tabell 3: Signaltabell till testprogrammet för test av fasskiftningen Från kort Ingen information från ASIC: en kommer att läsas in i CPLD: n. För att kontrollera fasskiftningen och att rätt förstärkare är vald finns det åtta stycken bnc-kontakter. Fyra av dessa är ingångar till förstärkarstegen och resterande fyra är utgångar från dessa förstärkarsteg. Genom att koppla en känd spänning till ingången på ett förstärkarsteg kan man kontrollera på utgången att förstärkarsteget fungerar. För att styra vilket förstärkarsteg som ska användas samt fasskiftningen för de fyra stegen måste CPLD: n få fyra byte från datorn som sedan skiftas vidare in till ASIC: en. När dessa fyra bytes har skiftats vidare till ASIC: en returneras en byte till datorn för att rapportera att ett nytt värde nu kan skickas. Till kort Detta program styrs från en dator genom att först skicka in vektor på åtta bitar till UART: en. Bit 1 till 0 i denna vektor från datorn sätter värdet på vektorn start. För att programmet ska ta emot de fyra byte som ska skiftas in till ASIC: en måste vektorn start måste start vara

13 Start= 01 Kopierar dout State= 10 Default Tar emot data tbe= 1 Nollställer tmpreg(7)='z' AND byte="11" Koden Den första processen i programmet består av en tillståndsmaskin med fyra tillstånd. Vid reset kommer programmet att starta från state others, det är i detta tillstånd som information från datorn läses in. För att kunna mata in värden till fasskiftaren måste programmet först ta emot en byte där bit 1 till 0 är 01. Bit 1 till 0 läggs över till vektorn start och signalen first går låg för att indikera att programmet nu mottagit byten med styrsignalen för programmet. Nästa gång vektorn dout uppdateras kommer programmet hoppa till state 01 där värdet i dout läggs över till vektorn tmpreg. Programmet hoppar vidare till tillståndet 01 för att där vänta på att signalen puls ska gå hög. När puls går hög läggs värdet från bit sju i vektorn tmpreg över till signalen serial_input. Slutligen skiftas bit 6 till 0 till bit 7 till 1 och Z läggs till i bit 0 i vektorn tmpreg. Signalen puls ser till att värdet i serial_input uppdateras med en frekvens på 2MHz. Under tiden kontrolleras även varje klockpuls om bit sju i vektorn tmpreg är Z och räknaren byte är mindre än 3. När bit sju är Z har alla åtta databitar skiftats in till ASIC: en och räknaren byte räknas upp ett steg. Programmet hoppar nu till state 00 för att ta emot en ny byte från UART: en. När räknaren byte = 11 har tre byte skiftats in till ASIC: en. Nästa gång bit sju i vektorn tmpreg är Z nollställs räknaren byte och signalen AD_conv_request sätts hög för att indikera till ASIC: en att nu bestämma vilket förstärkarsteg som ska arbeta samt fasskiftningen för dessa. Programmet hoppar sedan vidare till state 11. State 11 är tillståndet som lägger över den data till UART:en som ska skickas till datorn. Innan data kan läggas över till vektorn din kontrolleras signalen tbe som är en kontrollsignal från UART:en. När tbe är hög är bufferten tom och UART:en är redo att skicka data. Värdet läggs in i vektorn din för att indikera till datorn att alla fyra byten nu har skiftats in till ASIC: en. Signalen send sätts hög för att kunna skicka och signalen first sätts hög för att nu vänta på styrsignal från datorn. Programmet hoppar nu till tillståndet others och vektorn start sätts till 00. Nästa process är till för att generera klocksignalen clk16x som ska styra UART:en. Den överförings hastighet vi har på UART:en är 9600 baud. Den sista processen är till för att generera en klocksignal på 2 MHz. Denna signal, serial_clock, styr när information kan skiftas in och ut från ASIC: en. 12

14 Pcb Testbed for a semi-full-custom mixed signal ASIC För att testkortet ska vara så enkelt som möjligt att använda har vi valt att endast ansluta en spänningskälla och utifrån denna dela upp till de fem olika spänningsnäten till ASIC: en och CPLD: n. Alla fem spänningsregulatorerna är försedda med kopparkylning, se bild nedan, men för att inte överbelasta dessa bör matningsspänningen till kortet ligga på ungefär 6,5 7 volt. Bild 2: Undersida av testkort 13

15 Det finns även kortslutningsbyglar direkt efter spänningsregulatorerna för att kunna koppla bort valfritt spänningsnät vid olika tester. Kortslutningsbyglarna är de blåa komponenterna till vänster i bilden nedan. Bild 3: Ovansida av testkort 14

16 Kommunikationen med dator sköts via usbkontakten som är placerad till höger om kontakten för matningsspäning. Till vänster om ASIC: en finns sju testpunkter. Till en av dessa testpunkter, full charge som indikerar när batteriet är fulladdat, är även en lysdiod kopplad. Anslutning för batteriet finns längst ner till vänster på kortet. Ovanför testpunkterna finns även en jordpinne placerad för att underlätta vid mätningar med mätprob till oscilloskop. Ovanför ASIC: en finns ingången till AD1. I Ovankant av kortet är in och utgångarna till de fyra förstärkarstegen som finns i ASIC: en samlade. Vi valde att använda BNC-kontakter här eftersom det gör det enkelt att koppla in en spänning från en spänningskälla samt att det även underlättar vid mätning på utgångarna med oscilloskop. Till höger om ASIC: en är CPLD: n placerad och ovanför denna är resetknappen. Den fungerar som restknapp till både ASIC och CPLD. På högra sidan om CPLD: n är JTAG anslutningarna som används vid programmering av CPLD: n. 15

17 16

18 Programkod Testbed for a semi-full-custom mixed signal ASIC Test av AD-omvandarna Testad.vhdl library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity testad is Port ( clk : in STD_LOGIC; rst : in STD_LOGIC; power_on_reset : in Std_Logic; sw_input : in Std_Logic; sw_op : in Std_Logic; comp : in Std_Logic; trip : in Std_Logic; data_pending : in Std_Logic; rxd : in Std_Logic; Clk16_In : out Std_Logic; txd : out Std_Logic; reset_n : out Std_Logic; Serial_input : out Std_Logic; Serial_clock : out Std_Logic; AD_conv_request : out Std_Logic; AD1_serial_out : in Std_Logic; -- läggs i AD AD0_serial_out : in Std_Logic); -- läggs i AD end testad; architecture Behavioral of testad is component UART is Port ( rst : in Std_Logic; clk16x : in Std_Logic; send : in std_logic; rxd : in Std_Logic; Rd : in std_logic; din : in Std_Logic_Vector(7 downto 0); dout : out Std_Logic_Vector(7 downto 0); txd : out Std_Logic; tbe : out std_logic; da : out std_logic); end component; signal din :Std_Logic_Vector(7 downto 0); signal dout :Std_Logic_Vector(7 downto 0); signal clk16x signal clk16div :std_logic_vector(5 downto 0); signal send signal Bitcount :Std_Logic_Vector(3 downto 0); signal State :Std_Logic_Vector(2 downto 0):="000"; signal AD :Std_Logic_Vector(9 downto 0); signal tbe signal delay signal Rd signal da signal ready signal clk2div :std_logic_vector(2 downto 0); signal clk2 17

19 begin UARTdev : UART port map (rst,clk16x,send,rxd,rd,din,dout,txd,tbe,da); process(clk,rst) --skickar till dator begin if rst='0' then Bitcount <= "0000"; din <= " "; delay <= '0'; Rd <= '0'; elsif clk'event AND clk = '1' then case State is when "001" => if clk2 = '1' then state <= "011"; when "011" => -- Skickar från AD0 till dator if clk2 = '0' then if bitcount < "1001" then AD(9 downto 0)<= AD(8 downto 0) & AD0_serial_out; bitcount <= bitcount + 1; state <= "001"; elsif bitcount = "1001" then AD(9 downto 1)<= AD(8 downto 0); AD(0) <= AD0_serial_out; state <= "111"; when "010" => if clk2 = '1' then state <= "100"; when "100" => -- Skickar från AD1 till dator if clk2 = '0' then if bitcount < "1001" then AD(9 downto 0)<= AD(8 downto 0) & AD1_serial_out; bitcount <= bitcount + 1; state <= "010"; elsif bitcount = "1001" then AD(9 downto 1)<= AD(8 downto 0); AD(0) <= AD1_serial_out; state <= "111"; when "111" => --Send if tbe = '1' AND delay = '0' then din <= AD(7 downto 0); send <= '1'; delay <= '1'; elsif tbe = '0' then send <= '0'; state <= "101"; delay <= '0'; when "101" => if tbe = '1' AND delay = '0' then din(0) <= AD(8); din(1) <= AD(9); din(2) <= power_on_reset; din(3) <= sw_input; din(4) <= sw_op; din(5) <= comp; din(6) <= trip; din(7) <= data_pending; bitcount <= "0000"; send <= '1'; state <= "000"; delay <= '1'; 18

20 when others => if tbe = '0' then send <= '0'; delay <= '0'; if ready = '0' then Rd <= '0'; if ready = '1' AND da = '1' then State <= dout(2 downto 0); AD_conv_request <= dout(3); Serial_input <= dout(4); Rd <= '1'; ready <= '0'; elsif da = '0' then ready <= '1'; end case; end process; Testbed for a semi-full-custom mixed signal ASIC process(clk,rst) -- Genererar en klocka som är 16x9600 ( Hz) begin if rst='0' then clk16div<="000000"; clk16x<='1'; elsif clk'event AND clk = '1' then clk16div<=clk16div+1; if clk16div="110100" then clk16x<= NOT clk16x; clk16div<="000000"; end process; process(clk,rst) -- Genererar en klocka som är 2MHz begin if rst='0' then clk2div <= "000"; clk2 <= '1'; elsif clk'event AND clk = '1' then clk2div <= clk2div + 1; if clk2div = "100" then clk2 <= NOT clk2; elsif clk2div = "100" then clk2 <= NOT clk2; clk2div<="000"; end process; Clk16_In <= Clk; serial_clock <= clk2; reset_n <= rst; end Behavioral; 19

21 testad.ucf #PACE: Start of Constraints generated by PACE #PACE: Start of PACE I/O Pin Assignments NET "AD0_serial_out" LOC = "P10" ; NET "AD1_serial_out" LOC = "P9" ; NET "AD_conv_request" LOC = "P15" ; NET "clk" LOC = "P24" ; NET "Clk16_In" LOC = "P16" ; #NET "Clk16_Out" LOC = "P17" ; #NET "Clk200kHz" LOC = "P14" ; NET "comp" LOC = "P99" ; NET "data_pending" LOC = "P11" ; NET "power_on_reset" LOC = "P94" ; NET "reset_n" LOC = "P96" ; NET "rst" LOC = "P1" ; NET "rxd" LOC = "P38" ; NET "Serial_clock" LOC = "P12" ; NET "Serial_input" LOC = "P13" ; NET "sw_input" LOC = "P97" ; NET "sw_op" LOC = "P98" ; NET "trip" LOC = "P8" ; NET "txd" LOC = "P37" ; #PACE: Start of PACE Area Constraints #PACE: Start of PACE Prohibit Constraints #PACE: End of Constraints generated by PACE Testbed for a semi-full-custom mixed signal ASIC 20

22 test.do restart -force destroy.wave add wave /* force clk 0 0, repeat 25 run 10 force rst 0 run 40 force rst 1 run 5000 force rxd 1 force ad0_serial_out 1 force ad1_serial_out 1 force power_on_reset Z force sw_input Z force sw_op Z force comp Z force trip Z force data_pending Z run force rxd 0 run force rxd 1 run force rxd 0 run run run run run run run force rxd 1 run run

23 Simulering Bild 4: Simuleringsförlopp för testad 22

24 Test av Fasskiftaren Phaser.vhdl library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity phaser is Port ( clk : in STD_LOGIC; rst : in STD_LOGIC; rxd : in Std_Logic; Clk16_In : out Std_Logic; txd : out Std_Logic; reset_n : out Std_Logic; Serial_input : out Std_Logic; Serial_clock : out Std_Logic; AD_conv_request : out Std_Logic); end phaser; architecture Behavioral of phaser is component UART is port ( rst : in Std_Logic; clk16x : in Std_Logic; send : in std_logic; rxd : in Std_Logic; Rd : in std_logic; din : in Std_Logic_Vector(7 downto 0); dout : out Std_Logic_Vector(7 downto 0); txd : out Std_Logic; tbe : out std_logic; da : out std_logic); end component; signal din :Std_Logic_Vector(7 downto 0); signal dout :Std_Logic_Vector(7 downto 0); signal clk16x signal clk40div :std_logic_vector(7 downto 0); signal send signal tbe signal Rd signal da signal ready signal State :Std_Logic_Vector(1 downto 0):="00"; signal clk2div :std_logic_vector(4 downto 0); signal clk2 signal puls signal byte :std_logic_vector(1 downto 0); signal tmpreg :std_logic_vector(7 downto 0); signal start :std_logic_vector(1 downto 0); signal first signal clk16 23

25 begin UARTdev : UART port map (rst,clk16x,send,rxd,rd,din,dout,txd,tbe,da); process(clk,rst) begin if rst='0' then din <= " "; Rd <= '0'; byte <= "00"; first <= '1'; clk16 <= '0'; elsif clk'event AND clk = '1' then clk16 <= NOT clk16; case State is when "01" => tmpreg <= dout; state <= "10"; when "10" => if puls = '1' then serial_input <= tmpreg(7); tmpreg(7 downto 0) <= tmpreg(6 downto 0) & 'Z'; if tmpreg(7) = 'Z' AND byte < "11" then serial_input <= 'Z'; byte <= byte + 1; state <= "00"; elsif tmpreg(7) = 'Z' AND byte = "11" then byte <= "00"; serial_input <= 'Z'; AD_conv_request <= '1'; state <= "11"; when "11" => if tbe = '1' then din <= " "; send <= '1'; start <= "00"; first <= '1'; state <= "00"; when others => if clk16x = '1' then AD_conv_request <= '0'; if tbe = '0' then send <= '0'; if ready = '0' then Rd <= '0'; if ready = '1' AND da = '1' AND first = '1' then Start <= dout(1 downto 0); Rd <= '1'; ready <= '0'; first <= '0'; elsif ready = '1' AND da = '1' AND first = '0' then if start = "01" then ready <= '0'; Rd <= '1'; state <= "01"; else first <= '1'; ready <= '1'; Rd <= '1'; elsif da = '0' then ready <= '1'; end case; end process; 24

26 process(clk,rst) -- Genererar en klocka som är 16x9600 ( Hz) begin if rst='0' then clk40div<=" "; clk16x<='1'; elsif clk'event AND clk = '1' then clk40div<=clk40div+1; if clk40div=" " then clk16x<= NOT clk16x; clk40div<=" "; end process; process(clk,rst) -- Genererar en klocka som är 2MHz begin if rst='0' then clk2div <= "00000"; clk2 <= '1'; elsif clk'event AND clk = '1' then clk2div <= clk2div + 1; puls <= '0'; if clk2div = "01010" then clk2 <= NOT clk2; elsif clk2div = "10100" then clk2 <= NOT clk2; puls <= '1'; clk2div<="00000"; end process; reset_n <= rst; serial_clock <= clk2; clk16_in <= clk16; end Behavioral; 25

27 Phaser.ucf #PACE: Start of Constraints generated by PACE #PACE: Start of PACE I/O Pin Assignments #NET "AD0_serial_out" LOC = "P10" ; #NET "AD1_serial_out" LOC = "P9" ; NET "AD_conv_request" LOC = "P15" ; NET "clk" LOC = "P24" ; NET "Clk16_In" LOC = "P16" ; #NET "Clk16_Out" LOC = "P17" ; #NET "Clk200kHz" LOC = "P14" ; #NET "comp" LOC = "P99" ; #NET "data_pending" LOC = "P11" ; #NET "power_on_reset" LOC = "P94" ; NET "reset_n" LOC = "P96" ; NET "rst" LOC = "P1" ; NET "rxd" LOC = "P38" ; NET "Serial_clock" LOC = "P12" ; NET "Serial_input" LOC = "P13" ; #NET "sw_input" LOC = "P97" ; #NET "sw_op" LOC = "P98" ; #NET "tmp0" LOC = "P54" ; #NET "tmp1" LOC = "P55" ; #NET "tmp2" LOC = "P56" ; #NET "tmp3" LOC = "P57" ; #NET "tmp4" LOC = "P58" ; #NET "trip" LOC = "P8" ; NET "txd" LOC = "P37" ; #PACE: Start of PACE Area Constraints #PACE: Start of PACE Prohibit Constraints #PACE: End of Constraints generated by PACE Testbed for a semi-full-custom mixed signal ASIC 26

28 test.do restart -force destroy.wave add wave /* force clk 0 0, repeat 25 run 10 force rst 0 run 40 force rst 1 run 5000 force rxd 1 run force rxd 0 run force rxd 1 run force rxd 0 run run run run run run run force rxd 1 run run

29 Simulering Bild 5: Simuleringsförlopp för fasskiftningen 28

30 UART:en uart.vhdl library ieee; use ieee.std_logic_1164.all ; use ieee.std_logic_arith.all ; use ieee.std_logic_unsigned.all ; entity uart is PORT (rst,clk16x,send,rxd,rd : in std_logic; din : in std_logic_vector(7 downto 0); dout : out std_logic_vector(7 downto 0); txd,tbe,da : out std_logic); end uart; architecture v1 of uart is component txmit port (reset_n,clk16x,send : in std_logic; din : in std_logic_vector(7 downto 0); txd,tbe: out std_logic); end component ; component rcvr port (reset_n,clk16x,rxd,rd: in std_logic; da : out std_logic; dout : out std_logic_vector(7 downto 0)); end component ; begin u1 : txmit PORT MAP (reset_n => rst, clk16x => clk16x, send => send, din => din, txd => txd, tbe => tbe); u2 : rcvr PORT MAP (reset_n => rst, clk16x => clk16x, rxd => rxd, da => da, Rd => Rd, dout => dout); end v1 ; 29

31 rcvr.vhdl library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity rcvr is Port ( clk16x : in std_logic; reset_n : in std_logic; rxd : in std_logic; da : out std_logic; Rd : in std_logic; dout : out std_logic_vector(7 downto 0)); end; architecture rtl of rcvr is signal count : std_logic_vector(3 downto 0); signal bitcount : std_logic_vector(3 downto 0); signal state : std_logic; signal tmpdout : std_logic_vector(7 downto 0); begin process(clk16x,reset_n) begin if reset_n = '0' then count <= "0000"; bitcount <= "0000"; state <= '0'; da <= '0'; elsif clk16x'event AND clk16x = '1' then if state = '0' AND Rd = '0' then da <= '0'; if state = '0' AND rxd = '0' AND Rd = '0' then count <= count + 1; if count = "0111" then bitcount <= bitcount + 1 ; state <= '1'; count <= "0000"; elsif state = '1' then if count = "1111" AND bitcount < "1001" then tmpdout(6 downto 0) <= tmpdout(7 downto 1); tmpdout(7) <= rxd; bitcount <= bitcount + 1; elsif count = "1111" AND bitcount = "1001" then tmpdout(6 downto 0) <= tmpdout(7 downto 1); tmpdout(7) <= rxd; if Rd = '0' then dout <= tmpdout; da <= '1'; tmpdout <= "ZZZZZZZZ"; state <= '0'; bitcount <= "0000"; if count = "1111" then count <= "0000"; else count <= count +1; else count <= "0000"; end process; end rtl; Testbed for a semi-full-custom mixed signal ASIC 30

32 txmit.vhdl library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity txmit is Port ( clk16x : in std_logic; reset_n : in std_logic; send : in std_logic; --kan kanske lösa i blocket txd : out std_logic; tbe : out std_logic; din : in std_logic_vector(7 downto 0)); end; architecture rtl of txmit is signal clkcount : std_logic_vector(3 downto 0); signal bitcount : std_logic_vector(3 downto 0); signal tmpdin : std_logic_vector(7 downto 0); signal clk1x : std_logic; begin process (reset_n,clk16x) begin if reset_n = '0' then clkcount <= "0000" ; elsif clk16x'event and clk16x = '1' then clkcount <= clkcount + "0001" ; end if ; end process ; clk1x <= clkcount(3) ; process (reset_n,clk1x) begin if reset_n = '0' then txd <= '1'; tmpdin <= "ZZZZZZZZ"; bitcount <= "0000"; tbe <= '1'; elsif clk1x'event and clk1x = '1' then if send = '1' AND bitcount = "0000" then txd <= '0'; tbe <= '0'; tmpdin <= din; bitcount <= "0001"; elsif bitcount >= "0001" AND bitcount <= "1000" then txd <= tmpdin(0); tmpdin(6 downto 0) <= tmpdin(7 downto 1); bitcount <= bitcount + 1; elsif bitcount = "1001" then tbe <= '1'; txd <= '1'; bitcount <= "0000"; end process; end rtl; 31

33 Referenser Fallberg, P; 2005; Implementation studies of a semi-full-custom mixed signal ASIC from a SoC perspective. 32

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: 1.0 2013 (OS)

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: 1.0 2013 (OS) LABORATION DATORKONSTRUKTION TSEA83 UART Version: 1.0 2013 (OS) Namn och personnummer Godkänd 1 blank sida 2 Innehåll 1 Inledning 5 1.1 Syfte................................. 5 1.2 Förberedelser............................

Läs mer

DESIGN AV SEKVENTIELL LOGIK

DESIGN AV SEKVENTIELL LOGIK DESIGN AV SEKVENTIELL LOGIK Innehåll Timing i synkrona nätverk Synkrona processer i VHDL VHDL-kod som introducerar vippor (flip-flops) och latchar Initiering av register Mealy- och Moore-maskiner i VHDL

Läs mer

LABORATIONSINSTRUKTION LABORATION

LABORATIONSINSTRUKTION LABORATION Högskolan Dalarna Elektroteknik LABORATION LABORATIONSINSTRUKTION Sekvensnät med VHDL KURS Digitalteknik LAB NR Ver9 5 INNEHÅLL. Kaskadkopplad räknare 2. Elektronisk tärning NAMN KOMMENTARER PROGRAM/KURS

Läs mer

Vad är en UART? Universal Asynchronous Receiver Transmitter parallella seriella parallell åttabitars signal mest signifikant bit

Vad är en UART? Universal Asynchronous Receiver Transmitter parallella seriella parallell åttabitars signal mest signifikant bit Vad är en UART? Beteckningen UART är en förkortning för det engelska uttrycket Universal Asynchronous Receiver Transmitter, vilket översatt till svenska blir ungefär Universell Asynkron Mottagare/Sändare.

Läs mer

VHDL2. Sekvensnätsexemplet

VHDL2. Sekvensnätsexemplet VHDL2 Moder portsatsen Datatyper Ett exempel, stegmotorstyrning Labben Hierarkisk konstruktion, instantiering Kombinatorisk process Record, loop Sekvensnätsexemplet 1(0) 1(0) 1(1) 00 0(0) 01 11 10 1(1)

Läs mer

Hjälpmedel: Appendix A. VHDL-syntax. (bifogas detta prov) Appendix B.2. IEEE-package (bifogas detta prov)

Hjälpmedel: Appendix A. VHDL-syntax. (bifogas detta prov) Appendix B.2. IEEE-package (bifogas detta prov) 7HQWDPHQL.XQGDQSDVVDGHNUHWVDUI U(P Datum: 991012 Tid: 8.00-13.00 Lokal: E138 Hjälpmedel: Appendix A. VHDL-syntax. (bifogas detta prov) Appendix B.2. IEEE-package (bifogas detta prov) Vid eventuella frågor

Läs mer

VHDL2. Sekvensnätsexemplet

VHDL2. Sekvensnätsexemplet VHDL2 Moder portsatsen Datatyper Ett exempel, stegmotorstyrning Labben Hierarkisk konstruktion, instantiering Kombinatorisk process Record, loop Sekvensnätsexemplet 1(0) 1(0) 1(1) 00 0(0) 01 11 10 1(1)

Läs mer

Digital elektronik CL0090

Digital elektronik CL0090 Digital elektronik CL9 Föreläsning 5 27-2-2 8.5 2. Naxos Demonstration av uartus programvara. Genomgång av uartus flödesschema. Detta dokument finns på kurshemsidan. http://www.idt.mdh.se/kurser/cl9/ VHDL-kod

Läs mer

Digitalteknik, fortsättningskurs Föreläsning VHDL Very High Speed Integrated Circuit Hardware Description Language

Digitalteknik, fortsättningskurs Föreläsning VHDL Very High Speed Integrated Circuit Hardware Description Language 1 Digitalteknik, fortsättningskurs Föreläsning 2-2012 VHDL Very High Speed Integrated Circuit Hardware Description Language VHDL = VHSIC Hardware Description Language VHSIC = Very High Speed Integrated

Läs mer

Konstruktionsmetodik för sekvenskretsar

Konstruktionsmetodik för sekvenskretsar Konstruktionsmetodik för sekvenskretsar Digitalteknik Föreläsning 7 Mattias Krysander Institutionen för systemteknik Dagens föreläsning Inför laboration 2 Synkronisering av insignaler Asynkrona ingångar

Läs mer

VHDL och laborationer i digitalteknik

VHDL och laborationer i digitalteknik V:1.1 VHDL och laborationer i digitalteknik Vid laborationskursen i digitalteknik används VHDL till alla laborationerna utom den första. VHDL är ett stort språk och enbart en liten del av språket behövs

Läs mer

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM Innehåll Designflöde Översikt av integrerade kretsar Motivation Hardware Description Language CAD-verktyg 1 DESIGNFLÖDE FÖR DIGITALA

Läs mer

Design av mindre digitala system. Föreläsning Digitalteknik, TSEA52 Mattias Krysander Institutionen för systemteknik

Design av mindre digitala system. Föreläsning Digitalteknik, TSEA52 Mattias Krysander Institutionen för systemteknik Design av mindre digitala system Föreläsning Digitalteknik, TSEA52 Mattias Krysander Institutionen för systemteknik 2 Dagens föreläsning Kursinformation för HT2. Digitaltekniska byggblock Introduktion

Läs mer

Simulering med ModelSim En kort introduktion

Simulering med ModelSim En kort introduktion Linköpings universitet Institutionen för systemteknik Laborationer i digitalteknik Datorteknik 2018 Simulering med ModelSim En kort introduktion TSEA22 Digitalteknik D TSEA51 Digitalteknik Y TSEA52 Digitalteknik

Läs mer

D2 och E3. EDA321 Digitalteknik-syntes. Fredag den 13 januari 2012, fm i M-salarna

D2 och E3. EDA321 Digitalteknik-syntes. Fredag den 13 januari 2012, fm i M-salarna EDA321 Digitalteknik-syntes D2 och E3 GU DIT795 Tentamen (EDA321-0205) Fredag den 13 januari 2012, fm i M-salarna Examinator Arne Linde, tel. 772 1683 Tillåtna hjälpmedel Inga hjälpmedel tillåtna. Detta

Läs mer

KALKYLATOR LABORATION4. Laborationens syfte

KALKYLATOR LABORATION4. Laborationens syfte LABORATION4 KALKYLATOR Laborationens syfte I denna laboration ska en enkel kalkylator konstrueras med hjälp av VHDL och utvecklingsverktyget Vivado från Xilinx. Hårdvaran realiseras på det redan bekanta

Läs mer

Digital- och datorteknik, , Per Larsson-Edefors Sida 1

Digital- och datorteknik, , Per Larsson-Edefors Sida 1 Digitala it elektroniksystem t Professor Per Larsson-Edefors perla@chalmers.se Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 1 Introduktion Konstruktionsalternativ Kretskort med diskreta standardkomponenter.

Läs mer

Angående buffer. clk clear >=1 =9?

Angående buffer. clk clear >=1 =9? 10.VHDL3 Repetition buffer, record, loop kombinaoriska processer Varning latchar, hasard CPU-embryo VHDL-kod för mikromaskin med hämtfas Minnen i FGPA Distributed RAM (LUT) Block-RAM 1 Angående buffer

Läs mer

std_logic & std_logic_vector

std_logic & std_logic_vector VHDL VHDL - Very high speed integrated circuit Hardware Description Language VHDL är ett komplext språk, avsett för att beskriva digitala system på olika abstraktionsnivåer (beteende- och strukturmässigt).

Läs mer

-c wc. Pre- Next state Out- Vi ser att tillstånden är redan sorterade i grupper med olika utsignaler,

-c wc. Pre- Next state Out- Vi ser att tillstånden är redan sorterade i grupper med olika utsignaler, 9.17 Vi översätter beskrivningen till ett flödesdiagram, Figur E9.17a -c -c z=1 E A z=1 E A z=0 z=0 z=0 D z=0 D Figur E9.17a Flödesdiagram B z=0 B z=0 C z=0 C z=0 som vi i sin tur översätter till en flödestabell,

Läs mer

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I. Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.. Uttryckt i decimal form: A=28+32+8 + 2 =70 B=59 C=7 A+B+C=246 2. Jag låter A' betyda "icke A" A'B'C'D'+ABC'D'+A'BCD'+AB'CD'=D'(A'(B'C'+BC)+A(BC'+B'C))=

Läs mer

Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik

Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik Konstruktionsmetodik för sekvenskretsar Föreläsning 7 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik 2 Dagens föreläsning Initiering av starttillstånd Programmerbar logik Syntesflödet

Läs mer

Programmerbara kretsar och VHDL 2. Föreläsning 10 Digitalteknik, TSEA22 Oscar Gustafsson Institutionen för systemteknik

Programmerbara kretsar och VHDL 2. Föreläsning 10 Digitalteknik, TSEA22 Oscar Gustafsson Institutionen för systemteknik Programmerbara kretsar och VHDL 2 Föreläsning 10 Digitalteknik, TSEA22 Oscar Gustafsson Institutionen för systemteknik 2 Dagens föreläsning Programmerbara kretsar igen Mer om processer Egna typer Använda

Läs mer

Sensorsystem till hinderhanterande robot

Sensorsystem till hinderhanterande robot Institutionen för informationsteknologi Sensorsystem till hinderhanterande robot Sensor System for Obstacle Handling Robot Examensarbete vid Elektro- och datoringenjörsprogrammet ht 2005 Sensorsystem till

Läs mer

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV Introduktionen beskriver grunderna för att använda programvaran Xilinx ISE WebPack 6.2.03 tillsammans med en CPLD (Complex Programmable Logic

Läs mer

Konstruktion av digitala system - VHDL

Konstruktion av digitala system - VHDL Konstruktion av digitala system - VHDL Digitalteknik - Föreläsning 10 Mattias Krysander Institutionen för systemteknik Dagens föreläsning Programmerbara kretsar Kombinationskretsar i VHDL with-select-when,

Läs mer

LiTH Lab1: Asynkron seriell dataöverföring via optisk länk Laboration 1. Asynkron seriell dataöverföring via optisk länk

LiTH Lab1: Asynkron seriell dataöverföring via optisk länk Laboration 1. Asynkron seriell dataöverföring via optisk länk Lab: 2007-09-06 Laboration Asynkron seriell dataöverföring via optisk länk Kravspecifikation Lennart Bengtsson Version.4 Granskad Godkänd Status Lennart Bengtsson Sida PROJEKTIDENTITET Laborationsgrupp,

Läs mer

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik Programmerbara kretsar och VHDL Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik Kursinformation VHDL-delen Lektion 7 : Datorlektion i VHDL+Xilinx [pdf] Lab 3 : Programmerbara

Läs mer

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik Programmerbara kretsar och VHDL Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik Kursinformation Lektion 7 : Datorlektion i Modelsim+VHDL Lab 3 : Programmerbara kretsar och

Läs mer

Programmerbara kretsar och VHDL. Föreläsning 10 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik

Programmerbara kretsar och VHDL. Föreläsning 10 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik Programmerbara kretsar och VHDL Föreläsning 10 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik 3 Dagens föreläsning Programmerbara kretsar Kombinationskretsar i VHDL with-select-when,

Läs mer

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i IE1204/5 Digital Design onsdagen den 5/ Tentamen i IE1204/5 Digital Design onsdagen den 5/6 2013 9.00-13.00 Tentamensfrågor med lösningsförslag Allmän information Examinator: Ingo Sander. Ansvarig lärare: William Sandqvist, tel 08-790 4487 (Kista

Läs mer

LABORATIONSINSTRUKTION LABORATION. Räknare och skiftregister med sekvensiell VHDL. LAB NR Ver KURS. Digitalteknik INNEHÅLL. 1.

LABORATIONSINSTRUKTION LABORATION. Räknare och skiftregister med sekvensiell VHDL. LAB NR Ver KURS. Digitalteknik INNEHÅLL. 1. Högskolan Dalarna Elektroteknik LABORATION LABORATIONSINSTRUKTION Räknare och skiftregister med sekvensiell VHDL KURS Digitalteknik LAB NR Ver09 INNEHÅLL. Strukturell VHDL. Sekvensiell VHDL 3. Strukturell

Läs mer

VHDL testbänk. Mall-programmets funktion. Låset öppnas när tangenten 1 trycks ned och sedan släpps. William Sandqvist

VHDL testbänk. Mall-programmets funktion. Låset öppnas när tangenten 1 trycks ned och sedan släpps. William Sandqvist VHDL testbänk Mall-programmets funktion Låset öppnas när tangenten 1 trycks ned och sedan släpps. Keypad och Statecounter Bra val av datatyper gör koden självförklarande! K: in std_logic_vector(1 to 3);

Läs mer

Laboration 1: Styrning av lysdioder med en spänning

Laboration 1: Styrning av lysdioder med en spänning TSTE20 Elektronik Laboration 1: Styrning av lysdioder med en spänning v0.3 Kent Palmkvist, ISY, LiU Laboranter Namn Personnummer Godkänd Översikt I denna labroation ska en enkel Analog till Digital (A/D)

Läs mer

Sekvensnät. William Sandqvist

Sekvensnät. William Sandqvist Sekvensnät Om en och samma insignal kan ge upphov till olika utsignal, är logiknätet ett sekvensnät. Det måste då ha ett inre minne som gör att utsignalen påverkas av både nuvarande och föregående insignaler!

Läs mer

Datakommunikation med IR-ljus.

Datakommunikation med IR-ljus. Datakommunikation med -ljus. I den här uppgiften skall du kommunicera med hjälp av infrarött () ljus. Du skall kunna sända tecken från tangentbordet samt ta emot tecken och visa dem på skärmen. Genom att

Läs mer

Digitala projekt Elektro- och informationsteknik

Digitala projekt Elektro- och informationsteknik Digitala projekt Elektro- och informationsteknik Digitala projekt (I) VT1 huvudsakligen teori och VT2 konstruktionsarbete i projektlabb 10 hp motsvarar ca 7 veckor heltid! Godkännande; U, G Gruppstorlek;

Läs mer

Chalmers ekniska Högskola Institutionen för Data- och Informationsteknik. EDA 321 Digitalteknik syntes Laboration 2 - VHDL

Chalmers ekniska Högskola Institutionen för Data- och Informationsteknik. EDA 321 Digitalteknik syntes Laboration 2 - VHDL Chalmers ekniska Högskola Institutionen för Data- och Informationsteknik EDA 321 Digitalteknik syntes 2011-2012 Laboration 2 - VHDL 1. Enkelt sekvensnät 2. Trafikräknare i VHDL 3. Syntes av VHDL-kod Namn

Läs mer

VHDL 1. Programmerbara kretsar

VHDL 1. Programmerbara kretsar VHDL 1 Programmerbara kretsar CPLD FPGA VHDL Kombinatorik with-select-when when-else Sekvensnät process case if-then-else Programmerbara kretsar PLD = programmable logic device CPLD = complex PLD, i princip

Läs mer

Digital elektronik CL0090

Digital elektronik CL0090 Digital elektronik CL9 Föreläsning 3 27--29 8.5 2. My Talsystem Binära tal har basen 2 Exempel Det decimala talet 9 motsvarar 2 Den första ettan är MSB, Most Significant Bit, den andra ettan är LSB Least

Läs mer

Laboration D159. Sekvensnät beskrivna med VHDL och realiserade med PLD. Namn: Datum: Epostadr: Kurs:

Laboration D159. Sekvensnät beskrivna med VHDL och realiserade med PLD. Namn: Datum: Epostadr: Kurs: UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Lars Wållberg/Håkan Joëlson 2001-03-01 v 1.5 ELEKTRONIK Digitalteknik Laboration D159 Sekvensnät beskrivna med VHDL och realiserade med PLD

Läs mer

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i IE1204/5 Digital Design onsdagen den 5/ Tentamen i IE1204/5 Digital Design onsdagen den 5/6 2013 9.00-13.00 Allmän information Exaator: Ingo Sander. Ansvarig lärare: William Sandqvist, tel 08-790 4487 (Kista IE1204) Tentamensuppgifterna behöver

Läs mer

Projektlaboration 4, synkronisering av klockan

Projektlaboration 4, synkronisering av klockan Namn: Laborationen godkänd: Digitala system 15 p L T H I n g e n j ö r s h ö g s k o l a n v i d C a m p u s H e l s i n g b o r g Datorprojekt, del 4 Projektlaboration 4, synkronisering av klockan Asynkron

Läs mer

Programmerbar logik och VHDL. Föreläsning 4

Programmerbar logik och VHDL. Föreläsning 4 Programmerbar logik och VHDL Föreläsning 4 Förra gången Strukturell VHDL Simulering med ISim Strukturell VHDL Simulering test_bench specificerar stimuli Simulatorn övervakar alla signaler, virtuell logik-analysator

Läs mer

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse GRUNDER I VHDL Innehåll Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse KOMPONENTMODELL Modell för att beskriva komponenter Externt interface Intern funktion

Läs mer

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012 Med kommentarer för kursen ht 2012 2012 CR:1 CoolRunner-II CPLD Starter Kit är ett litet utvecklingssystem för Xilinx-kretsen XC2C256. Utvecklingskortet kommer från företaget Digilent. Vid laborationerna

Läs mer

Avkoppla rätt en kvantitativ undersökning av parasitinduktans hos olika layoutalternativ

Avkoppla rätt en kvantitativ undersökning av parasitinduktans hos olika layoutalternativ Avkoppla rätt en kvantitativ undersökning av parasitinduktans hos olika layoutalternativ Per Magnusson, Signal Processing Devices Sweden AB, per.magnusson@spdevices.com Gunnar Karlström, BK Services, gunnar@bkd.se

Läs mer

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp Institutionen för elektro- och informationsteknik Campus Helsingborg, LTH 2018-01-09 8.00-13.00 (förlängd 14.00) Uppgifterna i tentamen

Läs mer

Digitalteknik: CoolRunner-II CPLD Starter Kit

Digitalteknik: CoolRunner-II CPLD Starter Kit CR:1 CoolRunner-II CPLD Starter Kit är ett litet utvecklingssystem för Xilinx-kretsen XC2C256. Utvecklingskortet kommer från företaget Digilent. Vid laborationerna i digitalteknik kommer kortet att användas

Läs mer

Du har följande material: 1 Kopplingsdäck 2 LM339 4 komparatorer i vardera kapsel. ( ELFA art.nr datablad finns )

Du har följande material: 1 Kopplingsdäck 2 LM339 4 komparatorer i vardera kapsel. ( ELFA art.nr datablad finns ) Projektuppgift Digital elektronik CEL08 Syfte: Det här lilla projektet har som syfte att visa hur man kan konverterar en analog signal till en digital. Här visas endast en metod, flash-omvandlare. Uppgift:

Läs mer

Strukturell VHDL. Grundläggande kunskaper om. och TESTBÄDD. UMEÅ UNIVERSITET Tillämpad fysik och elektronik Lars Wållberg ver 1.

Strukturell VHDL. Grundläggande kunskaper om. och TESTBÄDD. UMEÅ UNIVERSITET Tillämpad fysik och elektronik Lars Wållberg ver 1. UMEÅ UNIVERSITET Tillämpad fysik och elektronik Lars Wållberg 2005-01-01 ver 1.0 Grundläggande kunskaper om Strukturell VHDL och TESTBÄDD Innehållsförteckning. sid Strukturbeskrivning 2 Digitalkonstruktionen

Läs mer

Tentamen i IE1204/5 Digital Design måndagen den 15/

Tentamen i IE1204/5 Digital Design måndagen den 15/ Tentamen i IE1204/5 Digital Design måndagen den 15/10 2012 9.00-13.00 Allmän information Examinator: Ingo Sander. Ansvarig lärare: William Sandqvist, tel 08-790 4487 (Kista IE1204), Tentamensuppgifterna

Läs mer

Digitala elektroniksystem

Digitala elektroniksystem Digitala elektroniksystem Professor Per Larsson-Edefors perla@chalmers.se Digital- och datorteknik, 081126, Per Larsson-Edefors Sida 1 Konstruktionsalternativ Kretskort med diskreta standardkomponenter

Läs mer

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Lars Wållberg/Dan Weinehall/ Håkan Joëlson 2010-05-06 v 1.7 ELEKTRONIK Digitalteknik Laboration D184 Sekvensnät beskrivna med VHDL och realiserade

Läs mer

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Håkan Joëlson, John Berge 203 DIGITALTEKNIK I Laboration DE2 Sekvensnät och sekvenskretsar Namn... Personnummer... Epost-adress... Datum för

Läs mer

PARALLELL OCH SEKVENTIELL DATABEHANDLING. Innehåll

PARALLELL OCH SEKVENTIELL DATABEHANDLING. Innehåll PARALLELL OCH SEKVENTIELL DATABEHANDLING Innehåll Parallellism i VHDL Delta delays och Simuleringstid VHDLs simuleringscykel Aktivering av Processer Parallella och sekventiella uttryck 1 Controller PARALLELLISM

Läs mer

LABORATION TSEA22 DIGITALTEKNIK D TSEA51 DIGITALTEKNIK Y. Konstruktion av sekvenskretsar med CPLD. Version: 2.2

LABORATION TSEA22 DIGITALTEKNIK D TSEA51 DIGITALTEKNIK Y. Konstruktion av sekvenskretsar med CPLD. Version: 2.2 2016 LABORATION TSEA22 DIGITALTEKNIK D TSEA51 DIGITALTEKNIK Y Konstruktion av sekvenskretsar med CPLD Version: 2.2 2014 (OVA, MK) 2015 (OVA, MK) 2016 (OVA, MK) Olov Andersson 1(11) 1. Inledning Syftet

Läs mer

LAB VHDL-programmering

LAB VHDL-programmering LAB VHDL-programmering Med ett breakoutboard kan man använda kopplingsdäck till komponenter som egentligen är avsedda för ytmontering på kretskort. Man kan enkelt prova olika kopplingar. På så sätt använder

Läs mer

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare Sekvensiella System a(t) f(a(t)) Ett sekvensiellt system har ett inbyggt minne - utsignalen beror därför BÅDE av insignalens NUVARANDE

Läs mer

PROJEKT STAFFAN STALLEDRÄNG

PROJEKT STAFFAN STALLEDRÄNG PROJEKT STAFFAN STALLEDRÄNG PROJEKT STAFFAN STALLEDRÄNG s 1 I det här projektet ska du koppla en krets som innehåller en högtalare och en lysdiod, samt skriva ett program som får högtalaren att spela en

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2008-08-29 Skrivtid 9.00-13.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Johan Eriksson Tel 070 589 7911 Tillåtna

Läs mer

Elektro och Informationsteknik LTH. Laboration 6 A/D- och D/A-omvandling. Elektronik för D ETIA01

Elektro och Informationsteknik LTH. Laboration 6 A/D- och D/A-omvandling. Elektronik för D ETIA01 Elektro och Informationsteknik LTH Laboration 6 A/D- och D/A-omvandling Elektronik för D ETIA01 Peter Hammarberg Anders J Johansson Lund April 2008 Mål Efter laborationen skall du ha studerat följande:

Läs mer

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp Institutionen för elektro- och informationsteknik Campus Helsingborg, LTH 2016-12-22 8.00-13.00 Uppgifterna i tentamen ger totalt 60

Läs mer

Sekvensnät i VHDL del 2

Sekvensnät i VHDL del 2 Laboration 6 i digitala system ht-16 Sekvensnät i VHDL del 2 Realisering av Mealy och Moore i VHDL............................. Namn............................. Godkänd (datum/sign.) 2 Laborationens syfte

Läs mer

Programmerbara kretsar och VHDL 1. Föreläsning 9 Digitalteknik, TSEA22 Oscar Gustafsson, Mattias Krysander Institutionen för systemteknik

Programmerbara kretsar och VHDL 1. Föreläsning 9 Digitalteknik, TSEA22 Oscar Gustafsson, Mattias Krysander Institutionen för systemteknik Programmerbara kretsar och VHDL 1 Föreläsning 9 Digitalteknik, TSEA22 Oscar Gustafsson, Mattias Krysander Institutionen för systemteknik 3 Dagens föreläsning Programmerbara kretsar Kombinationskretsar

Läs mer

PROJEKT LJUD. KOPIERINGSUNDERLAG Martin Blom Skavnes, Staffan Melin och Natur & Kultur Programmera i teknik ISBN

PROJEKT LJUD. KOPIERINGSUNDERLAG Martin Blom Skavnes, Staffan Melin och Natur & Kultur Programmera i teknik ISBN PROJEKT LJUD PROJEKT LJUD s 1 I det här projektet ska du koppla en krets som innehåller en högtalare och skriva ett program som får högtalaren att spela toner och melodier. Materiel Arduino dator kopplingsdäck

Läs mer

Digitala projekt - Radiostyrd bil

Digitala projekt - Radiostyrd bil Digitala projekt - Radiostyrd bil Handledare: Bertil Lindvall Johan Lennartsson e02jle David Thomasson e02dt Magnus Lisborg e02mls Innehållsförteckning 1. Inledning.3 2. Målsättning med projektet.......3

Läs mer

VHDL3. Angående buffer

VHDL3. Angående buffer VHDL3 Repetition buffer, record, loop kombinaoriska processer Varning latchar, hasard uprogcpu VHDL-kod för mikromaskin med hämtfas Minnen i FGPA Distributed RAM (LUT) Block-RAM 3-portars registerfil pipecpu

Läs mer

Generering av analoga signaler från XSV300

Generering av analoga signaler från XSV300 Generering av analoga signaler från XSV300 Examensarbete utfört i elektroniksystem av David Kronqvist och Fredrick Carlsson LiTH-ISY-EX-ET-0224-2003 Linköping 2003 Generering av analoga signaler från XSV300

Läs mer

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning... UMEÅ UNIVERSITET Tillämpad fysik och elektronik 2014 John Berge et al. DIGITAL ELEKTRONIK Laboration DE3 VHDL 1 Namn... Personnummer... Epost-adress... Datum för inlämning... Introduktion Syftet med denna

Läs mer

Lödinstruktion, RiboCop(tm) v1.0

Lödinstruktion, RiboCop(tm) v1.0 Om detta dokument Detta är lödinstruktion som steg för steg går igenom hur du bygger ihop en RiboCop64 med hjälp av lödkittet. OBS: Lödkittet är inget för nybörjare, då detta bygge är väldigt komplicerat

Läs mer

L15 Introduktion modern digital design

L15 Introduktion modern digital design L15 Introduktion modern digital design Upplägg LP2 F15 Introduktion till modern digital design F16 Kombinatoriska nät i VHDL F17 Sekvensnät i VHDL F18 Gästföreläsning (Advenica, fortsättningskurser) F19

Läs mer

Systemkonstruktion LABORATION LOGIK

Systemkonstruktion LABORATION LOGIK Systemkonstruktion LABORATION LOGIK Laborationsansvarig: Anders Arvidsson Utskriftsdatum: 2005-04-26 Syfte Denna laboration syftar till att visa några av logikkretsarnas analoga egenskaper. Genom att experimentera

Läs mer

Ingång Utgång - anslutningstyp Specifikationer Mätområde (1) AC (växelström) DC (likström) Spänning. ström 10 V AC 0.1 V AC

Ingång Utgång - anslutningstyp Specifikationer Mätområde (1) AC (växelström) DC (likström) Spänning. ström 10 V AC 0.1 V AC ATT VÄLJA RÄTT STRÖMTÅNG Genom att svara på dessa frågor kan du enkelt välja en tång för din applikation: 1- Är det en mätning av AC eller DC (DC tänger skrivs som AC/DC tänger eftersom de mäter båda marna).

Läs mer

Dataöverföring på Parallell- och serieform MOP 11/12 1

Dataöverföring på Parallell- och serieform MOP 11/12 1 Dataöverföring på Parallell- och serieform MOP 11/12 1 Parallell dataöverföring I digitala system finns ofta behovet att flytta ett eller flera dataord från ett ställe (sändare) till ett annat ställe (mottagare).

Läs mer

Snake. Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola,

Snake. Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola, Snake Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola, 2015-05-18 Oskar Petersen, I-12 Handledare: Bertil Lindvall Abstract Denna rapport beskriver ett projekt där ett klassiskt

Läs mer

WL-2. WL-2 V1.0 monterad

WL-2. WL-2 V1.0 monterad WL-2 WL-2 V1.0 monterad WL-2 är en trådlös mottagarmodul för olika typer av gränsvärdessensorer, det betyter att den inte kan ta emot digitaliserade värden från sensorer och avkoda dem, WL-2 utgör endast

Läs mer

Systemkonstruktion SERIEKOMMUNIKATION

Systemkonstruktion SERIEKOMMUNIKATION Systemkonstruktion SERIEKOMMUNIKATION Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-04-26 Syfte Laborationen syftar till att ge studenten tillfälle att närmare bekanta sig med RS-232-protokollet,

Läs mer

Omtentamen med lösningar i IE1204/5 Digital Design Fredag 10/

Omtentamen med lösningar i IE1204/5 Digital Design Fredag 10/ Omtentamen med lösningar i IE24/5 Digital Design Fredag /4 25 8.-2. Allmän information Examinator: Ingo Sander. Ansvarig lärare: William Sandvist, tel 8-794487 / Fredrik Jonsson Tentamensuppgifterna behöver

Läs mer

(2B1560, 6B2911) HT08

(2B1560, 6B2911) HT08 Royal Institute of Technology, KTH, Kista School of Information and Communication Technology, ICT Department of Electronics, Computer and Software, ECS Digital Design, IE1204 (2B1560, 6B2911) HT08 OBS!

Läs mer

Spänningsstyrd Oscillator

Spänningsstyrd Oscillator Spänningsstyrd Oscillator Referat I det här projektet byggs en delkrets till frekvensneddelare för oscilloskop som inte har tillräcklig bandbredd för dagens höga frekvenser. Kretsen som byggs är en spänningsstyrd

Läs mer

Lösningsföslag till Exempel på tentamensuppgifter i Digitalteknik I

Lösningsföslag till Exempel på tentamensuppgifter i Digitalteknik I Lösningsföslag till Exempel på tentamensuppgifter i Digitalteknik I Flervalsfrågor. A 2. C 3. B 4. D 5. A 6. B 7. C 8. D 9. C 0. B. B 2. C 3. A 4. C 5. A Problemuppgifter. Uttryckt i decimal form: A=28+32+8

Läs mer

Lödövning, likriktare och zenerstabilisering

Lödövning, likriktare och zenerstabilisering Ellab016A Namn Datum Handledarens sign. Laboration Lödövning, likriktare och zenerstabilisering Varför denna laboration? Att kunna hantera en lödkolv är nödvändigt. I den här laborationen ingår en lödövning

Läs mer

TSEA22 Digitalteknik 2019!

TSEA22 Digitalteknik 2019! 1(43) 2019 Mattias Krysander Ingemar Ragnemalm 1(43) Föreläsning 7. Sekv3. enna föreläsning: Lösningar närmare verkligheten Synkronisering Enpulsare Problem till design 2(43)2(43) Förra föreläsningen:

Läs mer

F5 Introduktion till digitalteknik

F5 Introduktion till digitalteknik Exklusiv eller XOR F5 Introduktion till digitalteknik EDAA05 Roger Henriksson Jonas Wisbrant På övning 2 stötte ni på uttrycket x = (a b) ( a b) som kan utläsas antingen a eller b, men inte både a och

Läs mer

Disposition av prototypkort

Disposition av prototypkort Mekinstruktioner Disposition av prototypkort För att undvika att prototypkortet inte får plats eller att man måste löda om en massa sladdar är det viktigt att man kollar innan att allt får plats på kortet

Läs mer

Lödinstruktion, JoyFi(tm) v1.0

Lödinstruktion, JoyFi(tm) v1.0 Om detta dokument Detta är lödinstruktion för JoyFi v.0, en adapter som gör att du kan använda joysticks trådlöst till C64/Amiga Produkten levereras i två delar: en sändare (MASTER) samt en mottagare (SLAVE).

Läs mer

Översikt, kursinnehåll

Översikt, kursinnehåll Översikt, kursinnehåll Specifikation av digitala funktioner och system Digitala byggelement Kombinatoriska system Digital Aritmetik Synkrona system och tillståndsmaskiner Asynkrona system och tillståndsmaskiner

Läs mer

GPIO - General Purpose Input Output

GPIO - General Purpose Input Output GPIO - General Purpose Input Output Ur innehållet: Ideala och verkliga signaler Bitvis in- och utmatning Anslutning - fysiskt gränssnitt F407 - GPIO-modul tillämpningar Läsanvisningar: Arbetsbok avsnitt

Läs mer

Simulering med ModelSim En kort introduktion

Simulering med ModelSim En kort introduktion Linköpings universitet Institutionen för systemteknik Laborationer i digitalteknik Datorteknik 2017 Simulering med ModelSim En kort introduktion TSEA22 Digitalteknik D Linköpings universitet SE-581 83

Läs mer

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Håkan Joëlson 2003-09-15 v 2.1 DIGITALTEKNIK Laboration D163 Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner

Läs mer

Digitala projekt rapport

Digitala projekt rapport Digitala projekt rapport Alexander Westrup, d04aw@student.lth.se Martin Sandgren, d04ms@student.lth.se 4 december 2007 Innehåll 1 Abstract 1 2 Inledning 1 3 Arbetsgång 1 4 Hårdvara 1 4.1 Processor...............................

Läs mer

Avant BRUKSANVISNING. FAKTARUTA AVANT Hög utnivå med förstärkning upp till 57 db. Automatiska funktioner för tilt och förstärkning

Avant BRUKSANVISNING. FAKTARUTA AVANT Hög utnivå med förstärkning upp till 57 db. Automatiska funktioner för tilt och förstärkning SE-2 000920 00896 Rev 1 Avant FAKTARUTA Hög utnivå med förstärkning upp till 57 db Automatiska funktioner för tilt och förstärkning Välj mellan 3 UHF-ingångar, BI/BIII, bredbandsingång och satellit-mf)

Läs mer

Montering av kretskort 10-40X

Montering av kretskort 10-40X Byggbeskrivning programmerbar digital signaldekoder 10 40X 1[8] Montering av kretskort 10-40X Du har blivit ägare till en byggsats framtagen av signalsidan.se och Hemi konsult HB. Byggsatsen innehåller

Läs mer

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT Enchipsdatorer med tillämpningar LABORATION 7, ROBOT Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-05-14 Laboranter: 1 Syfte Denna laboration syftar till att introducera interrupt och watchdog

Läs mer

Mät kondensatorns reaktans

Mät kondensatorns reaktans Ellab012A Mät kondensatorns reaktans Namn Datum Handledarens sign Varför denna laboration? Avsikten med den här laborationen är att träna grundläggande analys- och mätteknik vid mätning på växelströmkretsar

Läs mer

Manual AC Lastcellsmatning : 12 VDC +- 5 % 280 ma (Max) = 8 st 350 ohms lastceller

Manual AC Lastcellsmatning : 12 VDC +- 5 % 280 ma (Max) = 8 st 350 ohms lastceller Analog känslighet och A/D omvandling. Manual AC-9000 Ingångskänslighet : 1,1 uv / skaldel (Min) Insignal från lastcell : 36 mv Nolljusteringsområde : 1,0 mv - 30 mv Lastcellsmatning : 12 VDC +- 5 % Lastcellsström

Läs mer

Vad är kommunikation? Vad är datorkommunikation? Dataöverföring; Inledning

Vad är kommunikation? Vad är datorkommunikation? Dataöverföring; Inledning Vad är kommunikation? Kommunikation är ett vitt begrepp. Vi använder det för att benämna till exempel ett samtal eller att vi själv förflyttar oss med till exempel tåg eller buss. Kommunikation kommer

Läs mer

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Halmstad University School of Information Science, Computer and Electrical Engineering Tomas Nordström, CC-lab TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Datum: 2012-05- 23 Tid och plats: 9:00 13:00 i

Läs mer

LABORATION TSEA22 DIGITALTEKNIK D

LABORATION TSEA22 DIGITALTEKNIK D 2015 LABORATION TSEA22 DIGITALTEKNIK D Konstruktion av mindre digitala system med CPLD Version: 1.5 2015 (OVA, MK) Olov Andersson 1(12) 1. Inledning Syftet med laborationen är dels att öva på konstruktion

Läs mer