Пам'ять годинник problem_How, щоб уникнути збоїв?

L

lunren

Guest
Шановні,

Я хочу розробити схему стробування годинник, годинник вибрати один з двох asynchrous годинник.Існує possilbe генерувати збій при перемиканні з одного годинник на інший.Як я можу suprress це можливо глюк годинник?Спасибо заранее.

Lunren

 
Ви можете отримати воріт сигналу, який lanched при падінні краю годинник.Тоді ~ & годинник може зупинити годинник.
Потім за допомогою воріт сигналу B, яка lanched по фронту і в годинах.Тоді B & годинник може продовжити годинник.

 
U можна пояснити більше про цю концепції, щоб уникнути годинник стробування.

Привіт
Шанкара

 
Метод johnkelvin згаданих використовується, щоб уникнути збою в одному годинник GateD.

Але цей метод також може бути використана, ви можете спочатку вибрати один такт використання мультиплексування, а потім використовувати вибрані добу, і її дозволити синтезувати сигналу вихідного годинник

 
покласти засувку на строб-сигналу

 
Будь ласка, завантажте кілька фотографій, щоб допомогти пояснити це

 
Я також потрібна презентація про topic.cound ви дати більше пояснень!

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

ставляться до цієї статті

 
Використання годин строб треба підходити обережно.
Ви можете отримати функції по коду RTL, але
професійним методом проводиться повна замість призначених для користувача
синтезу з RTL

 
Я думаю, плавний перехід від одного до іншого Freq може бути зроблено з ФАПЧ.Або глюк вплив може бути зменшено, якщо розділити Freq і множити знову.

 
На мою думку, xv_ning999 права.Якщо ви хочете отримати годинник з глюк безкоштовно, ви повинні платити більше вартості.Може бути, додати чотири фліп-флоп є гарним вибором.

 
Посилання має наступну схему Вам необхідно:

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

 
Хіба при владі спробуйте компілятор.

 
Привіт
Ось Verilog файл із ClockMux виконані.

//************************************************ ************
/ / Clock мультиплексора
//------------------------------------------------ ------------
/ / Якщо SCK1 висока потім годинами Output = СКО іншого виходу = CK1
//************************************************ ************
`строки 1ns/1ns
Модуль CKMUX (
CK0,
CK1,
PORB,
SCK1,
СКО
);
/ / Внутрішній декларацій

введення CK0;
введення CK1;
введення PORB;
введення SCK1;
вихідний СКО;Дріт CK0;
Дріт CK1;
Дріт PORB;
Дріт SCK1;
р-СКО;
Дріт RESB0;
р OUTFR0, OUTFF0;
р OUTMUX0;
Дріт RESB1;
р OUTFR1, OUTFF1;
р OUTMUX1;
Дріт RS, SEL;

/ / RESB0
призначити RESB0 = PORB & ~ SCK1;

/ / Dfrrl0
Завжди @ (posedge CK0 або negedge RESB0)
починати
IF (! RESB0)
OUTFR0 <= 0;
ще
OUTFR0 <= RESB0;
кінець

/ / Dffrl0
Завжди @ (negedge CK0 або negedge RESB0)
починати
IF (! RESB0)
OUTFF0 <= 0;
ще
OUTFF0 <= RESB0;
кінець

/ / MUX переверненої out0
Завжди @ (CK1 або OUTFR0 або OUTFF0)
починати
випадок (CK1)
0: OUTMUX0 = ~ OUTFR0;
1: OUTMUX0 = ~ OUTFF0;
/ / За замовчуванням: OUTMUX0 = ~ OUTFR0;
ENDCASE
кінець

/ / RESB1
призначити RESB1 = PORB & SCK1;

/ / Dfrrl1
Завжди @ (posedge CK1 або negedge RESB1)
починати
IF (! RESB1)
OUTFR1 <= 0;
ще
OUTFR1 <= RESB1;
кінець

/ / Dffrl1
Завжди @ (negedge CK1 або negedge RESB1)
починати
IF (! RESB1)
OUTFF1 <= 0;
ще
OUTFF1 <= RESB1;
кінець

/ / MUX переверненої out0
Завжди @ (CK0 або OUTFR1 або OUTFF1)
починати
випадок (CK0)
0: OUTMUX1 = ~ OUTFR1;
1: OUTMUX1 = ~ OUTFF1;
/ / За замовчуванням: OUTMUX1 = ~ OUTFR1;
ENDCASE
кінець

/ / RS
призначити RS = ~ (OUTMUX0 & SEL);
/ / SEL
призначити SEL = ~ (RS & OUTMUX1 & PORB);

/ / MUX з годинник
Завжди @ (CK0 або CK1 або SEL)
починати
випадок (SEL)
0: СКО = CK0;
1: СКО = CK1;
/ / За замовчуванням: СКО = CK1;
ENDCASE
кінець
ENDMODULE

 

Welcome to EDABoard.com

Sponsor

Back
Top