c++: einlesen mit >>

in = von aussen IN eine Datei (ablegen)
out = von Datei nach aussen geben

#include <iostream>
#include <string>

Über die Konsole kann wortweise über cin eingelesen werden.

std::cin >> wort1;   // ablegen in variable

Will man über die Konsole mehrere Wörter eingeben, so braucht man mehrere Variablen, zum Speichern. Der Datentyp von Eingabe und Variable müssen stimmen.

std::string name;
int alter;

std::cout << "Eingabe Name und Alter \n";

std::cin >> name >> alter

 

Stream ablegen

string datei_name = {"data.txt"};
ifstream stream_a {datei_name};
cout << "Name des Files angeben"; 
string datei_1;
cin >> datei_1 
ifstream stream1 {datei_1}


Einlesen bis

std::string current = "";
std::string end = ".";

// 1.Variante
while ( std::cin >> current ) {
  if (current == end){
      // do action;    
  }
}

Im While wird wortweise eingelesen und das Wort in den String current abgelegt.
Sobald ein spezifisches Wort erscheint, wird eine bestimmte Anweisung erteilt.

Fehlerbehandlung

if (!cin ) {
  error(" Einlesen funtkonierte nicht \n");
}
else {
     do something;
}

Quartus: altera VHDL Programm

Altera-FPGAs können mit Quartus programmiert und kompiliert werden.
Es werden Projekte gebildet, mit der Dateiendung.qpf

Hauptschritte
– Quartus über shell öffnen

quartus13.sh

– Projekt in Quartus öffnen: Menü File/Open Projet
– Projekt am Ende kompilieren: Menü Processing/ Start Compilation

Synthese

  • Bilden des Codes und der Blöcke zu einem System (Kompilieren).
    Es entsteht ein Bitstream. Die Dateiendung ist datei.sof
    Der synthetisierte Code wird per Programmer auf das FPGA geladen.

    In der Synthese werden die Pins zugewiesen.

    Es ist die Anbindung des Codes an Hardware.

  • ADB (Android Debug Bridge)

    Anstelle von ssh kann bei Androidgeräte über adb auf das Gerät zugegriffen werden.
    Die ADB-Verbindung bleibt aufrecht erhalten, auch wenn der PC abgestellt wird.

    Um ADB zu benutzen, wird SDK bzw. Android Tool installiert.

    Aufbauen der VerbindungAufbauen der Verbindung

    adb connect <ip>

    Öffnet die Shell für Befehle

    adb shell

    Gibt die aktive Verbindungen an

    adb devices

    Einzelne Verbindung abbauen

    adb disconnect

    Alle Verbidungen abbauen

    add kill-server

    string

    Liste zu String
    list = [ „ha“, „ba“, „la“ ]
    string = „“.join(list)          out: „habala “
    string = “ „.join(list)          out: “ ha ba la „

    2-dimensionales Array

    Ziel
    3 x 3 Array mit 0 initialisieren

    Struktur: List of list
    Liste mit 3 Elementen, die selbst Listen sind
    array = [ [0, 0, 0],  [0, 0, 0], [0, 0, 0] ]

    Umsetzung simple
    element = [ „0“] * 3
    array = element * 3

    Umsetzung variabel
    for i in range(3):
    .              array.append( [„0“ * 3 ]

    RAM

    SRAM   (Statisches RAM)
    Speicherzellen sind mit Transistoren realsiert. Sie behalten den Zustand auch im Ruhezustand. Bei steigender Flanke werden die Bits übertragen.

    DRAM (Dynamisches RAM)
    Speicherzellen sind Kondensatoren. Diese verlierten die Daten und muss zyklisch „refreshed“ werden. Dies erfolgt Zeilenweise. Jede Zeile wird in einen Zeilenbuffer geladen, dort verstärkt und zurückgeladen.
    Das Auffrischen muss auch im Ruhezstand statt finden, weshalb energiesensitive Geräte auf DRAM verzichten

    DDR-SRAM     (Double-Data-Rate SRAM)
    Die Verdopplung der Datenübertragung erfolgt, weil auch bei der fallenden Flanke Bits übertragen werden. Ausgelesen werden 2 Bit aufs Mal, wobei eines direkt mit dem Takt verarbeitet werden kann und das zweite in den Speicher abgelegt wird und zusätzlich ausgelesen werden muss.

    Es braucht daszu die doppelte Busbreite, als für SRAM

    DDR_RAM

    PC Bewertung

    Prozessor
    LenovoThinkPad Ines:               Core-i7, CPU, 620@2.0 GHz x 4
    Core i7-620M,    2 x 2.6 GHz
    Latop M30 Ines:                            Core-i5-4210U, 4 x 1.7 GHz

    OS-Typ
    LenovoThinkPad Ines:               64 Bit
    Latop Ines:                                    64 Bit

    Memory
    LenovoThinkPad Ines:               4 GB DDR3-SRAM, @ 1 GHz
    Latop Ines:                                    4 GB

    Disk                                                aktuell:  keine SSD-Harddisk
    Lenovo ThinkPad Ines:               320 GB ,    5400RPM
    Latop M-30 Ines:                           500 GB,    5400 rpm, HDD

    Graphics
    LenovoThinkPad Ines:               Intel: Ironlake Mobile
    Latop Ines:                                    HD Graphics 4400,   @1GHz

    Anschlüsse
    LenovoThinkPad Ines:               3 x USB 2.0, RJ45, VGA, Audio 2 x 3.5mm Klinke
    Latop Ines:                                    3 x USB 3.0, RJ45, HDMI, Audio 1 x 3.5 Kllinke

    www.notebookcheck.net