Kako ustvariti naključno število med 44 do 55?

V

venkatec

Guest
Hi Dear Frnds,

Kako ustvariti naključno število med 44 do 55 v verilog ali VHDL?

 
uporabo LFSR (Linear feedback Shift Register) in lahko ustvarjajo psevdo naključnih številk iz njih uporaba 3 bitov do 44 tako, da bo u naključnih številk od 44 do 52, zdaj dodate dve različni bitov od LFSR register na to u hoteti zaslužiti naključnih številk med 44 in 55.

 
Mislim, da če uporabljate LFSR da imajo zelo dolgo časa, naj dajo enakomerno porazdelitev, vendar kot si rekel, kot se morda ne.Vendar, kot kakšen drug način je, da enakomerna porazdelitev?

 
Z dodajanjem dveh naključnih številk, ki jo že zamenjati distribucijo.Lahko uporabite kartiranje 1 ... 2 ^ n-1 LFSR številka razpon do 44 .. 55 s tabelo ali mod 12 delovanjem.V primeru zadostnega LFSR bitwidth, distribucijo unsymmetry je samo majhen.Opustitev nezaželenih številke je druga možnost.

 
Žal nam je, kot sem mogel priti, kako ste generiranje naključnih številk, lahko PLZ podrobnejši je ...

 
LFSR naključno število generatorji so enakomerno porazdelitev nad njihovimi številka območju 1 ... 2 ^ n-1, kjer je n ist število faz.

Da bi dobili enakomerno porazdelitev v območju 44 .. 55 respectvively 0 .. 11, ki ga potrebujete za kartiranje, da se ohranja uiniformity.

Sem bil razpravljanje kartiranje različnih možnosti: npr pogledate tabele ali mod 12 delovanjem.Vaša prvotna komentar ustvarja tudi kartiranje, ampak krši enotnost in ima razpon od 0 .. 10 namesto zahtevanih 0 .. 11.

 
Hvala za vaše odgovore,

Kako genrate naključno ne med katero koli vrsto (Ex: Vzemite nekaj rane od 55 do 71) z uporabo ukaza $ naključno v verilog.

 
Zdravo Frnd,

I tryed uporabiti skladnjo ste dali, ampak njegovo tiskanje različnih vrednosti
ki niso v območju
oznaka sledi tukaj
-----------
modul test ();
reg a;
reg b;
reg c;
iz žice;
reg [7] območju;

vedno
ponoviti (24)
začeti
# 100
a = 1'b1;
b = 1'b1;# 100
a = 1'b0;
b = 1'b1;

konecVedno @ (a ali b)
začeti
ponoviti (24)
začeti
razpon = 55 $ naključni% 16;
konec
$ spremlja ( "‰ d", območje);
konec

endmoduleproizvodnje sledi tukaj? d 66
#? D 47
#? D 58
#? D 54
#? D 67
#? D 67
#? D 48
#? D 46
#? D 57
#? D 59
#? D 64
#? D 49
#? D 63
#? D 50
#? D 69
#? D 69
#? D 42
#? D 41
#? D 62
#? D 55
#? D 55
#? D 44
#? D 51
#? D 47
#? D 41
#? D 44
#? D 42

Bi mi pravilna rešitev?

Hvala,
venkat KDodano po 1 uri 6 minut:Zdravo Frnd,

Imam rešitev za ta

moramo uporabiti ukaz naključno všeč.
bi morali uporaba () oklepajih, kot spodaj.
% 16;

razpon = 55 () $ naključno%
16;

To daje vrednosti od 55 do 77Hvala,
venkat KDodano po 5 minut:Zgoraj ena daje vrednost med 55 do 71
ne od 55 do 77 ...

 

Welcome to EDABoard.com

Sponsor

Back
Top