1 / 22

Auteursomgeving voor Digitale Componenten

Auteursomgeving voor Digitale Componenten. SIM-PL. Ben Bruidegom Wouter Koolen-Wijkstra. AMSTEL I NSTITUUT F ACULTEIT DER N ATUURWETENSCHAPPEN, W ISKUNDE EN I NFORMATICA U NIVERSITEIT VAN A MSTERDAM. Programma. 14.00 Inleiding SIM-PL Digitale Componenten Demo Simulator Demo Editor

Download Presentation

Auteursomgeving voor Digitale Componenten

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Auteursomgeving voor Digitale Componenten SIM-PL Ben Bruidegom Wouter Koolen-Wijkstra AMSTEL INSTITUUT FACULTEIT DER NATUURWETENSCHAPPEN, WISKUNDE EN INFORMATICA UNIVERSITEITVAN AMSTERDAM

  2. Programma • 14.00 Inleiding SIM-PL • Digitale Componenten • Demo Simulator • Demo Editor • 14.30 Practicum • 14.45 Koffiepauze • 15.00 Demo • Rekenmachine en • Harvard Processor • 15.15 Practicum vervolg • 15.30 Discussie: • Is SIM-PL geschikt voor het VO? • Wat moet er beter? • Wil ik SIM-PL dan gaan gebruiken?

  3. Objecten: Digitale ComponentenHardware met alle in/uitgangen 0 of 1 • Complexiteit • Van poort tot processor • Hiërarchische compositie • Timing 16 bit Processor 16 bit rekenmachine 16 bit ALU 2 * 4 bit opteller Full Adder AND/OR/XOR-poort

  4. Voorbeeld poortschakeling: “Majority Voter” Set value • redundant system a c b a Signal cond. sensor a Majority Voter Valve control b Y Signal cond. sensor b c Vat Signal cond. sensor c valve

  5. Waarheidstabel “Majority Voter” Logica Formule: Y = (a AND b) OR (a AND c) OR (b AND c)Benodigde componenten: - Drie AND-poorten met twee ingangen - Eén OR-poort met drie ingangen

  6. Schema “Majority Voter”

  7. Demo SIM-PL Executer

  8. Complex (hiërarchie) Subcomponenten Input/Output Verbindingen Ontwerpen van componenten en schakelingen Simple (basis) • Basisfiguren • Input/Output • Programmering • Delay

  9. Voorbeeld: 4 bits opteller

  10. Demo SIM-PL Editor • Simple Component • Bouwen XOR poort • Complex Component • Full Adder bouwen uit: • Majority Voter • Twee XOR-poorten

  11. Instruction Memory Registers (16) ALU First Register Address Data Second Register Address Data Destination Reg. Address Data PC Instruction Address 4 bit address 16 bit data 3 bit control 16 bit rekenmachine

  12. Mnemonic Betekenis Voorbeeld Betekenis LOAD rd, imm Laad getal in register LOAD $1, 0x 0020 r1  0x0020 MOVE rd, rt Copy register MOVE $3, $2 r3  r2 ADD rd, rs, rt Optellen registers ADD $5, $6, $7 r5  r6 + r7 SUB rd, rs, rt Aftrekken registers SUB $5, $6, $7 r5  r6 - r7 ADDI rd, rs, imm Optellen register en constante ADDI $5, $6, 0x1234 r5  r6 + 0x1234 SUBI rd, rs, imm Aftrekken register en constante SUBI $7, $6, 0x1234 r7  r6 - 0x1234 Instructieset

  13. 16 bit rekenmachine SUBI $4, $3, 0100

  14. Demo rekenmachine

  15. Van rekenmachine  processor • Toevoegen: • Data Memory • Componenten om “loopjes” te kunnen executeren

  16. Uitbreiding met Data Memory Instruction Memory Registers (16) DataMemory ALU Register # PC Address Instruction Register # Address Data out Register # Data in Data Bij een Harvard architectuur is het geheugen gescheiden in twee delen: instructiegeheugen en datageheugen

  17. LW rd, rs ,index Load Word from Memory LW $2, 0x8($1) R2 Address (8 + r1) SW rs, rt, index Store Word to Memory SW $2, 0x8($1) Address (8 + r1) r2 Uitbreiding instructieset: Instruction Memory Registers DataMemory 100 ALU 1st register # PC Instruction 2nd register # Address Address Dest. reg. # Data Data SW $r0, 100($r1) Memory[$r1 + 100] = $r0

  18. BRA offset Branch Always to “label” BRA label PC  PC + offset BZ rt, offset Branch if rt = 0 BZ $6, end If (r6 = 0) goto ‘end’ BEQ rs, rt, offset Branch if rs = rt BEQ $6, $8, loop If (r6 = r8) goto ‘loop’ 0004 0009 Instruction Memory ADD DataMemory Offset FFFB 1st register # Branch & LOAD z Instruction 2nd register # PC Address ALU Address Dest. reg. # Data out Data in Data out Registers Uitbreiding hardware en instructieset voor ‘loopjes’:

  19. De status van de Harvard machine na het uitvoeren van de instructie Load Immediate 0x01FD

  20. Waarom SIM-PL? • Geeft inzicht in de werking van digitale schakelingen op alle niveau’s • Auteursomgeving voor docenten en scholieren • Geschikt voor “profielwerkstukken” • Uitgewerkt werkstuk met handleiding voor Mastermind • Beschikbaar onder GPL licentie (Free Software)http://staff.science.uva.nl/~benb/SIM-PL • Wordt toegepast in het WO en binnenkort ook in het HBO • Project Digitale Universiteit i.s.m. Hogeschool van Amsterdam To do

  21. SIM-PL geschikt voor het voortgezet onderwijs? • Verbeteringen: • Gebruikersvriendelijker Editor • Undo optie • .. • .. • Uitbreidingen • Toevoegen C-Compiler • .. • ..

  22. Toepassen van SIM-PL in het VO? • Wie van jullie wil het gaan gebruiken? • Toegepast bij VWO-scholieren • Beta-festival (2 keer) • Schoolklassen uit Zaandam en Weert

More Related