ASIC (phát âm là: ay-sik), viết tắt của application-specific integrated circuit trong tiếng Anh, chỉ những vi mạch tích hợp được thiết kế cho các ứng dụng đặc thù trong ngành điện tử.
ASIC là loại vi mạch IC được chế tạo để phục vụ cho một mục đích cụ thể. Ngày nay, ASIC được sử dụng rộng rãi trong nhiều lĩnh vực như bộ xử lý của điện thoại di động, hệ thống tự động hóa, thiết bị truyền thông, phương tiện giao thông, tàu vũ trụ, hệ thống xử lý, và dây chuyền sản xuất.
Ngược lại với ASIC là các vi mạch tích hợp đa năng như các dòng 7400 series và 4000 series, cho phép tạo ra nhiều ứng dụng khác nhau. Bên cạnh đó, còn có khái niệm application specific standard product (ASSP) – sản phẩm chuẩn cho ứng dụng đặc biệt, chỉ các vi mạch nằm giữa ASIC và các vi mạch tích hợp đa năng.
Khái niệm ASIC khá rộng, liên quan đến công nghệ thiết kế và sản xuất vi mạch tích hợp, không gắn liền với một sản phẩm hay thiết bị cụ thể.
Thiết kế ASIC thường được thực hiện bằng các ngôn ngữ mô tả phần cứng như Verilog hoặc VHDL. Dựa trên công nghệ sản xuất và thiết kế, ASIC có thể được phân loại cơ bản như sau:
- ASIC dựa trên thư viện phần tử logic chuẩn (standard-cell-based ASIC)
- ASIC dựa trên mảng logic (gate-array-based ASIC)
- ASIC hoàn toàn tùy chỉnh (full-custom ASIC)
- ASIC thiết kế cấu trúc trước (structured/platform design)
- ASIC sử dụng thư viện phần tử logic và các phần tử thiết kế sẵn (cell libraries, IP-based design)
ASIC dựa trên thư viện phần tử logic chuẩn
Vào giữa những năm 1980, các nhà thiết kế IC thường phải lựa chọn một nhà sản xuất bán dẫn cụ thể và thực hiện toàn bộ quy trình thiết kế bằng công cụ của nhà sản xuất đó.
Sự xuất hiện của các nhà cung cấp công cụ thiết kế độc lập đã dẫn đến việc phát triển khái niệm thư viện phần tử logic chuẩn (standard cell library).
Thư viện phần tử logic chuẩn bao gồm các phần tử cơ bản như logic AND, OR, XOR, và các thông số vật lý như thời gian trễ, điện cảm, điện dung, v.v. Thư viện này được định dạng theo chuẩn, cho phép công cụ thiết kế đọc và biên dịch bản thiết kế thành mô tả chi tiết bằng các phần tử trong thư viện chuẩn (gọi là netlist).
Cuối những năm 1980, phần mềm thiết kế như design compiler của Synopsys được giới thiệu. Tên gọi compiler phản ánh chức năng của phần mềm này tương tự như trình biên dịch thông thường trên máy tính: thay vì mã nguồn bằng C, Pascal, v.v., vi mạch được viết bằng HDL, còn thư viện phần tử logic đóng vai trò như tập lệnh cho bộ vi xử lý.
ASIC dựa trên mảng logic
Phương pháp sử dụng mảng logic (gate array) là một cách tiếp cận khác để thiết kế vi mạch. Ở đây, 'gate' được sử dụng như một đơn vị để đo khả năng chứa các phần tử logic của vi mạch bán dẫn (xem thêm về cổng logic).
Vi mạch lập trình sử dụng mảng logic bao gồm các thiết bị như PLA, PAL, CPLD và FPGA. Dù FPGA là công nghệ mới, nó vẫn thuộc loại này, mặc dù thường được phân loại là vi mạch bán dẫn có thể lập trình bởi người dùng cuối (xem FPD).
Vi mạch kiểu này thường có từ 2 đến 5 lớp bán dẫn kim loại, với các phần tử logic phân bố đồng đều trên các lớp. Ví dụ: ma trận các phần tử OR, AND trong PAL, PLA, hoặc các khối logic lập trình trong FPGA. Các phần tử logic chưa được kết nối sẵn; quá trình thiết kế chủ yếu là lập trình để tạo kết nối giữa chúng.
Ưu điểm của ASIC thiết kế theo phương pháp này là chi phí sản xuất thấp nhờ vào việc sản xuất hàng loạt và cấu trúc đồng nhất. Tuy nhiên, tính linh hoạt của thiết kế phụ thuộc vào loại mảng logic được sử dụng. Ví dụ: vi mạch lập trình bằng PROM chỉ có thể lập trình một lần, trong khi vi mạch dùng công nghệ EEROM hoặc FPGA có thể lập trình lại nhiều lần. FPGA còn cho phép lập trình lại mà không cần công cụ đặc biệt.
Mặc dù ASIC sử dụng mảng logic có chi phí thấp, nhưng không đạt được mức tối ưu như ASIC trên cơ sở thư viện phần tử logic hoặc ASIC đặc chế hoàn toàn. Tuy nhiên, thiết kế các loại ASIC này yêu cầu phần mềm thiết kế phức tạp hơn.
ASIC đặc chế hoàn toàn
Công nghệ sản xuất ASIC đặc chế hoàn toàn bao gồm tất cả các giai đoạn để tạo ra vi mạch IC, kể cả quá trình in khắc bán dẫn quang học (photo lithographic).
Ưu điểm của sản phẩm loại này là tối ưu hóa diện tích, hiệu suất làm việc cao hơn và khả năng tích hợp tốt với các thiết bị tương tự hoặc các phần tử thiết kế sẵn khác. Tuy nhiên, quy trình thiết kế đòi hỏi thời gian dài, đầu tư cơ sở vật chất đắt đỏ và đội ngũ nhân lực có trình độ cao.
ASIC thiết kế tiền cấu trúc
Loại ASIC này là biến thể của thiết kế mảng logic: thay vì sử dụng mảng logic, nó dựa trên các cấu trúc định sẵn. Cấu trúc định sẵn sẽ khác nhau tùy vào ứng dụng cụ thể.
Với mảng logic, nhà thiết kế có thể tạo ra vi mạch thực hiện bất kỳ hàm logic nào trong giới hạn tài nguyên cho phép, trong khi vi mạch thiết kế theo cấu trúc định sẵn chỉ giải quyết những bài toán hẹp hơn. Tuy nhiên, phương pháp này rút ngắn thời gian sản xuất, giảm chi phí và trong một số trường hợp còn tối ưu hơn so với thiết kế mảng logic.
ASIC thiết kế tiền cấu trúc có thể được đặt ở giữa hai loại ASIC: loại dựa trên thư viện phần tử logic chuẩn và loại dựa trên mảng logic.
Ngoài FPGA truyền thống, còn có loại vi mạch được thiết kế trên FPGA nhưng sản xuất bằng công nghệ sao chép 'cứng' (hard copy). Mặc dù sản phẩm hoạt động tương tự như thiết kế gốc, khả năng lập trình lại bị mất vì các liên kết đã được 'hàn' cứng. Công nghệ này giúp giảm chi phí vi mạch từ 30-70%. Các nhà sản xuất FPGA lớn như Xilinx và Altera đều cung cấp công nghệ này cho sản phẩm của họ.
ASIC dựa trên thư viện logic và các phần tử thiết kế sẵn
Thư viện logic thường được cung cấp miễn phí bởi các nhà sản xuất bán dẫn, trong khi IP-core (intellectual property core)—các phần tử do nhà sản xuất hoặc bên thứ ba cung cấp—thường yêu cầu người dùng phải trả phí để sử dụng. Các phần thiết kế này có thể tồn tại dưới dạng 'mềm' (chỉ mã HDL mức cao) hoặc 'cứng' (toàn bộ sơ đồ thiết kế chi tiết trên thư viện cụ thể, sẵn sàng đưa vào sản xuất bán dẫn).
Tương tự như phần mềm, phần cứng cũng có cộng đồng mở, nơi xây dựng và chia sẻ miễn phí các IP-core.
Ví dụ về IP-core bao gồm các thành phần như nhân của bộ vi xử lý, mô-đun USB, Ethernet, RAM, ROM, và nhiều thứ khác.
- FPD (Thiết bị có thể lập trình trường)
- PLA (Mảng Logic Có Thể Lập Trình)
- PAL (Mảng Logic Có Thể Lập Trình)
- SPLD (Thiết bị Logic Có Thể Lập Trình Đơn Giản)
- CPLD (Thiết bị Logic Có Thể Lập Trình Phức Tạp)
- FPGA (Mảng Cổng Có Thể Lập Trình Trường)
- HCPLD (PLD Công Suất Cao): bao gồm cả FPGA và CPLD.
Hệ thống nhúng | |
---|---|
Thuật ngữ chung |
|
Firmware và hệ thống điều khiển |
|
Trình tải khởi động |
|
Thư viện phần mềm |
|
Công cụ lập trình |
|
Hệ điều hành |
|
Ngôn ngữ lập trình |
|
|
Tiêu đề chuẩn |
|
---|