Chương 1 Tổng quan: Giới thiệu tổng quan về đề tài thiết kế block ORCA TOP. Chỉ rõ được mục tiêu, tính cấp thiết, đối tượng và phạm vi nghiên cứu, giới hạn đề tài. - Chương 2 Cơ sở lý thuyết: Trình bày về lý thuyết liên quan và phương pháp thiết kế một mạch điện tử cấp độ block. - Chương 3 Thiết kế hệ thống: Xây dựng khối ORCA TOP như vẽ sơ đồ khối, nêu lên chức năng từng khối và phân tích các yêu tố về điện áp, sửa lỗi độ trễ.
- Chương 4 Kết quả: Đánh giá kết quả thực hiện đã đạt được của block từ đó đưa ra các phương pháp sửa lỗi với từng trường hợp. - Chương 5 Kết luận và hướng phát triển: Tóm tắt lại kết quả đã đạt được trong quá trình thực hiện cũng như những mặt hạn chế của đề tài và đưa ra hướng phát triển cho tương lai. 4 Chương 2: Cơ Sở Lý Thuyết CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2. Quy trình thiết kế chip Để thiết kế được một mạch điện tử bán dẫn hoàn chỉnh từ lúc nhận yêu cầu khách hàng đến lúc đưa ra nhà máy sản xuất gồm những bước như trong hình 2.1: Flow quy trình sản xuất chip 2.
Mô tả kỹ thuật (Specification) Xác định yêu cầu và chức năng của một hệ thống đúng với yêu cầu của khách hàng đã mô tả như công suất, độ trễ, diện tích, … điều này được trình bày tại hình 2. 5 Chương 2: Cơ Sở Lý Thuyết Hình 2.2: Yêu cầu khách hàng 2. Thiết kế kiến trúc (Architectural design) Quyết định những khối chính, khối phần cứng cần thiết và kết nối giữa chúng để xây dựng thành con chip đáp ứng yêu cầu khách hàng được thể hiện trong hình 2.3: Ví dụ về kết nối của chip 6 Chương 2: Cơ Sở Lý Thuyết 2. Lập trình và kiểm tra (RTL coding & Verification) Hình 2.4 là quá trình viết mã nguồn cho mạch điện tử bằng ngôn ngữ mô tả phần cứng Verilog hoặc VHDL để mô tả mạch điện xử lý tín hiệu và mô phỏng chức năng của chúng.
Tổng hợp logic và kiểm tra (Logic Synthesis & Verification) Sử dụng Synthesis EDA Tool để chuyển đổi mã lập trình RTL sang mô hình mạch điện cấp độ cổng logic (logic gate level circuit), sau đó kiểm tra lại chức năng của mạch như hình 2.5: Mạch điện cấp độ cổng logic 7 Chương 2: Cơ Sở Lý Thuyết 2. Thiết kế vật lý và kiểm tra (Physical Design & Verification) Là quá trình biến một mô hình mạch điện cấp độ cổng logic thành mạch điện vật lý trên một Chip silicon. Sau khi hoàn thành thiết kế Chip sẽ được kiểm tra về chức năng hoạt động, các yêu cầu vật lý và các yêu cầu khác theo mô tả, chức năng như khách hàng mong muốn. Sau cùng nhận được định dạng GDSII, dữ liệu này được đưa đến nhà máy để sản xuất như hình 2.
Sản xuất (Fabrication) Dữ liệu GDSII sẽ được dùng để tạo ra những mặt nạ cho từng lớp vật liệu. Sau đó mặt nạ sẽ được dùng để chế tạo trong nhà máy. Sản phẩm sau bước này gọi là “Die” và Die này chưa phải là Chip (Die là một mạch tích hợp độc lập có chức năng cụ thể được cắt ra từ một Wafer), điều này được thể hiện ở hình 2.7: Die trên wafer 8 Chương 2: Cơ Sở Lý Thuyết 2. Packaging & Testing Bước cuối cùng là kết nối chân cho Die, đóng gói để trở thành một con Chip hoàn chỉnh và kiểm tra hoạt động lần cuối trước khi bán cho khách hàng như hình 2.8: Kết nối chân và đóng gói cho Die 2.
Quy trình Place and Route (PnR) PnR là một phần quan trọng của giai đoạn Physical Design trong quy trình thiết kế chip vi mạch. Quy trình PnR gồm hai bước chính là đặt cell (place) và kết nối dây (route).9 mô tả chi tiết về quy trình PnR, có các bước sau: - Read_Design: Đọc các dữ liệu đầu vào. - Floorplan: Tạo các đối tượng cần thiết cho việc đặt cell và kết nối dây - Power: Tạo lưới điện cho thiết kế. - Placement: Đặt tất cả các cell vào thiết kế - CTS: Kết nối dây kim loại cho đường clock, tối ưu hóa đường clock và đường dữ liệu.
- Route: Kết nối dây kim loại cho toàn bộ thiết kế. 9 Chương 2: Cơ Sở Lý Thuyết Hình 2. Import design Là quá trình đọc các dữ liệu đầu vào được thiết kế bởi người làm Front-End và một số file được cung cấp từ nhà máy. Dữ liệu đầu vào sẽ được đọc bởi công cụ thiết kế mà người thiết kế mạch đang sử dụng (ICC2).
Dữ liệu thường bao gồm ba file chính cần được đọc ở bước này là: thư viện NDM, Tech file, file verilog. Bên cạnh ba file chính thì có hai file có thể đọc vào ở bước này là file UPF (có thể đọc ở bước floorplan) và scan def.10 là file ndm, trong file chứa thông tin vật lý, timing, power, area của tất cả các cell (ref_name) sẽ được sử dụng trong thiết kế (file đã được mã hóa nên không đọc được). 10 Chương 2: Cơ Sở Lý Thuyết Hình 2.10: File ndm Thư viện file Tech là file đến từ nhà máy chứa thông tin về công nghệ (32 nm độ dài của cell), các lớp vật liệu, các yêu cầu cho các đối tượng vật lý như các lớp layer, via,… như hình 2.11: File tech Sau khi dùng file tech và ndm để tạo thư viện lib sau đó sẽ đọc file verilog, file chứa mạch điện của thiết kế mô tả dưới dạng verilog, lệnh sẽ khởi tạo một block 11 Chương 2: Cơ Sở Lý Thuyết ban đầu bao gồm các cell vật lý (standard cell, macro cell) và thông tin kết nối giữa chúng được thể hiện qua hình 2.12: File verilog Tiếp theo là file upf chứa thông tin kết nối nguồn và nối đất của các cell trong thiết kế như hình 2. 12 Chương 2: Cơ Sở Lý Thuyết Hình 2.13: File upf Cuối cùng là đọc file scan def như hình 2.14 để tool nhận diện được scan chain và thực hiện scan rearder.
Scan rearder sẽ thay đổi vị trí các flip-flop và nối dây lại làm cho mạch tối ưu hóa, không bị kết nối chéo lên nhau gây timing lớn (chỉ thay đổi các flip-flop bên trong, chain start và chain stop cố định).14: File scan def 13 Chương 2: Cơ Sở Lý Thuyết 2. Floorplan Sau khi import design tất cả các cell được chồng lên nhau và nằm ở gốc tọa độ (0,0) của layout. Với layout này không có đầy đủ các đối tượng thiết kế để tiếp tục Place & Routing nên cần phải qua bước Floorplan. Những việc cần làm ở bước floorplan là: 2.
Tạo die và core Dựa vào boundary cho trước từ người làm top, bằng lệnh: initialize_floorplan có thể tạo được die (màu đỏ) và core (màu vàng) được thể hiện qua hình 2.15: Tạo die và core 2. Đặt port Bước 1: Dùng routing blockage như hình 2.16 chặn các vùng không muốn đặt port. 14 Chương 2: Cơ Sở Lý Thuyết Hình 2.16: Tạo routing blockage để đặt port Bước 2: Set kích thước và các layer cho port và port clock bằng lệnh set_indivial_pin_constraints như hình 2.17: Cài đặt thông số cho port signal và port clock Cuối cùng dùng lệnh place_pins -self để đặt port như hình 2.18 vào vùng không có routing blockage. Sau khi đặt port vào vị trí mình mong muốn thì xóa đi routing blockage đã tạo trước đó.18: Đặt port 15 Chương 2: Cơ Sở Lý Thuyết 2.
Tạo voltage area Voltage là vùng cụ thể để đặt cell của 1 power domain – là tập hợp các cell được cấp nguồn điện và mass bằng net power và net ground giống nhau. Kiểm tra xem có power domain nào không, nếu có tạo voltage area cho domain đó. Để tạo ra voltage area như hình 2.19, thường tính diện tích các cell trong power domain và lấy diện tích volatge area gấp đôi. Thông của power domain và các cell chúng thuộc về được định nghĩa trong file UPF.19: Tạo voltage area 2.
Xếp macro cell Macro cell được sắp xếp theo các tiêu chí sau và sẽ cho ra kết quả như hình 2.20: - Macro phải được đặt trong vùng voltage area của power domain mà macro đó thuộc về. - Các macro thuộc cùng module thì đặt gần nhau (theo số thứ tự, bảng chữ cái). Các macro có kết nối với nhau thì đặt gần nhau như hình 2. 16 Chương 2: Cơ Sở Lý Thuyết - Ưu tiên xếp các macro dọc theo boundary của block.
Cố gắng không đặt macro tại vùng có port. - Pin của macro ưu tiên hướng về vùng logic cell. Giữ khoảng cách giữa các macro theo yêu cầu.20: Sắp xếp macro cell Hình 2.21: Các module có kết nối với nhau 17 Chương 2: Cơ Sở Lý Thuyết 2. Tạo placement blockage • Hard blockage - Tạo hard blockage như hình 2.22 dọc theo block boundary với bề rộng của blockage khoảng 2 μm để đảm bảo rằng không có bất kì cell nào nằm trong vùng core offset (2 μm) nhằm bảo vệ thiết kế.22: Tạo hard blockage quanh die - Tạo hard blockage với bề rộng 2 μm dọc theo vùng voltage area nhằm ngăn cách hai cell ở hai vùng khác nhau được thể hiện ở hình 2.
Các cell ở vùng voltage area phải được đảm bảo rằng cách biệt với cell ở vùng bên ngoài (vùng core) để tránh nhiễu tín hiệu ở các vùng có nguồn điện khác nhau, bảo vệ thiết kế khỏi các tác nhân không mong muốn và tránh gặp lỗi ở các bước sau: 18 Chương 2: Cơ Sở Lý Thuyết Hình 2.23: Tạo hard blockage quanh voltage area - Phủ tất cả macro bằng hard blockage, kích thước khoảng 1 – 2 μm như hình 2.24: Tạo hard blockage quanh macro cell • Soft blockage 19 Chương 2: Cơ Sở Lý Thuyết - Phủ tất cả macro bằng soft blockage, kích thước khoảng 3 – 5 μm được thể hiện qua hình 2.25: Tạo soft blockage quanh macro cell - Tạo soft blockage cho trong các vùng channel hẹp (nhỏ hơn 30 μm), vùng giữa macro với macro nếu có. • Partitial blockage - Thường tạo partitial blockage 50% tại các vùng có đặt port hoặc các vùng có congestion để giảm mật độ cell ở đó để port dễ dàng trong quá trình đi dây như hình 2.26: Tạo Partitial blockage cho khu vực port 20 Chương 2: Cơ Sở Lý Thuyết 2. Tạo Routing blockage Tạo Routing dọc theo boudary của block như hình 2.27, bề rộng khoảng 0,8 μm và block tất cả layer.27: Tạo routing blockage quanh die 2. Powerplan Sau khi sắp xếp các macro cell và chuẩn bị đặt các standard cell ở bước placement, tiếp theo là tạo các lưới điện để cung cấp nguồn và mass đến tất cả các chân của của cell (standard cell, macro cell, IO cell) được thể hiện qua hình 2.
Lưới điện đi từ lớp kim loại trên cùng (Top layer metal – tạo thành bới metal shape hay còn gọi là strap) đến pin các cell.