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