220 likes | 355 Views
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
E N D
Auteursomgeving voor Digitale Componenten SIM-PL Ben Bruidegom Wouter Koolen-Wijkstra AMSTEL INSTITUUT FACULTEIT DER NATUURWETENSCHAPPEN, WISKUNDE EN INFORMATICA UNIVERSITEITVAN AMSTERDAM
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?
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
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
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
Complex (hiërarchie) Subcomponenten Input/Output Verbindingen Ontwerpen van componenten en schakelingen Simple (basis) • Basisfiguren • Input/Output • Programmering • Delay
Demo SIM-PL Editor • Simple Component • Bouwen XOR poort • Complex Component • Full Adder bouwen uit: • Majority Voter • Twee XOR-poorten
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
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
16 bit rekenmachine SUBI $4, $3, 0100
Van rekenmachine processor • Toevoegen: • Data Memory • Componenten om “loopjes” te kunnen executeren
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
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
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’:
De status van de Harvard machine na het uitvoeren van de instructie Load Immediate 0x01FD
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
SIM-PL geschikt voor het voortgezet onderwijs? • Verbeteringen: • Gebruikersvriendelijker Editor • Undo optie • .. • .. • Uitbreidingen • Toevoegen C-Compiler • .. • ..
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