strobavimo laikrodis problem_How išvengti gedimo?

L

lunren

Guest
Dear all,

Noriu dizainas strobavimo laikrodžio schema, kuri pasirinkti vieną iš dviejų laikrodis asynchrous laikrodžiai.Yra possilbe generuoti gedimo metu pereiti iš vienos laikrodis kitos.Kaip aš galiu suprress tai įmanoma laikrodis glitch?Thanks in advance.

Lunren

 
galite vartai signalą, kuris yra lanched pagal klasifikuojamų krašto laikrodis.Tada ~ & laikrodį galima sustabdyti laikrodį.
Tada naudokite vartai signalas B, kuri yra lanched kylanti krašto laikrodis.Tada B & laikrodį galima atnaujinti laikrodis.

 
Can U paaiškinti daugiau apie šią sąvoką, siekiant išvengti laikrodis strobavimo.

Regards
Shankar

 
johnkelvin minėtas metodas yra naudojamas siekiant išvengti gedimo dėl vieno laikrodis įkrautų.

Tačiau šis metodas gali būti naudojamas, galite pirmiausia pasirinkti vieną parą naudoti mux, ir tada naudokite pasirinktą laikrodžio ir jos galėtų parodyti sintetina produkcija laikrodis

 
Prašome įkelti nuotrauką tam, kad padėtų paaiškinti

 
Aš taip pat reikia šiek tiek apie topic.cound jums suteikti daugiau paaiškinimų pristatymas!

 
http://www.us.design-reuse.com/articles/article5827.html

nuoroda į šį straipsnį

 
Naudojant Laikrodis strobavimo reikia elgtis atsargiai.
Jums gali funkcionuoti RTL kodą, tačiau
profesinės būdas yra padaryti pagal užsakymą, o ne visą
sintezė iš RTL

 
Manau sklandžiai pereiti iš vieno Freq į kitą, gali būti daroma su PLL.Arba gedimo poveikis gali būti sumažintas, jei Freq padalinta ir padauginta iš naujo.

 
Mano nuomone, xv_ning999 yra teisus.Jei norite gauti su glitch kainuoja laikrodis, turite mokėti daugiau išlaidų.Gal įdėti keturis flip-flop yra geras pasirinkimas.

 
Šios nuorodos yra grandinė jums reikia:

http://www.xilinx.com/xlnx/xweb/xil_tx_display.jsp?sGlobalNavPick=&sSecondaryNavPick=&category=&iLanguageID=1&multPartNum=1&sTechX_ID=pa_six_easy

 
Labas
Čia verilog failą ClockMux įgyvendinti.

//************************************************ ************
/ / Laikrodis Multiplexer
//------------------------------------------------ ------------
/ / Jeigu SCK1 yra didelis tada laikrodis output = CKO dar output = CK1
//************************************************ ************
`tvarkaraštis 1ns/1ns
modulis CKMUX (
CK0,
CK1,
PORB,
SCK1,
CKO
)
/ / Vidaus deklaracijos

input CK0;
input CK1;
input PORB;
input SCK1;
produkcija CKO;viela CK0;
viela CK1;
viela PORB;
viela SCK1;
reg CKO;
viela RESB0;
reg OUTFR0, OUTFF0;
reg OUTMUX0;
viela RESB1;
reg OUTFR1, OUTFF1;
reg OUTMUX1;
viela RS, SEL;

/ / RESB0
priskirti RESB0 = PORB & ~ SCK1;

/ / Dfrrl0
visada @ (posedge CK0 arba negedge RESB0)
pradėti
if (! RESB0)
OUTFR0 <= 0;
kitas
OUTFR0 <= RESB0;
pabaiga

/ / Dffrl0
visada @ (negedge CK0 arba negedge RESB0)
pradėti
if (! RESB0)
OUTFF0 <= 0;
kitas
OUTFF0 <= RESB0;
pabaiga

/ / Mux apverstos out0
visada @ (CK1 arba OUTFR0 arba OUTFF0)
pradėti
atveju (CK1)
0: OUTMUX0 = ~ OUTFR0;
1: OUTMUX0 = ~ OUTFF0;
/ / Default: OUTMUX0 = ~ OUTFR0;
endcase
pabaiga

/ / RESB1
priskirti RESB1 = PORB & SCK1;

/ / Dfrrl1
visada @ (posedge CK1 arba negedge RESB1)
pradėti
if (! RESB1)
OUTFR1 <= 0;
kitas
OUTFR1 <= RESB1;
pabaiga

/ / Dffrl1
visada @ (negedge CK1 arba negedge RESB1)
pradėti
if (! RESB1)
OUTFF1 <= 0;
kitas
OUTFF1 <= RESB1;
pabaiga

/ / Mux apverstos out0
visada @ (CK0 arba OUTFR1 arba OUTFF1)
pradėti
atveju (CK0)
0: OUTMUX1 = ~ OUTFR1;
1: OUTMUX1 = ~ OUTFF1;
/ / Default: OUTMUX1 = ~ OUTFR1;
endcase
pabaiga

/ / RS
priskirti RS = ~ (OUTMUX0 & SEL);
/ / SEL
priskirti sel = ~ (RS & OUTMUX1 & PORB);

/ / Mux iš laikrodis
visada @ (CK0 arba CK1 arba SEL)
pradėti
atveju (SEL)
0: CKO = CK0;
1: CKO = CK1;
/ / Default: CKO = CK1;
endcase
pabaiga
endmodule

 

Welcome to EDABoard.com

Sponsor

Back
Top