Thiết kế và mô tả FSM trong VHDL
Chào mừng thầy giáo và các bạn Bài thuyết trình điện tử số 2 Bùi Văn Tuy nề Phan S n TùngƠ Phan Minh Tu nấ V ng Qu c Vi tươ ố ệ D ng Th Vươ ị ỹ Lê Văn Tu nấ Tr n Ng c Hoàngầ ọ Teacher : Hoàng Văn Đông S ơ l ư ợ c v ề F S M ! " # $ % & ' ( Sơ lược về FSM FSM)**+,-,. FSM'/#0,123#,' 423#.#5*,05637FSM 89 -6,:3/1*-3/1%6;#1<*==>> Thiết kế mạch số tuần tự - FSM ?@A,',:,3ABA* CABDEF1G, CABH6,'AI,, CABJK,, CABL"*MN$N$ CABO#'PI$ CABQRS;;#T* Thiết kế mạch số tuần tự - FSM &UD891F/3/1L>C/1E15;#?VWD)?V*3'+X1?VWY> CABDEF1G, ?WY ?WD ?WY ?WJ ?WH CE= 1 CE= 1 CE= 1 CE= 1 CE= 0 CE= 0 CE= 0 CE= 0 Thiết kế mạch số tuần tự - FSM CABH6,'AI,, CABJK,, CE= 1 CE= 1 CE= 1 CE= 0 CE= 0 CE= 0 Q 0 Q 1 =00 Q 0 Q 1 =01 Q 0 Q 1 =10 Q 0 Q 1 =11 CE= 0 CE= 1 CE= 0 Q 0 Q 1 =00 Q 0 Q 1 =01 Q 0 Q 1 =10 Q 0 Q 1 =11 CE= 0 CE= 1 Q 0 Q 1 =00 Q 0 Q 1 =01 CE= 1 CE= 1 CE= 0 CE= 0 CE= 1 CE= 0 Q 0 Q 1 =10 Q 0 Q 1 =11 CE= 1 Q 0 Q 1 =00 Q 0 Q 1 =01 Thiết kế mạch số tuần tự - FSM CABL"*MN$N$ ?M!51F CABO# • X1G01K1AIK5*WZ3[)*3'+ CE= 1 CE= 1 CE= 1 CE= 0 CE= 0 CE= 0 CE= 0 Q 0 Q 1 =00 Q 0 Q 1 =01 Q 0 Q 1 =10 Q 0 Q 1 =11 Pr_state Nx_state Q 0 Q 1 Q 0n Q 1n ?VWY ?VWD YY YY YD YD YD DY DY DY DD DD DD YY CE= 1 &,1\,1! Pr_state Nx_state Q 1 Q 0 Q 1n Q 0n ?VWY ?VWD YY YY YD YD YD DY DY DY DD DD DD YY Q Q(next) D Y Y Y Y D D D Y Y D D D C8]*! 0 0 1 1 0 1 0 1 CE Q 1n =D 1 Q 0 Q 1 0 1 1 0 1 0 0 1 CE Q 0n =D 0 Q 0 Q 1 Thiết kế mạch số tuần tự - FSM # 0 0 1 1 0 1 0 1 CE Q 1n =D 1 Q 0 Q 1 0 1 1 0 1 0 0 1 CE Q 0n =D 0 Q 0 Q 1 CE Q 1 Q 0 Q 1n Q 0n D 1 Q 1 Q’ D 0 Q 0 Q’ Thiết kế mạch số tuần tự - FSM [...]... state_machine; nx_state Sẽ có 4 biến để mô tả Các trạng thái sẽ chuyển lần lượt từ Zero Nine khi có tín hiệu Clk Khi có tín hiệu Reset thì trạng thái lúc đó là Zero Đồ hình mô tả bộ đếm: Two 0010 Three 0011 One Four 0100 0001 Reset Zero Five 0000 0101 Nine 1001 Six Eight Seven 1000 0111 0110 Mô tả. .. VHDL Giới thiệu Kiểu thiết kế thứ nhất Kiểu thiết kế thứ hai Mô tả FSM trong VHDL Giới thiệu: FSM gồm 2 phần input 2 đầu vào: input và Pr_state output Logic tổ hợp Phần mạch tổ hợp: 2 đầu ra: output và Nx_state Pr_state Nx_state 3 đầu vào: Nx_state, clk, Reset Logic Phần mạch tuần tự: tuần tự 1 đầu ra: Pr_state clk Reset Mô tả FSM trong VHDL Nguyên lý hoạt động chung : input Khi có tín hiệu Reset thì.. .Thiết kế mạch số tuần tự - FSM Bước 6: Phân tích tín hiệu theo thời gian CE Q1 Q0 Q1n Q1 D1 Q’ Q0n Q0 D0 Q’ Clk CE Q1 Q0 Thiết kế mạch số tuần tự FSM loại Moore Ví dụ: Thiết kế bộ đếm 4, đếm đến 3 thì báo Bước 1: Vẽ sơ đồ trạng thái FSM: CE= 0 CE= 0 Count= 0 CE= 1 Y= 0 Y= 0 CE= 1 CE= 1 Count= 3 CE= 0 Count= 1 Y= 1 CE= 1 Count= 2 Y= 0 CE= 0 Thiết kế mạch số tuần tự FSM loại Moore Bước... 1 0 1 0 0 1 0 Q1 0 0 1 Q0 Q1n Q1 D1 Q’ Q0n Q0 D0 Q’ Y Thiết kế mạch số tuần tự FSM loại Moore Bước 6: Phân tích tín hiệu theo thời gian CE Q1 Q0 Q1n Q1 D1 Q’ Q0n Q0 D0 Q’ Clk CE Q1 Q0 Y Y Thiết kế mạch số tuần tự FSM loại Mealy Ví dụ: Thiết kế bộ đếm 4, nếu tín hiệu đếm CE=1 và giá trị đếm =3 thì tín hiệu ra Y=1 Bước 1: Vẽ sơ đồ trạng thái FSM: CE= 0/ Y= 0 CE= 0/ Y= 0 Count= 0 CE= 1/ Y= 0 CE= 1/... 0/ Y=0 Thiết kế mạch số tuần tự FSM loại Mealy Bước 2: Tối thiểu hoá số lượng trạng thái Bước 3: Mã hoá trạng thái CE= 0/Y=0 CE= 0/Y= 0 Q1Q0=00 CE= 1/Y=o Y=0 Y=0 CE= 1/Y=0 CE= 1/Y=1 CE= 0/Y=0 Q1Q0=01 Q1Q0=11 Y=1 CE= 1/Y=0 Q1Q0=10 Y=0 CE= 0/Y=0 Thiết kế mạch số tuần tự FSM loại Mealy Bước 4: Chọn loại flip-flop Ở đây để đơn giản ta chọn loại D Bước 5: Thực hiện mạch Thiết kế mạch số tuần tự FSM loại... THEN Pr_state END IF ; END PROCESS ; . 1 CE Q 0n =D 0 Q 0 Q 1 Thiết kế mạch số tuần tự - FSM # 0 0 1 1 0 1 0 1 CE Q 1n =D 1 Q 0 Q 1 0 1 1 0 1 0 0 1 CE Q 0n =D 0 Q 0 Q 1 CE Q 1 Q 0 Q 1n Q 0n D 1 Q 1 Q’ D 0 Q 0 Q’ Thiết kế mạch số. FSM CABQRS;;#T* CE Q 1 Q 0 Q 1n Q 0n D 1 Q 1 Q’ D 0 Q 0 Q’ Clk CE Q 1 Q 0 CE Q 1 Q 0 Q 1n Q 0n D 1 Q 1 Q’ D 0 Q 0 Q’ CE Q 1 Q 0 Q 1n Q 0n D 1 Q 1 Q’ D 0 Q 0 Q’ CE Q 1 Q 0 Q 1n Q 0n D 1 Q 1 Q’ D 0 Q 0 Q’ CE Q 1 Q 0 Q 1n Q 0n D 1 Q 1 Q’ D 0 Q 0 Q’ CE Q 1 Q 0 Q 1n Q 0n D 1 Q 1 Q’ D 0 Q 0 Q’ Thiết kế mạch số tuần tự - FSM ' Ví dụ: Thiết kế bộ đếm 4, đếm đến 3 thì báo CABDEF1G, ?WD ^WY ?WY ^WY ?WJ ^WD ?WH ^WY CE=. FSM FSM)**+,-,. FSM'/#0,123#,' 423#.#5*,056 37 FSM 89 -6,:3/1*-3/1%6;#1<*==>> Thiết kế mạch số tuần tự - FSM ?@A,',:,3ABA* CABDEF1G, CABH6,'AI,, CABJK,, CABL"*MN$N$ CABO#'PI$ CABQRS;;#T* Thiết