1 / 12

5 JJ2 0: Computerarchitectuur

5 JJ2 0: Computerarchitectuur. EIT OGO-1.2 addendum (2) : Geheugens en timing in IDaSS. Geheugens in IDaSS: overzicht. Vijf basistypen mogelijk met vele instel-opties RAM en ROM Stack (‘Last-In-First-Out’) en ‘First-In-First-Out’ ‘Content Addressable Memory’: zoeken in hardware !

avon
Download Presentation

5 JJ2 0: Computerarchitectuur

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. 5JJ20: Computerarchitectuur EIT OGO-1.2 addendum (2):Geheugens en timing in IDaSS

  2. Geheugens in IDaSS: overzicht • Vijf basistypen mogelijk met vele instel-opties • RAM en ROM • Stack (‘Last-In-First-Out’) en ‘First-In-First-Out’ • ‘Content Addressable Memory’: zoeken in hardware ! • Meestal lezen en schrijven via ‘poorten’ • ‘Read-only’, ‘Write-only’, ‘Read-write’ of vast adres • Poort commando’s naar adres ingangen sturen:RAM\\addr Write; • Andere commando’s direct naar geheugenblok:STACK Push;

  3. Geheugens in IDaSS: simulatie • Menu ‘edit’, ‘contents’ opent ‘memory viewer’ • Laat inhoud zien (binair, hex, decimaal, ….) • Inhoud direct te veranderen door te typen ! • Geheugen laden van/opslaan in Intel Hex bestand • Worden door assembler aangemaakt: .hex • Automatisch laden mogelijk met IDaSS ‘parameters’: • ‘subsystem’ menu, ‘parameters…’, ‘contents specification’, ‘???’ • Naam kiezen, bijv. ROMfile, dan bestandnaam met enkele ‘ • Geheugen menu ‘file parameter’ en gekozen naam typen Gesimuleerde ROM inhoud komt in FPGA terecht ! In IDaSS ‘parameters’  ‘properties’

  4. Geheugens in IDaSS: synthese in FPGA • Ieder geheugen kent verschillende ‘technologieën’ • Afgeleid van wat écht gesynthetiseerd kan worden Voor synthese MOET een technologie gekozen zijn! • Technologie-keuze beperkt maximale grootte • …en legt aantal, type(n) en timing van poorten vast • Voor meer informatie: • Algemeen over geheugens: shortman.pdf en [F1] • Details over FPGA geheugens: spartan2.pdf ROM synthese gaat niet zomaar…

  5. In TU/e FPGA kastje: Configureerbaar I/O Blok:multi-standaard, FF’s, testbaar 4 Kilobit twee poort RAM blok:‘vervormbaar’ - 4K x 1 .. 256 x 16 Configureerbaar Logisch Blok:4-in ‘poort’, FF, ‘+’/ ‘’ logica Klok buffer met synchronisatie Intermezzo: Xilinx FPGA technologie • ‘Field Programmable Gate Array’s • Logica, opslag en verbindingen configureren met RAM 5292 poort/FF combi’s,bruikbaar als 75 Kbit RAMmax.  200K 2-in NAND’s 139 I/O pinnen bruikbaar 4 stuks 14 blokken = 7 Kbyte

  6. klok adres x y in din uit ??? (x) din commando ‘read’ ‘write’ RAM/ROM technologieën voor FPGA (1) • Grote ‘synchrone’ RAM’s en ROM’s: 4Kbit RAMs • Lezen duurt een klokslag, ‘read’ commando nodig Uitgang pas laat in klok stabiel: niet meer mee rekenen ! • Maximaal twee onafhankelijke lees/schrijf poorten ‘latched output’ Schrijfactie leest !

  7. klok adres p q y in din uit (p) (q) (y) (y)=din commando ‘write’ RAM/ROM technologieën voor FPGA (2) • Kleine ‘asynchrone’ RAM’s en ROM’s: in ‘CLB’s • Uitgang volgt adres direct, geen commando’s nodig • Duur in logica, grotere versies (> 16 woorden) traag • RAM heet ‘register file’: set genummerde registers 1,5 port register file: 1 lees/schijf + 1 ‘read-only’ poort

  8. Timing in IDaSS • De ‘CLOCK’ knop simuleert hele klokslagen • Laat toestand vlak vóór aktieve klokflank zien • ‘Huidige’ opgeslagen waarden • Hieruit combinatorisch ‘berekende’ waarden Klaar voor laden in registers, geheugens, FSM toestanden • Hierachter zit echter volledige tijd-simulatie ! • Toegang via ‘time/simulation’, ‘settings…’ menu’s • Klokperiode en ‘reset-to-first-clock’ tijden instellen • Tijdweergave en ‘CLOCK’ knop werking instellen

  9. Minimale tijd FF D ingangenstabiel voor klok (“setup time”) Vertraging klok flip-flop uitgang klok FF Q’s Register / flip-flop uitgangen stabiel Gegeven, veranderbaar, getest tijdens simulatie Gegeven, eventueel te veranderen B-bus PC waarde stabiel C-bus PC + 1 stabiel Vertraging besturingen tri-state buffer Vertraging ALUingang B  bus-C Tijd over:klok kàn sneller ! Uit simulatie, opvraagbaar als ‘setup time margins’ lijst Timing van het datapad: PC + 1

  10. ‘Abstracte’ timing • Timing vastgelegd in idass.tec bestand • Met constanten en formules: niets aan veranderen ! • Met locale ‘edit’, ‘timing…’ menu’s te veranderen • Gebaseerd op 2 nanoseconde NAND vertraging • Werkelijkheid is sneller: FPGA is 2 tot 5 keer zo snel • IDaSS timing is ‘worst case’: geen optimalisaties ! • Klokcyclus is 100 ns.: 50 poorten kritiek pad is erg kort • Bij ‘setup time error’s klokcyclus verlengen… Probeer onder 130 ns. te blijven !

  11. Commentaar en documentatie • Complex systeem: werk gestructureerd ! • Denk eerst goed na en discussieer • Leg vast wat gemaakt moet worden • Bij ‘inkloppen’: eerst commentaar, dan de code • In IDaSS overal commentaar aan te knopen • “In tekst-specificaties tussen dubbel-quotes” • In ‘file/system’ menu ‘comment window’ openen !! • Klik in schema’s, typ commentaar, ‘save’ • Automatisch documentatie genereren mogelijk

  12. Systeemintegratie • Met groep systeem bouwen niet eenvoudig ! • Begin met opzetten (lege) schemastructuur • Dan distribueren voor invullen van de delen • Deelsystemen integreren tot één geheel • Opnieuw distribueren voor verdere invulling, etc. • Blokken en schema’s copieëren via ‘temp’ • ‘File out’, ‘to temp’ en ‘add block’, ‘from temp’ • Tussen IDaSS ‘sessies’ op één PC • Tekst ‘copy & paste’ via Windows clipboard Precisiewerkje, planning nodig !

More Related