- Để có thể bắt tay vào thiết kế, đầu tiên phải hiểu và nắm được luồng thiết kế ASIC trong thiết kế vi mạch. 1. Giới thiệu luồng thiết kế ASIC - Thiết kế ASIC dựa vào một luồng thiết kế sử dụng ngôn ngữ mô tả phần cứng Verilog HDL và VHDL. Trong luồng này, thiết kế mạch logic dùng Verilog hoặc VHDL. Sau đó mô phỏng (simulate) để kiểm tra chức năng. Tiếp theo là tổng hợp (synthesis) dùng cổng logic trong thư viện thiết kế, dùng các công cụ để ràng buộc và kiểm tra timing, công suất, diện tích của thiết kế. Bước tiếp theo là APR (Auto Place Route): sắp xếp các khối và nối dây giữa chúng. Bước cuối cùng là làm mẫu thử chip trên silicon hay còn gọi là tapeout. 3.2. Phân tích luồng thiết ASIC - Sơ đồ luồng thiết kế ASIC được thể hiện trong hình 3.1 bên dưới. 3. Đặc tả (Specification ) - Đây là bước đầu và quan trọng nhất của luồng thiết kế. Trong bước này, sẽ định nghĩa đặc tính và chức năng của 1 chip, lên kế hoạch thực hiện chip (thời gian thực hiện, chi phí, diện tích...).Phân tích về timing của thiết kế, tiêu chuẩn về tốc độ, công suất…từ đó phác thảo kiến trúc cơ bản của chip. 4. Mã hóa RTL (RLT coding) - Dùng ngôn ngữ mô tả phần cứng Verilog hoặc VHDL để mô tả lại sơ đồ mạch. 5. Testbench và mô phỏng - Testbench là môi trường được xây dựng để mô phỏng thiết kế. Nó là tập hợp các thay đổi ngõ vào để kiểm tra ngõ ra để đảm bảo thiết kế thực hiện đúng chức năng. Có thể dùng các bộ mô phỏng: Modelsim của Mentor Graphic’s, VCS của Synopsys để chạy testbench và quan sát dạng sóng. 6. Tổng hợp - Mã RTL được biến đổi thành cổng logic dựa vào thư viện công nghệ (chứa những cell chuẩn) và tập tin giới hạn (Constraints file): chứa thông tin về định thời giúp cho việc tối ưu mạch. Có 2 công cụ để tổng hợp là: Design Compiler của Synopsys và Ambit của Cadence. 7. Phân tích định thời trước layout (Pre-layout Timing Analysis) - Có thể sử dụng công cụ Prime Time của Synopsys để thực hiện. Thưc hiện phân tích định thời trên khía cạnh của điện áp và nhiệt độ hoạt động. 8. Sắp xếp và nối dây tự động (APR) - Có thể dùng công cụ IC Compiler (ICC) của Synopsys để thực hiện. Các cổng logic đã tổng hợp sẽ được sắp xếp và nối dây tự động. Bước này cũng ràng buộc chặt chẽ về tổng hợp cây clock (clock tree) để tránh bị vi phạm về clock. 9. Back Annotation - Kiểm tra ảnh hưởng các tụ kí sinh giữa các đường dây nối trong thiết kế. 10. Phân tích định thời sau layout (Post-layout Timing Analysis) - Là bước quan trọng trong luồng thiết kế ASIC, cho phép kiểm tra vi phạm về thời gian giữ/xác lập (hold/setup) thực tế. Sau khi phân tích sau layout xong, thực hiện tổng hợp lại, chạy APR và Back Annotation lại. 11. Kiểm tra Logic (Logic Verification) - Bước then chốt cuối cùng đảm bảo thiết kế đúng chức năng. Thiết kế được mô phỏng lại sử dụng testbench (bước 3) nhưng có thêm thông tin về định thời sau layout. - Sau khi kiểm tra xong bước này, thiết kế được gửi đi đến nhà máy để làm mẫu thử (tapout) và sản xuất ra chip thực tế.