ReOrg Praktikum 3

by

These are notes taken during the ReOrg practical course 2005. Sources are prepared in such a way that tutors can easily check if they were just copied from here. So do yourself a favor and don't copy it.

Versuchsvorbereitung

  1. Warum werden die Eingänge in der ALU aus Abschnitt 2.2 intern auf 5 Bit erweitert? Eigentlich handelt es sich doch um eine 4 Bit ALU, oder?

    • Generierung des Übertrages (notwendig in ALU_SLL, ALU_ADD)

  2. Erläutern Sie, wie diese ALU den auslaufenden Übertrag ermittelt!

    • Übertrag aus temp_s(4) (abgeschnittenes 5. Bit des Ergebnisses von ALU_ADD und ALU_SLL)

    • bei ALU_AND und others immer 0

  3. Wie lässt sich die in Aufgabe 1 zu implementierende arithmetische Rechtsschiebeoperation prinzipiell realisieren?

    • temp_a(3) gibt Vorzeichen an

    • temp_a(3) wird wieder auf temp_s(3) zugewiesen

    • temp_s(4) (cout) ergibt sich aus temp_a(0)

    when ALU_SRA =>
          temp_s(4) <= temp_a(0);
          temp_s(3) <= temp_a(3);
          temp_s(2) <= temp_a(3);
          temp_s(1) <= temp_a(2);
          temp_s(0) <= temp_a(1);
  4. Geben Sie die Parametrisierung (d.h. das generic map-Konstrukt) und das port map-Konstrukt für das LPM_RAM_DQ-Modul an, wenn ein 16 × 8 Bit-RAM mit synchronem Ausgang modelliert werden soll!

    generic map(lpm_width       => 8,
          lpm_widthad         => 4, -- 2**4=16
          lpm_outdata         => "REGISTERED",
          lpm_indata          => "REGISTERED",
          lpm_address_control => "REGISTERED"
    )
    port map (data    => write_data,
          address   => address(3 downto 0),
          we        => we,
          inclock   => clk,
          outclock  => clk,
          q         => read_data
    );
  5. Versuchen Sie den VHDL-Code der folgenden Aufgaben weitestgehend vorzubereiten!

    unter Aufgaben