làm thế nào metastability không xảy ra trong async FIFO

P

pintuinvlsi

Guest
Chào,

Tôi đã được hỏi một câu hỏi trong một cuộc phỏng vấn.Câu hỏi là:
Nếu dữ liệu qua lại từ một miền đồng hồ đến một miền đồng hồ sau đó điều kiện metastability xảy ra.Một số thời gian chúng tôi sử dụng FIFO async để tránh điều này.Sau đó, tại sao metastability không phát sinh trong FIFO async?làm thế nào chúng tôi có thể chuyển dữ liệu từ một tên miền khác mà không có vấn đề nào?

Cảm ơn

 
Async FIFO hỗ trợ 2 đồng hồ độc lập cho dữ liệu đọc và viết (viết xảy ra trên clcok viết và đọc xảy ra trên clcok đọc).Vì vậy, không có cơ hội metstability.

 
Về cơ bản có ba phương pháp interfacing giữa hồ Tên miền:

1) Sử dụng Syncronizers (đôi Flopping, Mux-D) vv
2) Asyncronious FIFO
3) Handshiking Cơ khí (Với Syncronizers)

nếu bạn muốn chuyển một chút tín hiệu từ một miền đồng hồ đến tên miền khác đồng hồ sau đó hai hoặc ba Syncronizers Stage là những Option hay nhất

nhưng nếu muốn chuyển nhiều hơn "xếp chồng lên" tín hiệu có nghĩa là
releated tín hiệu như vậy mà Địa chỉ, dữ liệu và kiểm soát sau đó FIFO là sự lựa chọn tốt.

và thêm một phương pháp của Handshaking dựa nhưng để tránh metastability bạn có thể sử dụng syncronizers mutlibit.

 
Ai đó có thể đề xuất một cuốn sách bao gồm chủ đề này và tương tự khác dubjects?Tôi không nghĩ rằng tôi sẽ tìm thấy nó trong thiết kế kỹ thuật số logic của tôi cuốn sách.

 
Cảm ơn bạn đã trả lời tất cả.
Tôi đã được hỏi một số câu hỏi thêm về miền đồng hồ qua mà tôi không thể trả lời thỏa đáng.Sau đây là câu hỏi:

1.Tại sao chúng ta sử dụng 2 flops như Synchronizer không nhiều hơn hoặc ít hơn?

2.Trong nhà nước sau khi metastabilty flop đồng bộ sản lượng sẽ được ổn định đến 0 hay 1.Sau đó, nếu chúng tôi đang gửi logic 1 từ một miền đồng hồ đến một miền đồng hồ và sau khi flop đồng bộ nếu nó đi vào logic 0 sau khi metastablity, sau đó như thế nào, chúng tôi sẽ phát hiện ra rằng hoặc những gì chúng ta nên làm gì để điều đó không?

 
1.Tại sao chúng ta sử dụng 2 flops như Synchronizer không nhiều hơn hoặc ít hơn?

[Trả lời] - sử dụng flops hơn sẽ làm giảm khả năng xảy ra metastability.Bạn có thể sử dụng thêm
nếu bạn muốn.

2.Trong nhà nước sau khi metastabilty flop đồng bộ sản lượng sẽ được ổn định đến 0 hay 1.Sau đó, nếu chúng tôi đang gửi logic 1 từ một miền đồng hồ đến một miền đồng hồ và sau khi flop đồng bộ nếu nó đi vào logic 0 sau khi metastablity, sau đó như thế nào, chúng tôi sẽ phát hiện ra rằng hoặc những gì chúng ta nên làm gì để điều đó không?

[Trả lời] - nếu nguồn của bạn sẽ ở tại số 1 cho đủ thời gian (giả hơn 1 chu kỳ của miền đồng hồ điểm đến), đầu ra sau khi flops đồng bộ sẽ cao cuối cùng.

Và sử dụng đồng bộ flops cũng có nghĩa là bạn không biết chính xác khi đầu ra đi cao - một chu kỳ trước hay sau.

 

Welcome to EDABoard.com

Sponsor

Back
Top