dce 2009 Thiết kế mạch số dùng HDL Chương 2: Thiết kế mạch luận lý tổ hợp CuuDuongThanCong.com https://fb.com/tailieudientucntt Computer Engineering 2009 Nội dung • • • • • • Luận lý tổ hợp đại số Boole Qui tắc tối giản đại số Boole Biểu diễn mạch luận lý tổ hợp Đơn giản hóa biểu thức Boole Glitch Hazard Các khối cho thiết kế luận lý Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong Computer Engineering 2009 Nội dung • • • • • • Luận lý tổ hợp đại số Boole Qui tắc tối giản đại số Boole Biểu diễn mạch luận lý tổ hợp Đơn giản hóa biểu thức Boole Glitch Hazard Các khối cho thiết kế luận lý Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong Computer Engineering 2009 Mạch tổ hợp – mạch • Combinational circuit Trạng thái ngõ mạch thời điểm t phụ thuộc vào trạng thái ngõ vào thời điểm t a b c d y1 Combinational y2 Logic y3 • Sequential circuit Trạng thái ngõ phụ thuộc vào “lịch sử” ngõ ngõ vào Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter a b c y1 Sequential y2 Circuit y3 https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong Computer Engineering 2009 Điện áp nguồn • GND = 0V • Năm 1980 VDD = 5V • VDD ngày giảm xử lý đại VDD cao làm hư Transistor VDD thấp tiết kiệm lượng • VDD = 3.3, 2.5, 1.8, 1.5, 1.2, 1.0,… Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong Computer Engineering 2009 Transistor • nMos • pMos Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong Computer Engineering 2009 Cơng nghệ CMOS • Complementary metaloxide semiconductor • Output cổng CMOS Invert gate pMos Pull-up network Input Output nMos Pull-down network NAND gate NOR gate Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong Computer Engineering 2009 Example: O3AI • Y ( A B C) D A B C D Y D A B Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter C https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong Computer Engineering 2009 Đại số Boole – Định nghĩa (1) • Đại số Boole gồm tập giá trị B = {0, 1} hai phép toán “+” “” • Mỗi biến Boole nhận hai giá trị • Mỗi biến Boole a có phần bù kí hiệu a’ • Một khơng gian nhiều chiều bao phủ tập hợp n biến Boole biểu diễn Bn • Mỗi điểm không gian Bn gọi đỉnh biểu diễn vector nhị phân n chiều Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong Computer Engineering 2009 Đại số Boole – Định nghĩa (2) • Một biến Boole biểu diễn ký tự (a, b, c’…) • Một biểu thức Boole biểu diễn chuỗi biến phép toán Boole (abc’, a + b’c…) • Một tích biến gọi cube (abc’, a’b…) • Một cube chứa hay nhiều đỉnh • Một hàm Boole đầy đủ n ngõ nhập ánh xạ f : Bn B m • Một hàm Boole khơng đầy đủ ánh xạ f : Bn {0,1,*} Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter * don’t-care https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong 10 Computer Engineering 2009 Tìm tập bao nhỏ (1) 0_00 F ABD ACD AB • Độ phức tạp giải thuật tìm prime implicant O(3m) (m số biến) • Độ phức tạp giải thuật tìm tập bao nhỏ O(2n) (n số prime implicant) x 100_ x 10_0 x 1_01 01 10 13 x _000 _1_1 Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter x x x x x X x x x https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong 31 Computer Engineering 2009 Nội dung • • • • • • Luận lý tổ hợp đại số Boole Qui tắc tối giản đại số Boole Biểu diễn mạch luận lý tổ hợp Đơn giản hóa biểu thức Boole Glitch Hazard Các khối cho thiết kế luận lý Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong 32 Computer Engineering 2009 Glitches Hazards • Glitches chuyển trạng thái không mong muốn ngõ mạch kết hợp điều kiện ngõ vào khơng làm thay đổi ngõ • Một mạch xảy glitches đưa tín hiệu ngõ vào xác định gọi có hazard • Khơng ảnh hưởng nhiều mạch đồng • Là vấn đề cần giải mạch bất đồng Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong 33 Computer Engineering 2009 Hazard tĩnh • Ngõ thay đổi thực tế theo lý thuyết khơng thay đổi • Xảy trể lan truyền • Hazard có xảy hay khơng tùy thuộc vào mẫu tín hiệu ngõ vào Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong 34 Computer Engineering 2009 Loại bỏ Hazard tĩnh • Thêm vào cube dư thừa (hazard cover cube) • Giả sử tín hiệu ngõ vào thay đổi bit AB C 00 01 11 10 0 1 AB C 00 01 11 10 Có Hazard 0 1 Không Hazard Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong 35 Computer Engineering 2009 Hazard động • Theo lý thuyết thay đổi ngõ vào gây thay đổi ngõ ra, thực tế có hai hay nhiều thay đổi ngõ trước đạt đến giá trị mong muốn • Là kết nhiều hazard tĩnh mạch đa mức (multilevel circuit) • Khó để loại bỏ • Nếu mạch khơng có hazard tĩnh khơng có hazard động Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong 36 Computer Engineering 2009 Loại bỏ hazard động • Theo bước Chuyển mạch nhiều mức mạch hai mức Tìm loại bỏ tất hazard tĩnh AB C 00 01 11 10 0 1 AB C 00 01 11 10 Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter 0 1 https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong 37 Computer Engineering 2009 Hazard – Tổng kết Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong 38 Computer Engineering 2009 Nội dung • • • • • • Luận lý tổ hợp đại số Boole Qui tắc tối giản đại số Boole Biểu diễn mạch luận lý tổ hợp Đơn giản hóa biểu thức Boole Glitch Hazard Các khối cho thiết kế luận lý Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong 39 Computer Engineering 2009 Cấu trúc NAND-NOR • Trong kỹ thuật CMOS, cổng AND OR không thực hiệu NAND, NOR • Chuyển mạch dạng SOP NAND Invert Thay cổng AND NAND Đặt invert trước ngõ vào cổng OR Thay cổng OR có invert ngõ vào NAND • Chuyển mạch dạng POS NOR Invert Tương tự Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong 40 Computer Engineering 2009 Ví dụ NAND/Invert structure of an SOP expression Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong 41 Computer Engineering 2009 Multiplexers • Chọn liệu từ nhiều ngõ nhập để đưa ngõ • Multiplexers dùng để thực mạch tổ hợp address[m-1:0] m Data_in[0] address Data_in[n-1] Data in Data out Gate level schematic Multiplexer y_out = sel’.a + sel.b Schematic symbol Data_out = Data_in[address[k]] Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong 42 Computer Engineering 2009 Demultiplexers • Ngược lại với multiplexer • Multiplexer demultiplexer không làm biến đổi liệu address[m-1:0] m address Data in Data in Data_out[0] Demultiplexer Data_out[n-1] Schematic symbol Data_out[address[k]] = Data_in Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong 43 Computer Engineering 2009 Encoders • • • • • Biến đổi liệu ngõ vào đưa ngõ Ánh xạ 1-1 liệu ngõ vào liệu ngõ Kích thước liệu nhập lớn kích thước liệu xuất Thơng thường bit ngõ nhập “khẳng định” thời điểm Priority encoder cho phép nhiều bit ngõ nhập đồng thời “khẳng định” Data in[0] Data in Data out n Encoder n>m m Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter Data in[n-1] Data out m Encoder n>m https://fb.com/tailieudientucntt ©2009, Pham Quoc Cuong 44 Computer Engineering 2009 Decoder • Ánh xạ 1-1 mẫu liệu đầu vào thành mẫu liệu đầu • Thơng thường kích thước ngõ lớn kích thước ngõ vào • Priority decoder Data out[0] Data in Data in Data out m Decoder n>m n Advanced Digital Design with the Verilog HDL – CuuDuongThanCong.com chapter m Decoder n>m https://fb.com/tailieudientucntt Data out[n-1] ©2009, Pham Quoc Cuong 45 ... dung • • • • • • Luận lý tổ hợp đại số Boole Qui tắc tối giản đại số Boole Biểu diễn mạch luận lý tổ hợp Đơn giản hóa biểu thức Boole Glitch Hazard Các khối cho thiết kế luận lý Advanced Digital... dung • • • • • • Luận lý tổ hợp đại số Boole Qui tắc tối giản đại số Boole Biểu diễn mạch luận lý tổ hợp Đơn giản hóa biểu thức Boole Glitch Hazard Các khối cho thiết kế luận lý Advanced Digital... dung • • • • • • Luận lý tổ hợp đại số Boole Qui tắc tối giản đại số Boole Biểu diễn mạch luận lý tổ hợp Đơn giản hóa biểu thức Boole Glitch Hazard Các khối cho thiết kế luận lý Advanced Digital