Lab6: Implementatie video timing generator



Vergelijkbare documenten
EE1410: Digitale Systemen BSc. EE, 1e jaar, , 2e werkcollege

XILINX ISE getstarted

A Quick Start Guide: AVR programmeren

Studiewijzer Digitale Systeemengineering 1 (E-DIGSE1-13) 3 studiepunten

Digitale Systeem Engineering 1. Week 4 Toepassing: Pulse Width Modulation Jesse op den Brouw DIGSE1/

Basisconcept VHDL. Digitaal Ontwerpen Tweede studiejaar. Wim Dolman. Engineering, leerroute Elektrotechniek Faculteit Techniek

Labo Digitale Systemen

EDK Walkthrough: Hardwareontwerp met GPIO en UART Deel 1

Toets Digitale Systemen 01/06/2006, uur

b) Geef het schema van een minimale realisatie met uitsluitend NANDs en inverters voor uitgang D.

Digitale Systemen (EE1 410)

Digitale Systemen (ET1 410)

VHDL overzicht. Digitale Systemen (ET1 410) VHDL? VHDL? Sequentieel vs. Concurrent 2/15/2011

Handleiding ISaGRAF. Wil men het programma bewaren, dan is het verstandig een back-up te maken: C9 Back-up / Restore

Digitale Systeem Engineering 1

Klasse B output buffer voor een Flat Panel Display Kolom aansturing

Digitale Systeem Engineering 1. Week 1 VHDL basics, datatypes, signal assignment Jesse op den Brouw DIGSE1/

Altera NIOS 3.0 Tutorial

Versie: A Datum: Pag: 1 van 7

ES1 Project 1: Microcontrollers

Digitale Systeem Engineering 1

Het koppelen van Weidmüller u-remote aan een S plc.

Het aansluiten van uw Victron op een computer; met VE Bus Quick Configure

(energie) meten via Qbus

Sequentiële schakelingen

EE1410: Digitale Systemen BSc. EE, 1e jaar, , vragencollege 2

Design Data Management voor FPGA ontwikkeling

DDS chips. DDS = Direct Digital (frequency) Synthesis. Output = sinusvormig signaal. Maximum frequentie = ½ klokfrequentie

De Arduino-microcontroller in de motorvoertuigentechniek (4)

Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368

RTC Opleidingen Beckhoff TwinCAT. Voorbereiding

Selecteer het NRF52-Dk platform in de IDE rechtsboven in het browser scherm.

ES1 Project 1: Microcontrollers

Beckhoff BC9050 met Twincat

Digitale Systeem Engineering 1

SI-Profibus. Unidrive M700-M702 en Siemens S7-300 PLC (STEP 7)

Configuratiehandleiding AHD 3.0 AHDVR( )A

Uitvoeren Single Band Conducted Immunity (CI) testen conform EN

Handleiding software USB PIC DEV. BOARD

Installatie SQL: Server 2008R2

Installatiehandleiding. ixperion Word Import. voor Windows 2008 R2 64bit. Smartsite ixperion WordImport Implementatie. Copyright

1. Kopieer de bestanden die in de html directory staan, naar de html directory van HomeSeer.

In dit artikel zal ik u uitleggen hoe u rechtstreeks vanuit Troublefree Retail kan afdrukken

Combinatorische schakelingen

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files

Project Digitale Systemen

Configuratie programma tbv. MJK Instrumentie

Een intelligent DMX netwerk

Tomra 820 InTouch. Promotie film maken Donatie ontvanger aanmaken

Er zijn diverse andere software platformen en providers die werken met SIP, maar in dit voorbeeld gaan we uit van de volgende software:

SI-Profinet. Unidrive M200-M400 en Siemens S PLC (TIA portal)

DIGITALE MODE MET POWER SDR

TUTORIAL VHDL MET QUARTUS 11.1 MODELSIM-ALTERA 10.0

Inhoudsopgave. Optimalisatie van de mmips. Forwarding optie 1. Design flow. implementation

ES1 Project 1: Microcontrollers

Toets Digitale Systemen 31/05/2007, uur

Inhoud Inhoud. Over dit boek 7. 1 Eclipse IDE (Integrated Development Environment) 9. 2 Functionele specificatie 13

Digitaal Ontwerp Mogelijke Examenvragen

RTC Opleidingen Beckhoff TwinCAT. Voorbereiding

Digitaal System Ontwerpen Studiehandleiding

Versturen van vanuit een Delphi VCL toepassing

RTC Pick & Place Beckhoff TwinCAT. Voorbereiding

Installatie SQL Server 2014

Installatie stappen Microsoft SQL Server 2008 R2 Express With Tools:

Handleiding Invoeren van een Catia V5R19 document in SmarTeam

TUTORIAL SCHEMATIC ENTRY MET QUARTUS 11.1 MODELSIM-ALTERA 10.0

Installatie & handleiding Scanning tool (air tool) en/of dragon scanners

Q: Hoe configureer ik het gebruik van een Hitachi CPU in CODESYS v3.5.x.x?

Installatie stappen Microsoft SQL Server 2012 Express With Tools:

Antwoorden zijn afgedrukt!!!!!!!

SHINELAN Stappen installeren ShineWiFi Growatt HANDLEIDING. Installeren ShineWiFi

18 Embedded systemen 1

Locobuffer Handleiding

Ontwerp je eigen chip (5) poortjes programmatisch verknoopt

EM2 Microcontroller Project. LED cube

Configureren van een VPN L2TP/IPSEC verbinding. In combinatie met:

SI-Profinet. Unidrive M700 en Siemens S7-300 PLC (Step 7)

Xilinx JTAG Programmer

AVR-DOPER MINI ASSEMBLAGE HANDLEIDING + LAYOUT. Geschreven door: Tom Vocke

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (4)

Advies, Productie, Reproductie, Faciliteiten, Presentatie, Verhuur, Verkoop

Logo quiz Project Inleiding op de Logo!

Eindtentamen Digitale Systemen 07/07/2006, uur

Driver installatie en configuratie.

Dynamische Circuitspecialisatie

Beckhoff. Motion Control PTP

Demo Sweetlight. 04 maart 2014 Niels Vanmarcke

Wat is Arduino? Arduino = microprocessor (Atmel)

WORKSHOP ORANGE PI & PYTHON v september 2017

Colofon. Joost van den Brink - 2 -

Voeler ingang van de ilog recorder. Stop de temperatuurvoeler

Installatie SQL Server 2012

ES1 Project 1: Microcontrollers

Digitale Systeem Engineering 1

Inregelvoorschriften optische nodes. Inregelvoorschriften universele versterkers

Eindtentamen Digitale Systemen 18/06/2007, uur

INHOUD. KHLim dep IWT MeRa 1/22

Installatie en gebruikershandleiding Cyso Hosted Exchange MacOS X Uw gegevens:

QUICK START. IP cam viewer.

Transcriptie:

Het Micro-elektronica Trainings- Centrum Het MTC is een initiatief binnen de INVOMEC divisie. Industrialisatie & Vorming in Micro-elektronica Inleiding In de vorige modules werd een systeem opgebouwd en geverifieerd met een VHDL simulator. In deze module zullen we dit systeem nog wat uitbreiden en na het laden in een fpga het resultaat kunnen bewonderen op het scherm. Labo-oefening Lab6: Implementatie video timing generator Cluster: Cluster2 Module: Module2a Figuur 1 Doelstellingen Na dit labo moet de student de complete toolflow begrijpen en beheersen om een hardware systeem zoals de video timing generator in vhdl te beschrijven, te verifiëren door simulatie, te synthetiseren en in te laden in een fpga. Voorkennis De modules 1a, 1b en 1c moeten eerst doorlopen worden. Classificatie Doelgroep: Student Versie: 1.0 Datum: 1/4/05 Dit materiaal werd ontwikkeld of aangepast met steun van het Europese Sociaal fonds. ESF: Bijdragen tot de ontwikkeling van de werkgelegenheid door het bevorderen van inzetbaarheid, ondernemerschap, aanpasbaarheid en gelijke kansen, en door het investeren in menselijke hulpbronnen. http://www.esf-agentschap.be Moeilijkheidsgraad van 1 tot 5 : 1 Aantal uren (zonder begeleiding) : 1.5 a 2 Gegeven De volgende folders/files vind je onder module2a: Hardware : alle files nodig om System1 (zie opdracht) op te bouwen Simulation : alle files nodig om System1 te simuleren Implementation : constraints file om System1 te implementeren Deze drie folders brengen automatisch wat structuur in je ontwerp zodat je later gemakkelijk bepaalde stukken kan terugvinden en hergebruiken in andere ontwerpen. IMEC2005 www.mtc-online.be Lab6Mod2aV1.0.doc www.mtc-online.be 2/15

Opdracht 1. Generatie van de pixel klok en de reset voor de Video timing generator. Op het bord wordt met een xtal een 100MHz klok aangemaakt en verbonden met de fpga. Deze klok wordt niet rechtstreeks gebruikt als pixel klok aangezien deze igv. vga aansturing 25MHz moet zijn. Daarom wordt op de fpga deze 100MHz klok gedeeld door 4. De gemakkelijkste en beste manier om dit te bereiken op een Xilinx VirtexII-pro is een Digital Clock Manager (DCM) te gebruiken. De FPGA op het XUP bord bevat acht van deze units. Met een DCM kan je klokken delen, vermenigvuldigen en in fase verschuiven. Intern beschikken deze units over een DLL (Delay Locked Loop) wat het mogelijk maakt om de skew op de output klok volledig te elimineren tov de input klok. Deze units hebben echter een opstarttijd nodig tijdens dewelke de output klok(ken) nog niet de correcte frequentie en/of fase hebben. Gedurende deze opstarttijd blijft de locked output laag. Meer info vind je in de Virtex-II pro Platform FPGA User Guide. Om het voor de student simpel te houden werd een ClkAndResetGen entity aangemaakt die gebruik maakt van een DCM om de pixel klok en de asynchrone reset te sturen. ENTITY ClkAndResetGen IS generic( Div_factor : real := 4.0 ); port( SYSTEM_CLOCK : in std_logic; -- 100 MHz clock Clk : out std_logic; -- 50/25 MHz clock Reset_n : out std_logic -- active low reset ); end ClkAndResetGen; De vereenvoudigde architectuur ziet er als volgt uit : Figuur 3 2. Samenstellen van het complete te implementeren systeem System1 In System1.vhd wordt het volledig systeem samengesteld. De complete architectuur staat in de inleiding van deze module. Zoals je kan zien in het VHDL model van de digitaal analoog converter introduceert deze DAC een extra klok vertraging op de RGB signalen. Vraag 2 : Wat is de functie van flipflop op de horizontale en verticale synchronisatie pulsen in figuur1? Vraag 3 : In Systeem1 houden we de RGB waarden vast, maar indien we de RGB waarden lieten veranderen dan zouden we die ook eerst door een flipflop op de dalende flank van de pixel klok moeten sturen, net zoals het VGA_OUT_BLANK_Z signaal (=video_on in de VideoTimingGen). Waarom zijn deze flipflops nodig? 3. Simulatie van System1 Simuleer System1 met Modelsim in de directory module2a/simulation. Alle nodige files vind je in de directory Hardware en Simulation. Deze opsplitsing zorgr ervoor dat de testbenches en de te implementeren hardware netjes gescheiden blijven. In dit lab zullen we het Constants_pack compileren in de library Const_lib en het General_TB_pack in de library General_TB_lib. Al de rest compileren we in library work. Figuur 2 Vraag 1 : waarom is die extra flipflop nodig? Figuur 4 cd module2a/simulation vlib work vlib Const_lib vlib General_TB_lib vcom -work Const_lib../Hardware/Constants_pack.vhd vcom../hardware/clkandresetgen.vhd vcom../hardware/videotiminggen.vhd vcom../hardware/system1.vhd vcom -work General_TB_lib General_TB_pack.vhd Lab6Mod2aV1.0.doc www.mtc-online.be 3/15 Lab6Mod2aV1.0.doc www.mtc-online.be 4/15

vcom tripledac.vhd vcom TB_System1.vhd De student die van een uitdaging houdt kan de VHDL files en de library structuur aanpassen zodanig dat library work niet meer gebruikt wordt. Figuur 5 Simuleer nu TB_System1. Zorg ervoor dat de IO van System1 in de waveform viewer zichtbaar worden zodat je timing van de sync signalen kan checken. Alleen op tijstip 0 ns mag je volgende warnings krijgen. # ** Warning: NUMERIC_STD.">=": metavalue detected, returning FALSE # ** Warning: NUMERIC_STD.">=": metavalue detected, returning FALSE # ** Warning: NUMERIC_STD."=": metavalue detected, returning FALSE # ** Warning: NUMERIC_STD."<": metavalue detected, returning FALSE # ** Warning: NUMERIC_STD."<": metavalue detected, returning FALSE 2. Kies de juiste FPGA 4. Implementatie van System1 Deze stap mag je alleen beginnen als de simulatie perfect verlopen is, teneinde een beschadiging van het scherm door een verkeerde aansturing te vermijden. De System1.ucf file bevat alle constraints waarmee de synthese en de place en route tools moeten rekening mee houden. Deze zijn : De periode van de SYSTEM_CLOCK. Op het bord staat een Xtal van 100 MHz, dus : TIMESPEC "TS_SYSTEM_CLOCK" = PERIOD "SYSTEM_CLOCK" 10.00 ns HIGH 50 %; De pin posities van de FPGA : NET "SYSTEM_CLOCK" LOC = "AJ15"; NET "VGA_VSYNCH" LOC = "D11"; De configuratie van de IOs NET "VGA_VSYNCH" IOSTANDARD = LVTTL; NET "VGA_VSYNCH" DRIVE = 12; NET "VGA_VSYNCH" SLEW = SLOW;. Let speciaal op het volgende : 1. VHDL bussen worden compleet geexpandeerd en aangeduid met <> ipv. ()! 2. De naam van de constraints file moet als extensie.ucf hebben en niet.ucf! Start de project navigator van ISE 1. Open een nieuw project in de directory module2a/implementation met als project naam:system1. Lab6Mod2aV1.0.doc www.mtc-online.be 5/15 Lab6Mod2aV1.0.doc www.mtc-online.be 6/15

3. Voeg de bestaande VHDL Hardware files toe, dus selecteer Next en niet New Source Voeg de VHDL files als VHDL Design Files toe, zonder ze te kopiëren naar je project. Lab6Mod2aV1.0.doc www.mtc-online.be 7/15 Lab6Mod2aV1.0.doc www.mtc-online.be 8/15

4. Creëer de Const_lib VHDL library : Project new source Voeg het constants_pack toe aan de Const_lib library.(via rechtermuisknop) 5. Voeg de constraints file toe aan System1 Project add source In de library view krijg je nu: Lab6Mod2aV1.0.doc www.mtc-online.be 9/15 Lab6Mod2aV1.0.doc www.mtc-online.be 10/15

8. Genereer de bit (download) file 9. Connecteer het XUP bord.(power switch = OFF!) Sluit stroom, vga en usb connector aan Config source dip switch : selecteer JTAG Zet spanning op 10. Configureer de boundery chain 6. Start de synthese van system1 Configure Device (impact) Cancel automatic selection Output > Cable setup > Platform cable USB File>Initialize chain Vragen : 1. Verklaar alle warnings. 2. Identifieer alle inferred counters, comparators en flip-flops 3. Hoeveel slices en global clocks worden er geinstantieerd? Bekijk het schema : view RTL schematic 7. Implementeer system1 (Place en route) View placed design View routed design Lab6Mod2aV1.0.doc www.mtc-online.be 11/15 Lab6Mod2aV1.0.doc www.mtc-online.be 12/15

De FPGA staat pas als derde element in de boundary scan. Voor de eerste twee selecteer je bypass. Voor de FPGA kies je system1.bit De volgende warning is van geen belang 11. Programmeer de FPGA Selecteer de FPGA met de rechtermuis en selecteer program : Na een succesvol laden krijg je : Lab6Mod2aV1.0.doc www.mtc-online.be 13/15 Lab6Mod2aV1.0.doc www.mtc-online.be 14/15

Je aangestuurde scherm zou nu volledig rood moeten zijn! Lab6Mod2aV1.0.doc www.mtc-online.be 15/15