Đồ án Nghiên cứu sử dụng công cụ synopsys và ứng dụng thiết kế vi mạch (Phần 1)
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Nghiên cứu sử dụng công cụ synopsys và ứng dụng thiết kế vi mạch (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
do_an_nghien_cuu_su_dung_cong_cu_synopsys_va_ung_dung_thiet.pdf
Nội dung text: Đồ án Nghiên cứu sử dụng công cụ synopsys và ứng dụng thiết kế vi mạch (Phần 1)
- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN-ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ ĐIỆN TỬ VIỄN THÔNG NGHIÊN CỨU SỬ DỤNG CÔNG CỤ SYNOPSYS VÀ ỨNG DỤNG THIẾT KẾ VI MẠCH GVHD: Phạm Vãn Khoa SVTH: Nguyễn Hữu Lâm MSSV: 10117039 SVTH: Ðỗ Danh Huy MSSV: 10117032 S K L 0 0 3 3 1 3 Tp. Hồ Chí Minh, tháng 08/2014
- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN -ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ-VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP NGÀNH: ĐIỆN TỬ VIỄN THÔNG ĐỀ TÀI: NGHIÊN CỨU SỬ DỤNG CÔNG CỤ SYNOPSYS VÀ ỨNG DỤNG THIẾT KẾ VI MẠCH GVHD : Phạm Văn Khoa SVTH : Nguyễn Hữu Lâm 10117039 Đỗ Danh Huy 10117032 TP.HCM Tháng 8/2014
- ĐỒ ÁN TỐT NGHIỆP Trang i LỜI CẢM ƠN Nhóm thực hiện đề tài xin gửi lời cảm ơn chân thành đến thầy Phạm Văn Khoa đã rất tận tình hƣớng dẫn và giúp đỡ trong quá trình thực hiện đồ án. Nhóm thực hiện đề tài cũng xin bày tỏ lòng biết ơn đến các thầy cô trƣờng Đại học Sƣ phạm kỹ thuật TPHCM đã tận tình dạy bảo trong thời gian qua để giúp sinh viên có đƣợc những kiến thức để hoàn thành đồ án. Cuối cùng nhóm thực hiện đề tài xin chân thành cảm ơn sự đóng góp ý kiến của các bạn sinh viên. Sinh viên thực hiện: Nguyễn Hữu Lâm Đỗ Danh Huy Lời cảm ơn
- ĐỒ ÁN TỐT NGHIỆP Trang ii MỤC LỤC LỜI CẢM ƠN i MỤC LỤC ii LIỆT KÊ HÌNH v LIỆT KÊ BẢNG vii THỐNG KÊ CHỮ VIẾT TẮT viii TÓM TẮT ix ABSTRACT x CHƢƠNG 1: GIỚI THIỆU 1 1.1. Vai trò và ứng dụng quy trình thiết kế ASIC. 1 1.2. Lý do chọn đề tài 1 1.3. Mục tiêu đề tài 2 1.4. Phạm vi đề tài 2 1.5. Bố cục của đồ án 2 CHƢƠNG 2: CƠ SỞ LÝ THUYẾT 4 2.1. Quy trình thiết kế vi mạch. 4 2.1.1. Quy trình thiết kế ASIC 4 2.1.2. Quy trình thiết thiết kế một ASIC sử dụng Synopsys 6 2.2. Chuẩn giao tiếp I2C 7 2.2. Ngôn ngữ mô tả phần cứng. 9 2.3. Một số công cụ trong phần mềm Synopsys 10 2.3.1. VCS 10 1. Giới thiệu 10 2. Ứng dụng trong thiết kế 11 2.3.2. DVE 12 1. Giới thiệu 12 2. Ứng dụng trong thiết kế 13 2.3.3. Design Compiler 14 Mục lục
- ĐỒ ÁN TỐT NGHIỆP Trang iii 1. Giới thiệu 14 2. Ứng dụng trong thiết kế 17 2.3.4. Design Vision 18 1. Giới thiệu 18 2. Ứng dụng trong thiết kế. 19 CHƢƠNG 3: THIẾT KẾ MÔ-ĐUN TRUYỀN DỮ LIỆU THEO CHUẨN I2C 20 3.1. Thiết kế bộ điều khiển I2C 20 3.2. Các tín hiệu và thanh ghi. 21 3.3. Các khối trong IC 22 3.3.1. Khối I2C 22 1. Sơ đồ mạch 22 2. Nguyên lý hoạt động 22 3.3.2. Khối I2C_CLK 23 1. Sơ đồ mạch 23 2. Nguyên lý hoạt động 24 3.3.3. Khối I2C_RREG 25 1. Sơ đồ mạch khối i2c_rreg 25 2. Nguyên lý hoạt động 27 3.3.4. Khối I2C_WREG 27 1. Sơ đồ mạch 27 2. Nguyên lý hoạt động 29 3.3.4. Khối I2C_ST 29 1. Sơ đồ mạch 30 2. Nguyên lý hoạt động 31 CHƢƠNG 4: ĐÁNH GIÁ THIẾT KẾ SỬ DỤNG CÔNG CỤ CỦA SYNOPSYS 33 4.1. Đánh giá chức năng bằng VCS và DVE 33 4.1.1. Module I2C 33 1. Quá trình ghi dữ liệu 33 Mục lục
- ĐỒ ÁN TỐT NGHIỆP Trang iv 2. Quá trình đọc dữ liệu 34 4.1.2. Module I2C_CLK. 35 4.1.3. Module I2C_RREG. 36 4.1.4. Module I2C_WREG. 36 4.1.5. Module I2C_ST 37 4.2. Tổng hợp và Đánh giá trên DC 37 4.2.1. Khái niệm về các thông số trong DC 37 4.2.2. Đánh giá về thời gian hoạt động 40 4.3.3. Đánh giá về bản thiết kế. 43 1. Đƣờng có độ trễ cao nhất 43 2. Compiler Ultra. 43 4.3.4. Đánh giá về công suất và diện tích. 44 1. Các thông số về công suất 44 2. Các thông số về diện tích. 45 3. Báo cáo công suất và diện tích. 45 CHƢƠNG 5: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 47 5.1. Kết quả đạt đƣợc 47 5.2. Hạn chế của đề tài 47 5.3. Hƣớng phát triển của đề tài 47 Tài liệu tham khảo 47 Mục lục
- ĐỒ ÁN TỐT NGHIỆP Trang v LIỆT KÊ HÌNH Hình 2.1: Quy trình thiết kế ASIC. 5 Hình 2.2: Quy trình thiết kế ASIC sử dụng Synopsys. 6 Hình 2.3: Hình minh họa các kết nối của các thiết bị qua chuẫn I2C 7 Hình 2.4: Hình minh họa các kết nối của các thiết bị qua chuẫn I2C 8 Hình 2.10: Mô tả dạng sóng bằng DVE 12 Hình 2.11: Giao diện đồ họa DVE. 13 Hình 2.12: Biên dịch RTL thành sơ đồ mạch trên DVE. 14 Hình 2.13: Quy trình tổng hợp của DC. 15 Hình 2.14: Các thiết đặt dựa trên các bƣớc tổng hợp của DC. 16 Hình 2.15: Dữ liệu vào và ra của DC. 17 Hình 2.16: Các dữ liệu ngõ vào và ra của DC. 17 Hình 2.17: Giao diện Design Vision. 18 Hình 2.18: DV vẽ ra sơ đồ mạch và chỉ ra đƣờng có độ trễ lớn nhất. 19 2 Hình 3.1: Sơ đồ khối bộ điều khiển I C. 20 Hình 3.2: Sơ đồ chân bộ điều khiển I2C. 20 Hình 3.3: Sơ đồ mạch bộ điều khiển I2C 22 Hình 3.4: Sơ đồ nguyên lý bộ điều khiển I2C 23 Hình 3.5: Sơ đồ mạch khối i2c_clk. 23 Hình 3.6: Sơ chân khối i2c_clk. 24 Hình 3.7: Sơ đồ chân khối i2c_rreg 26 Hình 3.8: Sơ đồ mạch khối i2c_rreg 26 Hình 3.9: Sơ đồ chân khối i2c_wreg. 27 Hình 3.10: Sơ đồ mạch khối i2c_wreg 28 Hình 3.11: Sơ đồ trạng thái máy khối i2c_st 29 Hình 3.12: Sơ đồ chân khối i2c_st 30 Hình 3.13: Sơ đồ mạch khối i2c_st 30 Liệt kê hình
- ĐỒ ÁN TỐT NGHIỆP Trang vi Hình 4.1: Mô phỏng quá trình ghi dữ liệu của I2C. 33 Hình 4.2: Mô phỏng quá trình ghi dữ liệu của I2C. 34 Hình 4.3: Quá trình tạo xung kích trong mô-đun I2C. 35 Hình 4.4: Quá trình tạo xung kích trong mô-đun I2C theo chu kỳ xung clock. 35 Hình 4.5: Mô tả dạng sóng và chức năng mô-đun i2c_rreg. 36 Hình 4.6: Mô tả dạng sóng và chức năng mô-đun i2c_wreg. 36 Hình 4.7: Mô tả dạng sóng và chức năng mô-đun i2c_st. 37 Hình 4.8: Mô tả đặc tính độ trễ của ngõ vào 37 Hình 4.9: Setup time và hold time. 38 Hình 4.10: Jitter. 38 Hình 4.11: Skew. 38 Hình 4.12: Hình minh họa latency, uncertainty và transition. 39 Hình 4.13: Mô tả đặc tính độ trễ của ngõ ra 39 Hình 4.14: Mô tả đặc tính xung clock cấp vào. 40 Hình 4.15: Đƣờng mạch có độ trễ lớn nhất trong mô-đun. 43 Hình 4.16: DC chỉ ra đƣờng mạch có độ trễ cao nhất. 43 Hình 4.17: Sơ đồ mạch sau khi tổng hợp bằng DC. 44 Hình 4.18: Sơ đồ mạch sau khi tổng hợp bằng Compiler Ultra. 44 Liệt kê hình
- ĐỒ ÁN TỐT NGHIỆP Trang vii LIỆT KÊ BẢNG Bảng 3.1: Các tín hiệu I2C 21 Bảng 3.2: Các thanh ghi I2C 21 Bảng 3.3: Chức năng các chân khối i2c_clk 24 Bảng 3.4: Trạng thái các bit của thanh ghi trạng thái 25 Bảng 3.5: Chức năng các chân khối i2c_rreg 25 Bảng 3.6: Các thanh ghi I2C 27 Bảng 3.7: Chức năng các chân khối i2c_wreg 28 Bảng 3.8: Chức năng các chân khối i2c_st 31 Bảng 3.9: Các trạng thái của thiết bị I2C 32 Bảng 4.1.: Khảo sát slack ở 3 chế độ hoạt động I2C. 42 Bảng 4.2: Thông số công suất đƣợc Compile Design 45 Bảng 4.3: Thông số công suất đƣợc Compiler Ultra 45 Bảng 4.4: Thông số diện tích đƣợc Compile Design 46 Bảng 4.5: Thông số diện tích đƣợc Compiler Ultra 46 Liệt kê bảng
- ĐỒ ÁN TỐT NGHIỆP Trang viii THỐNG KÊ CHỮ VIẾT TẮT A ASIC Application-Specific Integrated Circuit Mạch tích hợp ứng dụng cụ thể D DC Design Compiler DVE Discovery Visualization Environment E EDA Electronic Design Automation Tự động thiết kế điện tử H HDL Hardware Description Languages Ngôn ngữ mô tả phần cứng I I2C Inter-Intergrated Circuit L LVS Layout Versus Schematic Bố trí so với sơ đồ R RTL Register Transfer Logic S SDA Serial Data Dữ liệu nối tiếp SDC Synopsys Design Constraints Ràng buộc thiết thế Synopsys SCL Serial Clock Clock nối tiếp V VCS Verilog Compiler Simulator Mô phỏng biên dịch Verilog Thống kê chữ viết tắt
- ĐỒ ÁN TỐT NGHIỆP Trang ix TÓM TẮT Thiết kế vi mạch đang là một ngành vô cùng phát triển trên thế giới và đang là ngành chủ chốt của một số quốc gia nhƣ Mỹ, Nhật, Hàn Quốc, Các nhà khoa học đã không ngừng nghiên cứu và phát triển những vi mạch ngày một thông mình hơn đồng thời diện tích và công suất tiêu thụ nhỏ hơn nhƣng vẫn đảm bảo tần số hoạt động yêu cầu. I2C là một bus 2 dây hai chiều đơn giản đƣợc phát triển và sáng chế bởi Philips để kết nối các thiết bị ngoại vi đến một board mạch chính, một hệ thống nhúng hay một điện thoại di động. Dƣa trên việc nghiên cứu ngôn ngữ Verilog và các kiến thức khác, chúng tối thiết kế chức năng, tối ƣu diện tích, công suất cho một mô-đung I2C. Cụ thể, chúng tôi sử dụng công cụ Verilog Compiler Simulator (VCS) để biên dịch và sửa lỗi, Discovery Visual Environment (DVE) để mô phỏng chức năng của mô-đun Top-level và các mô-đun con, công cụ Design Compiler (DC) để tối ƣu, đánh giá về diện tích và công suất thiết kế. Tất cả công cụ đƣợc cài đặt trên hệ điều hành Linux Fedora13. Kết quả, ta thu đƣợc một thiết kế ở cấp độ Gate Level Netlist. Tất nhiên, chúng ta phải thực hiện các công đoạn còn lại để hoàn tất một chu trình thiết kế ASIC. Đây sẽ là hƣớng phát triển đề tài. Tóm tắt
- ĐỒ ÁN TỐT NGHIỆP Trang x ABSTRACT IC Design is a developed industry on over the world. This is the main factor of some countries such as the U.S, Japan, South Korea, etc. Scientists have been researching, developing the ICs to make those ICs more intelligent with a smaller area and power consumption while ensuring operating frequency requirements. I2C is a simple bi-directional 2-wire bus developed and patented by Philips for connecting low speed peripherals to a motherboard, embedded system or cell phone. Basing on researching Verilog Language and other knowledges, we design functions and optimized area, power for I2C module. In detail, we use Verilog Compiler Simulator (VCS) tool to compile and debug, Discovery Visual Environment (DVE) tool to simulate functions of top-level module and internal module, Design Compiler (DC) tool to optimize and estimate about area, power of design. All of these tools were installed in Linux Fedora13 Operation System. Finally, we receive a design in Gate Level Netlist. Of course, we have to implement the other steps to complete a ASIC degisn flow. This will be the development direction of this thesis. Abstact
- ĐỒ ÁN TỐT NGHIỆP Trang 1 CHƯƠNG 1: GIỚI THIỆU 1.1. Vai trò và ứng dụng quy trình thiết kế ASIC. Ngày nay, khoa học kỹ thuật ngày một phát triển, các thiết bị công nghệ ngày một thông minh và nhỏ gọn hơn để đáp ứng nhu cầu sử dụng và nghiên cứu của con ngƣời. Vì thế, các vi mạch đƣợc sử dụng trong các thiết bị này không chỉ phải thông minh hơn mà cũng đòi hỏi phải ngày một nhỏ hơn cũng nhƣ tiêu thụ ít điện năng hơn. Ứng dụng quy trình thiết kế ASIC, các vi mạch với chức năng đặc biệt đƣợc tạo ra. Đó có thể là các vi mạch thực hiện các phép tính, phân giải video hay đảm nhiệm chức năng truyền dẫn. Nói về công nghệ truyền dân, chúng ta có nhiều giao thức truyền dẫn để giao tiếp dữ liệu giữa các thiết bị nhƣ RS-232, RS-422, RS-485, SPI trong đó I2C là một chuẩn truyền dẫn hai dây quan trọng và phổ biến giúp giao tiếp giữa các thiết bị các tần số hoạt động khác nhau mà không mất mát dữ liệu. Đây là một mô-đun quan trọng trong một số hệ thống tích hợp cao và việc thiết kế một mô-đun giao tiếp I2C là cần thiết. Nhƣng trong quy trình thiết kế ASIC, các vi mạch đều có cùng chung các vấn đề cần giải quyết. + Làm thế nào để biết thiết kế có chạy đúng chức năng hay không? + Làm thế nào để con chip có thể chạy với tốc độ tần số hoạt động (highest operation frequency) nhanh nhất? + Làm thế nào để con chip có công suất tiêu tốn nguồn nhỏ nhất (lowest power consumption)? + Làm thế nào để con chip có kích thƣớc nhỏ nhất (minimum area)? Đây là một bài toán không hề đơn giản đối với các nhà sản xuất vi mạch. Họ đã và đang cùng các nhà khoa học nghiên cứu từng ngày để giải quyết bài toán trên, tạo ra cá thuật toán và chuẫn kỹ thuật mới. Và các nhà sản xuất, nhà khoa học bằng cách áp dụng các thuật toán và ứng dụng tin học để tạo ra các công cụ giúp giải quyết các vấn đề trên một cách hiệu quả và nhanh chóng, thúc đẩy nền công nghiệp sản xuất vi mạch phát triển, một ngành công nghiệp mới đầy tiềm năng và phát triển của thế giới, góp phần làm cho cuộc sống nhân loại ngày một thông minh và hiện đại hơn. 1.2. Lý do chọn đề tài Bên cạnh sự phát triển nhƣ vũ bão của công nghệ sản xuất vi mạch thì không chỉ việc mô tạo ra một con chip chạy đúng chức năng nhƣ yêu cầu thông qua ngôn ngữ mô tả phần cứng HDL thì việc tối ƣu nó cũng là một vấn đề cần giải quyết. Các nhà sản Chương 1: Giới Thiệu
- ĐỒ ÁN TỐT NGHIỆP Trang 2 xuất đã tối ƣu một con chip nhƣ thế nào và việc sử dụng các công cụ để thực hiện việc này ra sau? Bên cạnh đó, bằng cách nào để truyền dữ liệu giữa một con chip có tốc độ cao với một con chip có tốc độ thấp hơn thông qua kết nối nối tiếp mà không mất dữ liệu? Xuất phát từ những vấn đề trên, nhóm thực hiên đã chọn đề tài: “Nghiên cứu sử dụng công cụ của Synopsys ứng dụng thiết kế vi mạch”. 1.3. Mục tiêu đề tài Nhóm thực hiện nghiên cứu các vấn đề sau: + Tìm hiểu về quy trình thiết kế vi mạch và các kiến thức liên quan. + Ngôn ngữ mô tả phần cứng Verilog. + Tìm hiểu công cụ VCS, DVE và Design Compiler của Synopsys. + Thiết lập công cụ trên nền tảng Linux: Fedora13. + Tìm hiểu và dùng ngôn ngữ Verilog thiết kế bộ điều khiển I2C. + Viết testbench, dùng công cụ VCS và DVE để sữa lỗi thiết kế, kiểm tra chức năng cho bộ điều khiển I2C. + Dùng Design Comliper để đánh giá và tối ƣu thiết kế về mặt diện tích và công suất. 1.4. Phạm vi đề tài Đề tài chỉ dừng lại ở cấp độ Gate Level Netlist trong quy trình thiết kế vi mạch. Chỉ sử dụng một số ràng buộc quan trọng. Chƣa sử dụng đƣợc hết các chức năng của các công cụ. 1.5. Bố cục của đồ án Chương 1: Giới thiệu. Nhóm nêu tổng quan về đề tài, đặt vấn đề, nêu các nhiệm vụ và chỉ ra các hạn chế mà nhóm chƣa làm đƣợc. Chương 2: Cơ sở lý thuyết. Giới thiệu về quy trình thiết kế vi mạch, các công cụ và chuẩn giao tiếp I2C. Chương 3: Thiết kế bộ điều khiển I2C. Mô tả phần cứng bộ điều khiển I2C. Chương 4: Đánh giá kết quả trên VSC, DVE và Design Compiler. Chương 1: Giới Thiệu
- ĐỒ ÁN TỐT NGHIỆP Trang 3 Đánh giá thiết kế trên các công cụ của Synopsys. Chương 5: Kết luận và hướng phát triển. Đánh giá kết quả đạt đƣợc và cụ thể hƣớng phát triển của đề tài. Tài liệu tham khảo Chương 1: Giới Thiệu
- ĐỒ ÁN TỐT NGHIỆP Trang 4 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1. Quy trình thiết kế vi mạch. 2.1.1. Quy trình thiết kế ASIC [6] Quy trình thiết kế ASIC gồm các bƣớc sau: Design specification Đây là một bƣớc quan trọng trong quy trình thiết kế ASIC. Trong bƣớc này, các đặc tính và chức năng của chip ASIC đƣợc định nghĩa. Kế hoạch thiết kế cũng đƣợc đƣa ra nhƣ thời gian hoàn thành, chi phí dự án, diện tích, công suất, tần số hoạt động chip . Trong quá trình mô phỏng kiến trúc, kiến trúc ASIC có thể thay đổi nếu kết quả mô phỏng cho thấy nó không đáp ứng những yêu cầu về đặc tả. RTL coding Đây là bƣớc dùng ngôn ngữ tô tả phần cứng mô tả thiết kế dƣới dạng mã RTL. Mã RTL sẽ đƣợc tổng hợp thành mạch vật lý, do đó việc tạo RTL phải tuân theo một số quy tắc phụ thuộc vào vào khả năng hỗ trợ của nhà sản xuất phần cứng. Logic synthesis Đây là bƣớc tổng hợp từ code RTL thành cổng logic. Dựa vào những thành phần có sẵn trong tập tin thƣ viện công nghệ, mạch cổng logic đƣợc tổng hợp để thực hiện những chức năng nhƣ code RTL mô tả. Kết quả của bƣớc này là các "net-list". Logic verification and testing Đây là bƣớc kiểm tra chức năng của mạch tổ hợp đƣợc từ bƣớc trƣớc, so với yêu cầu chức năng trong specification. Ngoài ra, bƣớc này có thể bao gồm cả việc kiểm tra timing. Physical layout Bƣớc này sử dụng các công cụ để chuyển net-list sang kiểu dữ liệu cho layout. Netlist sẽ trở thành bản vẽ cách bố trí các transistor, capacitor, resistor, Ở đây phải tuân thủ nghiêm ngặt một thứ gọi là Design Rule. Các luật này đƣợc đƣa ra dựa vào các giới hạn của việc chế tạo, để đảm bảo bản Physical layout có thể chế tạo đƣợc. Layout verification and implementation Là bƣớc kiểm tra sau layout để kiểm tra chức năng của mạch so với mạch netlist đã tạo ra từ các phần trƣớc. Ngoài ra ở bƣớc này, các luật của nhà sản xuất đã đƣa ra cũng đƣợc kiểm tra. Chương 2: Cơ Sở Lý Thuyết
- ĐỒ ÁN TỐT NGHIỆP Trang 5 Fabrication Bƣớc cuối cùng trong quy trình thiết kế, kết quả sẽ đƣợc dùng chế tạo chip dựa vào mạch layout. Hình 2.1: Quy trình thiết kế ASIC. Chương 2: Cơ Sở Lý Thuyết
- ĐỒ ÁN TỐT NGHIỆP Trang 6 2.1.2. Quy trình thiết thiết kế một ASIC sử dụng Synopsys. Hình 2.2: Quy trình thiết kế ASIC sử dụng Synopsys. Hình trên mô tả trực quan quy trình thiết kế ASIC sử dụng Synopsys. Design entry: Sử dụng schematic hoặc dùng ngôn ngữ mô tả phần cứng nhƣ VHDL, Verilog, System Verilog. Logic synthesis: Dùng HDL và công cụ tổng hợp logic để xây dựng netlist – là sự mô tả của components và kết nối (interconnect) giữa chúng. System partitioning: Chia hệ thống lớn thành các khối thích hợp Simulation: Kiểm tra chức năng của hệ thống. Kiểm tra timing của hệ thống để đảm bảo đáp ứng đƣợc các yêu cầu về thời gian. Floorplanning: Sắp xếp các block trên chip. Placement: Phân chia vị trí của các cells trong 1 khối. Routing: Tạo nên các kết nối giữa các cells và các blocks. Circuit extraction: Tính toán trở kháng và dung kháng của các interconnect Chương 2: Cơ Sở Lý Thuyết
- ĐỒ ÁN TỐT NGHIỆP Trang 7 Post layout simulation: Kiểm tra khả năng làm việc ổn định của toàn bộ thiết kế trong trƣờng hợp có thêm tải từ lớp interconnect. 2.2. Chuẩn giao tiếp I2C [7] [3] Giao thức I2C, viết tắt của từ tiếng Anh “Inter-Intergrated Circuit”, là một bus 2 dây hai chiều đơn giản đƣợc phát triển và sáng chế bởi Philips để thiết bị nhanh hơn giao tiếp với thiết bị chậm hơn và cũng cho phép thiết bị giao tiếp với thiết bị khác thông qua 1 bus dữ liệu nối tiếp mà không mất dữ liệu. I2C Ban đầu loại bus này chỉ dùng trong các linh kiện điện tử của Philip. Sau đó, do tính ƣu việt và đơn giản của nó, I2C đã đƣợc chuẩn hóa và đƣợc dùng rộng rãi trong các mô đun truyền thông nối tiếp của vi mạch tích hợp ngày nay hoặc để kết nối các thiết bị ngoại vi đến một board mạch chính, một hệ thống nhúng hay một điện thoại di động. Hình 2.3: Hình minh họa các kết nối của các thiết bị qua chuẫn I2C Đặc điểm: I2C là bus điều khiển hai dây. Nguồn cung cấp cho giao tiếp I2C thƣờng là 5v hoặc 3.3v. Hai tín hiệu I2C là serial data (SDA) và serial clock (SCL). Do trên bus i2c chỉ có 2 dây mà có thể gắn kết nhiều thiết bị nên cần phân biệt các thiết bị bằng địa chỉ. Trên bus i2c ko thể kết nối 2 thiết bị có cùng địa chỉ. Master điều khiển các clock signal, truyền điều kiện Start, Stop và gán địa chỉ cho các thiết bị khác. Một thiết bị đƣợc đánh địa chỉ bởi các master đƣợc gọi là slave. Hai đƣờng SDA và SCL nối với nguồn áp dƣơng qua điện trở kéo lên. Giao thức I2C có hỗ trợ đa master nhƣng hầu hết thiết kế hệ thống chỉ 1 master và có thể chỉ 1 hay nhiều slave trên cùng 1 bus. Cả master và slave đều có thể nhận và phát bytes dữ liệu. Chương 2: Cơ Sở Lý Thuyết
- ĐỒ ÁN TỐT NGHIỆP Trang 8 Tốc độ I2C hoạt động: o Standard-mode: 100Kbps o Fast-mode: 400Kbps o High-Speed mode: 3.4 Mbps Truyền dữ liệu: 2 chiều nối tiếp, 8 bit có định hƣớng. Hình 2.4: Hình minh họa các kết nối của các thiết bị qua chuẫn I2C Nếu hệ thống chỉ có 1 master và 1 slave thì SCL không cần nối với điện trở kéo lên. Hình 2.6: Kết nối khi chỉ có 1 Master và 1 Slave. Hình 2.7: Truyền dữ liệu trên bus I2C. Chương 2: Cơ Sở Lý Thuyết
- ĐỒ ÁN TỐT NGHIỆP Trang 9 Hình 2.8: Điều kiện STAR và STOP. Điều kiện bắt đầu (START condition): Khi bus tự do, có nghĩa là không có thiết bị master nào đang điều khiển bus (cả SCL và SDA đều ở mức cao), một master có thể khởi tạo một truyền dẫn bằng cách gửi tín hiệu START (S-bit), tín hiệu này đƣợc xác định nhƣ một chuyển tiếp cao xuống thấp của SDA trong khi SCL vẫn ở mức cao. Tín hiệu START đánh dấu sự khởi đầu cho một truyền dẫn dữ liệu mới. Một Repeated START (Sr-bit) là 1 tín hiệu START mà không có sự khởi tạo 1 tín hiệu STOP lần đầu. Điều kiện kết thúc (STOP condition): Master có thể kết thức một kết nối bằng cách tạo tín hiệu STOP (P-bit) mà tín hiệu này đƣợc xác định nhƣ là một chuyển tiếp thấp lên cao của SDA trong khi SCL vẫn ở mức cao. 2.2. Ngôn ngữ mô tả phần cứng. Ngôn ngữ mô tả phần cứng HDL (Hardware Description Languages) có các đặc điểm sau đây: Không là 1 ngôn ngữ lập trình. Tƣơng tự C. Thêm những chức năng mô hình hóa và mô phỏng chức năng. Là ngôn gữ thuộc lớp ngôn ngữ máy tính (computer language). Dùng để miểu tả cấu trúc và hoạt động của một vi mạch. Dùng mô phỏng, kiểm tra hoạt động của vi mạch. Biểu diễn hành vi theo thời gian và cấu trúc không gian mạch. Bao gồm những ký hiệu biểu diễn thời gian và sự đồng thời (time and concurrence). Chương 2: Cơ Sở Lý Thuyết



