Máy trạng thái hữu hạn được phân thành 2 loại: Moore FSM : là máy trạng thái có giá trị của đầu ra chỉ phụ thuộc vào trạng thái hiện tại mà không phụ thuộc vào giá trị đầu vào. Mealy FSM: là máy trạng thái có giá trị của đầu ra không chỉ phụ thuộc vào trạng thái hiện tại mà còn phụ thuộc vào giá trị đầu vào. Bộ đếm là FSM Moore
Trang 1Thiết kế và mô phỏng bộ ĐẾM THEO PHƯƠNG PHÁP MÁY TRẠNG THÁI
Trang 2Khái niệm máy trạng thái
■ Mạch dãy hoạt động thông qua một dãy các trạng thái hữu hạn do đó nó được xem như một máy trạng thái hữu hạn (FSM)
■ Bộ đếm là 1 mạch dãy đặc biệt bộ đếm là 1 máy trạng thái
Trang 3Phân loại máy trạng thái
■ Máy trạng thái hữu hạn được phân thành 2 loại:
– Moore FSM : là máy trạng thái có giá trị của đầu ra chỉ phụ thuộc vào trạng thái hiện tại mà không phụ thuộc vào giá trị đầu vào.
– Mealy FSM: là máy trạng thái có giá trị của đầu ra không chỉ phụ thuộc vào trạng thái hiện tại mà còn phụ thuộc vào giá trị đầu vào.
■Bộ đếm là FSM Moore
Trang 4Mô hình máy trạng thái Moore
Trang 5Mô hình máy trạng thái Mealy
Trang 6Đồ hình trạng thái của bộ đếm
Trang 7Các bước thiết kế bộ đếm theo pp FSM
■ Bước 1: xác định yêu cầu: Kđ? Cách thức đếm (tiến hay lùi)? Mã đếm?
■ Bước 2: Lập đồ hình trạng thái của bộ đếm
– Khai báo các trạng thái
– Viết process cho các trạng thái dựa vào đồ hình trạng thái
– Viết process cho đầu ra dựa vào mã của bộ đếm.
Trang 8Ví dụ thiết kế bộ đếm tiến, nhị phân Kđ =4
■ Phân tích yêu cầu:
Trang 9Ví dụ thiết kế bộ đếm tiến, nhị phân Kđ =4
■ Code khai báo các trạng thái:
■ Type state is (S0,S1,S2,S3);
■ Signal s: state;
■ Code process mô tả đồ hình trạng thái:
■ Next_state: process( clk, reset)
Trang 10Ví dụ thiết kế bộ đếm tiến, nhị phân Kđ =4
■ Phân tích yêu cầu:
Trang 11Tổng hợp thiết kế
■ Chọn Run Synthesize
■Kiểm tra schematic.
Trang 12Bài tập
■ Bài 1: Thiết kế bộ đếm lùi thập phân, kết quả đếm hiển thị led 7 thanh bằng phương pháp máy trạng thái
■ Bài 2: Thiết kế mạch điều khiển máy pha café tự động: chờ khởi động( 1đèn xanh sáng) trộn café và sữa trong 2s ( 2 đèn xanh sáng) hòa tan café+ sữa+ nước trong 5s (3 đèn xanh sáng) kết thúc (đèn đỏ sáng 1s)
■ Bài 3: Thiết kế mạch điều khiển máy giặt quần áo tự động : chờ khởi động bơm nước trong 5 phút (1 đèn xanh sáng) giặt trong 7 phút (2 đèn xanh sáng) tháo nước trong 2 phút ( 1đèn vàng sáng) bơm nước trong 5 phút (1 đèn xanh sáng) xả trong 10 phút (3 đèn xanh sáng) tháo nước trong 2 phút (1 vàng sáng) vắt trong 5 phút (2 đèn vàng sáng)
■ Cam, thanh long : bổ cam (3s) Vắt cam (8s) Pha cùng sữa ( 3s) kết thúc (1s)
■ Xoài, táo: gọt vỏ (5s) ép nước(9s nếu là táo, 7s nếu là xoài) pha cùng sữa (3s) kết thúc (1s)
Trang 13Bài tập
■ Bài 5: Thiết kế máy bán nước hoa quả tự động, có 4 loại hoa quả cho khách hàng lựa chọn: cam, xoài, táo, thanh long Quy trình để tạo nước hoa quả như sau
■ Cam, thanh long : bổ cam (3s) Vắt cam (8s) Pha cùng sữa ( 3s) kết thúc (1s)
■ Xoài, táo: gọt vỏ (5s) ép nước(9s nếu là táo, 7s nếu là xoài) pha cùng sữa (3s) kết thúc (1s)
■ Bài 6: Thiết kế mạch quét LED 7 thanh:((Có 1 LED 7 thanh kép gồm 4 LED đơn.) để hiển thị 1 số thập phân có 4 chữ số
Trang 14■ architecture Behavioral of cafe is
■ type state is(chokd,tron,hoatan,ketthuc);
Trang 15Bài 1: Thiết kế bộ đếm lùi thập phân, kết quả đếm hiển thị led 7 thanh bằng phương pháp máy trạng thái
■ Phân tích: kđ = 10; đếm lùi ; mã 7 đoạn => output có 7 bit
Trang 16Bài 1: Thiết kế bộ đếm lùi thập phân, kết quả đếm hiển thị led 7 thanh bằng phương pháp máy trạng thái
Trang 17■ Câu 26: Thiết kế bộ đếm tiến các số chẵn từ 0 > 20 theo mã nhị phân bằng phương pháp máy trạng thái Kết quả đếm hiển thị trên LED đơn
Trang 21Câu 17: Thiết kế mạch điều khiển đèn giao thông Yêu cầu đèn đỏ sáng 10s, đèn xanh sáng 7s, đèn vàng sáng 3s, số giây được đếm ngược về 0 và hiển thị trên LED 7 thanh.
■ Entity giaothong is
■ port ( clk, rst : in std_logic;
■ den : out std_logic_vector( 2 downto 0);
■ led7 : out std_logic_vector (6 downto 0));
Trang 24■ Display: process (dem)