edk – laborator 1 proiect hardware simpluradio.ubm.ro/ea/documente/cursuri_laboratoare/sisteme...

18
Numai pentru uz academic EDK – Laborator 1 Proiect Hardware Simplu

Upload: trinhdung

Post on 14-Feb-2018

222 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: EDK – Laborator 1 Proiect Hardware Simpluradio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme dedicate/ED… · circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului

Numai pentru uz academic

EDK – Laborator 1

Proiect Hardware Simplu

Page 2: EDK – Laborator 1 Proiect Hardware Simpluradio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme dedicate/ED… · circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului

Proiect hardware simplu www.xilinx.com/univ 1-3 Procesorul MicroBlaze [email protected]

Laborator 1: Proiect Hardware Simplu

Introducere

Acest laborator prezintă procesul utilizării mediului Xilinx Platform Studio (XPS) pentru a crea un sistem procesor simplu destinat plăcii Spartan-3E Starter.

Obiective

• Crearea unui proiect XPS prin utilizarea Base System Builder (BSB); • Crearea unui proiect hardware simplu prin utilizarea modulelor IP (Intellectual Property) Xilinx

disponibile în pachetul Embedded Development Kit.

Procedură

Scopul acestor laboratoare este de a prezenta proiectarea unui sistem procesor hardware şi software complet. Fiecare laborator se va baza pe laboratorul precedent. Următoarea diagramă reprezintă proiectul complet (figura 1-1).

Figura 1-1. Proiectul complet

MicroBlaze

BRAM

PLB

PSB

UART

INTC

Timer

GPIO

GPIO

MY IP

LEDs

LCD

MDM

IBA ICON

Controler

LMB

BRAM

Controler

LMB

BRAM

Page 3: EDK – Laborator 1 Proiect Hardware Simpluradio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme dedicate/ED… · circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului

Proiect hardware simplu www.xilinx.com/univ 1-4 Procesorul MicroBlaze [email protected]

În acest laborator, se va utiliza utilitarul BSB al sistemului XPS pentru a crea un sistem procesor constând din următoarele module IP (figura 1-2):

• Procesorul MicroBlaze • Modulul pentru depanare MDM • Magistrala PLB • Controlere LMB BRAM pentru memoria BRAM • Memoria BRAM • Modulul UART pentru comunicaţia serială • Modulul GPIO pentru LED-uri

Figura 1-2. Module IP pentru procesor

Acest laborator cuprinde trei etape principale: crearea unui proiect utilizând utilitarul Base System

Builder, analizarea proiectului creat, respectiv generarea listelor de conexiuni pentru procesor şi modulele hardware IP.

Pentru fiecare procedură dintr-o etapă principală, există indicaţii generale (puse în evidenţă prin simbolul ). Aceste indicaţii generale reprezintă doar un plan general pentru execuţia procedurii. Sub aceste indicaţii generale, se găsesc instrucţiuni pas cu pas şi figuri ilustrative care oferă detalii suplimentare pentru execuţia procedurii. Dacă se cunoaşte modul de execuţie a unei proceduri, se poate trece peste instrucţiunile pas cu pas şi se poate continua cu următoarea indicaţie generală.

MicroBlaze

BRAM

PLB

PSB

UART

INTC

Timer

GPIO

GPIO

MY IP

LEDs

LCD

MDM

IBA ICON

Controler

LMB

BRAM

Controler

LMB

BRAM

Page 4: EDK – Laborator 1 Proiect Hardware Simpluradio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme dedicate/ED… · circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului

Proiect hardware simplu www.xilinx.com/univ 1-5 Procesorul MicroBlaze [email protected]

Crearea proiectului utilizând Base System Builder Etapa 1

Fluxul general pentru acest laborator:

Lansaţi în execuţie programul Xilinx Platform Studio (XPS) şi creaţi un nou proiect pentru placa Spartan-3E Starter utilizând Base System Builder. Selectaţi procesorul MicroBlaze™, frecvenţa de ceas a magistralei procesorului la 50 MHz şi modulul On-Chip H/W debug module ca interfaţă de depanare.

� Lansaţi în execuţie XPS selectând Start → All Programs → Xilinx Platform Studio 9.2i → Xilinx

Platform Studio).

Nu selectaţi Xilinx Platform Studio SDK; aceasta va lansa mediul de dezvoltare Software

Development Kit.

� Apare următoarea casetă de dialog; selectaţi OK pentru a crea un proiect utilizând Base System

Builder. Dacă aţi selectat Cancel, puteţi selecta File → New Project şi va apare aceeaşi casetă de dialog. Selectaţi opţiunea Base System Builder wizard şi apoi butonul OK pentru lansarea utilitarului (figura 1-3).

Figura 1-3. Crearea unui nou proiect utilizând Base System Builder

Aceasta va deschide caseta de dialog Create New XPS Project using BSB Wizard (figura 1-4).

!

Etapa 1: Crearea

proiectului utilizând BSB

Etapa 2: Analizarea proiectului

creat

Etapa 3: Generarea listei de

conexiuni

Etapa 4: Generarea

şirului de biţi şi configurarea circuitului

Page 5: EDK – Laborator 1 Proiect Hardware Simpluradio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme dedicate/ED… · circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului

Proiect hardware simplu www.xilinx.com/univ 1-6 Procesorul MicroBlaze [email protected]

Figura 1-4. Caseta de dialog Create New XPS Project using BSB Wizard

� Navigaţi la directorul propriu din directorul D:\Student, executaţi un clic pe pictograma Create a

new folder, introduceţi numele edk1 şi apăsaţi tasta Enter. Executaţi un clic pe butonul Open şi apoi pe butonul Save. Important: Asiguraţi-vă că nu aveţi spaţii în întreaga cale de directoare.

� Selectaţi butonul OK pentru a afişa caseta de dialog Welcome to the Base System Builder şi selectaţi opţiunea I would like to create a new design.

� Selectaţi butonul Next pentru a afişa caseta de dialog Select Board (figura 1-5). Specificaţi setările următoare:

¡ Board vendor: Xilinx

¡ Board name: Spartan-3E Starter Board ¡ Board revision: C

Page 6: EDK – Laborator 1 Proiect Hardware Simpluradio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme dedicate/ED… · circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului

Proiect hardware simplu www.xilinx.com/univ 1-7 Procesorul MicroBlaze [email protected]

Figura 1-5. Caseta de dialog Select Board

� Selectaţi butonul Next pentru a afişa caseta de dialog Select Processor (figura 1-6).

Page 7: EDK – Laborator 1 Proiect Hardware Simpluradio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme dedicate/ED… · circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului

Proiect hardware simplu www.xilinx.com/univ 1-8 Procesorul MicroBlaze [email protected]

Figura 1-6. Caseta de dialog Select Processor

� Selectaţi butonul Next pentru a afişa caseta de dialog Configure MicroBlaze Processor (figura 1-7). Verificaţi ca setările să fie următoarele:

¡ Reference clock frequency: 50 MHz

o Aceasta este sursa de ceas externă de pe placa utilizată. Această sursă va fi utilizată pentru a genera ceasul procesorului şi cel al magistralei. Valorile permise pot depinde de circuitul FPGA sau de placa utilizată, deoarece pot fi necesare anumite resurse ale circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului.

¡ Processor–Bus clock frequency: 50 MHz

¡ Debug interface: On-Chip H/W debug module

¡ Local Data and Instruction memory: 8 KB

¡ Cache setup: Enable - neselectat

Page 8: EDK – Laborator 1 Proiect Hardware Simpluradio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme dedicate/ED… · circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului

Proiect hardware simplu www.xilinx.com/univ 1-9 Procesorul MicroBlaze [email protected]

Figura 1-7. Caseta de dialog Configure MicroBlaze Processor

Page 9: EDK – Laborator 1 Proiect Hardware Simpluradio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme dedicate/ED… · circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului

Proiect hardware simplu www.xilinx.com/univ 1-10 Procesorul MicroBlaze [email protected]

Selectaţi LEDs_8Bit (OPB_GPIO, fără întreruperi) şi RS232_DCE (115200 biţi pe secundă, 8 biţi de date, fără paritate, fără întreruperi) ca singurele dispozitive externe. Generaţi aplicaţia şablon pentru testul memoriei şi scriptul pentru editorul de legături (linker).

� Selectaţi Next pentru a afişa caseta de dialog Configure IO Interfaces (1 of 3) (figura 1-8). Verificaţi ca perifericele RS232_DCE şi LEDs_8Bit să fie selectate, iar restul perifericelor să fie neselectate.

¡ RS232_DCE: 115200 biţi pe secundă, 8 biţi de date, fără paritate, fără întreruperi

¡ LEDs_8Bit: perifericul XPS GPIO, fără întreruperi

De notat că numărul perifericelor care apar în fiecare ecran depinde de rezoluţia monitorului.

Figura 1-8. Caseta de dialog Configure IO Interfaces (1 of 3)

!

Page 10: EDK – Laborator 1 Proiect Hardware Simpluradio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme dedicate/ED… · circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului

Proiect hardware simplu www.xilinx.com/univ 1-11 Procesorul MicroBlaze [email protected]

� Selectaţi Next pentru a afişa caseta de dialog Configure IO Interfaces (2 of 3) (figura 1-9) şi deselectaţi restul perifericelor prezente.

Figura 1-9. Caseta de dialog Configure IO Interfaces (2 of 3)

� Selectaţi Next până când se afişează caseta de dialog Add Internal Peripherals şi verificaţi ca niciunul din celelalte periferice să nu fie selectate.

În acest moment se poate selecta Add Peripheral pentru a adăuga alte periferice interne, dar în laboratorul următor se va prezenta o metodă alternativă pentru adăugarea perifericelor interne la un proiect existent.

� Selectaţi Next pentru a afişa caseta de dialog Software Setup. Lăsaţi aplicaţia şablon Memory

test selectată şi deselectaţi Peripheral selftest (figura 1-10).

Page 11: EDK – Laborator 1 Proiect Hardware Simpluradio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme dedicate/ED… · circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului

Proiect hardware simplu www.xilinx.com/univ 1-12 Procesorul MicroBlaze [email protected]

Figura 1-10. Caseta de dialog Software Setup

� Selectaţi Next pentru a afişa caseta de dialog Configure Memory Test Application (figura 1-11).

Figura 1-11. Caseta de dialog Configure Memory Test Application

� Selectaţi Next pentru a afişa caseta de dialog System Created, care rezumă sistemul creat (figura 1-12).

Page 12: EDK – Laborator 1 Proiect Hardware Simpluradio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme dedicate/ED… · circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului

Proiect hardware simplu www.xilinx.com/univ 1-13 Procesorul MicroBlaze [email protected]

Figura 1-12. Caseta de dialog System Created

� Selectaţi butonul Generate.

Apare o casetă de dialog Finish, indicând fişierele create de BSB.

� Selectaţi butonul Finish pentru a termina generarea proiectului. Dacă apare caseta de dialog Next

Step, verificaţi ca Start Using Platform Studio să fie selectat şi executaţi un clic pe butonul OK.

� Se va afişa o fereastră System Assembly View1 (figura 1-13), indicând perifericele şi magistralele din sistem, ca şi conexiunile sistemului.

Page 13: EDK – Laborator 1 Proiect Hardware Simpluradio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme dedicate/ED… · circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului

Proiect hardware simplu www.xilinx.com/univ 1-14 Procesorul MicroBlaze [email protected]

Figura 1-13. Fereastra System Assembly View1

Page 14: EDK – Laborator 1 Proiect Hardware Simpluradio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme dedicate/ED… · circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului

Proiect hardware simplu www.xilinx.com/univ 1-15 Procesorul MicroBlaze [email protected]

Analizarea proiectului creat Etapa 2

Fluxul general pentru acest laborator:

Selectaţi Project → Generate and View Block Diagram pentru a vizualiza schema proiectului hardware. În panoul System, studiaţi fişierele care au fost create pentru proiect. Utilizând System Assembly View, răspundeţi la întrebările listate în instrucţiunile detaliate.

� Selectaţi Project → Generate and View Block Diagram pentru a vizualiza schema bloc (figura 1-14) şi examinaţi diferitele componente care sunt utilizate în proiect.

Figura 1-14. Vizualizarea schemei bloc a proiectului generat

Se poate mări sau micşora imaginea şi se pot utiliza barele de derulare pentru vizualizarea schemei bloc. Se poate observa procesorul MicroBlaze, controlerele LMB şi modulul de depanare MDM conectate la procesorul MicroBlaze.

Etapa 1: Crearea

proiectului utilizând BSB

Etapa 2: Analizarea proiectului

creat

Etapa 3: Generarea listei de

conexiuni

Etapa 4: Generarea

şirului de biţi şi configurarea circuitului

Page 15: EDK – Laborator 1 Proiect Hardware Simpluradio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme dedicate/ED… · circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului

Proiect hardware simplu www.xilinx.com/univ 1-16 Procesorul MicroBlaze [email protected]

� În partea de jos a schemei bloc vizualizaţi legenda şi porturile externe.

� Închideţi schema bloc.

� În fereastra System Assembly View executaţi un clic pe butonul + (aflat lângă panoul Bus

Interfaces) şi examinaţi vizualizarea expandată (detaliată) a conexiunilor la magistrale ale componentelor sistemului (figura 1-15).

Figura 1-15. Conexiuni detaliate la magistrale

1. Listaţi magistrala la care sunt conectate următoarele periferice:

debug_module: dlmb_cntlr: RS232_DCE:

� Selectaţi panoul Ports şi obţineţi o vedere expandată similară cu cea din figura 1-16.

?

Page 16: EDK – Laborator 1 Proiect Hardware Simpluradio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme dedicate/ED… · circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului

Proiect hardware simplu www.xilinx.com/univ 1-17 Procesorul MicroBlaze [email protected]

Figura 1-16. Panoul Ports

2. Listaţi semnalele (din coloana Net) care sunt conectate la următoarele porturi:

RS232_DCE – RX: RS232_DCE – TX: LEDs_8Bit – GPIO_d_out:

3. Selectaţi panoul Addresses şi listaţi adresele pentru următoarele instanţe:

RS232_DCE – Base Address: RS232_DCE – High Address: LEDs_8Bit – Base Address: LEDs_8Bit – High Address: dlmb_cntlr – Base Address: dlmb_cntlr – High Address: ilmb_cntlr – Base Address: ilmb_cntlr – High Address:

?

?

Page 17: EDK – Laborator 1 Proiect Hardware Simpluradio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme dedicate/ED… · circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului

Proiect hardware simplu www.xilinx.com/univ 1-18 Procesorul MicroBlaze [email protected]

Generarea listei de conexiuni Etapa 3

Fluxul general pentru acest laborator:

Utilizând PlatGen, generaţi lista de conexiuni hardware.

� În XPS, selectaţi Hardware → Generate Netlist sau executaţi un clic pe butonul .

� Examinaţi generarea listei de conexiuni în fereastra consolei pe măsură ce generarea avansează.

� Deschideţi utilitarul Windows Explorer selectând Start → All Programs → Accessories →

Windows Explorer.

� Navigaţi la directorul edk1 al proiectului.

Au fost create mai multe directoare conţinând fişiere VHDL şi liste de conexiuni pentru implementare.

4. Listaţi directoarele care au fost create.

Generarea şirului de biţi şi configurarea circuitului Etapa 4

Fluxul general pentru acest laborator:

Generaţi şirul de biţi şi configuraţi circuitul FPGA.

� În XPS, selectaţi Hardware → Generate Bitstream sau executaţi un clic pe butonul .

� Conectaţi la calculator şi alimentaţi placa Spartan-3E Starter.

?

Etapa 1: Crearea

proiectului utilizând BSB

Etapa 2: Analizarea proiectului

creat

Etapa 3: Generarea listei de

conexiuni

Etapa 4: Generarea

şirului de biţi şi configurarea circuitului

Etapa 1: Crearea

proiectului utilizând BSB

Etapa 2: Analizarea proiectului

creat

Etapa 3: Generarea listei de

conexiuni

Etapa 4: Generarea

şirului de biţi şi configurarea circuitului

Page 18: EDK – Laborator 1 Proiect Hardware Simpluradio.ubm.ro/EA/Documente/Cursuri_Laboratoare/Sisteme dedicate/ED… · circuitului (DCM) pentru a executa divizarea sau multiplicarea ceasului

Proiect hardware simplu www.xilinx.com/univ 1-19 Procesorul MicroBlaze [email protected]

� Deschideţi o sesiune HyperTerminal (Start → All Programs → Accessories → Communications → HyperTerminal) şi setaţi proprietăţile comunicaţiei prin portul COM1 după cum se indică în figura 1-17.

Figura 1-17. Setările portului COM1

� În XPS, selectaţi Device Configuration ���� Download Bitstream.

Trebuie să se afişeze următoarele mesaje în fereastra HyperTerminal (figura 1-18).

Figura 1-18. Fereastra HyperTerminal

Concluzie

Utilitarul Base System Builder poate fi utilizat în XPS pentru a crea un proiect hardware. Sunt create mai multe fişiere, incluzând un fişier MHS reprezentând sistemul procesor. O fereastră System

Assembly View permite vizualizarea schemei bloc a sistemului hardware. După definirea sistemului, se poate crea lista de conexiuni a sistemului procesor. În următoarele laboratoare se vor adăuga alte module la sistem.