vhdl

vhdl basis fragen

vhdl basis fragen


Fichier Détails

Cartes-fiches 20
Langue Deutsch
Catégorie Electronique
Niveau Université
Crée / Actualisé 26.02.2017 / 25.11.2017
Lien de web
https://card2brain.ch/box/20170226_vhdl
Intégrer
<iframe src="https://card2brain.ch/box/20170226_vhdl/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Ergänze Signaldeklaration mysignal und mysignal2

 

mysiganl1 <= 2#1100#;  

mysignal2 <= b"1100";    

 

signal mysignal1 : integer;

signal mysignal2 : bit_vector(3 downto 0);

welcher Wert wird c zugewiesen? warum?

A := "111"

B := "1000"

if (A<B) then

  c <= 1;

else

  c <= 2;

end if;

A ist größer als B

weil der Vergleich

zweier unterschiedlich langer Vektoren bitweise von links erfolgt

c <= 2;

Welche Art von wait-statements kennen sie?

Kommentiere diese im bezug auf Synthetisierbarkeit

wait for 20 ns;         --wait for a time (nicht synthetisierbar)

wait;                        --terminierendes wait (nicht synthetisierbar)

wait on clk;              --wait on signal event (synthetisierbar)

wait until clk = `1`;   --wait until true condition (synthetisierbar)

Warum müssen in kombinatorischen Prozessen Wertezuweisungen vollständig in allen Verzweigungen erfolgen?

Gibt es eine kürzere alternative Beschreibung?

Wenn ja, welche?

Fehlende Zuweisungen führen zu speicherndem Verhalten -> synthetiserten Latches.

(in kombinatorischen Prozessen ist dies nicht gewünscht)

Abhilfe: Default-Zuweisungen, vor der Verzweigung.

Für eine zusätzliche Abtaktung des Ausgangs (registered output) bei einem Mealy-Automaten gilt:

Gültige Ausgangswerte liegen grundsätzlich erst nach einer weiteren Taktperiode an.

Es wird zusätzlicher Hardware-Aufwand für die Ataktung notwendig.

Feedback-Schleifen werden sicher verhindert.

Was ist in einem postponed process nicht zulässig?

wait-statements und wertzuweisungen an Signale, ohne Verzögerungszeit

Nennen Sie (vier)

logische Reduktionsoperatoren

(unary reduction logical operators)

and/nand

or/nor

xor/xnor

Welchem Zweck dienen assert-Anweisungen?

Ausnahmebehandlung i.d.R. nur für Simulationszwecke.

Geprüft werden kann damit, ob die Modellierung den erwarteten Bedingungen entspricht.

um die Simulation zu beenden z.B.:
assert now < 100*PERIOD
report "End of simulation"
serverity failure;

package für das Unterprogram - Vorteil?

zusätzlicher body - Vorteil?

Verbesserung der Modularisierung und Wiederverwendbarkeit.

Fehler bzw. Änderungen im Body führen nicht zur Recompilierung der gesamten Hierarchie.

Wieso wird (hier) neben dem Paramter UEBRLF zusätzlich eine Variale UEBRTRG verwendet? -> entity schauen wie Parameter deklariert?!

UEBRLF ist als Ausgang festgelegt -> kann nicht gelesen werden.

Erklären Sie den Begriff

mode

class

im Bezug auf die Paramter des Unterprogramms.

Parametermodus bestimmt die Datenflussrichtung (in, out, inout)

Objektklasse (constant, variable, signal) muss der des Aufrufs entsprechen

 

Was sind generics?

= Konstante, die bei der Initialisierung ein individueller Wert zugewiesen wird

Alternative zu generics? unterschiede?

constants, haben üerall ihren fixen Wert

in welcher Phase werden generics aufgelöst?

in der elaboration phase ( beim compilieren)

beschreibe Syntheseergebnis einer assert-Anweisung?

es gibt kein syntheseergebnis. assert-anweisungen sind ausnahmebehandlungen, und können in synthese und simulation nur als meldung verwendet werden.

Gründe für unerwünschte Latches in gewollten kombinatorischen Schaltung?

Variablen werden gelesen, bevor sie geschrieben werden, z.B. auch durch eine fehlende Initialisierung.

Unvollständige Anweisungen oder fehlende Default-Zuweisung (z.B. fehlendes else / when others)

package body - wann notwendig?

wenn ein Unterprogramm über ein package definiert werden soll

(Das Verhalten des Unterprogramms steht dann im package body)

port modes - benennen und erläutern

IN -> Port kann nur gelesen, nicht geschrieben werden

OUT -> Port kann nur geschreiben werden (auch mehrere Treiber)

INOUT -> Port kann beliebig gelesen und geschrieben werden
BUFFER -> Port kann gelesen und von einem Treiber geschrieben werden

Historische Entwicklung von programmierbaren Geräten

 

die ersten reconfigurierbaren Verbindungen zwischen den ICs, durch die Technologien PAL/PLA oder CPLD

 

Technologische/grundlegende Voraussetzung des FPGAs

 

Die Verbindungen der Hardwareblöcke muss configurierbar sein.

Und um die Blöcke nicht nur ein einziges mal zu verschalten müssen Sie auch reconfigurierbar sein.