FIFO-kostruktion baserat på ett enkel-ports SRAM Yusuf Duman

Storlek: px
Starta visningen från sidan:

Download "FIFO-kostruktion baserat på ett enkel-ports SRAM Yusuf Duman"

Transkript

1 FIFO-kostruktion baserat på ett enkel-ports SRAM Yusuf Duman LiTH-ISY-EX-ET Linköping 2003

2

3 FIFO-kostruktion baserat på ett enkel-ports SRAM Examensarbete utfört vid Elektroniksystem Institutionen för Systemteknik Linköpings Tekniska Högskola Av Yusuf Duman LiTH-ISY-EX-ET Handledare: Henrik Ohlsson Examinator: Lars Wanhammar Linköping augusti 2003

4

5 Avdelning, Institution Division, Department Institutionen för Systemteknik LINKÖPING Datum Date Språk Language X Svenska/Swedish Engelska/English Rapporttyp Report category Licentiatavhandling X Examensarbete C-uppsats D-uppsats Övrig rapport ISBN ISRN LITH-ISY-EX-ET Serietitel och serienummer Title of series, numbering ISSN URL för elektronisk version Titel Title FIFO-kostruktion baserat på ett enkel-ports SRAM FIFO-construction based on a single-port SRAM Författare Author Yusuf Duman Sammanfattning Abstract Vid implementeringar av FIFO-arkitekturer har asynkrona FIFO-konstruktioner använts. Denna lösningsmetod har visat sig innehålla en del brister vid tillämpning på höghastighets system, vilket ledde till att synkrona FIFOn började ersätta asynkrona FIFOn. Den synkrona arkitekturen har samma funktonalitet som de asynkrona typerna med fördelar som högre hastighet och enklare gränssnitt. I rapporten har olika FIFO-konstruktioner behandlats och jämförelser har gjorts mellan synkrona och asynkrona arkitekturer. Det vid ISY konstruerade SRAM-minnet har sedan avgjort vilken typ av FIFO-arkitektur som varit bäst lämpad för implementering. Det implementerade FIFO-minnet ordnar indata- och utdataflöden till ett enkelports SRAM-minne på 256 ord med 16 bitar per ord. Previous implementations of FIFO-architectures has often been asynchronous FIFO-constructions. This method has some limitations in high speed systems. Instead synchronous FIFOs has more and more replaced asynchronous FIFOs. The synchronous architecture has the same features as the asynchronous but with advantages such as higher speed and simplified interface. In the report different types of FIFO-constructions has been studied and comparison between synchronous and asynchronous architectures has been done. The memory unit developed by ISY decided which FIFOarchitecture that were best suited for the implementation. The implemented FIFO-memory arrange in- and outdataflow to a single-port SRAM memory containing 256 words with 16 bits per word. Nyckelord Keyword FIFO, SRAM, synkron, asynkron, adressräknare, Data-multiplexer, arkitektur FIFO, SRAM, synchronous, asychronous, addresscounter, Data-multiplexer, architecture

6

7 Innehållsförteckning 1 INLEDNING SYFTE METOD SPECIFIKATION AV FIFO FIFO OLIKA TYPER AV FIFO SKIFTBASERADE FIFON ASYNKRON FIFO SYNKRON FIFO RAM BASERADE FIFON SPECIFIKATION AV RAM-MINNE IMPLEMENTERING AV FIFO BESKRIVNING AV SIGNALER KONTROLLBLOCK RÄKNARE FUNKTIONSBESKRIVNING AV FIFON DATA-MULTIPLEXER ADRESS-MULTIPLEXER SIMULERING SLUTSATS REFERENSER

8 2

9 1 Inledning Examensarbetet utfördes på Linköpings universitet vid institutionen för systemteknik (ISY). Uppgiften för examensarbetet var att konstruera och simulera ett FIFOminne (First-In-First-Out). FIFOn skall ordna skriv- och läsoperationer till ett enkelport SRAM, som konstrueras vid ISY. 1.1 Syfte Examensarbetet bestod av att implementera och simulera en FIFO, baserad på ett enkelports SRAM. Högnivåspråket VHDL [1] användes för kodning av de olika delblocken och simuleringen skedde i simulatorn Modelsim. 1.2 Metod Arbetsgången var att från ide och insamlad information ta reda på de delblock som en FIFO består av. Genom att utvärdera några FIFO-strukturer, valdes de delblock som var mest lämpade att implementeras. Dessa delblock är kontrollblock, skrivräknare, läsräknare, adressräknare, adressmultiplexer och datamultiplexer. FIFOn verifieras sedan genom simuleringar. 3

10 1.3 Specifikation av FIFO Kontrollblocket har till uppgift att generera de in- och utsignaler som ingår i den statiska RAM-arkitekturen. SRAM-minnet har insignalerna Enable, Read/Write, Address, samt Data som är en gemensam in- och utsignal, se figur nedan. FIFO-minnet skall hantera läsning och skrivning av de 256 ord med 16 bitar per ord som ryms i SRAM-minnet. FIFOns uppgift är att ordna de genererade skriv- och läsoperationer som förekommer, för att sedan placera dem i en kö beroende på operationernas uppkomst, gällande tidpunkt. FIFO Clock Reset Write Read DATA FifoEmpty FifoFull Control block Enable Read/Write DATA Address SRAM FIFO Block Diagram 4

11 2 FIFO FIFO (First-In-First-Out) är nyckelkomponenter i höghastighetssystem och används som lagringsbuffrar mellan delsystem. Ett FIFO-minne kan vara uppbyggt utav skiftregister, vilka skiftar indata respektive utdata. FIFOn kan ha tre interna räknare för att ordna de dataflöden som genereras: Skrivräknaren ( Write_counter ) registrerar och räknar upp antalet förekommande skrivoperationer. Läsräknaren ( Read_counter ) registrerar och räknar upp antalet förekommande läsoperationer. Adressräknaren ( Address_counter ) har till uppgift att visa det exakta antalet dataord som finns i minnet. Till adressräknaren är två statusflaggor kopplade ( FifoEmpty och FifoFull ) för att indikera om minnet är tomt respektive fullt. För att förhindra att information går förlorad finns ett par interna kontrollsignaler ( FifoEmpty_signal, och FifoFull_signal ) kopplade till statusflaggorna. Dessa kontrollsignaler blockerar skrivoperationer när minnet är fullt och läsoperationer när minnet är tomt. Skiftregistren är kopplade till en systemklocka (Clock) som startar dataflöden i minnet och en nollställningssignal (Reset) som nollställer hela minnet, inklusive räknarna. 5

12 6

13 3 Olika typer av FIFO Synkrona FIFOn introducerar en ny FIFO-arkitektur som ökar prestanda och underlättar systemdesignen [4]. Den synkrona arkitekturen har all den förmåga som de tidigare asynkrona typerna hade med fördelar som högre hastighet och enklare gränssnitt. Detta resulterar i att synkrona FIFOn ersätter asynkrona FIFOn i alla typer av applikationer. Olika typer av synkrona FIFOn kan vara fördelaktiga att använda, beroende på i vilken applikation de ska användas. Nedan ges några exempel för att speciellt belysa skillnaderna mellan asynkrona- och synkrona FIFO implementationer. Figur 1 visar den enklaste formen av FIFO-arkitekturerna och kallas för skiftbaserade FIFOn. I figurerna 2 och 3 visas blockdiagram av asynkrona och synkrona FIFOn implementerade med två-ports RAM. Figur 4 visar Ring-adress mekanism av SRAM baserade FIFOn där dess adresser har en cirkulär arbetsgång, därav namnet. I figur 5 visas Två-ports SRAM baserade FIFOn, medan figur 6 visar Enkel-ports SRAM baserade FIFOn. 7

14 3.1 Skiftbaserade FIFOn Denna typ av FIFO är baserad på klockade skiftregister som skiftar data från skriv-porten in till den sista oanvända platsen av skiftregistret. Data skiftas åt höger så länge det finns ledig plats i registret. När alla platser till höger om det nya datat är upptagna ligger det kvar på samma plats, tills det första datat i minnet läses ut. När ett data har lästs ut i minnets högra kant flyttas övriga data ett steg till höger och fyller det tomma utrymmet. När registret är fullt kommer inskrivning av nya data förhindras. Nackdelen med denna metod är att ett ord som skrivs in via en skriv-port, måste ta sig igenom n-raders FIFO minnet till läs-porten. Detta kräver en pipeline fördröjning som kan vara upp till n-klockpulser lång, se figur 1. Vid användning av denna konstruktion måste alltid en avvägning göras gällande FIFO minnets djup. Litet djup leder till att många data går förlorade, medan stort djup leder till större chipyta och lång fördröjning. Data_in Data_out C B A C B A C B A Figur 1 Skiftbaserad FIFO Block Diagram 8

15 3.2 Asynkron FIFO Den asynkrona FIFOn nedan består av ett två-ports RAM-minne, läsoch skrivräknare samt flagglogik som avkodar adressräknarens värden för att generera tom- respektive fullflaggan, se figur 2. RAM-minnets läsoch skrivoperationer kan utföras oberoende av varandra, eftersom minnet har både läs- och skrivportar. Skrivräknaren väljer var nästa minnesord skall skrivas och läsräknaren väljer var nästa minnesord skall läsas. Data skrivs in i FIFOn då skrivklockan, Write Clock är aktivt låg. Var i RAMminnet informationen hamnar beror på skrivräknarens innehåll, som är noll från början och ökar med ett steg vid uppåtgående flank på skrivklockan. Detta gör att skrivräknaren pekar på nästa tillgängliga minnesplats. Skrivklockan är även RAMminnets skrivpuls, vilken verkar för att den minnesplats som skrivräknaren pekar på accepterar indata från skrivdatabussen, Write Data. Läsoperationerna går till enligt samma procedur som ovan och styrs av läsklockan. Läsräknaren pekar på berörd dataord, vilket läggs ut på läsdatabussen, Read Data. Write Clock Write_counter Write Data Dual-Port RAM Address_ counter Full Empty Read Clock Read_counter Read Data Figur 2 Asynkron FIFO Block Diagram [4] 9

16 3.3 Synkron FIFO En synkron FIFO konstrueras genom att kombinera en asynkron FIFO med register enligt figur 3. Registren synkroniserar in- och utsignaler med läs- och skrivklockorna. Fördelar med synkron FIFO: FIFOns klockhastighet är densamma som systemklockans hastighet, vilket gör att det inte behövs någon kontrollogik för att försäkra sig om att FIFOn följer systemklockans hastighet. Synkrona FIFOn är snabbare både vid skrivning och läsning. Egna skrivklockor förenklar och snabbar upp interna skrivoperationer. Läsoperationer är snabbare pga lägre propageringstid mellan RAMminnet och kretsens register. Synkrona FIFOn har reducerad bruskänslighet. De är endast känsliga under uppåtgående flank på läs/skrivklockan istället för under hela cykeln, som i fallet med asynkrona FIFOn. Nackdelen med synkrona FIFOn är att de upptar en större chipyta, vilket leder till att kostnaden kan bli högre. Write Data Write Enable Write Clock Write_ counter Write Latch Write Data Register Write Pulse Gen Dual-Port SRAM Address_ counter FF EF Full Empty Read Enable Read Clock Read_ counter Read Data Register Read Data Figur 3 Synkron FIFO Block Diagram [4] 10

17 3.4 RAM baserade FIFOn Använder ett RAM för att spara data tillsammans med läs- och skrivadressregister för kontroll av FIFOn. Beroende på vilket sätt man hanterar data, kan följande RAM-typs FIFOn kännas igen. Ring-adress mekanism av SRAM baserade FIFOn Write Address Register (WAR) och Read Address Register (RAR) används för att specificera skrivadress respektive läsadress. Varje register innehåller n 1 nollor och exakt en 1 som specificerar om dataordet skall skrivas eller läsas. När en skriv- eller läsoperation utförs, skiftas skrivadressregistret (WAR) och läsadressregistret (RAR) cirkulärt. Detta medför att adress-dekodern i RAM-minnet elimineras, vilket resulterar i en effektivare FIFO. Detta är en ekonomisk implementation för små FIFOn, se figur 4. Write Read word word WAR Lines Write bit lines lines RAR i i+1 i+2 i Memory word i Memory word i+1 Memory word i+2 Memory word i Shift direction WAR and RAR Read bit lines Figur 4 Ring-adress mekanism av SRAM baserad FIFO Block Diagram [2] 11

18 Två-ports SRAM baserade FIFOn Skrivräknaren ( Write Addr Reg ) och läsräknaren ( Read Addr Reg ) är specificerade var för sig med N-bit räknare som adresserar minnet via separata portar, se figur 5. Några typiska egenskaper för ett statiskt två-ports RAM är att den är försedd med indikatorflaggorna tom och full för att ange statusen, att responstiden för läs- och skrivoperationer är en klockcykel, att simultana läs- och skrivoperationer alltid är tillåtna och att illegala operationer som att läsa från en tom FIFO ignoreras. Signalernas betydelse och funktion förklaras längre fram. Data_in Data Input Reg DI DUAL-PORT SRAM DO Data Output Reg Data_out 256 words 16 bits/word Write Addr Reg WO RO Read Addr Reg WE Clk RS FF FIFO Control Block RE EF Figur 5 Två-ports SRAM baserad FIFO Block Diagram [2] 12

19 Enkel-ports SRAM baserade FIFOn Skrivräknaren ( Write Addr Reg ) och läsräknaren ( Read Addr Reg ) är specificerade var för sig med N-bit räknare som kopplas till minnet via en enkel-port, se figur 6. Ingående data presenteras på DI bussen medan utgående data tas från DO bussen. Kontrollblockets funktion inkluderar serialisation av simultana RR (läsförfrågningar) och WR (skrivförfrågningar). FF och EF visar statusen på FIFOn och indikerar om den är full eller tom. RS (reset) kontrollen påverkar skriv- och läsräknaren så att de specificerar samma initialadress. Denna implementation kostar mindre då den upptar en mindre chipyta, men har en lägre prestanda än föregående konstruktion, se figur 5. Write Addr Reg Read Addr Reg Address multiplexer SINGLE-PORT SRAM 256 words 16 bits/word DI Data multiplexer DO WE RS Clk FF FIFO Control Block RE EF Figur 6 Enkel-ports SRAM baserad FIFO Block Diagram [3] 13

20 14

21 4 Specifikation av RAM-minne Det RAM som konstruerats vid ISY, vilket denna FIFO baseras på, är ett enkelports statiskt RAM-minne, se figur 7. Det som skiljer ett enkelports RAM minne från ett dubbelports RAM minne är att enkelports RAM minne använder samma port för både indata och utdata, medan dubbelports RAM minnen har separata läs- och skrivsignaler plus separata portar för indata och utdata. RAM-minnet har plats för 256 ord med 16 bitar per ord och består av två kontrollsignaler, en adressbuss och en databuss, se figur 7. Insignalen Enable är minnets klocksignal, vilken genereras av FIFOns Clock. Read/Write signalen anropas av FIFOns interna signal Write_signal som i sin tur är kopplad till insignalerna Write och Read. Dessa signaler avgör om information skall skrivas in i minnet eller läsas ut ur minnet. Insignalen Address är en åtta bitars buss som anropas av FIFOns interna adressbuss Address_signal som tilldelas antingen skrivräknaren Write_counter eller läsräknaren Read_counter, vilka indikerar antalet skriv- samt läsoperationer. Databussen, som är 16 bitar bred, är en gemensam indata- och utdatabuss och anropas av FIFOns databuss, Data. Dataflöden till och från minnet sker via Databussen. Enable (klockning) Read/Write Address (7, 0) Single-port SRAM 256 words 16 bits/word Data (15, 0) Figur 7 Enkel-ports SRAM Block Diagram 15

22 16

23 5 Implementering av FIFO Den FIFO-typ som valdes att konstrueras för detta projekt var helt och hållet beroende av RAM-minnets uppbyggnad, se figur 7. Detta ledde till att nedanstående FIFO-arkitektur, enkelports SRAM- FIFOn valdes, se figur 8. Write_ counter Read_ counter WO RO Address_ multiplexer Address Enable Read/Write SINGLE-PORT SRAM 256 words 16 bits/word Addresscounter Data DI Data multiplexer DO Write Clock Reset FifoFull FIFO Control Block Read FifoEmpty Figur 8 Enkel-ports SRAM FIFO Block Diagram [3] 17

24 5.1 Beskrivning av signaler FifoFull signal: Indikerar att FIFOn är full (innehåller 256 ord). FifoEmpty signal: Indikerar att FIFOn är tom (innehåller 0 ord). Reset signal: vid hög signal placeras FIFOn i dess initialläge oavsett vilket läge den befann sig i tidigare. Write signal: Tillåter skrivning om Write = 1 och blockerar skrivning om Write = 0. Read signal: Tillåter läsning om Read = 1 och blockerar läsning om Read = 0. WO ( Write operation ): En 16-bit ord skrivs in i FIFOn och skrivräknaren ( Write_counter ) pekar på nästa plats i minnet om minnet inte är full, annars på noll. En skrivoperation kan endast utföras om Write = 1, FifoFull = 0 och Read = 0. RO ( Read operation ): En 16-bit ord läses från FIFOn och läsräknaren ( Read_counter ) pekar på nästa ord som skall läsas om minnet inte är tom, annars på noll. En läsoperation kan endast utföras om Read = 1, FifoEmpty = 0 och Write = 0. OWP ( Over Write protection ): Tillåter skrivoperation om FifoFull = 0 och blockerar skrivoperation om FifoFull = 1. ORP (Over Read protection): Tillåter läsoperation om FifoEmpty = 0 och blockerar läsoperation om FifoEmpty = 1. 18

25 5.2 Kontrollblock Kontrollblocket kan sägas vara FIFO-minnets hjärna. Den ser till att kommunikationen mellan de olika delblocken fungerar och styr FIFOminnets statussignaler. 5.3 Räknare FIFO-minnet innehåller tre olika räknare: Skrivräknare Write_counter registrerar och räknar upp alla genererade skrivoperationer. Läsräknare Read_counter registrerar och räknar upp alla genererade läsoperationer. Adressräknaren Address_counter är den räknare som visar antalet ord i minnet och fungerar som en summeringsoperator mellan skriv- och läsräknaren. Exempel: 15 utförda skrivoperationer och 5 utförda läsoperationer gör att adressräknaren visar talet 10, ( 15 5 = 10 ). Adressräknaren styr också de två statusflaggorna FifoFull och FifoEmpty, vilka indikerar tomt respektive fullt minne. 19

26 5.4 Funktionsbeskrivning av FIFOn Både läs- och skrivräknaren står i initialläget från början, vilket betyder att de pekar på minnesplats 0, se figur 9. Inskrivning av data: Första dataordet som skrivs läggs in på minnesplats 0 i RAM-minnet, eftersom skrivräknaren pekar på minnesplats 0. När det första dataordet har skrivits in pekar skrivräknaren på nästa minnesplats, vilket leder till att nästa dataord som skrivs läggs in på minnesplats 1 osv. Detta innebär att skrivoperations räknaren ökar med ett steg för varje dataord som skrivs in, samtidigt räknas adressräknaren upp för varje inskrivet dataord. Utläsning av data: Dataord som ligger på minnesplats 0 utläses först, då läsräknaren pekar på minnesplats 0. Sedan utläses det dataord som ligger på minnesplats 1 osv. Detta innebär att läsoperationsräknaren ökar med ett steg för varje dataord som läses ut. Samtidigt räknas adressräknaren ned med ett steg för varje utläst dataord. Om exempelvis 256 skrivoperationer sker efter varandra utan någon läsoperation emellan, så leder det till att adressräknaren räknat upp till sitt maximalt tillåtna värde. Detta innebär att RAM-minnet blir fullt och flaggsignalen fifofull ettställs och spärrar för vidare skrivoperationer. Det finns två sätt att lämna detta läge, antingen genom att utföra läsoperationer vilket leder till att flaggsignalen fifofull nollställs då adressräknaren räknar ner, eller genom att ettställa Reset, vilket leder till att Write_counter och Read_counter återgår till sina initiallägen. Write 16-bits word Read Figur 9 Block Diagram av Minnesplatser 20

27 5.5 Data-multiplexer FIFO-minnet har separata datasignaler för läsning respektive skrivning. Dessa måste anpassas till RAM-minnet, som använder en gemensam insignal för läsning och skrivning. En datamultiplexer utnyttjas för att avgöra om de genererade skriv- och läsoperationer som genereras skall läggas in som indata till RAM-minnet eller läsas ut som utdata från RAM-minnet. När Read/Write är 0 skrivs informationen in till RAM-minnet som indata och när Read/Write är 1 utläses informationen från RAM-minnet som utdata, se figur 10. DO 1 Data DI 0 Read/Write Figur 10 Data-multiplexer Block Diagram 21

28 5.6 Adress-multiplexer En adress_multiplexer används för att bestämma om en operation ska använda läs- eller skrivadressen. När Write är 1 tilldelas skrivadressen till Address och när Write är 0 tilldelas läsadressen till Address, se figur 11. WO 1 Address RO 0 Write Figur 11 Address-multiplexer Block Diagram 22

29 6 Simulering FIFOn har simulerats i simulatorn Modelsim och de olika kontrollsignalerna har testats, för att verifiera en tillfredsställande funktion. Simuleringen har gått till enligt följande: Information har förts in i FIFOminnet och sedan lästs ut ur minnet, för att försäkra sig om att ordningen enligt principen först in först ut följdes. Reset-signalen sattes hög för att försäkra sig om att inga operationer gått att genomföra och att hela FIFO-minnet nollställts. Sedan gjordes försök att läsa ut från ett tomt minne, vilket blockerades av kontrollsignalen FifoEmpty som var hög och markerade att ingen information fanns att utläsa. Minnet fylldes för att kontrollera om det gick att skriva över befintlig information, vilket nekades då kontrollsignalen FifoFull var hög och blockerade för vidare skrivoperationer. Det har inte gått att genomföra någon operation då både Read- och Writesignalen varit höga samtidigt, vilket är korrekt. Testresultaten av simuleringen var fullständiga och korrekta, vilket verifierade FIFOminnets funktionalitet. 23

30 24

31 7 Slutsats FIFO implementeringen var beroende av RAM minnets konstruktion, vilket gav arkitekturen på FIFOn. FIFO-minnet och SRAM-minnet har implementerats som separata block i högnivåspråket VHDL. FIFO minnet anropar SRAM minnet och kontrollerar de dataflöden som förekommer. Detta innebär att RAM minnet enkelt kan bytas ut mot ett annat. Genom några små justeringar i FIFO minnets VHDL-kod kan det anpassas till minnets insignaler och utsignaler. Ändrad storlek vad gäller ordlängd och djup på det nya RAM minnet, föranleder inte heller till några större justeringar vad gäller FIFO minnets VHDL-kod. FIFOn har testats genom simuleringar och funktionaliteten har verifierats. 25

32 26

33 8 Referenser [1] Kevin Skahill VHDL for PROGRAMMABLE LOGIC [2] Goor A., Schanstra I and Zorian Y.; BIST for Ring-Address SRAM-type FIFOs ( p ) [3] Goor A. and Zorian Y.; Functinal Tests for Arbitration SRAM-type FIFOs ( p ) [4] Wyland D.; New Features in Synchronous FIFOs ( p ) 27

34 28

35 Appendix Library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.all; Entity SRAM-FIFO is Port ( Clock : in std_logic; Reset : in std_logic; Write : in std_logic; Read : in std_logic; Data : inout std_logic_vector(15 downto 0); FifoEmpty : out std_logic; FifoFull : out std_logic ); END SRAM-FIFO; Architecture FIFO of SRAM-FIFO is Component Rams Port ( Enable : in std_logic; Read/Write : in std_logic; Data : inout std_logic_vector ( 15 downto 0 ); Address : in std_logic_vector ( 7 downto 0 ) ); END Component; Signal Read_counter : std_logic_vector ( 7 downto 0 ); Signal Write_counter : std_logic_vector ( 7 downto 0 ); Signal Address_counter : std_logic_vector ( 7 downto 0 ); Signal Address_signal : std_logic_vector ( 7 downto 0 ); Signal Write_signal : std_logic; Signal FifoFull_signal : std_logic; Signal FifoEmpty_signal : std_logic;

36 Begin FifoRam : Rams Port map ( Enable Read/Write Data Address ); => Clock, => Write_signal, => Data, => Address_signal ReadWriteFifo : Process ( Clock, Reset ) Begin IF ( Reset = '1' ) then Read_counter <= ( others => '0' ); Write_counter <= ( others => '0' ); Address_counter <= ( others => '0' ); ELSIF ( Clock'event and Clock = '0' ) then IF ( Write = '1' and FifoFull_signal = '0' and Read = '0' ) then Write_counter <= Write_counter + 1; Address_counter <= Address_counter + 1; END IF; IF ( Read = '1' and FifoEmpty_signal = '0' and Write = '0' ) then Read_counter <= Read_counter + 1; Address_counter <= Address_counter - 1; END IF; END IF; END process; FifoEmpty_signal <= '1' when (Address_counter = " ") else '0'; FifoFull_signal <= '1' when (Address_counter = " ") else '0'; FifoFull FifoEmpty <= FifoFull_signal; <= FifoEmpty_signal; Write_signal <= '1' when (Write='1' and FifoFull_signal='0')else '0'; Address_signal <= Write_counter when (Write='1') else Read_counter; END FIFO;

37 Library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.all; Entity SRAM is Port ( Enable : in std_logic; Read/Write : in std_logic; Data : inout std_logic_vector ( 15 downto 0 ); Address : in std_logic_vector ( 7 downto 0 ) ); END SRAM; Architecture RAM of SRAM is Type Mem is array ( 0 to 255 ) of std_logic_vector ( 15 downto 0 ); Signal Memory : Mem; Begin Write_Process : Process ( Enable ) Begin IF ( Enable'event and Enable = '0' ) then IF ( Read/Write = '1' ) then Memory ( Conv_Integer ( Address )) <= Data; END IF; ELSE Data <= Memory ( Conv_Integer ( Address )); END IF; END process; End SRAM;

38

39 På svenska Detta dokument hålls tillgängligt på Internet eller dess framtida ersättare under en längre tid från publiceringsdatum under förutsättning att inga extraordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida In English The publishers will keep this document online on the Internet - or its possible replacement - for a considerable time from the date of publication barring exceptional circumstances. The online availability of the document implies a permanent permission for anyone to read, to download, to print out single copies for your own use and to use it unchanged for any non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional on the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility. According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement. For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its WWW home page: Yusuf duman

Automatiserad panoramasekvensdetektering på Narratives platform

Automatiserad panoramasekvensdetektering på Narratives platform LiU-ITN-TEK-A--14/018--SE Automatiserad panoramasekvensdetektering på Narratives platform Alexander Johansson 2014-06-11 Department of Science and Technology Linköping University SE-601 74 Norrköping,

Läs mer

Automatization of test rig for microwave ovens

Automatization of test rig for microwave ovens LiU-ITN-TEK-A--13/026--SE Automatization of test rig for microwave ovens Jesper Cronborn 2013-06-10 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

Läs mer

ChiliChallenge. Utveckling av en användbar webbapplika on. ChiliChallenge Development of a web applica on with good usability

ChiliChallenge. Utveckling av en användbar webbapplika on. ChiliChallenge Development of a web applica on with good usability ChiliChallenge Utveckling av en användbar webbapplika on ChiliChallenge Development of a web applica on with good usability Grupp 4: Carolina Broberg, Oscar Ek, Linus Gålén, Anders Kratz, Andreas Niki

Läs mer

Master Thesis. Study on a second-order bandpass Σ -modulator for flexible AD-conversion Hanna Svensson. LiTH - ISY - EX -- 08/4064 -- SE

Master Thesis. Study on a second-order bandpass Σ -modulator for flexible AD-conversion Hanna Svensson. LiTH - ISY - EX -- 08/4064 -- SE Master Thesis Study on a second-order bandpass Σ -modulator for flexible AD-conversion Hanna Svensson LiTH - ISY - EX -- 08/4064 -- SE Study on a second-order bandpass Σ -modulator for flexible AD-conversion

Läs mer

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Examensarbete Utveckling av en webbaserad donationstjänst för företag som involverar medarbetarna i processen. av Martina

Läs mer

Utveckling av webbsida för lokala prisjämförelser med användbarhetsmetoder

Utveckling av webbsida för lokala prisjämförelser med användbarhetsmetoder C-uppsats LITH-ITN-EX--05/032--SE Utveckling av webbsida för lokala prisjämförelser med användbarhetsmetoder Jon Hällholm 2005-10-27 Department of Science and Technology Linköpings Universitet SE-601 74

Läs mer

Ritning av industribyggnad med dokumentation av elcentraler

Ritning av industribyggnad med dokumentation av elcentraler LiU-ITN-TEK-G--12/038--SE Ritning av industribyggnad med dokumentation av elcentraler Sebastian Johansson Daniel Nyberg 2012-06-12 Department of Science and Technology Linköping University SE-601 74 Norrköping,

Läs mer

Dokumentation av elritningar i en byggnad

Dokumentation av elritningar i en byggnad LiU-ITN-TEK-G--12/068--SE Dokumentation av elritningar i en byggnad Precious Kam'boma Ceasar Ramzi 2012-12-17 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

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

Laddningsomkopplare för två batterier

Laddningsomkopplare för två batterier LiU-ITN-TEK-G--10/054--SE Laddningsomkopplare för två batterier Findus Lagerbäck 2010-06-04 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen för teknik

Läs mer

Dokumentation av elinstallationer i en byggnad

Dokumentation av elinstallationer i en byggnad LiU-ITN-TEK-G--11/066--SE Dokumentation av elinstallationer i en byggnad Albert Binakaj Armin Smajic 2011-08-25 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

Läs mer

!"# " $"% & ' ( )* + 2' ( 3 -+ -.4

!#  $% & ' ( )* + 2' ( 3 -+ -.4 !"# " $"% !"# " $"% & ' ( )* +-+./0+12 + 2' ( 3 -+ -.4 Avdelning Institution Division Department Datum Date 2005-03-21 Institutionen för datavetenskap 581 83 LINKÖPING Språk Language Svenska/Swedish

Läs mer

Inkoppling av manöverdon för servicekörning av kran 481

Inkoppling av manöverdon för servicekörning av kran 481 LiU-ITN-TEK-G--11/073--SE Inkoppling av manöverdon för servicekörning av kran 481 Simon Johansson Christian Winberg 2011-08-25 Department of Science and Technology Linköping University SE-601 74 Norrköping,

Läs mer

Strategiska överväganden vid tillbyggnation - Ekonomiska och hållfasthetsmässiga konsekvenser utifrån snölastreglering

Strategiska överväganden vid tillbyggnation - Ekonomiska och hållfasthetsmässiga konsekvenser utifrån snölastreglering LIU-ITN-TEK-G-13/021-SE Strategiska överväganden vid tillbyggnation - Ekonomiska och hållfasthetsmässiga konsekvenser utifrån snölastreglering Max Jigander 2013-06-05 Department of Science and Technology

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

Det här är inte en porslinssvan - Ett grafiskt kampanjkoncept för second hand-butiker med välgörenhetssyfte

Det här är inte en porslinssvan - Ett grafiskt kampanjkoncept för second hand-butiker med välgörenhetssyfte LiU-ITN-TEK-G--16/055--SE Det här är inte en porslinssvan - Ett grafiskt kampanjkoncept för second hand-butiker med välgörenhetssyfte Veronica S Eksmo Karin Götestrand 2016-06-10 Department of Science

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

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

Självkalibrering av varvtalsregulator

Självkalibrering av varvtalsregulator LiU-ITN-TEK-A--13/057--SE Självkalibrering av varvtalsregulator Rickard Dahm 2013-10-28 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen för teknik och

Läs mer

Arbetsprov för nyanställda inom el- och automationsteknik

Arbetsprov för nyanställda inom el- och automationsteknik LiU-ITN-TEK-G--13/003-SE Arbetsprov för nyanställda inom el- och automationsteknik Danial Qamar Patrik Rosenkrantz 2013-03-11 Department of Science and Technology Linköping University SE-601 74 Norrköping,

Läs mer

Analys av anslutningsresor till Arlanda

Analys av anslutningsresor till Arlanda LiU-ITN-TEK-A--11/058--SE Analys av anslutningsresor till Arlanda Sara Johansson 2011-09-16 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen för teknik

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

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

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

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

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

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

Uppdatera produktkalkyler och verifiera elektriska komponenter i styrskåp till luftavfuktare

Uppdatera produktkalkyler och verifiera elektriska komponenter i styrskåp till luftavfuktare LiU-ITN-TEK-G--11/047--SE Uppdatera produktkalkyler och verifiera elektriska komponenter i styrskåp till luftavfuktare Johan Brorson Jessica Gatenberg 2011-06-09 Department of Science and Technology Linköping

Läs mer

Riktlinjer för kontrollutrustning

Riktlinjer för kontrollutrustning LiU-ITN-TEK-G--13/004-SE Riktlinjer för kontrollutrustning Menhel Aghel Dawood Dragan Obradovic 2013-03-11 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

Läs mer

Konstruktion och undersökning av effektsnåla slumptalsgeneratorer

Konstruktion och undersökning av effektsnåla slumptalsgeneratorer Konstruktion och undersökning av effektsnåla slumptalsgeneratorer Examensarbete utfört i elektroniksystem av Ulf Källenäs LiTH-ISY-EX-ET-0250-2002 Linköping 2002 Konstruktion och undersökning av effektsnåla

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

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

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

3D visualisering av Silverdal

3D visualisering av Silverdal LiU-ITN-TEK-G--09/034--SE 3D visualisering av Silverdal Jenny Stål 2009-06-10 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen för teknik och naturvetenskap

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

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

Arbete med behörighetsadministration och åtkomstkontroll i större företag

Arbete med behörighetsadministration och åtkomstkontroll i större företag Arbete med behörighetsadministration och åtkomstkontroll i större företag Kandidatuppsats, 10 poäng, skriven av Mikael Hansson och Oscar Lindberg 2005-07-04 ISRN LIU-IDA-C--05/11--SE Arbete med behörighetsadministration

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

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

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

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

Kliniskt datainsamlingssystem med beslutsstöd - Användarutredning och gränssnitt för Sahlgrenskas akutintag

Kliniskt datainsamlingssystem med beslutsstöd - Användarutredning och gränssnitt för Sahlgrenskas akutintag Examensarbete LITH-ITN-MT-EX--05/043--SE Kliniskt datainsamlingssystem med beslutsstöd - Användarutredning och gränssnitt för Sahlgrenskas akutintag Lina Larsson 2005-05-27 Department of Science and Technology

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

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

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

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll: F: Minneselement Innehåll: - Latchar - Flip-Flops - egister - Läs- och skrivminne (andom-access Memory AM) - Läsminne (ead Only Memory OM) Ett minneselements egenskaper Generellt sett så kan följande operationer

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

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

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

-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äsminne Read Only Memory ROM

Läsminne Read Only Memory ROM Läsminne Read Only Memory ROM Ett läsminne har addressingångar och datautgångar Med m addresslinjer kan man accessa 2 m olika minnesadresser På varje address finns det ett dataord på n bitar Oftast har

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

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. 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

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

Digitala System: Datorteknik ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON Digitala System: Datorteknik ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering (1)

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

Elsäkerhetsanalys samt dokumentation av elinstallationer

Elsäkerhetsanalys samt dokumentation av elinstallationer LiU-ITN-TEK-G--13/059--SE Elsäkerhetsanalys samt dokumentation av elinstallationer Emanuel Kopkin 2013-06-20 Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden Institutionen

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

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

IE1205 Digital Design: F9: Synkrona tillståndsautomater

IE1205 Digital Design: F9: Synkrona tillståndsautomater IE25 Digital Design: F9: Synkrona tillståndsautomater Moore och Mealy automater F8 introducerade vippor och vi konstruerade räknare, skift-register etc. F9-F skall vi titta på hur generella tillståndsmaskiner

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

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

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

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

Nätverksutbildning för bibliotekarier samt museioch arkivpersonal

Nätverksutbildning för bibliotekarier samt museioch arkivpersonal Linköping Electronic Articles in Computer and Information Science Vol. 2(1997): Nr 10 Nätverksutbildning för bibliotekarier samt museioch arkivpersonal Katri Wikström Tampere universitet Tampere, Finland

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

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2009-06-04 Skrivtid 9.00-13.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna

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

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

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

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

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen 68000 Arkitektur F2: Motorola 68000 I/O signaler Processor arkitektur Programmeringsmodell Assembler vs. Maskinkod Exekvering av instruktioner i 68000 Instruktionsformat MOVE instruktionen Adresseringsmoder

Läs mer

Digitalteknik F12. Några speciella automater: register räknare Synkronisering av insignaler. Digitalteknik F12 bild 1

Digitalteknik F12. Några speciella automater: register räknare Synkronisering av insignaler. Digitalteknik F12 bild 1 igitalteknik F2 Några speciella automater: register räknare Synkronisering av insignaler igitalteknik F2 bild Register Ett register är en degenererad automat som i allt väsentligt används för att lagra

Läs mer

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Rahim Rahmani (rahim@dsv.su.se) Division of ACT Department of Computer and Systems Sciences Stockholm University SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Tentamensdatum: 2013-03-21 Tentamen består av totalt

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

Informationssäkerhetsmedvetenhet

Informationssäkerhetsmedvetenhet Informationssäkerhetsmedvetenhet En kvalitativ studie på Skatteverket i Linköping Kandidatuppsats, 10 poäng, skriven av Per Jutehag Torbjörn Nilsson 2007-02-05 LIU-IEI-FIL-G--07/0022--SE Informationssäkerhetsmedvetenhet

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2010-08-27 Skrivtid 9.00-14.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna

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

F9: Minne. Sammansättning av minnesgrupper Ansluta minne till 68000 Interface till olika typer av minnen Användningsområden.

F9: Minne. Sammansättning av minnesgrupper Ansluta minne till 68000 Interface till olika typer av minnen Användningsområden. 1 F9: Minne Minneskonfiguration Sammansättning av minnesgrupper Ansluta minne till 68000 Interface till olika typer av minnen Användningsområden 1 Minnen Minneskapslar kommer i olika storlekar, antal adresspinnar

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #23 Översikt När flera smoduler placeras i processorns adressrum ansluts modulernas adressingångar till motsvarande ledningar i en. Övriga adressledningar i bussen

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2009-08-28 Skrivtid 9.00-13.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna

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

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2011-08-26 Skrivtid 9.00-14.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna hjälpmedel

Läs mer

Adressrum, programmerarens bild

Adressrum, programmerarens bild EDA 480 2009/2010 MC68HC12, Uppbyggnad.pdf Ur innehållet: Datorns byggblock Busskommunikation Synkron buss Asynkron buss Multiplex-buss avkodning för minne och I/O Minnesavbildad I/O Direktadresserad I/O

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- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #23 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Översikt När flera minnesmoduler placeras i processorns

Läs mer

Sekvensnät vippor, register och bussar

Sekvensnät vippor, register och bussar ekvensnät vippor, register och bussar agens föreläsning: Lärobok kap.5 Arbetsbok kap 8,9,10 Ur innehållet: Hur fungerar en -latch? Hur konstrueras JK-, - och T-vippor? er och excitationstabeller egister

Läs mer

Omtentamen IE Digital Design Måndag 14/

Omtentamen IE Digital Design Måndag 14/ Omtentamen IE204-5 Digital Design Måndag 4/3 206 4.00-8.00 Allmän information ( TCOMK, Ask for an english version of this exam if needed ) Examinator: Ingo Sander. Ansvarig lärare: Kista, William Sandqvist

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

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data. 1 3 4 Antag a' processorn ska exekvera instruk3onen ADD R1, R3. När instruk3onen är exekverad så a' processorn tagit innehållet i R1 och R3 och med hjälp av ALU:n är värdena adderade och resultatet är

Läs mer

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data. 1 2 3 Antag a' processorn ska exekvera instruk3onen ADD R1, R3. När instruk3onen är exekverad så a' processorn tagit innehållet i R1 och R3 och med hjälp av ALU:n är värdena adderade och resultatet är

Läs mer

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ? Styrteknik grundkurs Digitala kursmoment Binära tal, talsystem och koder Boolesk Algebra Grundläggande logiska grindar Minneselement, register, enkla räknare Analog/digital omvandling SR-latch med logiska

Läs mer

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15. Aktivera Kursens mål: LV3 Fo7 Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruktruera olika kombinatoriska nät som ingår i en dator. Studera hur addition/subtraktion

Läs mer

Digital och Datorteknik EDA /2011. EDA 451 Digital och datorteknik 2010/2011. Uppbyggnad_och_funktion.pdf

Digital och Datorteknik EDA /2011. EDA 451 Digital och datorteknik 2010/2011. Uppbyggnad_och_funktion.pdf EDA 451 Digital och datorteknik 2010/2011 Uppbyggnad_och_funktion.pdf Ur innehållet: Bussystem, intern kommunikation i datorsystemet Adressavkodning, hur primärminne och I/O-enheter kan anslutas Olika

Läs mer

EDUCATE - ett europeiskt hypertextbaserat utbildningspaket

EDUCATE - ett europeiskt hypertextbaserat utbildningspaket Linköping Electronic Articles in Computer and Information Science Vol. 2(1997): Nr 10 EDUCATE - ett europeiskt hypertextbaserat utbildningspaket Nancy Fjällbrant Gunilla Thomasson Chalmers tekniska högskolans

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

Hantering av hazards i pipelines

Hantering av hazards i pipelines Datorarkitektur med operativsystem Hantering av hazards i pipelines Lisa Arvidsson IDA2 Inlämningsdatum: 2018-12-05 Abstract En processor som använder pipelining kan exekvera ett flertal instruktioner

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