Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 51 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
51
Dung lượng
2,76 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP TÀI LIỆU HƯỚNG DẪN THỰC HÀNH KỸ THUẬT ĐIỆN TỬ SỐ BỘ MÔN KỸ THUẬT ĐIỆN TỬ Thái Nguyên năm 2021 MỤC LỤC MỤC LỤC i CÁC QUY ĐỊNH KHI THỰC HÀNH BÀI SỬ DỤNG CÁC CÔNG CỤ MÔ PHỎNG TRONG THIẾT KẾ MẠCH LOGIC SỐ .4 1.1 Mô tả tốn thiết kế thủ cơng 1.1.1 Mô tả toán thiết kế 1.1.2 Thiết kế theo phương pháp thủ công truyền thống .4 1.2 Thiết kế mô sử dụng phần mềm Logisim 1.2.1 Cài đặt phần mềm Logisim 1.2.2 Các bước thiết kế mô 1.3 Mô thiết kế logic với Multisim 14 11 1.3.1 Cài đặt phần mềm Mutilsim 14 11 1.3.2 Sử dụng Multisim 14 phân tích mạch logic số 13 1.3.3 Sử dụng Multisim 14 thiết kế mô logic số .16 1.4 Thiết kế mô mạch logic số theo VHDL sử dụng Modelsim .20 1.4.1 Giới thiệu cài đặt Modelsim 10.5 20 1.4.2 Sử dụng Model sim thiết kế mô VHDL 23 1.5 Nhiệm vụ sinh viên 42 i CÁC QUY ĐỊNH KHI THỰC HÀNH A Quy định chung - Khi vào phịng thí nghiệm (TN409, TN411), sinh viên phải đeo thẻ; để giầy dép, túi xách nơi quy định; thí nghiệm, thực hành đúng bàn; thực qui trình, qui phạm kỹ thuật theo hướng dẫn giáo viên; tuyệt đối không tự tiện sử dụng thiết bị chưa có đồng ý cán hướng dẫn - Nghiêm cấm mang đồ vật liên quan đến chất dễ gây cháy nổ vào phịng máy; có ý thức bảo vệ tài sản thiết bị, không làm hỏng thiết bị - Khi khỏi phòng: Sinh viên tắt thiết bị theo quy định, xếp bàn ghế, thiết bị, làm vệ sinh chỗ ngồi; phát thiết bị hư hỏng phải báo cho cán hướng dẫn biết - Các trường hợp vi phạm nội quy bị xử lý; vi phạm thiệt hại tài sản thiết bị phải bồi hồn thời giá thiết bị - Sinh viên phải có mặt thời gian nhóm đăng ký với giáo viên (buổi sáng từ 7h00, buổi chiều từ 13h30) B Quy định thực hành học phần Kỹ thuật điện tử số Chuẩn bị sinh viên: - Theo dõi thông báo lịch thực hành chia nhóm thực hành mơn - Photo tài liệu thực hành Bộ môn Kỹ thuật điện tử cung cấp - Tham gia thực hành đầy đủ nộp đủ báo cáo - Trước tiến hành thực hành, phải chuẩn bị kiến thức thông qua việc nghiên cứu tài liệu hướng dẫn thực hành tham khảo sách chuyên nghành khác, cần ý nét chính: + Tên thực hành + Mục đích thực hành + Cơ sở lý thuyết + Thao tác thực hành + Lấy số liệu phương pháp xử lý số liệu - Trước thực hành học phần Thiết kế mạch tích hợp số, yêu cầu sinh viên biết sử dụng máy phát hàm, máy sóng, cài đặt phần mềm hỗ trợ - Chuẩn bị vật dụng, giấy ghi chép số liệu thực hành Sự chuẩn bị sinh viên phải thông qua kiểm tra cán hướng dẫn thực hành Nếu không đạt, không tham gia thực hành, việc sinh viên có thực hành lại vào buổi khác hay không cán hướng dẫn buổi thực hành định Trong buổi thực hành - Đi thực hành Sau 15 phút (tính từ 7h00 buổi sáng 13h00 buổi chiều ) không vào thực hành - Tuân thủ nội quy phòng thực hành thực thực hành theo hướng dẫn cán hướng dẫn thực hành, khơng tự tiện rời phịng thực hành thời gian làm thực hành không cho phép cán hướng dẫn thực hành - Sau kết thúc thực hành: dọn dẹp phòng thực hành, ký tên vào danh sách nhật ký thực hành (theo bài), xin xác nhận cán hướng dẫn Làm bù thực hành - Trường hợp sinh viên bị trùng lịch thực hành với môn học khác (hoặc đổi lịch với lý đáng) phải báo cáo với cán hướng dẫn thực hành buổi tối thiểu trước 02 ngày Sinh viên phải chủ động liên lạc với giáo viên môn để làm bù thực hành vào buổi khác - Trường hợp sinh viên xin phép nghỉ đột xuất: Sinh viên phải liên lạc với cán hướng dẫn thực hành trực tiếp nhóm để xin phép Ngay sau nghỉ (có phép), sinh viên phải liên lạc với giáo viên môn để đăng ký làm bù thực hành Lưu ý: - Sinh viên không phép bỏ buổi thực hành Chỉ giải cho làm bù thực hành với sinh viên bị ốm có giấy cho phép nghỉ học bác sỹ bệnh viện trạm xá trường ĐH KTCN - Nếu sinh viên vắng từ 01 buổi trở lên, bị đánh giá điểm môn học Kỹ thuật điện tử tương tự Viết báo cáo thực hành - Sinh viên học học phần Kỹ thuật điện tử số phải hoàn thành 03 thực hành trước thi kết thúc học phần có xác nhận giáo viên hướng dẫn thực hành (theo mẫu 02 cuối tài liệu hướng dẫn) Báo cáo thực hành trình bày mặt khổ giấy A4, đóng quyển, bìa mềm sinh viên có báo cáo riêng Quyển báo cáo nộp cho giáo viên giảng dạy lý thuyết - Nội dung báo cáo bao gồm: ▪ Bìa bìa phụ báo cáo (theo mẫu 01 cuối tài liệu hướng dẫn) ▪ Tổng hợp kết cho nội dung báo cáo ▪ Phương pháp xử lý kết thực hành ▪ Các kết quả, vẽ đặc tính ▪ Nhận xét kết quả: + Các kết thu từ thực hành + So sánh kết thực hành với lý thuyết + Mức độ kết đạt so với yêu cầu đề ▪ Kiến nghị Chấm điểm thực hành Việc chấm điểm thực hành dựa điểm chấm cán hướng dẫn thực hành (bao gồm việc đến thực hành giờ, chuẩn bị đầy đủ, thái độ thực thực hành, phương pháp thực thực hành) nội dung sinh viên viết báo cáo thực hành BÀI SỬ DỤNG CÁC CÔNG CỤ MÔ PHỎNG TRONG THIẾT KẾ MẠCH LOGIC SỐ Mục đích 1) Sử dụng chương trình mơ Logisim, Multisim để xây dựng mạch mô phỏng, kiểm tra thiết kế logic theo phương pháp truyền thống 2) Sử dụng chương trình mơ Modelsim để kiểm tra thiết kế logic theo phương pháp sử dụng ngôn ngữ VHDL Cơng cụ phục vụ thực hành : Máy tính, phần mềm Notepad++, Multisim, Modelsim Thời gian 1.1 : tiết Mơ tả tốn thiết kế thủ cơng 1.1.1 Mơ tả tốn thiết kế Thiết kế mạch cảnh báo an ninh (bằng chuông) xe ô tô Biết hệ thống cảnh báo hoạt động trường hợp sau (chuông kêu): - Khi xe hoạt động (biểu chìa khóa đề ổ) qn khơng đóng cửa - Khi xe hoạt động quên thắt dây an toàn - Quên tắt đèn xe không dùng 1.1.2 Thiết kế theo phương pháp thủ công truyền thống ▪ Bước 1: Phân tích tốn, định biến vào/ra logic Từ toán ta xác định biến đầu vào là: chìa khóa đề, trạng thái cửa xe, đèn xe dây an toàn, hàm đầu trạng thái chuông báo Ta quy ước trạng thái hàm biến logic sau: Tên biến Ký hiệu Điều kiện Tín hiệu chng A A=1 Chng kêu Chìa khóa K K=1 Chìa khóa ổ đề Cửa D D=1 Cửa mở Đèn L L=1 Đèn sáng Dây an toàn S S=1 Dây an toàn thắt ▪ Bước 2: Xây dựng bảng chân lý Từ phát biểu ngơn ngữ ta có bảng chân lý: Hoạt động K D L S A 0 0 0 0 0 1 0 1 1 0 0 1 0 1 1 1 1 0 1 0 1 1 1 1 0 1 1 1 1 1 1 1 Từ bảng chân lý ta viết hàm A(K,D,L,S) theo dạng tuyển chuẩn tắc sau: A( K , D, L, S ) = m(2,3, 6, 7,8,10,12,13,14,15) = K DLS + K DLS + KDLS + KDLS + K DLS + K DLS + KDLS + KDLS + KDLS + KDLS Hàm A(K,D,L,S) theo dạng hội chuẩn tắc sau: A( K , D, L, S ) = M (0,1, 4,5,9,11) = ( K + D + L + S )( K + D + L + S )( K + D + L + S ) ( K + D + L + S )( K + D + L + S )( K + D + L + S ) ▪ Bước 3: Tối giản hàm logic Tối giản hàm logic phương pháp bìa Karnaugh dạng tuyển ta F ( K , D, L, S ) = KL + K S + KD ▪ Bước 4: Vẽ sơ đồ logic - Sơ đồ logic tối giản dạng tuyển thực cổng logic sau: X1 2.5V K U5 NOT U7 Key = Space D AND2 U1 U2 U3 Key = Space L U6 OR2 Key = Space S OR2 AND2 NOT U4 Key = Space AND2 Với phương án thiết kế hồn tồn dựa thủ cơng, đến bước người thiết kế phải lựa chọn IC rời rạc phù hợp, lắp mạch kiểm chứng thực tế 1.2 Thiết kế mô sử dụng phần mềm Logisim 1.2.1 Cài đặt phần mềm Logisim Logisim công cụ giáo dục để thiết kế mô mạch logic kỹ thuật số Với giao diện công cụ đơn giản mô mạch bạn xây dựng chúng, đủ đơn giản để tạo điều kiện thuận lợi cho việc học khái niệm liên quan đến mạch logic Với khả xây dựng mạch lớn từ mạch phụ nhỏ để vẽ bó dây thao tác kéo chuột, Logisim sử dụng để thiết kế mô tồn CPU cho mục đích giáo dục Hình 1.1 Giao diện chương trình Logisim Logisim sử dụng sinh viên trường cao đẳng đại học khắp giới nhiều loại lớp học, từ đơn vị ngắn gọn logic khảo sát khoa học máy tính giáo dục phổ thơng, khóa học tổ chức máy tính, đến khóa học tồn học kỳ kiến trúc máy tính Logisim chương trình chạy, viết Java Để down load Logism, vào link sau đây: https://sourceforge.net/projects/circuit/ Do phần mềm chạy java, ta cần phải cài đặt công cụ hỗ trợ https://www.oracle.com/java/technologies/downloads/#java8-windows 1.2.2 Các bước thiết kế mô Với hỗ trợ phần mềm Logisim, ta dễ dàng thiết kế mơ tốn mơ tả máy tính (Thay cho phướng pháp thủ cơng) theo bước sau: ▪ Bước Khởi tạo biến logic vào hàm logic đầu Từ giao diện chính, click vào menu Window -> Computational Analysis Trong cửa sổ Computational Analysis, ta click vào Input, nhập add biến logic đầu vào K, D, L, S Tiếp ta ta click vào Output nhập add hàm đầu A Hình 1.2 Nhập đầu vào/ra Bước 2: Nhập bảng chân lý Trong cửa sổ Computational Analysis, chọn menu Table nhập giá trị tương ứng mà hàm đầu 0, khơng xác định Hình 1.3 Nhập bảng chân lý ▪ Bước 3: Xác định hàm logic tối giản Trong cửa sổ Computational Analysis, chọn menu Minimized Trong cửa sổ ta chọn hàm đầu thông qua việc click chọn output chọn cách thức tối giản theo dạng tuyển (Sum of Product) hay theo dạng hội (Product of Sum) end for; end CFG_test; -VD1_tb.vhd thiết kế mà không chứa cổng vào phần khai báo Kiến trúc gồm hai phần, phần khai báo tín hiệu khai báo tín hiệu vào BT1 Phần hai khai báo sử dụng BT1 khối có tên dut (device under test) gán cổng vào tương ứng Bước 8.2: Tiến hành biên dịch file VD1_tb.vhd lệnh sau cửa sổ transcript tương tự làm bước vcom VD1_tb.vhd Bước 9.2: Khởi tạo mô thiết kế lệnh: vsim BT1_test Hình 1.48 Minh họa bước Bước 10.2: Bổ xung tín hiệu vào cửa sổ wave form để quan sát, để thực gõ lệnh sau vào cửa sổ Transcript add add add add add wave wave wave wave wave sim:/BT1_test/ain sim:/BT1_test/bin sim:/BT1_test/cin sim:/BT1_test/din sim:/BT1_test/Fout Mỗi lệnh hiển thị tín hiệu tương ứng vào giản đồ sóng, cách ta lựa chọn tín hiệu định để theo dõi Sau thực bước tiến hành chạy mơ Mơ chạy nút cơng cụ Run cơng cụ cửa sổ giản đồ sóng: 35 Hình 1.49 Minh họa bước 10 Bước 11.2: Chạy mơ quan sát kết waveform cách gõ lệnh run 100 ns vào cửa sổ Transcript sau mở rộng cửa sổ Waveform bên phải để quan sát run 1000 ns Khi gặp lệnh chương trình chạy mô 1000 ns Kết sau: Hình 1.50 Minh họa bước 11 Bước 12.2: Tạo file run.do lưu vào thư mục làm việc với nội dung sau: quit -sim vlib work vcom Vd1.vhd vcom VD1_tb.vhd vsim BT1_test add wave sim:/BT1_test/ain add wave sim:/BT1_test/bin add wave sim:/BT1_test/cin 36 add wave sim:/BT1_test/din add wave sim:/BT1_test/Fout run 1000 ns Dòng thứ để kết thúc mô thực thi tồn tại, dịng thứ hai tạo thư viện work chưa tồn tại, tiếp đến lệnh vcom để biên dịch file mã nguồn từ thấp đến cao Lệnh vsim để tiến hành mô phỏng, sau lệnh bổ xung tín hiệu cần theo dõi vào giản đồ sóng Lệnh cuối lệnh run dùng để chạy mô Bước 13.2: Trong cửa sổ transcript modelsim để biên dịch chạy lại mô ta sau run.do Phần mô tả bước sử dụng Modelsim để kiểm tra nhanh thiết kế VHDL bao gồm kiểm tra lỗi cú pháp (Complile) kiểm tra lỗi thiết kế (waveform) Việc kiểm tra lỗi thiết kế thực nhờ file testbench VD1_tb.vhd Tuy nhiên, file bao gồm kịch cho phép kiểm tra nhanh 13 trạng thái mà Fout đạt giá trị khơng phải tất trạng thái có đầu vào Để kiểm tra đầy đủ, ta sử dụng file testbench VD1_tb2.vhd có nội dung sau: -Testbench cua VD1 -library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity BT1_test is end BT1_test; architecture test of BT1_test is type sample is record a,b,c,d: std_logic; end record sample; type sample_array is array (natural range ) of sample; constant test_data: sample_array := ( ('0','0','0','0'),('0','0','0','1'),('0','0','1','0'), ('0','0','1','1'),('0','1','0','0'),('0','1','0','1'), ('0','1','1','0'),('0','1','1','1'),('1','0','0','0'), ('1','0','0','1'),('1','0','1','0'),('1','0','1','1'), ('1','1','0','0'),('1','1','0','1'),('1','1','1','0'), ('1','1','1','1') ); component BT1 is port (a,b,c,d : in std_logic; F : out std_logic ); end component; khai bao cac tin hieu vao cho DUT 37 signal ain,bin,cin,din,Fout : std_logic; begin process begin for i in test_data'range loop ain Signals in Region Hình 1.57 Thêm tín hiệu vào cửa sổ wave 40 Bước 8.3: Bắt đầu chạy mô : Simulate -> Run -> Run 100 Hình 1.58 Lựa chọn chạy mơ Hình 1.59 Kết dạng sóng mơ Bước 9.3: Quan sát dạng sóng Hình 1.60 Lựa chọn phù hợp để quan sát dạng sóng 41 Chú ý: ta thực kiểm tra tự động hồn tồn mà khơng cần quan tâm đến dạng sóng cách khai báo đầu mong muốn mẫu test lập trình cho máy tính tự động so sánh đầu mô đầu mong muốn file testbench library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity Alarm_test is end Alarm _test; architecture test of Alarm _test is type sample is record a,b,c,d,F: std_logic; end record sample; type sample_array is array (natural range ) of sample; constant test_data: sample_array := ( ('0','0','0','0','0'),('0','0','0','1','0'),('0','0','1','0','1'), ('0','0','1','1','1'),('0','1','0','0','0'),('0','1','0','1','0'), ('0','1','1','0','1'),('0','1','1','1','1'),('1','0','0','0','1'), ('1','0','0','1','0'),('1','0','1','0','1'),('1','0','1','1','0'), ('1','1','0','0','1'),('1','1','0','1','1'),('1','1','1','0','1'), ('1','1','1','1','1') ); component BT1 is port (a,b,c,d : in std_logic; F : out std_logic); end component; khai bao cac tin hieu vao cho DUT signal ain,bin,cin,din,Fout : std_logic; begin process begin for i in test_data'range loop ain