dce 2009 Thiết kế mạch số dùng HDL Chương 3: Thiết kế mạch luậnlý CuuDuongThanCong.com https://fb.com/tailieudientucntt Co omputer Eng ginee ering g 200 09 Nội dung • • • • • Các phần tử lưu trữ Fli Fl Flip-Flop g thái Bus thiết bịị ba trạng Thiết kế máy Đồ thị biến đổi trạng thái (State (StateTransaction Graph) • Bộ chuyển h ể mã ã nối ối tiế tiếp cho h việc iệ truyền t ề liệu (Serial-line code converter) • Rút gọn trạng trạng thái tương g đương Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt Co omputer Eng ginee ering g 200 09 Nội dung • • • • • Các phần tử lưu trữ Fli Fl Flip-Flop g thái Bus thiết bịị ba trạng Thiết kế máy Đồ thị biến đổi trạng thái (State (StateTransaction Graph) • Bộ chuyển h ể mã ã nối ối tiế tiếp cho h việc iệ truyền t ề liệu (Serial-line code converter) • Rút gọn trạng trạng thái tương g đương Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt Co omputer Eng ginee ering g 200 09 Mạch • Ngõ thời điểm t phụ thuộc vào ngõ vào thời điểm t “lịch sử” ngõ vào trước • Cần phần tử lưu trữ lại trạng thái khứ mạch • Mạch đ định đơn đị h h hay xác suất, ất đồng hay bất đồng • Các phần mềm tổng hợp hỗ trợ đồng (synchronous) Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter a b c y1 Sequential y2 Circuit y3 ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt Co omputer Eng ginee ering g 200 09 Các phần tử nhớ (Storage elements) • Lưu trữ thông tin dạng nhị phân • Level sensitive Latches Ngõ mạch thay đổi hay nhiều ngõ vào thay đổi (tín hiệu enable tích cực) • Edge Ed sensitive iti Flip-Flop Ngõ mạch thay đổi có tín hiệu đồng Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt Co omputer Eng ginee ering g 200 09 Latches S1 R1 Qnext Q’next S2 R2 Qnext Q’next 0 Q Q’ Hold 0 1 Not allowed 1 Reset 1 Set 1 Set 0 Reset 1 0 Not allowed 1 Q Q’ Hold Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt Co omputer Eng ginee ering g 200 09 Latches suốt (D-latch) • Dữ liệu ngõ thay đổi theo ngõ vào llatch t h đ phép h hoạtt động độ (enable) ( bl ) • Clocked Latch Enable = 0, Hold state Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt Co omputer Eng ginee ering g 200 09 D-latch Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt Co omputer Eng ginee ering g 200 09 Nội dung • • • • • Các phần tử lưu trữ Fli Fl Flip-Flop g thái Bus thiết bịị ba trạng Thiết kế máy Đồ thị biến đổi trạng thái (State (StateTransaction Graph) • Bộ chuyển h ể mã ã nối ối tiế tiếp cho h việc iệ truyền t ề liệu (Serial-line code converter) • Rút gọn trạng trạng thái tương g đương Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt Co omputer Eng ginee ering g 200 09 Flip-Flop • Hoạt động đồng với cạnh lên xuống ố ủ xung clock l k D FF Master-slave FF J-K FF T FF Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt 10 Co omputer Eng ginee ering g 200 09 Đồ thị biến đổi – bảng biến đổi trạng thái Next state/Output table reset Next state/output S_0 0/1 1/0 S_1 State 1/0 S_2 0/1 0/0 1/1 S_3 0/0 1/1 S S_5 S_4 0/0, 1/1 0/1 S S_6 0/1 State transition graph (Mealy type FSM) Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter S_0 S_1 S_2 S S_3 S_4 S S_5 S_6 input S_1/1 S_3/1 S_4/0 S 5/0 S_5/0 S_5/1 S 0/0 S_0/0 S_0/1 S_2/0 S_4/0 S_4/1 S 5/1 S_5/1 S_6/0 S 0/1 S_0/1 -/- State transition table (Mealy type FSM) ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt 27 Co omputer Eng ginee ering g 200 09 Mã hóa trạng thái Encoded Next state/output table • Các trạng thái lưu FF • Có trạng thái thái, dùng bit để mã hóa State Next state q2q1q0 q + q + q 0+ Input State assignment q2q1q0 State 000 S_0 001 Output Output 1 S_0 000 001 101 S_1 S_1 001 111 011 010 S_6 S_2 101 011 011 011 S_4 S S_3 111 110 110 S_4 011 110 010 100 101 S S_2 S S_5 110 000 000 110 S_5 S_6 010 000 - - 111 S S_3 100 - - - - Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt 28 Co omputer Eng ginee ering g 200 09 Rút gọn hàm biểu diễn trạng thái q0Bin 01 11 10 00 0 1 01 X 1 0 11 0 1 1 10 X X 1 01 11 10 00 1 1 01 X 11 0 10 X X q 2q q0Bin 00 00 q 2q q1+ = q0 q0+ = q1’ q0Bin 00 01 11 10 00 1 01 X 11 0 10 X X q 2q q0Bin 00 01 11 10 00 0 1 01 X 1 11 1 0 10 X X q2+ = q1’q0’Bin + q2’q0Bin’ + q2q1q0 Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter q 2q Bout = q1’Bin’ + q2Bin ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt 29 Co omputer Eng ginee ering g 200 09 Hiện thực mạch chuyển đổi BCD thành Excess Excess-3 Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt 30 Co omputer Eng ginee ering g 200 09 Nội dung • • • • • Các phần tử lưu trữ Fli Fl Flip-Flop g thái Bus thiết bịị ba trạng Thiết kế máy Đồ thị biến đổi trạng thái (State (StateTransaction Graph) • Bộ chuyển h ể mã ã nối ối tiếp tiế cho h việc iệ ttruyền ề liệu (Serial-line code converter) • Rút gọn trạng trạng thái tương g đương Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt 31 Co omputer Eng ginee ering g 200 09 Bộ chuyển mã nối tiếp (Serial-Line code converter) • Giảm nhiễu truyền lưu trữ liệu • Giảm băng thơng kênh truyền • Để giải mã cần tín hiệu Clock Tín hiệu đồng Chuỗi liệu • Bốn dạng mã hóa nối tiếp phổ biến NRZ NRZI: ngõ g vào đảo giá g trịị ngõ g trước đó,, ngõ g vào giữ nguyên giá trị ngõ trước RZ: ngõ vào nửa thời khoảng đầu ngõ nửa thời khoảng g sau 0,, ngõ g vào ngõ g Manchester: ngõ vào nửa thời khoảng đầu ngõ 0, nửa thời khoảng sau 1, ngõ vào ngược lại Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt 32 Co omputer Eng ginee ering g 200 09 Mã hóa nối tiếp Serial Bit value 1 0 B_in NRZ (M (Mealy) l ) NRZ (Moore) NRZI (Mealy) NRZI (Moore) RZ Manchester clock_1 clock_2 • Tần số (clock_2) máy trạng thái Mealy dùng thực NRZI, RZ àM Mancheseter h t phải hải gấp ấ lầ lần tầ tần số ố sinh i h bit ((clock_1) l k 1) Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt 33 Co omputer Eng ginee ering g 200 09 Xây dựng Mealy FSM cho chuyển mã • Dùng kiểu mã hóa Manchester Trạng thái chờ (S_0) Trạng thái vừa nhận bit (S_2) Trạng thái vừa nhận bit (S_1) 1/0 Next State/Output 0/1 S_2 S_0 State S_1 1/1 Input S_1/0 S_0/1 - S_2/1 S_0/0 0/0 State Next State q1q0 q1+q0+ S_0 S_1 S_2 Output Input q0 Output 1 S_0 00 01 10 S_1 01 00 00 - S_2 10 00 00 - Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter q1 q S_0 S_1 S_2 ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt 34 Co omputer Eng ginee ering g 200 09 Hiện thực mạch chuyển mã nối tiếp Bin 00 01 11 10 q 1q Bin 00 01 1 - - 11 - - 0 10 0 00 0 01 - - 11 0 10 q1+ = q1’ q0’Bin q 1q q0+ = q1’ q0’Bin Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter Bin 0 q 1q Bout = q1’(( q0 + Bin) ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt 35 Co omputer Eng ginee ering g 200 09 Xây dựng Moore FSM cho chuyển mã • Dùng kiểu mã hóa Manchester Trạng thái bắt đầu/nửa cuối chu kỳ nhận bit (S_0) ngõ Trạng thái nửa đầu chu kỳ nhận bit (S_1) (S 1) ngõ Trạng thái nửa cuối chu kỳ nhận bit (S_2) ngõ Trạng thái nửa đầu chu kỳ nhận bit (S_3) ngõ S 0/0 S_0/0 S 1/0 S_1/0 Next State/Output S_3/1 S_2/1 State Next State q1q0 q1+q0+ Output p State S_0 S_1 _ S_3 S_2 Input S_1/0 S_2/1 S_1/0 S_3/1 S_0/1 _ S_3/0 Input S_0 00 01 11 S_1 01 10 _ S S_3 11 _ 00 S_2 10 01 11 Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt 36 Co omputer Eng ginee ering g 200 09 Hiện thực mạch chuyển mã nối tiếp Bin 00 01 X 11 - 10 q 1q Bin 00 0 01 1 q1 q1+ = q1’ q0’Bin Bin 00 1 01 - 11 - 10 1 q 1q Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt 37 Co omputer Eng ginee ering g 200 09 Rút gọn trạng thái tương đương • Hai trạng thái tương đương Ngõ trạng thái giống cho tất ngõ õ vào Có thể kết hợp với mà không g thay y đổi hành vi máy Next state Output Input Input State 1 S_0 S_1 S_2 S_3 S_4 S S_5 S_6 S_7 S_6 S_1 S_2 S_7 S_7 S S_7 S_0 S_4 S_3 S_6 S_4/S_5 S_3 S_2 S S_2 S_1 S_3 0 0 0 0 1 0 0 • Rút gọn hai trạng thái tương đương làm giảm ả Trạng thái tương đương chi phí phần cứng • Mỗi máy ttrạng thái có ód Trạng thái máy tương đương nhỏ Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt 38 Co omputer Eng ginee ering g 200 09 Các bước rút gọn trạng thái tương đương • Bước 1: Tìm trạng thái tương đương bả 0/0 0/0 S_1 S_1 1/0 1/1 1/0 0/0 S_6 1/1 S_0 0/0 S_4 tương đương S_5 0/0 S_6 S_0 0/0 1/0 1/0 1/1 S_4 S_3 0/0 1/0 0/0 1/0 1/1 0/0 S_7 0/0 0/0 S_5 1/0 0/0 S_2 1/0 S_3 0/0 1/0 1/1 S_2 1/1 S_4 0/0 S_7 0/0 Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt 39 Co omputer Eng ginee ering g 200 09 Các bước rút gọn trạng thái tương đương • Bước 2: Xây dựng bảng cặp trạng thái tương đương Bỏ trống cặp trạng thái tương đương Điền Điề điề điều kiện kiệ cho h cặp ặ trạng t thái có ó thể tương t đương đ S_1 S_0 tương đương S_1 S_2 S_6 S_4 S_3 S_1 S 1S S_7 S_6 S_3 S_2 S_1 tương đương S_6 S_4 tương đương S_2 S 2S S_7 S_4 S_3 S_4 S_6 S_7 S 3S S_3 S_2 S_6 S_3 S_1 S_7 S_0 S_2 S_1 S_7 S_6 S_4 S_2 S_3 S_0 S 0S S_4 S_1 S_3 S_4 S_6 S_0 S_1 S_2 Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter S_3 ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt 40 Co omputer Eng ginee ering g 200 09 Các bước rút gọn trạng thái tương đương • Bước 3: Xét điều kiện tương đương cặp trạng thái, xóa điều kiện đánh dấu tương đương cặp có chứa ột cặp ặ khơng khơ ttương đương đ t điều điề kiện kiệ 1/1 S_0 S_7 S_1 S_2 S_4 S_6 S_1 S S_2 S 6S S_6 S_4 S_3 S_1 S_7 S_6 S_3 S_4 0/0 1/1 0/0 S_2 S_7 S_4 S_3 1/0 S_2 0/0 1/0 S_7 0/0 S_4 S_6 S_7 S_3 S_2 S S_6 S 3S S_3 S_1 S_7 S_0 S_2 S_1 S_7 S_6 S_4 S_2 S_3 S_0 S_4 S_1 S_3 S_4 S_6 S_0 S_3 S_1 S_2 Advanced Digital Design with the Verilog HDL CuuDuongThanCong.com chapter S_3 ©2009, Pham Quoc Cuong https://fb.com/tailieudientucntt 41 ... omputer Eng ginee ering g 200 09 Bus thiết bị ba trạng thái • Bus Kết ế nối ố nhiều ề thiết ế bị với g liệu ệ tốc độ ộ cao Đường • Thiết bị ba trạng thái Kết nối ối vào b bus Ngõ hàm ngõ... Fli Fl Flip-Flop g thái Bus thiết bịị ba trạng Thiết kế máy Đồ thị biến đổi trạng thái (State (StateTransaction Graph) • Bộ chuyển h ể mã ã nối ối tiế tiếp cho h vi? ??c iệ truyền t ề liệu (Serial-line... Fli Fl Flip-Flop g thái Bus thiết bịị ba trạng Thiết kế máy Đồ thị biến đổi trạng thái (State (StateTransaction Graph) • Bộ chuyển h ể mã ã nối ối tiế tiếp cho h vi? ??c iệ truyền t ề liệu (Serial-line