Cách chọn giữa máy trạng thái Mealy và Moore


7

Tôi biết sự khác biệt cơ bản giữa Mealy và Moore FSM (Máy trạng thái hữu hạn). Những gì tôi muốn hiểu là như sau:

  • Ưu và nhược điểm của việc sử dụng Mealy so với Moore và ngược lại
  • Trong tình huống nào Moore thích hợp hơn Mealy và ngược lại

Các số liệu đáng để so sánh có thể là độ trễ, thông lượng, diện tích (mã hóa trạng thái FF), công suất, v.v.


Bạn có gặp khó khăn khi tìm thông tin về Mealy so với Moore FSM không? Có khá nhiều có sẵn trên internet.
travisbartley

Câu trả lời:


8

Từ góc độ logic & HDL rời rạc:

-Mealy máy (nói chung) có ít trạng thái. Các máy có nghĩa là thay đổi đầu ra dựa trên trạng thái hiện tại hiện tại, thay vì chỉ trạng thái hiện tại. Tuy nhiên, ít trạng thái không phải lúc nào cũng có nghĩa là đơn giản để thực hiện.

-Moore máy có thể an toàn hơn để sử dụng, vì chúng thay đổi trạng thái trên cạnh đồng hồ (nếu bạn đang sử dụng logic DFF cho trạng thái hiện tại và tiếp theo), trong khi máy Mealy nhanh hơn, vì trạng thái phụ thuộc vào đầu vào. Do đó, nhà nước có thể thay đổi không đồng bộ. Điều này đi xuống để dự đoán so với tốc độ thô. Khi nói đến nó, thật khó để vẽ các đường cứng trong đó một máy sẽ luôn tốt hơn máy kia.

Nó thực sự đi xuống với nhiệm vụ cụ thể trong tầm tay. Có ai muốn có một máy đồng bộ hay không đồng bộ? Là tốc độ tối quan trọng? Sẽ có những tín hiệu không ổn định (nảy)? Cả hai đầu vào và hiện tại có sẵn? Câu trả lời cho mỗi câu hỏi này xác định loại máy sẽ hoạt động tốt nhất.

Điều đáng nói là để triển khai phần cứng , các máy Mealy yêu cầu ít phần cứng hơn trong các mạch của chúng, nhưng khi làm việc với kịch bản HDL và RTL, lượng phần cứng rời rạc thực tế có thể không quá quan trọng.


Mặc dù một máy Moore chỉ có thể lấy mẫu đầu vào hoặc thay đổi đầu ra trên các cạnh đồng hồ, tôi sẽ nghĩ rằng một thiết kế máy Mealy có thể được thực hiện tương tự. Mặc dù một số người có thể lập luận rằng các flop như vậy được thêm vào máy Mealy sẽ tạo thành một phần của "trạng thái" của máy trạng thái, tôi sẽ khẳng định rằng sẽ hữu ích hơn khi coi máy trạng thái chỉ bao gồm các khía cạnh trạng thái do máy tạo ra và nuôi trở lại vào nó Lưu ý rằng đối với các máy dựa trên ROM, việc áp dụng sự khác biệt này cho các flop đầu vào có thể rất quan trọng nếu các tín hiệu cấp cho các flop đó không đồng bộ.
supercat

Nếu chỉ có một flop duy nhất giữa tín hiệu không đồng bộ và chân địa chỉ ROM, thì khả năng di chuyển của flop đơn đó có thể làm hỏng toàn bộ trạng thái hệ thống ngay cả khi giá trị của nó trong bước thời gian nhất định chỉ nên kiểm soát một bit trạng thái cho bước tiếp theo. Ngược lại, nếu đầu vào cung cấp một flop mà đầu ra của nó không cung cấp gì ngoài flop thứ hai, 99.9999% các sự kiện có thể di chuyển trên flop thứ nhất sẽ được hấp thụ một cách an toàn bởi lần thứ hai.
supercat

4

Jay bao gồm hầu hết mọi thứ để trả lời câu hỏi của bạn. Một 'lợi thế' của máy Moore là nó có thể được triển khai trong Bảng tra cứu hoặc bộ nhớ SRAM. Nếu việc triển khai của bạn là trên một đồ họa, hãy nói rằng .. điều này đôi khi có thể giúp bạn đưa ra quyết định dễ dàng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.