Pagalba: Kas negerai su mano verilog kodas?

J

jordan76

Guest
Labas

Toliau verilgo kodas, aš noriu kurti su RESET terminalo ir terminale iš anksto registruotis.Bet modeliavimo rezultatai rodo, kad jis neatitiko mano reikalavimų.

Could anyone help me out?
Thanks in advance!

linkėjimai,
jordan76

/ / define registras
reg out_en;

visada @ (posedge CLK arba negedge reset_b arba negedge preset_b)
pradėti
if (! reset_b)
out_en <= 1'b0;
else if (! preset_b)
out_en <= 1'b1;
else if (sąlyga) / / jei sąlyga yra teisinga
out_en <= 1'b0;
else if (sąlyga B) / / jei sąlyga B yra tiesa
out_en <1'b1;
pabaiga

 
atrodo, kad viskas ok ..kitų nei reikia daug daugiau prasideda ir baigiasi ..
ypač savo else Clocking sąlygos

visada @ (posedge CLK arba negedge reset_b arba negedge preset_b)
jei (~ reset_b)
out_en <= 1'b0;
kitas
pradėti
jei (~ preset_b)
out_en <= 1'b1;
kitas
pradėti
if (sąlyga) / / jei sąlyga yra teisinga
out_en <= 1'b0;
kitas
if (sąlyga B) / / jei sąlyga B yra tiesa
out_en <1'b1;
pabaiga
pabaiga

jelydonut

PS ..būtų daug lengviau ieškoti, jei jis nebuvo pašalinti pradžioje intervalas kiekvienai linijai ..

 
oh ..pat ..kai imituojanti jūsų nustatyto / CLR sąlygos bus rodomi veikia kaip laikrodis ir atsirasti tik kraštus ..jie negali imituoti kaip async rinkinys / CLR ..so ..jeigu Jums buvo jūsų nustatytas sąlygas, ir tvirtino, CLK atėjo ten visada blokas vis dar bus vykdomi neatsižvelgiant į nustatytą sąlygą ...paprastai jos ne problema ..bet aš jau tai poveikis man prieš ..

jelydonut

 
modeliavimo rezultatus, turėtų būti ok, tačiau reikia atminti laiko santykio async iš naujo ir iš anksto signalų ir laikrodžio krašto.Tiesą sakant, aš
siūlome pakeisti async anksto su sinchroninio preset.Because daug libs neturi tiek async iš naujo ir iš anksto signalus.

 
jei aš ne blogai, verilog neįmanoma describle su RN ir SN FF.

 
claint rašė:

modeliavimo rezultatus, turėtų būti ok, tačiau reikia atminti laiko santykio async iš naujo ir iš anksto signalų ir laikrodžio krašto.
Tiesą sakant, aš

siūlome pakeisti async anksto su sinchroninio preset.Because daug libs neturi tiek async iš naujo ir iš anksto signalus.
 
Visi,
Ačiū už jūsų malonų Pagalba ir pasiūlymų!

Tiesą sakant man reikia tiek asyn RESET_B ir asyn PRESET_B mano
atveju ir RESET_B turi aukščiausią prioritetą vykdymo.

Siekiant išvengti su RN ir SN FF, aš perrašyti tokiu būdu kodas:

reg outen_mw_temp;
viela outen_mw;

visada @ (posedge CLK arba negedge preset_b)
pradėti
if (! preset_b)
out_en_temp <= 1'b1;
kitas
pradėti
if (sąlyga) / / jei sąlyga yra teisinga
out_en_temp <= 1'b0;
else if (sąlyga B) / / jei sąlyga B yra tiesa
out_en_temp <1'b1;
pabaiga
pabaiga

priskirti outen_mw = outen_mw_temp & reset_b;

Modeliavimo rezultatus, atrodo Gerai.Bet, kad komentuoti?

Thanks again!

linkėjimai,
jordan76

 
jordan76 rašė:

Siekiant išvengti su RN ir SN FF, aš perrašyti tokiu būdu kodas:reg outen_mw_temp;

viela outen_mw;visada @ (posedge CLK arba negedge preset_b)

pradėti

if (! preset_b)

out_en_temp <= 1'b1;

kitas

pradėti

if (sąlyga) / / jei sąlyga yra teisinga

out_en_temp <= 1'b0;

else if (sąlyga B) / / jei sąlyga B yra tiesa

out_en_temp <1'b1;

pabaiga

pabaigapriskirti outen_mw = outen_mw_temp & reset_b;Modeliavimo rezultatus, atrodo Gerai.
Bet, kad komentuoti?
 
z81203 rašė:Hi, are you sintezė tai?
miršta jis atitinka?
Could you tell me rezultatas sintezė?

thx.
 

Welcome to EDABoard.com

Sponsor

Back
Top