1. Trang chủ
  2. » Giáo án - Bài giảng

Thiết kế và mô phỏng mạch đếm theo pp MAY TRANG THAI

24 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 348,4 KB

Nội dung

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

Thiết kế mô ĐẾM THEO PHƯƠNG PHÁP MÁY TRẠNG THÁI Khái niệm máy trạng thái ■Mạch dãy hoạt động thông qua dãy trạng thái hữu hạn xem máy trạng thái hữu hạn (FSM) ■Bộ đếm mạch dãy đặc biệt  đếm máy trạng thái Phân loại máy trạng thái ■Máy trạng thái hữu hạn phân thành loại: – Moore FSM : máy trạng thái có giá trị đầu phụ thuộc vào trạng thái mà không phụ thuộc vào giá trị đầu vào – Mealy FSM: máy trạng thái có giá trị đầu khơng phụ thuộc vào trạng thái mà phụ thuộc vào giá trị đầu vào ■Bộ đếm FSM Moore Mơ hình máy trạng thái Moore Mơ hình máy trạng thái Mealy Đồ hình trạng thái đếm Các bước thiết kế đế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 đếm ■ Bước 3: lập mã VHDL: – Khai báo trạng thái – Viết process cho trạng thái dựa vào đồ hình trạng thái – Viết process cho đầu dựa vào mã đếm Ví dụ thiết kế đếm tiến, nhị phân Kđ =4 ■Phân tích yêu cầu: ■Code entity: ■Kđ = ; Mã nhị phân có trạng ■ thái  có bít đầu Entity dem4 is ■ port ( ckl : in std_logic; ■ reset: in std_logic; ■ ■ Qout: out std_logic_vector(1 downto 0) ); Ví dụ thiết kế đếm tiến, nhị phân Kđ =4 ■ Code khai báo trạng thái: ■Lập đồ hình trạng thái: ■Kđ =  có trạng thái S0,S1,S2,S3: ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ 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) begin if reset = ‘1’ then s s s s s Qout Qout Qout Qout if kd ='1' then Q : out STD_LOGIC_VECTOR (3 downto 0)); ■ s Q Q s Q s Q s Q

Ngày đăng: 09/02/2022, 16:51

w