dce 2009 Thiết kế mạch số dùng HDL Chương 3: Thiết kế mạch luậnlý Co uter Eng ering 200 omp ginee g 09 Nội dung • • • • • Các phần tử lưu trữ Flip-Flop Fli Fl ị g Bus thiết bị ba trạng thái Thiết kế máy Đồ thị biến đổi trạng thái (State (StateTransaction Graph) • Bộ chuyển mã nối tiế cho việc truyền h ể ã ối tiếp h iệ 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 chapter ©2009, Pham Quoc Cuong Co uter Eng ering 200 omp ginee g 09 Nội dung • • • • • Các phần tử lưu trữ Flip-Flop Fli Fl ị g Bus thiết bị ba trạng thái Thiết kế máy Đồ thị biến đổi trạng thái (State (StateTransaction Graph) • Bộ chuyển mã nối tiế cho việc truyền h ể ã ối tiếp h iệ 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 chapter ©2009, Pham Quoc Cuong Co uter Eng ering 200 omp ginee g 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 đơn đị h hay đ định h 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 chapter a b c y1 Sequential y2 Circuit y3 ©2009, Pham Quoc Cuong Co uter Eng ering 200 omp ginee g 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) • Ed sensitive Edge iti Flip-Flop Ngõ mạch thay đổi có tín hiệu đồng Advanced Digital Design with the Verilog HDL chapter ©2009, Pham Quoc Cuong Co uter Eng ering 200 omp ginee g 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 chapter ©2009, Pham Quoc Cuong Co uter Eng ering 200 omp ginee g 09 Latches suốt (D-latch) • Dữ liệu ngõ thay đổi theo ngõ vào l t h phép h t động (enable) latch đ hoạt độ ( bl ) • Clocked Latch Enable = 0, Hold state Advanced Digital Design with the Verilog HDL chapter ©2009, Pham Quoc Cuong Co uter Eng ering 200 omp ginee g 09 D-latch Advanced Digital Design with the Verilog HDL chapter ©2009, Pham Quoc Cuong Co uter Eng ering 200 omp ginee g 09 Nội dung • • • • • Các phần tử lưu trữ Flip-Flop Fli Fl ị g Bus thiết bị ba trạng thái Thiết kế máy Đồ thị biến đổi trạng thái (State (StateTransaction Graph) • Bộ chuyển mã nối tiế cho việc truyền h ể ã ối tiếp h iệ 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 chapter ©2009, Pham Quoc Cuong Co uter Eng ering 200 omp ginee g 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 chapter ©2009, Pham Quoc Cuong 10 Co uter Eng ering 200 omp ginee g 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_5 S S_4 0/0, 1/1 0/1 S_6 S input 0/1 State transition graph (Mealy type FSM) Advanced Digital Design with the Verilog HDL chapter S_0 S_1 S_2 S_3 S S_4 S_5 S S_6 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 27 Co uter Eng ering 200 omp ginee g 09 Mã hóa trạng thái Encoded Next state/output table • Các trạng thái lưu FF State q2q1q0 • Có trạng thái dùng bit để mã thái, hóa Next state q + q + q 0+ Input State assignment q2q1q0 S_0 001 Output State 000 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_3 S 111 110 110 S_4 011 110 010 100 101 S_2 S S_5 S 110 000 000 110 S_5 S_6 010 000 - - 111 S_3 S 100 - - - - Advanced Digital Design with the Verilog HDL chapter ©2009, Pham Quoc Cuong 28 Co uter Eng ering 200 omp ginee g 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 chapter q 2q Bout = q1’Bin’ + q2Bin ©2009, Pham Quoc Cuong 29 Co uter Eng ering 200 omp ginee g 09 Hiện thực mạch chuyển đổi BCD thành Excess Excess-3 Advanced Digital Design with the Verilog HDL chapter ©2009, Pham Quoc Cuong 30 Co uter Eng ering 200 omp ginee g 09 Nội dung • • • • • Các phần tử lưu trữ Flip-Flop Fli Fl ị g Bus thiết bị ba trạng thái Thiết kế máy Đồ thị biến đổi trạng thái (State (StateTransaction Graph) • Bộ chuyển mã nối tiếp cho việc t h ể ã ối tiế h iệ truyề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 chapter ©2009, Pham Quoc Cuong 31 Co uter Eng ering 200 omp ginee g 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õ vào đảo giá trị ngõ trước đó, ngõ g g ị g , 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 sau 0, ngõ vào ngõ g , g 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 chapter ©2009, Pham Quoc Cuong 32 Co uter Eng ering 200 omp ginee g 09 Mã hóa nối tiếp Serial Bit value 1 0 B_in NRZ (M l ) (Mealy) 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 phải gấp lầ tầ số sinh bit ( l k 1) h t hải ấ lần tần ố i h (clock_1) Advanced Digital Design with the Verilog HDL chapter ©2009, Pham Quoc Cuong 33 Co uter Eng ering 200 omp ginee g 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 S_0 S_1 S_2 Output q1+q0+ Input q0 Output 1 S_0 00 01 10 S_1 01 00 00 - S_2 10 00 00 - q q1 S_0 S_1 S_2 Advanced Digital Design with the Verilog HDL chapter ©2009, Pham Quoc Cuong 34 Co uter Eng ering 200 omp ginee g 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 chapter Bin 0 q 1q Bout = q1’( q0 + Bin) ( ©2009, Pham Quoc Cuong 35 Co uter Eng ering 200 omp ginee g 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) ngõ (S 1) 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 State Input S_3/1 S_2/1 State Next State q1q0 Output p q1+q0+ S_0 S_1 _ S_3 S_2 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_3 S 11 _ 00 S_2 10 01 11 Advanced Digital Design with the Verilog HDL chapter ©2009, Pham Quoc Cuong 36 Co uter Eng ering 200 omp ginee g 09 Hiện thực mạch chuyển mã nối tiếp Bin 00 01 X 11 - 10 Bin 1 q 1q 0 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 chapter ©2009, Pham Quoc Cuong 37 Co uter Eng ering 200 omp ginee g 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 thay đổi g y hành vi máy Next state Output Input Input State 1 S_0 S_1 S_2 S_3 S_4 S_5 S S_6 S_7 S_6 S_1 S_2 S_7 S_7 S_7 S S_0 S_4 S_3 S_6 S_4/S_5 S_3 S_2 S_2 S 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 t trạng thái có d ó Trạng thái máy tương đương nhỏ Advanced Digital Design with the Verilog HDL chapter ©2009, Pham Quoc Cuong 38 Co uter Eng ering 200 omp ginee g 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 S_5 0/0 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 chapter ©2009, Pham Quoc Cuong 39 Co uter Eng ering 200 omp ginee g 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ề điề kiện cho cặp trạng thái tương đương Điền điều kiệ h ặ t ó t đ S_1 S_0 tương đương S_1 S_2 S_6 S_4 S_3 S_1 S_7 S 1S S_6 S_3 S_2 S_1 tương đương S_6 S_4 tương đương S_2 S_7 S 2S S_4 S_3 S_4 S_6 S_7 S_3 S_2 S 3S 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_4 S 0S S_1 S_3 S_4 S_6 S_0 S_1 S_2 Advanced Digital Design with the Verilog HDL chapter S_3 ©2009, Pham Quoc Cuong 40 Co uter Eng ering 200 omp ginee g 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 cặp khơng t ột ặ khô tương đương điều kiện đ t điề kiệ 1/1 S_0 S_7 S_1 S_2 S_4 S_6 S_1 S_2 S S_1 S_7 S_6 S_3 S_3 0/0 1/1 0/0 S_6 S_4 S 6S S_3 S_4 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_6 S S_3 S_1 S 3S 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_1 S_2 Advanced Digital Design with the Verilog HDL chapter S_3 ©2009, Pham Quoc Cuong 41 ... uter Eng ering 200 omp ginee g 09 Bus thiết bị ba trạng thái • Bus Kết nối nhiều thiết bị với ế ố ề ế g ệ ộ Đường liệu tốc độ cao • Thiết bị ba trạng thái Kết nối vào b ối bus Ngõ hàm ngõ... 200 omp ginee g 09 Nội dung • • • • • Các phần tử lưu trữ Flip-Flop Fli Fl ị g Bus thiết bị ba trạng thái Thiết kế máy Đồ thị biến đổi trạng thái (State (StateTransaction Graph) • Bộ chuyển mã... uter Eng ering 200 omp ginee g 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 đơn đị h hay đ định h xác