ASIC

ASIC (phát âm: ay-sik), viết tắt của application-specific integrated circuit trong tiếng Anh, là một thuật ngữ chỉ các vi mạch tích hợp chuyên dụng trong điện tử học. ASIC là một vi mạch IC được thiết kế dành cho một ứng dụng cụ thể. ASIC ngày nay được ứng dụng hầu như khắp mọi nơi, ví dụ như vi xử lý của điện thoại di động, vi xử lý trong các máy móc tự động, các phương tiện truyền thông, xe cộ, tàu vũ trụ, các hệ thống xử lý, các dây chuyền công nghiệp, v.v.. Đối lập với ASIC là các vi mạch tích hợp cho mục đích chung như 7400 series và 4000 series những vi mạch này có thể liên kết để tạo ra nhiều ứng dụng khác nhau. Ngoài ra vì tính tương đối của việc phân loại theo mục đích sử dụng mà còn có thêm khái niệm application specific standard product (ASSP) – thiết bị chuẩn cho ứng dụng đặc biệt, chỉ đến những vi mạch nằm giữa hai khái niệm ASIC và vi mạch tích hợp cho mục đích chung. Khái niệm ASIC là một khái niệm tương đối rộng và liên quan đến công nghệ thiết kế sản xuất IC chứ không phải gắn với một dòng sản phẩm hay thiết bị cụ thể nào. Bản thiết kế ASIC thường được viết trên ngôn ngữ mô tả phần cứng như Verilog, VHDL. Dựa theo công nghệ sản xuất và thiết kế, ta có thể chia ASIC thành các loại cơ bản như sau: ASIC trên cơ sở thư viện phần tử logic chuẩn (standard-cell-based ASIC) ASIC dựa trên mảng lôgíc (gate-array-based ASIC) ASIC đặc chế hoàn toàn (full-custom ASIC) ASIC tiền cấu trúc (structured/platform design) ASIC 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) Vào giữa thập niên 1980, những người thiết kế IC thường phải chọn một nhà sản xuất bán dẫn nhất định và thực hiện tất cả quy trình thiết kế của mình bằng những công cụ thiết kế của nhà sản xuất đó. Cùng với xuất hiện của nhà cung cấp công cụ thiết kế thứ ba là sự ra đời của 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 là thư viện tất cả các phần tử cơ bản tạo thành vi mạch như logic AND, OR, XOR, v.v., kèm theo 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 chuẩn cho phép các công cụ thiết kế có thể đọc, sau đó sẽ biên dịch bản thiết kế ra dạng mô tả chi tiết sử dụng các phần tử của thư viện chuẩn (thuật ngữ tiếng Anh gọi là netlist). Vào cuối thập niên 1980, những phần mềm thiết kế dạng như design compiler của Synopsys được đưa vào sử dụng. Sở dĩ có tên gọi compiler là do phần mềm này làm việc về nguyên tắc không khác gì một trình biên dịch thông thường trên máy tính: thay vì mã viết 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 của bộ vi xử lý. Sử dụng mảng logic (gate array) là một phương pháp khác để thiết kế IC. Ở đây "gate" 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ề logic gate). Vi mạch lập trình dùng mảng logic là một khái niệm rộng bao hàm các thiết bị như PLA, PAL, CPLD, FPGA. FPGA là một công nghệ mới nhưng cũng được xếp vào dạng này, mặc dù thông thường người thiết kế xếp FPGA sang lớp vi mạch bán dẫn người lập trình bởi người dùng cuối (xem FPD). Một vi mạch dạng này cấu thành từ 2-5 lớp bán dẫn kim loại, các phần tử logic được phân bố đều trên các lớp này. Ví dụ: ma trận các phần tử OR, AND PAL, PLA, hay trong FPGA là các khối logic lập trình được. Các phần tử logic chưa được kết nối với nhau, quá trình thiết kế bản chất là lập trình để kết nối giữa các phần tử logic. Ưu điểm của ASIC thiết kế theo kiểu này là chi phí sản xuất thấp do vi mạch sản được xuất hàng loạt và có cấu trúc tương tự như nhau. Tính linh động 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 dùng PROM chỉ được lập trình một lần duy nhất trong khi với vi mạch dùng công nghệ EEROM hay FPGA thì có thể lập trình lại. FPGA còn cho phép người thiết kế lập trình lại mà không cần công cụ đặc biệt nào. Mặc dù ASIC dùng mảng logic có chi phí thấp nhưng không có được sự tối ưu như ASIC trên cơ sở thư viện phần tử logic hay ASIC đặc chế hoàn toàn. Tuy thế, các dạng ASIC này yêu cầu phần mềm thiết kế phức tạp hơn. Công nghệ sản xuất ASIC đặc chế hoàn toàn bào hàm toàn bộ các quá trình để sản xuất IC, kể cả giai đoạn in khắc bán dẫn quang học (photo lithographic). Ưu điểm của sản phẩm dạng này là tính tối ưu về diện tích, hiệu suất làm việc của IC cao hơn, khả năng tích hợp tốt hơn với các thiết bị tương tự hay các phần tử thiết kế sẵn khác. Bù lại thì quy trình thiết kế tốn nhiều thời gian, đòi hỏi đầu tư cơ sở vật chất tốn kém cũng như nhân lực với trình độ cao. Đây là một dạng biến tấu của ASIC trên cơ sở mảng logic: thay vì mảng logic, nó sử dụng những cấu trúc định sẵn. Tùy vào từng loại ứng dụng mà cấu trúc định sẵn này sẽ khác nhau. Với mảng logic thì người thiết kế có thể tạo vi mạch để thực hiện bất kỳ hàm logic nào trong tài nguyên cho phép, còn với vi cấu trúc định sẵn chỉ giải quyết một lớp bài toán hẹp hơn. Bù lại, nó đẩy nhanh quá trình sản xuất, giảm giá thành và trong một số trường hợp thì tối ưu hóa hơn so với dạng ASIC dùng mảng logic. Có thể xếp ASIC tiền cấu trúc nằm giữa hai loại ASIC trên cơ sở thư viện phần tử logic chuẩn và ASIC dựa trên mảng logic. Bên cạnh FPGA đúng nghĩa còn tồn tại một dạng vi mạch thiết kế trên FPGA nhưng khi sản xuất dùng công nghệ sao chép "cứng" (hard copy); sản phẩm cho ra hoạt động vẫn như thiết kế nhưng mất đi khả năng lập trình lại vì các liên kết đã bị được "hàn" cứng. Công nghệ này cho phép giảm chi phí cho vi mạch từ 30-70%. Các hãng sản xuất FPGA lớn như Xilinx hay Altera đều hỗ trợ công nghệ này cho sản phẩm của họ. Nếu như thư viện logic thường được nhà sản xuất bán dẫn cung cấp miễn phí thì IP-core (intellectual property core), các phần tử hoặc của nhà sản xuất hoặc của bên thứ ba cung cấp, người dùng phải trả tiền mới được phép sử dụng. Các phần thiết kế có thể tồn tại ở dạng "mềm", tức là chỉ có mã HDL mức cao, hay ở dạng "cứng", tức là toàn bộ sơ đồ thiết kế chi tiết trên một thư viện cụ thể và sẵn sàng đưa trực tiếp vào quá trình sản xuất bán dẫn. Tương tự như phần mềm, với phần cứng cũng xuất hiện cộng đồng mở, là nơi xây dựng và phổ biến những IP-core miễn phí. Ví dụ: IP-cores nhân của bộ vi xử lý, USB module, Ethernet, RAM, ROM, v.v.. FPD (Field-Programmable Device) PLA (Programable Logic Array) PAL (Programable Array Logic) SPLD (Simple Programable Logic Device) CPLD (Complex Programble Logic Device) FPGA (Field-Programable Gate Aray) HCPLD (High-Capacity PLD): refers to both FPGA and CPLD.