Originally posted by sangnt
View Post
Announcement
Collapse
No announcement yet.
[Thử tài thiết kế số] Thực hiện hàm logic bằng MUX
Collapse
X
-
-
Originally posted by 11520711 View Postdạ đúng như thầy nói, hồi đó bọn em học ko kỷ...giờ ngồi xem lại mới thấy thấm những lời thầy dạy trên lớp. Cảm ơn thầy Sang nhiều!
Hồi trước, sai lầm chiến thuật, tưởng lớp bạn giỏi nên thầy dạy nhanh quá trời --> Ko biết có nhiều bạn hiểu ko? :doubt:
Bây giờ, thì thầy đổi chiến thuật rồi --> chậm chậm nhưng chắc.
Leave a comment:
-
Vẫn phần mềm kinh điển đã nói với các bạn: Microsoft Visio
Nếu có vẽ sơ đồ khối, thì nên dùng cái đó vẽ. Vẽ quen rồi, thì làm nhanh lắm.
Bạn cũng có thể tạo thư viện riêng cho mình.
Ra trường biết nó cũng là một lợi thế đó!
Leave a comment:
-
Originally posted by sangnt View PostĐúng là D+C, thì khác với D hoặc C.
Trong bài post của thầy (#7), lúc đầu bị sai chỗ F(AB=11), thầy đã fixed lại.
Thầy chưa hiểu yêu cầu của đề lắm, có phải là chỉ được dùng Mux_2to1 và Mux_4to1 để thiết kế mạch trên (ko dùng bất kì cổng logic nào khác)???
- Nếu đúng vậy, thì T/h:
F(AB=11) = C + D = C + D(C+C') = C + CD + C'D= C.1 + C'.D
Bạn sẽ dùng được Mux_2to1 để thế cho cổng OR
- Nếu đề yêu cầu chỉ dùng 1 loại Mux_4to1 thì kết hợp với Mux_4to1 trước, với thêm 1 Mux_4to1 này:
F(AB=11) = C + D= CD' + CD + C'D= C'D'.0 + C'D.1 + CD'.1 + CD.1
- Nếu đề yêu cầu chỉ dùng 1 loại Mux_2to1 thì:
F = A.(BC + CD + C'D) + A'.BD
= A.(BC + D) + A'.BD (Mux_2to1 với A là tín hiệu chọn kênh)
Tiếp tục phân tích:
BC + D = BC + D.(B + B')= B(C+D) + B'D (Mux_2to1 với B là tín hiệu hiệu chọn kênh)= B(C.1 + C'D) + B'D (thêm 1 Mux_2to1 với C là tín hiệu chọn kênh
BD = B.D + B'.0 (Mux_2to1 với B là tín hiệu chọn kênh)
Đáp án cho 3 trường hợp ở trên:
[ATTACH=CONFIG]16356[/ATTACH]
Leave a comment:
-
Originally posted by 12520797 View PostĐã Hiểu!!! đã biết sai ở đâu, và đã biết cách sửa ^_^. Thanks anh Dương! Thanks thầy Sang. (p/s: các kiểu topic như này rất hữu ích, hy vọng thầy, các anh, các bạn sẽ có thêm các bài tập, để rèn thêm "sự mắc lỗi" :v ) . Thân ái và quyết thắng =D
Chắc hồi đó học không kĩ! :unhappy:
Leave a comment:
-
Đã Hiểu!!! đã biết sai ở đâu, và đã biết cách sửa ^_^. Thanks anh Dương! Thanks thầy Sang. (p/s: các kiểu topic như này rất hữu ích, hy vọng thầy, các anh, các bạn sẽ có thêm các bài tập, để rèn thêm "sự mắc lỗi" :v ) . Thân ái và quyết thắng =D
Leave a comment:
-
Đúng là D+C, thì khác với D hoặc C.
Trong bài post của thầy (#7), lúc đầu bị sai chỗ F(AB=11), thầy đã fixed lại.
Thầy chưa hiểu yêu cầu của đề lắm, có phải là chỉ được dùng Mux_2to1 và Mux_4to1 để thiết kế mạch trên (ko dùng bất kì cổng logic nào khác)???
- Nếu đúng vậy, thì T/h:
F(AB=11) = C + D = C + D(C+C') = C + CD + C'D= C.1 + C'.D
Bạn sẽ dùng được Mux_2to1 để thế cho cổng OR
- Nếu đề yêu cầu chỉ dùng 1 loại Mux_4to1 thì kết hợp với Mux_4to1 trước, với thêm 1 Mux_4to1 này:
F(AB=11) = C + D= CD' + CD + C'D= C'D'.0 + C'D.1 + CD'.1 + CD.1
- Nếu đề yêu cầu chỉ dùng 1 loại Mux_2to1 thì:
F = A.(BC + CD + C'D) + A'.BD
= A.(BC + D) + A'.BD (Mux_2to1 với A là tín hiệu chọn kênh)
Tiếp tục phân tích:
BC + D = BC + D.(B + B')= B(C+D) + B'D (Mux_2to1 với B là tín hiệu hiệu chọn kênh)= B(C.1 + C'D) + B'D (thêm 1 Mux_2to1 với C là tín hiệu chọn kênh
BD = B.D + B'.0 (Mux_2to1 với B là tín hiệu chọn kênh)
Đáp án cho 3 trường hợp ở trên:
Boolean_to_Mux.pngLast edited by sangnt; 06-04-2015, 09:36.
Leave a comment:
-
Originally posted by 12520578 View PostTheo em hiểu thì với AB =11 -> F=D+C (D or C nên em nghĩ chọn 1 trong 2 giá trị đều được), không biết đúng không ?[ATTACH=CONFIG]16351[/ATTACH]
Không thể làm như thế được, D+C khác với D hoặc C.
Bạn sửa lại nha.
Chúc bạn học tốt!
Trần Đại Dương.
Leave a comment:
-
Chào mọi người,
Có thể mọi người đang hiểu sai vấn đề thì phải, đề yêu cầu sử dụng MUX2-1, MUX4-1 để thực hiện hàm logic chứ đâu bắt phải chọn 1 trong MUX đâu nhỉ? Nếu như thế thì làm sao thiết kế mạch này được.
Chào thân ái và vì tương lai con em chúng ta!
Trần Đại Dương.
Leave a comment:
-
Originally posted by 11520537 View PostChào bạn [MENTION=19741]12520578[/MENTION]
bạn có thể giải thích tại sao "F = D + C = C" được không?
Leave a comment:
-
Định lý Shannon
Bất kì hàm Boolean f(w1,w2, …, wn) có thể được viết dưới dạng:
f(w1,w2, …, wn) = (𝑤1')*f(0,w2, ..., wn) + w1*f(1, w2, …wn)
Áp dụng:
F = ABC + A'BD + ACD + AC'D
- T/h dùng Mux_2to1 (chọn A làm tín hiệu chọn kênh)
F = A.(BC + CD + C'D) + A'.BD
= A.(BC + D) + A'.BD
- T/h dùng Mux_4to1 (chọn A, B làm 2 tín hiệu chọn kênh)
F(AB=00) = 0
F(AB=01) = D
F(AB=10) = CD + C'D = D
F(AB=11) = C + CD + C'D = C + D
Như Dương nói, các bạn nên thiết kế ra mạch nguyên lý trước, rồi mới code Verilog như vậy sẽ nhanh và tránh được sai sót.Last edited by sangnt; 06-04-2015, 08:43.
Leave a comment:
-
Chào các bạn,
Sau 2 bài làm của 2 bạn ở trên thì mình có nhận xét là: các bạn thực sự không đi đúng các bước thực hiện mạch logic bằng các MUX (tiêu biểu chính là các bạn đã quá vội vàng rút gọn hàm F) dẫn đến việc chọn biến điều khiển và đầu vào cho các MUX không hợp lý một chút nào.
Các bạn có thể sẽ cần xem lại định lý Shannon cho biểu diễn hàm logic (chứ không phải là định lý Shannon trong lấy mẫu tín hiệu đâu nha).
Chúc các bạn học tốt!
Trần Đại Dương.
Leave a comment:
Leave a comment: