Tôi cố gắng trả lời còn nếu thật khó bởi vì tất cả các mã người như thế nào anh thích và chức năng của tình trạng mà các phần cứng phải làm việc (tần số, con đường bên ngoài, ...).
Trong một máy nhà nước bạn có một số yếu tố:
- đầu vào
- đầu ra
- hiện trạng
- trạng thái tiếp theo
trạng thái kế tiếp phụ thuộc từ trạng thái hiện tại và đầu vào. Để không có vòng lặp kết hợp, bạn cần phải lấy mẫu trạng thái tiếp theo trong trường hợp tín hiệu đồng hồ để nó trở thành trạng thái hiện tại. Vì vậy, bạn cần một quá trình VHDL để tạo flip-flop cho nhà nước. Trong quá trình này, bạn có thể đặt tất cả logic mà bạn cần để tính toán trạng thái tiếp theo. Nếu kết quả đầu ra của bạn chỉ phụ thuộc vào trạng thái bạn không cần quá trình khác.
Tôi không thích đặt cùng một quy trình phối hợp logic khi logic không phải là rất dễ dàng (tôi thích như vậy, nhưng nó không bắt buộc!) Vì vậy, thông thường tôi chia FSM trong hai quá trình: đầu tiên rất dễ dàng quá trình lấy mẫu trạng thái tiếp theo để có trạng thái hiện tại, và một quá trình kết hợp mà tôi tính tất cả các đầu ra và trạng thái tiếp theo là hàm của các đầu vào và trạng thái hiện tại. Trong trường hợp tương tự, các đầu ra cần phải được lấy mẫu: ví dụ, khi có vấn đề về tần suất, bạn cần tách các đường dẫn bên trong ra khỏi các đường bên ngoài, hoặc khi các đầu ra có tải trọng lớn. Trong trường hợp này, bạn có thể thêm tất cả các flip-flops cần thiết trong quá trình đầu tiên, nơi bạn lấy mẫu trạng thái tiếp theo hoặc tạo một hoặc nhiều quy trình chuyên dụng. Nhưng bạn cũng có thể có nhiều biến thể như số lượng quá trình: Tôi đã làm việc trong một mã, trong đó mỗi tín hiệu được tính toán trong một quá trình chuyên dụng để máy trạng thái kết quả có quá trình 20/30.
Nguồn
2014-11-08 19:55:59
Tệp XST PDF từ Xilinx hiển thị các ví dụ về các quy trình FSM 1,2 và 3 (kỳ lạ chỉ đủ một trong hai biến thể của quy trình 2). Đó là một phần vấn đề Mealy-Moore và sở thích cá nhân phần lớn hoặc học tập rote. Những người có cúi đầu phân tích có thể chú ý đến các tác động của các yếu tố có trong danh sách độ nhạy. – user1155120
@DavidKoontz Biến thể thứ 2 của FSM 2 quy trình là gì? Một quy trình cho sổ đăng ký tiểu bang và một quy trình khác cho mọi thứ khác? – rick
Các XST pdf là một tài liệu tham khảo tốt đẹp, cảm ơn bạn. Bạn có thể tìm thấy @DavidKoontz –