Hardware Reference
In-Depth Information
A.2.5 Pseudo-Zufallstest (Tuc.Zufallstest)
Das Package stellt Funktionen zur Erzeugung gewichteter pseudo-zufälliger
Bit- und Bitvektorwerte bereit, die den Zustand in einer globalen Package-
Variablen speichern. Die Wichtung ist die Auftrittshäufigkeit des Bitwertes
»1«. Die Datentypen zur Vorgabe der Wichtung sind
subtype
tWeight
is
real
range
0.0
to
1.0
;
type
tWeightVec
is array
(natural
range
<>)
of
tWeight;
Der Parameter »px« erlaubt es zusätzlich, eine Wahrscheinlichkeit p
x
vorzu-
geben, mit der die Bitwerte mit dem Pseudo-Wert »ungültig« belegt werden.
Folgende Funktionen werden exportiert:
impure function
rand
return
real;
-- (1)
impure function
rand(w: tWeight; px: tWeight:=
0.0
)
return
std_logic;
-- (2)
impure function
rand(x:std_logic; px: tWeight:=
0.0
)
return
std_logic;
-- (3)
impure function
rand(wVec: tWeightVec; px: tWeight:=
0.0
)
return
std_logic_vector;
-- (4)
impure function
rand(xVec:std_logic_vector; px: tWeight:=
0.0
)
return
std_logic_vector;
-- (5)
(1) Rückgabe eines Pseudo-Zufallswertes im Bereich von 0.0 bis 1.0.
(2) Rückgabe eines Bitwertes, der mit einer Wahrscheinlichkeit p
x
ungültig,
mit einer Wahrscheinlichkeit w (1 p
x
) »1« und sonst »0« ist.
(3) Rückgabe eines Bitwertes, der mit einer Wahrscheinlichkeit p
x
ungültig,
mit einer Wahrscheinlichkeit 0;5 (1 p
x
) »1« und sonst »0« ist. Der
Übergabeparameter »x« dient nur zur Unterscheidung des Funktionsauf-
rufs von denen der anderen überladenen Funktionen »rand«.
(4) Rückgabe eines Bitvektors, in dem jedes Bit i mit einer Wahrscheinlichkeit
p
x
ungültig, mit einer Wahrscheinlichkeit w
i
(1 p
x
) »1« und sonst »0«
ist.
(5) Rückgabe eines Bitvektors, in dem jedes Bit i mit einer Wahrscheinlichkeit
p
x
ungültig, mit einer Wahrscheinlichkeit 0;5(1 p
x
) »1« und sonst »0«
ist. Der Parameter »xVec« legt nur die Vektorbreite des Rückgabewertes
fest.