Author Topic: aşteptaţi comanda de punere în aplicare pe hardware-ul ...  (Read 297 times)

jawadysf

  • Guest
Cum se înlocuiesc comanda aşteptaţi la punerea în aplicare codul de pe hardware-ul?

de exemplu, în următorul cod cum să înlocuiască # pentru punerea în aplicare hardware-ului

word_gen modul (CLK, cmd, date, statutul);
CLK de intrare;
de ieşire CMD;
date de ieşire;
Starea de ieşire;
reg cmd, date, starea;
/ / Generarea syns de cuvinte
iniţial
începe
cmd = 1'b1; / / Syns de cuvânt de comandă este on pentru 1.5uses
status = 1'b1; / / Syns de cuvânt Status este on pentru 1.5uses
de date = 1'b0; / / Syns de date cu caracter cuvânt este oprit pentru 1.5uses
# 1.5 cmd = 1'b0; status = 1'b0; de date = 1'b1; / / Syns de date cuvânt este on pentru 1.5uses
# 1.5 $ finisare; / / Syns de commandn şi cuvântul de stare este pentru 1.5uses
final

endmodule


FINALFANTASYFAN

  • Guest
aşteptaţi comanda de punere în aplicare pe hardware-ul ...
« Reply #1 on: July 11, 2006, 08:16:17 PM »
Nu toate declaraţiile HDL sunt synthesizeable.Unele sunt doar dedicate pentru simulare sau mai uşor-codare.Aşteptaţi pentru o anumită perioadă de timp este unul dintre ele.

Dacă doriţi să realizeze o întârziere de timp, care este mult mai mult decât ceasul sistemului, puteţi utiliza un contor să aştepte.Dacă este relativ egal sau chiar mai mică decât ceasul sistemului, trebuie să luaţi pasa de întârziere de propagare a semnalului fizic prin rută şi LUTS pentru a pune în calea aveţi nevoie de întârziere, unele LUTS.Dar este complicat.

În plus, din păcate, Locul şi în faza de traseu poate duce la unele schimbări din cauza unor LUTS adăugată pentru rutare, prin urmare a nu moduri directă între blocuri logice sau între blocuri logică şi blocuri IO.După cum ştiţi, nu este faptul că toate LUTS aveţi nevoie pentru o funcţie logică sunt puse una lângă alta.


jawadysf

  • Guest
aşteptaţi comanda de punere în aplicare pe hardware-ul ...
« Reply #2 on: July 11, 2006, 08:16:17 PM »
I-am dezvoltat codul următoare folosind contra, dar didn'nt obţine rezultatul solicitat ... ((), vă rugăm ajutor.modulul de sincronizare (CLK, permite, de semnal, count);
CLK de intrare;
de intrare a permite;
output [5:0] semnal;
output [2:0] count;
reg [5:0] semnal;
reg [2:0] count;

/ / Increment conta pe ceas
iniţial
count = 0;
întotdeauna @ (CLK sau de a activa sau a numărului)

începe
în cazul în care (a permite)
count = count 1;
începeîn cazul în care (count <= 3'b001)
semnal
  • = 1'b1;

else if (count <= 3'b010)
semnal [1] = 1'b1;
else if (count <= 3'b011)
semnal [2] = 1'b1;
alt
semnal [3] = 1'b0;
semnal [4] = 1'b0;
semnal [5] = 1'b0;
final
final

endmodule


FINALFANTASYFAN

  • Guest
aşteptaţi comanda de punere în aplicare pe hardware-ul ...
« Reply #3 on: July 11, 2006, 08:16:17 PM »
Bineinteles ca nu.

1stly, contra dvs. este misdesigned.

like what you did.

Ar trebui să utilizaţi posedge de CLK pentru a declanşa la ghişeu pentru a face Flip-flop, nu oarba pe doar  permite
ca ceea ce ai făcut.
is assigned back to 6'b00 ???[/i][/b]

2ndary, încercaţi să gândire atunci când  semnalul
este alocat înapoi la 6'b00 ???[/ i] [/ b]


 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71