THIẾT kế CHIP CMOS VLSI CHO KHÓA số điện tử (có code)
ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ CHIP CMOS VLSI CHO KHÓA SỐ ĐIỆN TỬ MỤC LỤC DANH MỤC CÁC HÌNH VẼ DANH MỤC CÁC TỪ VIẾT TẮT ADC Analog to Digital Converter AHDL Analog Hardware Description Language CMOS Complementary Metal-Oxide-Semiconductor DAC Digital to Analog Converter DRC Design Ruler Check EDA Electronic Design Automation IC Integrated Circuit LVS Layout Versus Schematic PLD Programmable Logic Devices PLL Phase Lock Loop RTL Register Transfer Level SOPC System On a Programmable Chip STA Static Timing Analysis VCO Voltage Controlled Oscillator VHDL VHSIC Hardware Description Language VLSI Very Large Scale Intergration ĐỒ ÁN TỐT NGHIỆP Trang 5/60 CHƯƠNG 1: TỔNG QUAN 1.1 Mục tiêu đề tài 1.1.1 Giới thiệu tổng quan đề tài Nhằm ôn lại kiến thức học bổ sung thêm kiến thức để chuẩn bị hành trang cho sinh viên chuẩn bị trường, đề tài thiết kế chip CMOS VLSI cho khóa số điện tử ôn lại kiến thức môn kỹ thuật số, hệ thống VLSI… Giúp cho sinh viên ôn tập lại nắm vững kiến thức tiếp thu nhà trường 1.1.2 Mục đích • Thiết kế ngõ vào keypad nhập tối đa ký tự, có reset bị lỗi, set nhập ký tự • • • • • đầu, test nhập ký tự cuối Thiết kế ngõ databus bit, đèn báo sáng nhập ký tự Tìm hiểu quy trình thiết kế chip CMOS Thiết kế mô chip VLSI tổng hợp RTL Thực thi tổng hợp logic Kit DE2 Thiết kế layout, Pad, kiểm tra thiết kế với DRC LVS 1.2 Các thành phần hoạt động khóa số điện tử 1.2.1 Các thành phần khóa số điện tử Để thiết kế khóa số điện tử cần có khối sau: • Thiết kế khối xử lí trung tâm khóa số điện tử với mật người dùng cài đặt • Thiết kế khối hiển thị kết quả, tín hiệu đèn • Thiết kế khối bàn phím keypad để nhập kí tự mật vào 1.2.2 Hoạt động khóa số điện tử Khóa học có hai loại: song song nối tiếp Khóa kết hợp song song loại khóa vali, nơi có đến đĩa xoay độc lập với kết hợp xác Thiết Kế Chip CMOS VLSI Cho Khóa Số Điện Tử ĐỒ ÁN TỐT NGHIỆP Trang 6/60 Khóa nối tiếp kiểu quay số khóa đặt tủ khóa an tồn: vòng quay đơn quay qua dãy số theo thứ tự Bất kỳ có số sai khơng thỏa yêu cầu, thủ tục nhập số bắt đầu lại 1.3 Các phương pháp thiết kế chip CMOS VLSI Thiết kế vi mạch chia làm ba loại chính: • Thiết kế số (Digital IC Design) • Thiết kế tương tự (Analog IC Design) • Thiết kế tín hiệu hỗn hợp (Mixed Signal Design) Qui trình thiết kế vi mạch gồm hai giai đoạn chính: • Thiết kế luận lý (Logical Design – Front End Design) • Thiết kế vật lý (Physical Design – Back End Design) Chip sau thiết kế đưa đến nhà máy để sản xuất, cơng ty tự sản xuất chip thiết kế bán cho công ty khác thuê công ty khác sản xuất cho Chip sau sản xuất kiểm tra kĩ lưỡng trước tung thị trường đưa đến người tiêu dùng Thiết Kế Chip CMOS VLSI Cho Khóa Số Điện Tử ĐỒ ÁN TỐT NGHIỆP Trang 7/60 Hình 1-1: Tồn q trình thiết kế chip CMOS [1] Quy trình thiết kế chip CMOS thực theo hình trên: • Đặc tính chức (Functional Specification): gồm mô tả chức năng, thông số kỹ thuật, yêu cầu chức kỹ thuật hệ thống phát triển phần mềm; tài liệu xác định chức mà hệ thống thành phần phải thực • Xác định kiến trúc (Define Architecture): tùy vào chức cấu tạo mạch mà ta chọn kiến trúc cho phù hợp, việc định thời gian công sức mà người thiết kế phải bỏ Thiết Kế Chip CMOS VLSI Cho Khóa Số Điện Tử ĐỒ ÁN TỐT NGHIỆP Trang 8/60 • Mã hóa RTL (RTL coding): chương trình thiết kế trừu tượng để tạo mạch số đồng luồng liệu số ghi phần cứng hoạt động hợp lý thực tín hiệu • Kiểm tra đặc tính động (Dynamic Verification): trình kiểm tra, thử nghiệm chương trình soạn ra, tự động kiểm tra hành vi chương trình • Kiểm tra chức (Check Function): trình kiểm tra chức chương trình viết có thỏa mãn u cầu đề hay khơng • Tổng hợp qt chèn (Synthesis & Scan Insertion): trình tổng hợp từ RTL sang cổng logic như: OR, AND, NOT, NOR, NAND…, sau tự động nối dây để tạo netlist • Phân tích thời gian tĩnh trước thiết kế layout (Pre-Layout STA): trình xác minh thời gian để xác minh thiết kế cho vi phạm thời gian thiết lập thời gian giữ • Kiểm tra thời gian (Check Timing): trình kiểm tra vi phạm việc phân tích thời gian tĩnh trước thiết kế layout, xem xét trình phân tích thời gian tĩnh trước thiết kế layout có vi phạm thời gian khơng • Kiểm tra thức (Formal Verification): hành động chứng minh bác bỏ tính đắn thuật toán dự định nằm hệ thống tài sản thức cách sử dụng phương pháp tốn học • Tương đương (Equivalence): xem xét tương đồng chức sau xác minh thức có thỏa mãn u cầu đề hay khơng • Sơ đồ bố trí (Floorplanning): sơ đồ biểu diễn vị trí khối chức mạch lập trình, giai đoạn để chế tạo mạch tích hợp • Đặt định tuyến (Place and Route): giai đoạn việc thiết kế bảng mạch in, bảng mạch tích hợp mảng lập trình trường Vị trí liên quan đến việc định nơi để tất thành phần điện tử, mạch yếu tố logic số lượng nói chung giới hạn khơng gian • Phân tích thời gian tĩnh sau thiết kế layout (Post-Layout STA): để xếp ta phân tích thời gian tĩnh sau thiết kế layout, nhằm xác định xác thời gian tĩnh để bố trí linh kiện Thiết Kế Chip CMOS VLSI Cho Khóa Số Điện Tử ĐỒ ÁN TỐT NGHIỆP Trang 9/60 • Mô với thời gian (Simulation with Timing): sau thu kết ta phải kiểm tra xem kết có thỏa mãn u cầu khơng, thời gian chức • In (Tape out): kết cuối trình thiết kế cho mạch tích hợp in Tape out điểm mà đồ họa cho photomask mạch gửi đến sở chế tạo 1.3.1 Thiết kế luận lý (Front End Design) 1.3.1.1 Thiết kế số Sử dụng ngôn ngữ thiết kế phần cứng (Verilog – HDL, VHDL…) nhằm thực chức logic kiểm tra mô cho với mục đích thiết kế đề Khi đó, không cần quan tâm đến cấu tạo chi tiết mạch mà trọng vào chức mạch Dựa vào kết tính tốn luân chuyển liệu qua ghi, mức chuyển ghi (RTL) Sau đó, RTL đem mơ kiểm tra mạch có thỏa yêu cầu đề hay không Tiếp đến, RTL tổng hợp thành cổng bản: NOT, NOR, AND, NAND, XOR, MUX…, trình hỗ trợ phần mềm khơng phải mà phụ thuộc vào cổng macro nhà sản xuất chip 1.3.1.2 Thiết kế tương tự Các thiết kế tương tự không phần mềm hỗ trợ mạnh thiết kế số Đến 80% công việc thiết kế người đảm nhận đòi hỏi người thiết kế phải có nhiều hiểu biết kinh nghiệm cấu trúc vật lý, tham số đặc trưng công nghệ sản xuất linh kiện Các thiết kế tương tự chủ yếu gồm: chip quản lí lượng, ADC, DAC, PLL, VCO…, chứa lượng linh kiện nhiều so với hàng triệu transistor thiết kế số Xuất phát từ thông số yêu cầu ứng dụng mà chip sản xuất, kỹ thuật viên cho kiến trúc cho phù hợp Các tham số linh kiện kiến trúc Thiết Kế Chip CMOS VLSI Cho Khóa Số Điện Tử ĐỒ ÁN TỐT NGHIỆP Trang 10/60 tính tốn mơ phần mềm chun dụng Q trình mơ tính tốn thực đến đạt kết yêu cầu 1.3.1.3 Thiết kế tín hiệu hỗn hợp Các chip thường có chức phức tạp chứa khối digital, analog Bên cạnh kỹ thuật dùng cho analog digital, nhà thiết kế phải tính tốn việc ảnh hưởng khối nhiễu giao thoa để đảm bảo chúng hoạt động cách ổn định Ngôn ngữ phát triển để dùng cho việc thiết kế tín hiệu hỗn hợp AHDL 1.3.2 Thiết kế vật lý 1.3.2.1 Thiết kế layout Netlist thu trình thiết kế luận lý dùng để chế tạo layout cho chip Trong giai đoạn này, linh kiện như: transistor, điện trở, tụ điện, cuộn cảm, … liên kết chúng tạo hình, việc thiết kế tuân theo luật thiết kế (DRC) mà nhà sản xuất đưa Các luật tùy thuộc vào khả thi cơng nhà máy sản xuất Có hai luật thiết kế là: lambda (λ) luật tuyệt đối Với luật lambda kích thước phải bội số lambda, luật tuyệt đối sử dụng kích thước cố định, việc sử dụng luật lambda dễ thích ứng cơng nghệ thay đổi Thiết kế số hỗ trợ phần mềm, từ việc sử dụng cell thư viện việc nối dây Chip analog đòi hỏi thiết kế xác kỹ thuật chuyên biệt để đảm bảo tương thích linh kiện nhạy cảm, chống nhiễu, đáp ứng tầng số 1.3.2.1 Kiểm tra DRC LVS Kiểm tra DRC: sau hoàn tất layout chip, đến bước kiểm tra DRC để biết layout có đáp ứng luật thiết kế không Nếu DRC không báo lỗi đến bước kiểm tra LVS, layout xuất file netlist đem so sánh với file Thiết Kế Chip CMOS VLSI Cho Khóa Số Điện Tử ĐỒ ÁN TỐT NGHIỆP Trang 49/60 DATA_FSM DOWNTO 0) : OUT STD_LOGIC_VECTOR(3 Test data inside FSM ); END ENTITY KEYPAD_LOCKER; -ARCHITECTURE STRUCT OF KEYPAD_LOCKER IS Bult-in PASS_CODE CONSTANT PASS_CODE : STD_LOGIC_VECTOR (31 DOWNTO 0) := X"01234567"; Build an enumerated type for the state machine TYPE STATE_ENUMS IS (P0, P1, P2, P3, P4, P5, P6, P7, P_DONE); Register to hold the current state SIGNAL STATE : STATE_ENUMS; SIGNAL STATE : STD_LOGIC_VECTOR(3 DOWNTO 0) := X"0"; Control signal SIGNAL SET : STD_LOGIC; SIGNAL TEST : STD_LOGIC; SIGNAL TEST_DLY1 : STD_LOGIC; SIGNAL TEST_DLY2 : STD_LOGIC; SIGNAL TEST_DLY3 : STD_LOGIC; SIGNAL SRSTn, MRSTn : STD_LOGIC; Debounced signal - keypad input Thiết Kế Chip CMOS VLSI Cho Khóa Số Điện Tử ĐỒ ÁN TỐT NGHIỆP Trang 50/60 SIGNAL COL_D : STD_LOGIC_VECTOR(3 DOWNTO 0) := X"0"; DATABUS SIGNAL KEY_CODE : STD_LOGIC_VECTOR(4 DATABUS_NET : STD_LOGIC_VECTOR(4 DATA_TMP : STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL DOWNTO 0); SIGNAL DOWNTO 0); VALID SIGNAL VALID : STD_LOGIC; Signal store input keys SIGNAL KEY_CUR : STD_LOGIC_VECTOR(31 FINAL_CODE : STD_LOGIC_VECTOR(31 : STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL DOWNTO 0); - Signal for Test SIGNAL VALID_NUM DOWNTO 0) := X"0"; -BEGIN Thiết Kế Chip CMOS VLSI Cho Khóa Số Điện Tử ĐỒ ÁN TỐT NGHIỆP Trang 51/60 U0 : KEYPAD PORT MAP ( CLK => CLK, RSTn => MRSTn, COL => COL, ROW => ROW, DATA => KEY_CODE, VALID => VALID ); -SRSTn