Gebruik Quartus II

16
Programmeerbare logica gebruik Quartus II Pagina Robotica - ICT 1 ste leerjaar 3 de graad Elektriciteit - Elektronica VTI Torhout 1 1 Een nieuw project aanmaken 1.1 Opstartscherm Figuur 1: opstartscherm In het lege opstartscherm kan men volgende zaken onderscheiden: De menubar en toolbar voor het opstarten en uitvoeren van opdrachten of functies. Project navigator Window geeft een overzicht van de verschillende files. Tasks Window geeft een alternatieve manier voor het opstarten van diverse taken. Messages Window toont resultaten en boodschappen die bij het uitvoeren van de verschillende taken gegenereerd worden. 1.2 Een nieuw project aanmaken Het aanmaken van een nieuw design binnen Quartus II is een projectmatig gebeuren. Start de “Project Wizard” op via “ File New Project Wizard”. Op deze wijze komen we in stap 1 van 5 van de wizard terecht:

description

Nederlands

Transcript of Gebruik Quartus II

Page 1: Gebruik Quartus II

Programmeerbare logica gebruik Quartus II Pagina

Robotica - ICT 1

ste leerjaar 3

de graad Elektriciteit - Elektronica VTI Torhout

1

1 Een nieuw project aanmaken

1.1 Opstartscherm

Figuur 1: opstartscherm

In het lege opstartscherm kan men volgende zaken onderscheiden:

De menubar en toolbar voor het opstarten en uitvoeren van opdrachten of functies.

Project navigator Window geeft een overzicht van de verschillende files.

Tasks Window geeft een alternatieve manier voor het opstarten van diverse taken.

Messages Window toont resultaten en boodschappen die bij het uitvoeren van de

verschillende taken gegenereerd worden.

1.2 Een nieuw project aanmaken

Het aanmaken van een nieuw design binnen Quartus II is een projectmatig gebeuren. Start

de “Project Wizard” op via “ File New Project Wizard”. Op deze wijze komen we in

stap 1 van 5 van de wizard terecht:

Page 2: Gebruik Quartus II

Programmeerbare logica gebruik Quartus II Pagina

Robotica - ICT 1

ste leerjaar 3

de graad Elektriciteit - Elektronica VTI Torhout

2

Figuur 2: Stap 1 van 5 van de project wizard: directory, naam en top level design

Geef allereerst de plaats op waar je het project op je schijf wil bewaren. Vervolgens geef je

een naam aan je project. Standaard krijgt je top-level design dezelfde naam. Ga vervolgens

naar stap 2 van de project Wizard via de next knop.

Stap 2 laat toe reeds bestaande files aan je project toe te voegen. Vermits dit ons eerste

project is klikken we vervolgens op next.

Stap 3 Identificatie van de te programmeren component. In functie van het gekozen

ontwikkelplatform kan je de correcte gegevens selecteren voor de component. Voor het

DE0 demobord is dit de Cyclone III EP3C16F484C6. Je kan het zoeken vereenvoudigen

door de parameters package en pincount in combinatie met de juiste familie in te geven.

Page 3: Gebruik Quartus II

Programmeerbare logica gebruik Quartus II Pagina

Robotica - ICT 1

ste leerjaar 3

de graad Elektriciteit - Elektronica VTI Torhout

3

Figuur 3: Stap 3 van 5 van de project wizard: selectie van de targetcomponent.

Figuur 4: Stap 4 van 5 van de project wizard: selectie van alternatieve EDA tools.

Aangezien we met de standaard ontwikkelomgeving werken laten we alle pull down

velden op <None> staan. We klikken vervolgens Next.

Page 4: Gebruik Quartus II

Programmeerbare logica gebruik Quartus II Pagina

Robotica - ICT 1

ste leerjaar 3

de graad Elektriciteit - Elektronica VTI Torhout

4

Figuur 5: Stap 5 van 5 van de project wizard: samenvatting van de projectinstellingen.

Als laatste stap krijgen we een overzicht van het pas aangemaakte project. Indien gewenst

kan men nog terugkeren naar de vorige stappen om eventuele wijzigingen door te voeren.

Het projectnavigatie window ziet er als volgt uit, bemerk de dummy design entity in de

project tree:

Figuur 6: De projectnavigator na het aanmaken van een nieuw project.

Page 5: Gebruik Quartus II

Programmeerbare logica gebruik Quartus II Pagina

Robotica - ICT 1

ste leerjaar 3

de graad Elektriciteit - Elektronica VTI Torhout

5

2 Een design aan het project toevoegen

2.1 Een top level design toevoegen aan het project via een schematic file

Figuur 7: Een schematic file toevoegen

Via File New kan je een schematic file toevoegen. Om de link te leggen tussen het

schema en het project is het belangrijk dat de naam van het schema overeenkomt met naam

van het toplevel design (zie stap 1 van de projectwizard). Het is dus aangeraden

onmiddellijk na de aanmaak van het blanco design er de naam van het topleveldesign aan

toe te kennen via Save as.

Figuur 8: De naam van het schematic design moet overeenkomen met het topleveldesign in het project.

Page 6: Gebruik Quartus II

Programmeerbare logica gebruik Quartus II Pagina

Robotica - ICT 1

ste leerjaar 3

de graad Elektriciteit - Elektronica VTI Torhout

6

Om vlot te kunnen werken maken we het schema eerst los uit de Quartus omgeving door

het klikken van de detach button. Maximaliseer vervolgens de schemaeditor zodanig dat

hij het volledige werkvlak inneemt.

Figuur 9: Via de detach button komt de schemaeditor los uit de Quartusomgeving.

Vervolgens kan je met de symbol tool ( knop met And poort) de gewenste symbolen

plaatsen.

Logische poorten (AND, OR, …) kan je terug vinden onder primitives logic.

Bemerk de typische naamgeving: het cijfer op het einde staat voor het aantal ingangen, een

b voor de naam staat voor geïnverteerde ( bolded ) ingangen.

De in- en uitgangspinnen kan je terugvinden onder primitives pin. Door te

dubbelklikken op de pinnen kan je de namen wijzigen.

Page 7: Gebruik Quartus II

Programmeerbare logica gebruik Quartus II Pagina

Robotica - ICT 1

ste leerjaar 3

de graad Elektriciteit - Elektronica VTI Torhout

7

Figuur 10: De symbol tool laat toe om via een browser de gewenste componenten te kiezen.

Figuur 11: Plaats de componenten op het schema

Page 8: Gebruik Quartus II

Programmeerbare logica gebruik Quartus II Pagina

Robotica - ICT 1

ste leerjaar 3

de graad Elektriciteit - Elektronica VTI Torhout

8

Figuur 12: Plaats van pinnen via de symbol tool

.

Figuur 13: Hernoem de pinnen door middel van een dubbelklik

Met behulp orthogonal tool kan je de nodige verbindingen leggen. Met behulp van de

rubberbandig kan je componenten en hun bedrading verplaatsen. Wanneer je

rubberbanding inschakelt kan je 2 componenten verbinden door hun pinnen tegen mekaar

te brengen. Het schema is nu afgewerkt en kan bewaard worden.

Page 9: Gebruik Quartus II

Programmeerbare logica gebruik Quartus II Pagina

Robotica - ICT 1

ste leerjaar 3

de graad Elektriciteit - Elektronica VTI Torhout

9

Figuur 14: Verbinden van de componenten met de orthogonal tool

2.2 Het ontwerp koppelen aan de component

2.2.1 Het project compileren

Start het compilatieproces met behulp van de toolbar:

Figuur 15: Start van het compilatieproces

Dit proces neemt even tijd in beslag. Kijk naar de rondraaiende blauwe zandloper onderaan

in het scherm. Als alles goed gaat eindigt de compilatie met volgende window:

Figuur 16: Einde van het compilatieproces

Page 10: Gebruik Quartus II

Programmeerbare logica gebruik Quartus II Pagina

Robotica - ICT 1

ste leerjaar 3

de graad Elektriciteit - Elektronica VTI Torhout

10

Tijdens het compilatieproces wordt het schema geanalyseerd, gesynthetiseerd en

vervolgens wordt een mapping op onze component gemaakt. Het is altijd handig eens de

warnings te controleren.

Figuur 17: Warnings na het compilatieproces

Wanneer er zich fouten voordoen kan je op de tekstlijnen dubbelklikken en wordt de fout

in het schema aangewezen.

2.2.2 Pinposities toekennen via pin assignments

Via assignments pins open je de pinplanner. Uiteraard is nu de info van onze hardware

onontbeerlijk. Deze vinden we terug in de User manual van ons ontwikkelingsbord.

Dubbelklik hiervoor op de gewenste pin in de Pin planner. Kies de overeenkomstige node

uit de pull down list. De reeds gedefinieerde poorten kleuren rood.

Als alle pinnen gedefinieerd zijn sluiten we de pinplanner en hercompileren we ons

schema nog eens. Bemerk ook de veranderingen in het schema:

Page 11: Gebruik Quartus II

Programmeerbare logica gebruik Quartus II Pagina

Robotica - ICT 1

ste leerjaar 3

de graad Elektriciteit - Elektronica VTI Torhout

11

Figuur 18: Pin planner

Figuur 19: Het schema na gebruik van de Pin planner

3 Simulatie

3.1 Functionele simulatie

Om een simulatie te kunnen uitvoeren moeten we eerst een testvectorfile aanmaken. Hierin

beschrijven we grafisch de onderlinge variaties van de verschillende ingangsignalen

zodanig dat we alle mogelijk ingangstoestanden bestrijken.

Kies hiervoor eerst File New en selecteer Vector Waveform file. Klik vervolgens met

de rechtermuisknop onder Name en selecteer Insert Node

Page 12: Gebruik Quartus II

Programmeerbare logica gebruik Quartus II Pagina

Robotica - ICT 1

ste leerjaar 3

de graad Elektriciteit - Elektronica VTI Torhout

12

Figuur 20: Een vector waveform aanmaken

Figuur 21: Nodes toevoegen aan de Waveform editor

Klik vervolgens op de Node finder button. Klik op de knop list en transfereer de

ingangssignalen vervolgens naar de “Selected Node List”. Klik vervolgens op OK en

nogmaals op OK.

Page 13: Gebruik Quartus II

Programmeerbare logica gebruik Quartus II Pagina

Robotica - ICT 1

ste leerjaar 3

de graad Elektriciteit - Elektronica VTI Torhout

13

Figuur 22: De Node finder

Je krijgt nu de waveform editor met een aantal ingangen. Bedoeling is dat we aan elke

signaal een klokvormig signaal aanbrengen. Door de periode telkens te verdubbelen zorgen

we ervoor dat we alle mogelijke ingangscombinaties voorkomen. Selecteer hiervoor eerst

het gewenste signaal en klik vervolgens op de “overwrite klok” button.

Figuur 23: Test signalen editeren met de Waveform editor

Bewaar de files met de extensie *.vwf. Deze wordt toegevoegd aan het project.

Page 14: Gebruik Quartus II

Programmeerbare logica gebruik Quartus II Pagina

Robotica - ICT 1

ste leerjaar 3

de graad Elektriciteit - Elektronica VTI Torhout

14

Dubbelklik op het root symbool in het project ( gele driehoek gevolg door

componentnaam) en controleer of de simulatie mode op Functional staat : Je kan hier ook

een alternatieve input wavevorm kiezen.

Figuur 24: Simulator settings instellen

Maak vervolgens een functionele netlist aan :

Figuur 25: Aanmaken van een Functional simulation netlist

Start vervolgens de simulatie:

Figuur 26: Simulatie starten

Page 15: Gebruik Quartus II

Programmeerbare logica gebruik Quartus II Pagina

Robotica - ICT 1

ste leerjaar 3

de graad Elektriciteit - Elektronica VTI Torhout

15

Figuur 27: Resultaat van de functionele simulatie

Aan de hand de functionele simulatie kan men controleren of ons schema de te verwachten

resultaten geeft.

3.2 Simulatie van de Timing

Wanneer we de functionele werking van onze schakeling geverifieerd hebben dan kan je

vervolgens een simulatie uitvoeren rekening houdend met de interne vertraginstijden van

de CPLD. Wijzig hiervoor de simulator setting( Figuur 24: Simulator settings instellen)

door de simulation mode op timing te zetten. Run vervolgens opnieuw de simulator. Bij

complexere schakelingen stellen we een vertragingstijd vast.

Figuur 28: Resultaat van en simulatie met timing info

Page 16: Gebruik Quartus II

Programmeerbare logica gebruik Quartus II Pagina

Robotica - ICT 1

ste leerjaar 3

de graad Elektriciteit - Elektronica VTI Torhout

16

4 Programmeren

Start het programmeren via de knop in de toolbar.

Figuur 29: Opstarten van de programmer

Figuur 30: Het scherm van de programmer

Controleer of de juiste programmer geselecteerd is (wijzig indien nodig met de

Hardwaresetup button) en vink Program aan. Druk vervolgens start. Zolang de

programmatie duurt, brandt het programmatieledje op het bord.