Ajută-mă să proiectaţi un contor cu condiţiile mele

T

test_out

Guest
Buna, vreau să proiecteze un contor cu aceste condiţii: - Când RO = START 1 contra conta. - După ce contra număra până la 36, ​​opri. - Şi apoi, când en = 1, din nou, începe să conteze. Dar am couldnt fac porni şi opri ca dorinta mea. Are cineva are Prete ideală pentru acest lucru?
 
încercaţi acest lucru. Eu cred că va funcţiona, dar nu am timp suficient pentru a testa procesul de (EN, CNT) începe dacă en = '1 'conta, apoi
 
ce tip de semnal Enable este faptul că acesta este + EDGE-am permite semnal sau este la nivel sensibil!!!
 
Bună test_out, caietul de sarcini pe Enable nu este clar. Dacă enable este unul numărul va începe şi ceea ce se întâmplă cu Enable după care. Acest lucru este important, deoarece semnalul enable este critică pentru caietul de sarcini u cerut. Să presupunem că, dacă avem în vedere că semnalul de activare va fi de la "ridicat" doar pentru un timp, adică la fel ca un impuls de declanşare, atunci de design va fi ceva de genul asta. Putem adauga un pieptene-logică pentru a da ceasul pentru a contracara, care depinde, de asemenea, valoarea numărului şi semnalul enable. Cred că acest lucru ar ajuta. a verifica afară pentru schema bloc ..
 
Va multumesc tuturor pentru ajutor, Hi koppolu1981, în cazul meu nu este mare permite doar pentru un timp, dar pentru mult timp, asa ca nu aveti nici un ideal pentru acest lucru?
 
Test_out Bună, chiar dacă aceasta este pentru o lungă perioadă de timp u poate face acest lucru prin luarea unor grijă în pieptene-logica. Ca şi în cazul în enable devine zero înainte de numărul de 36 de contra se va opri de lucru pentru un timp, adică până când acesta devine mare. Dacă enable este ridicat până la 36, ​​atunci numărul de ceas va fi aplicată continuu contra şi contra lucrează continuu ca un mod contra-36.
 
U se poate folosi această logică ----- utilizaţi un semnal de resetare pentru a reseta contorul iniţial .. dacă (de resetare) {cnt_en = 0; CNT = 0;} dacă (CNT == 36) {cnt_en = 0; CNT = 0;} dacă (cnt_en) CNT = CNT +1; dacă (CNT == 0 şi EN = 1) cnt_en = 1; acest lucru poate fi uşor pusă în aplicare în logica digitală
 
Da, dar îmi puteţi da câteva detalii despre comb_logic?
 
[Quote = test_out] Da, dar îmi puteţi da câteva detalii despre comb_logic [/quote]? Aproximativ comb_logic poate fi scrisă în acest way.Pls check-out pentru VHDL / Verilog sintaxa pentru codul de mai jos. intrări: CLK, EN, numărul de [05:00] de ieşire: în cazul în care începe procesul de clk_out (conta = 36) {if (ro = 1) clk_out
 

Welcome to EDABoard.com

Sponsor

Back
Top