Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 93 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
93
Dung lượng
3,52 MB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA - - TẠ QUỐC VIỆT C C R L T DU XÂY DỰNG MÔI TRƯỜNG TỰ XÁC MINH SRAM CỔNG KÉP BẰNG PHƯƠNG PHÁP XÁC MINH PHỔ QUÁT LUẬN VĂN THẠC SĨ KỸ THUẬT CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ Đà Nẵng - Năm 2020 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA TẠ QUỐC VIỆT C C XÂY DỰNG MÔI TRƯỜNG TỰ XÁC MINH SRAM CỔNG KÉP BẰNG PHƯƠNG PHÁP XÁC MINH PHỔ QUÁT R L T DU Chuyên ngành Mã số : Kỹ thuật điện tử : 8520203 LUẬN VĂN THẠC SĨ Người hướng dẫn khoa học: TS VÕ TUẤN MINH TS NGÔ MINH TRÍ Đà Nẵng - Năm 2020 I LỜI CẢM ƠN Tôi muốn gửi lời cảm ơn chân thành đến người hướng dẫn khoa học cho tôi, TS Võ Tuấn Minh TS Ngơ Minh Trí, thầy hỗ trợ to lớn chuyên môn phản hồi thường xuyên đề tài luận văn thạc sĩ Tôi xin gửi lời cảm ơn đến tất thầy, cô giúp đỡ, giảng dạy từ ngày đầu đến trường Nhân đây, muốn gửi thành đến gia đình tơi, tình u quan tâm họ dành cho suốt thời gian học thạc sĩ C C DU R L T II LỜI CAM ĐOAN Tôi xin cam đoan trừ trường hợp cụ thể tham khảo để thực công việc người khác, tất nội dung luận văn thạc sĩ gốc chưa gửi toàn phần nhằm xem xét trình độ chuyên môn cho trường đại học khác Luận văn công việc riêng tôi, số liệu kết nêu luận văn trung thực chưa công bố cơng trình nghiên cứu khác Tác giả luận văn C C Tạ Quốc Việt DU R L T III MỤC LỤC LỜI CẢM ƠN I LỜI CAM ĐOAN II MỤC LỤC III TÓM TẮT LUẬN VĂN VIII DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT IX DANH MỤC CÁC BẢNG X DANH MỤC CÁC HÌNH X MỞ ĐẦU 1 Tính cấp thiết đề tài .1 Mục tiêu nghiên cứu Đối tượng phạm vi nghiên cứu C C Phương pháp nghiên cứu R L T Bố cục đề tài Tổng quan tài liệu tham khảo DU CHƯƠNG TỔNG QUAN VỀ BỘ NHỚ VÀ SYSTEM VERILOG 1.1 GIỚI THIỆU CHƯƠNG 1.1.1 Bộ nhớ dễ bay 1.1.1.1 SRAM 1.1.1.2 DRAM 1.1.2 Bộ nhớ không bay 1.1.2.1 ROM 1.1.2.2 EEPROM 1.1.2.3 Bộ nhớ FLASH 1.1.3 Các loại nhớ hỗn hợp 1.1.4 Các mối quan tâm thiết kế nhớ .7 1.1.4.1 Tỷ lệ khung hình .7 1.1.4.2 Thời gian truy cập .7 1.1.4.3 Công suất tiêu tán .7 1.1.4.4 Vấn đề tích hợp nhớ .7 1.2 SYSTEM VERILOG IV 1.2.1 Giới thiệu 1.2.2 Sự khác Verilog System Verilog 1.2.2.1 Sự khác mô tả mô-đun 1.2.2.2 Sự khác tác vụ .9 1.2.2.3 Sự khác phạm vi 1.2.2.4 Sự khác tính linh hoạt 1.2.2.5 Ưu điểm giao diện System Verilog với Verilog .10 1.2.3 Cấu trúc System Verilog 11 1.2.3.1 System Verilog cho thiết kế .11 1.2.3.2 System Verilog cho xác minh (Test Bench) 11 C C 1.2.3.3 System Verilog cho ứng dụng giao diện .11 R L T 1.2.3.4 System Verilog cho DPI 11 1.2.3.5 System Verilog Assertions .11 DU 1.2.3.6 Bao phủ 12 1.2.3.7 Đồng hóa 12 1.2.3.8 Các tính khác 13 1.3 KẾT LUẬN CHƯƠNG 13 CHƯƠNG UVM VÀ CÁC MƠ HÌNH LỖI TRONG BỘ NHỚ .14 2.1 MỞ ĐẦU CHƯƠNG 14 2.2 KHÁI NIỆM CÁC THÀNH PHẦN TRONG UVM .14 2.2.1 Thư viện UVM 14 2.2.2 Tổng quan môi trường UVM 15 2.2.3 Class (Lớp) 16 2.2.4 Utility .17 2.2.5 Macro .18 2.2.6 UVM Factory 19 2.3 CÁC NGUYÊN LÝ CƠ BẢN CỦA UVM .21 2.3.1 Đóng gói chức 21 2.3.2 TLM (Transaction Level Modeling) 21 V 2.3.3 Sử dụng trình tự để tạo kích thích 23 2.3.4 Configuration (Cấu hình) 23 2.3.5 Layering ( Phân lớp) 23 2.3.6 Re-usability (Khả sử dụng lại) 23 2.4 LỚP UVM 23 2.4.1 Lớp để xây dựng môi trường 23 2.4.2 Các giai đoạn UVM 24 2.5 CÁC MƠ HÌNH LỖI THƠNG THƯỜNG 25 2.5.1 Phương pháp kiểm tra 25 2.5.1.1 Truy cập vi xử lý nhúng .25 C C 2.5.1.2 Truy cập nhớ trực tiếp .25 R L T 2.5.1.3 Bộ nhớ BIST 25 2.5.2 Mơ hình kiểm tra nhớ .26 DU 2.5.2.1 Các chế độ lỗi nhớ 26 2.5.3 Các mô hình lỗi phổ biến .27 2.5.3.1 Bị mắc kẹt lỗi .27 2.5.3.2 Lỗi chuyển tiếp 27 2.5.3.3 Lỗi giải mã địa 27 2.5.3.4 Bị kẹt lỗi mở .27 2.5.3.5 Lỗi khớp nối 27 2.5.3.6 Lỗi trì liệu 28 2.5.3.7 Lỗi đa cổng 28 2.6 THUẬT TOÁN KIỂM TRA RAM 29 2.7 KẾT LUẬN CHƯƠNG 29 CHƯƠNG THIẾT KẾ VÀ XÁC MINH SRAM CỔNG KÉP 30 3.1 MỞ ĐẦU CHƯƠNG 30 3.2 GIỚI THIỆU VỀ DUT VÀ BIST 30 3.3 BỘ NHỚ BIST 31 3.3.1 Tài nguyên phần cứng 32 VI 3.3.1.1 Bộ ghép kênh 32 3.3.1.2 Bộ đếm .33 3.3.1.3 Bộ chọn địa 33 3.3.1.4 Khối kiểm tra 33 3.3.1.5 Máy trạng thái 33 3.3.2 Thuật toán kiểm tra .34 3.4 SƠ ĐỒ CÁC MÔ-ĐUN 36 3.5 THIẾT KẾ CHI TIẾT CÁC MÔ-ĐUN 37 3.5.1 Mô-đun DUT 37 3.5.2 Mô-đun interface 37 C C 3.5.3 Mô-đun SDPSRAM Sequencer 37 R L T 3.5.4 Mô-đun SDPSRAM Monitor .40 3.5.5 Mô-đun SDPSRAM Agent 40 DU 3.5.6 Mô-đun SDPSRAM Scoreboard 41 3.5.7 Mô-đun SDPSRAM Enviroment 42 3.5.8 Mô-đun SDPSRAM Test 43 3.5.9 Mô-đun TestBench .43 3.6 TIẾN HÀNH KIỂM TRA MỨC RTL 44 3.7 KẾT LUẬN CHƯƠNG 45 CHƯƠNG KẾT QUẢ MÔ PHỎNG VÀ HƯỚNG PHÁT TRIỂN 46 4.1 MỞ ĐẦU CHƯƠNG 46 4.2 KẾT QUẢ TRÊN TRANSCRIPT QUESTA SIM 46 4.2.1 Kết từ Scoreboard xuất 46 4.2.2 Kết mô BIST 46 4.2.3 Kết mô chương trình kiểm thử UVM BIST 46 4.2.4 Kết từ UVM Report 47 4.3 KẾT QUẢ TRÊN COVER GROUP QUESTA SIM 48 4.4 ĐÁNH GIÁ KẾT QUẢ 48 4.4.1 Kết đạt 48 VII 4.4.2 Nhược điểm 48 4.5 KẾT LUẬN CHƯƠNG 49 KẾT LUẬN VÀ KIẾN NGHỊ 50 DANH MỤC CÔNG TRÌNH KHOA HỌC ĐÃ CƠNG BỐ CỦA TÁC GIẢ 51 TÀI LIỆU THAM KHẢO 52 PHỤ LỤC I 54 PHỤ LỤC II .55 II.1 Interface 55 II.2 Driver .56 II.3 Sequencer 57 II.4 Monitor 60 C C II.5 Agent 63 R L T II.6 Scoreboard 64 II.7 Environment 67 DU QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN 69 HỒ SƠ HỘI ĐỒNG ĐÁNH GIÁ LUẬN VĂN THẠC SĨ (BẢN SAO) 70 VIII TÓM TẮT LUẬN VĂN XÂY DỰNG MÔI TRƯỜNG TỰ XÁC MINH SRAM CỔNG KÉP BẰNG PHƯƠNG PHÁP XÁC MINH PHỔ QUÁT Chuyên ngành: Kỹ thuật Điện tử Khóa: 37 Trường Đại học Bách khoa – ĐHĐN Học viên thực hiện: Tạ Quốc Việt Mã số: 8520203 Tóm tắt - Trong thiết kế vi mạch tích hợp người thiết kế sáng tạo sản phẩm người xác minh đảm bảo sản phẩm phải đáp ứng chất lượng tốt đến tay khách hàng Phương pháp xác minh phổ quát (UVM: Universal Verification Methodology) phương pháp mô thiết kế phần cứng để xác minh chức UVM xây dựng với mục tiêu tạo phương pháp mô chung cho công nghiệp vi mạch RAM Video (VRAM) dạng RAM động cổng kép phổ biến sử dụng cho nhớ video, cho phép CPU vẽ hình ảnh lúc với phần cứng video đọc hình, hầu hết loại RAM cổng kép khác dựa công nghệ RAM tĩnh - SRAM Để thống ngôn ngữ thiết kế xác minh, System Verilog (SV) giới thiệu chuẩn ngôn ngữ hợp dành cho việc thiết kế phần cứng xác minh Từ vấn đề nêu trên, tác giả đề xuất nghiên cứu có xây dựng mơi trường tự xác minh cho SRAM cổng kép phương pháp xác minh phổ quát Đề tài xây dựng môi trường tự xác minh, kiểm thử (Built In Self Test – BIST) nhằm mô hình hóa kiểm tra chức hoạt động SRAM cổng kép dựa ngôn ngữ System Verilog Từ khóa - Phương pháp xác minh phổ quát, tự kiểm tra tích hợp, RAM tĩnh cổng kép, tạo mẫu thử nghiệm tự động, lập trình hướng đối tượng C C R L T DU BUILT-IN SELF-VERIFICATION ENVIRONMENT OF A DUAL PORT SRAM USING UVM METHODOLOGY Asbtract - In IC design the designer creates the product, the verifier makes sure that the product meets the best quality when it reaches the customer Universal Verification Methodology (UVM) is a method of simulating hardware designs to verify functionality UVM was built with the aim of creating a common method of simulation for the IC industry Video RAM (VRAM) is a popular dual-port dynamic RAM used for video memory, allowing the CPU to draw an image at the same time as the video hardware reading it to the screen, most other dual-port RAM based on static RAM technology For unifying design and verification languages, System Verilog (SV) was introduced as the unified language standard for hardware design and verification From the above problems, the author proposes a study that builds a self-verification environment for dual-port SRAM by universal verification method The project builds a Built In Self Test (BIST) environment to model and test the functionality of the dual port SRAM based on the System Verilog language Keyword - UVM, BIST, Dual Port SRAM, ATPG, OOP 66 && transaction_before.done == transaction_after.done && transaction_before.result == transaction_after.result) begin //display output `uvm_info("compare", $sformatf("scan_out0_AFTER: %0d // scan_out0_BEFORE: %0d", transaction_after.scan_out0, transaction_before.scan_out0), UVM_LOW); `uvm_info("compare", DOA_BEFORE: %0d", $sformatf("DOA_AFTER: transaction_after.DOA, %0d // transaction_before.DOA), UVM_LOW); `uvm_info("compare", DOB_BEFORE: %0d", R L T `uvm_info("compare", DU %0d", UVM_LOW); %0d", // %0d // transaction_before.done), $sformatf("result_AFTER: transaction_after.result, %0d transaction_before.DOB), $sformatf("done_AFTER: transaction_after.done, `uvm_info("compare", result_BEFORE: C C transaction_after.DOB, UVM_LOW); done_BEFORE: $sformatf("DOB_AFTER: %0d // transaction_before.result), UVM_LOW); //display testcase `uvm_info("MYINFO", $sformatf("Testcase: %0d", i), UVM_LOW); `uvm_info("compare", {"Test: OK!"}, UVM_LOW); i = i + 1; $display(" -"); end else begin //display output `uvm_info("compare", $sformatf("scan_out0_AFTER: %0d // scan_out0_BEFORE: %0d", transaction_before.scan_out0), UVM_LOW); transaction_after.scan_out0, 67 `uvm_info("compare", DOA_BEFORE: %0d", $sformatf("DOA_AFTER: transaction_after.DOA, %0d // transaction_before.DOA), UVM_LOW); `uvm_info("compare", DOB_BEFORE: %0d", $sformatf("DOB_AFTER: transaction_after.DOB, %0d // transaction_before.DOB), UVM_LOW); `uvm_info("compare", done_BEFORE: %0d", $sformatf("done_AFTER: transaction_after.done, %0d // transaction_before.done), UVM_LOW); `uvm_info("compare", result_BEFORE: %0d", DU `uvm_info("MYINFO", $sformatf("Testcase: %0d", `uvm_info("compare", {"Test: Fail!"}, UVM_LOW); i = i + 1; $display(" "); end endfunction: compare endclass: sdpsram_scoreboard II.7 Environment class sdpsram_env extends uvm_env; `uvm_component_utils(sdpsram_env) sdpsram_agent sdp_agent; sdpsram_scoreboard sdp_sb; function new(string name, uvm_component parent); super.new(name, parent); endfunction: new // transaction_before.result), R L T //display testcase %0d C C transaction_after.result, UVM_LOW); UVM_LOW); $sformatf("result_AFTER: i), 68 function void build_phase(uvm_phase phase); super.build_phase(phase); sdp_agent = sdpsram_agent::type_id::create(.name("sdp_agent"), sdp_sb = dpsram_scoreboard::type_id::create(.name("sdp_sb"), parent(this)); parent(this)); endfunction: build_phase function void connect_phase(uvm_phase phase); super.connect_phase(phase); sdp_agent.agent_ap_before.connect(sdp_sb.sb_export_before); C C sdp_agent.agent_ap_after.connect(sdp_sb.sb_export_after); R L T endfunction: connect_phase endclass: sdpsram_env DU 69 QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN C C DU R L T C C DU R L T 70 HỒ SƠ HỘI ĐỒNG ĐÁNH GIÁ LUẬN VĂN THẠC SĨ (BẢN SAO) C C DU R L T C C DU R L T C C DU R L T C C DU R L T C C DU R L T C C DU R L T C C DU R L T C C DU R L T C C DU R L T C C DU R L T ... nêu trên, tác giả đề xuất nghiên cứu có xây dựng mơi trường tự xác minh cho SRAM cổng kép phương pháp xác minh phổ quát Đề tài xây dựng môi trường tự xác minh, kiểm thử (Built In Self Test – BIST)... CHO SRAM CỔNG KÉP BẰNG PHƯƠNG PHÁP XÁC MINH PHỔ QUÁT” Đề tài xây dựng môi trường tự xác minh, kiểm thử (Built In Self Test – BIST) nhằm mơ hình hóa kiểm tra chức hoạt động SRAM cổng kép dựa ngôn...ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA TẠ QUỐC VIỆT C C XÂY DỰNG MÔI TRƯỜNG TỰ XÁC MINH SRAM CỔNG KÉP BẰNG PHƯƠNG PHÁP XÁC MINH PHỔ QUÁT R L T DU Chuyên ngành Mã số : Kỹ