Công nghệ ASIC
Trang 1Công nghệ thiết kế vi mạch tích hợp ứng dụng riêng ASIC (Application specific intergrated circuit)
Giới thiệu về công nghệ ASIC và lịch sử phát triển :
Công nghệ vi điện tử ngày nay đang chứng kiến một sự thay đổi to lớn: từ những vi mạch được thiết kế bởi các chuyên gia vi mạch, sản xuất với số lượng lớn; chuyển sang các mạch chuyên dụng được thiết kế bởi các kỹ sư hệ thống tại các cơ sở ứng dụng, tại đó không nhất thiết phải đầu tư cơ sở vật chất để làm công nghệ bán dẫn và có thể sản xuất với số lượng nhỏ Nhờ công nghệ ASIC
(Application-specific Integrated Circuit) nên các mạch tổ hợp lớn trong nhiều trường hợp có thể được “chế tạo” ngay tại các cơ sở ứng dụng Có được sự thay đổi đó là nhờ việc sử dụng các hệ thống tự động thiết kế CAD (Computer-aided Design)
Hiện nay, mạch vi điện tử chuyên dụng đang có nhu cầu thị trường rất cao, chiếm khoảng 42% thị trường IC thế giới, và trong những năm tới sẽ chiếm
khoảng 65%
ASIC là một vi mạch được thiết kế dành cho một ứng dụng đặc biệt (đối lập với các mạch tích hợp điều khiển các hàm như RAM trong máy tính) ASIC được xây dựng bằng việc kết nối các khối mạch đã được xây dựng theo các phương pháp mới Do các khối mạch sử dụng đã có sẵn nên việc sản xuất một ASIC mới
dễ dàng hơn nhiều so với việc thiết kế một vi mạch từ những phác thảo ban đầu ASIC ngày nay được ứng dụng hầu như khắp mọi nơi, từ các máy móc tự động để điều khiển các chức năng của 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à ngay cả trong các thiết bị cầm tay PDA
Sau đây là sơ lược quá trình phát triển của mạch tích hợp (IC) Hình 1.2.1(a) cho thấy khuôn dạng một IC bao gồm một mạng lưới chân (viết tắt PGA : pin-grid array) nằm ở mặt trên của IC và cắm vào trong board
Trang 2mạch in, thường được gọi là gói chíp Hình 1.1(b), chip silicon (gọi là silicon die)
được gắn vào lỗ hổng dưới nắp được bịt kín
Kích thước vật lý của một silicon die thay đổi từ một milimét đến vài milimét, nhưng thông thường kích cỡ của một IC được đo bằng số cổng logic (cổng NAND hai ngõ vào) hay số lượng transistor chứa trong IC Ví dụ, một IC có 100k cổng tương đương với 100.000 cổng NAND hai ngõ vào
Công nghệ bán dẫn đã ra đời vào những năm 1970 và tiếp tục phát triển cho đến nay Họ IC đầu tiên gồm những linh kiện có mật độ tích hợp nhỏ (SSI) chứa
từ 1 đến 10 cổng logic như cổng NAND, cổng NOR… hơn nữa chỉ vài chục
transistor Tiếp đến là thời kỳ của những mạch tích hợp có mật độ trung bình (MSI) và đã mang theo những chức năng ưu việt hơn so với SSI đó là mật độ tích hợp lớn hơn đồng thời các hàm logic chức năng nhiều hơn Chẳng hạn như, số lượng cổng logic, các bộ giải mã, các thanh ghi, bộ đếm được tăng thêm Vào cuối những năm 1970, công nghệ mạch tích hợp tiếp tục phát triển đến mức các mạch tích hợp mật độ cao (LSI) ra đời Lúc này, các bộ vi xử lí đầu tiên trong các chíp đơn ra đời Với sự ra đời của LSI đã tạo nên một bước tiến mới trong công nghệ bán dẫn, đã thu hút được mối quan tâm của các kỹ sư, các hãng cạnh tranh lúc bấy giờ Các hãng như Intel và Motorola bắt đầu sản xuất các chíp vi xử lí đơn và những chíp nhớ đơn RAM và ROM Các chíp hỗ trợ khác cũng bắt đầu xuất hiện như: cổng song song, giao diện nối tiếp (UART) và bộ điều khiển ngắt Vì vậy, nhiều họ chíp LSI mới được sản xuất và sử dụng cho mục đích thiết kế máy vi tính Ngày nay, các mạch tích hợp có mật độ tích hợp rất cao (VLSI) ra đời đưa ra
Hình 1.2.1(a) Sơ đồ chân của IC
(b) chip silicon ở dưới nắp
Trang 3bộ xử lý 64 bit có bộ nhớ cache, bộ xử lý toán học có dấu chấm động và được tích hợp trên một triệu transistor Khi công nghệ CMOS phát triển, các transistor được sản xuất với diện tích nhỏ hơn, vì thế các transistor được tích hợp ngày càng nhỏ bên trong IC
Trong những năm 1980, với công nghệ VLSI các kỹ sư đã bắt đầu khai thác những ưu điểm thiết kế một IC theo nhu cầu của mình hoặc thiết kế các hệ thống, các ứng dụng đặt biệt một cách tùy tiện hơn so với các IC chuẩn Sau đó, thiết kế
hệ thống vi điện tử trở thành chủ đề cần quan tâm Đến cuối những năm 1980, những ngôn ngữ mô tả phần cứng như VHDL và Verilog được ra đời đã đi sâu vào phong cách thiết kế Các bộ mô phỏng tốc độ cao và các máy mô phỏng đã cho phép các mẫu thiết kế có hiệu lực nhanh chóng Bộ kiểm tra và phân tích tự động
đã loại bỏ những lỗi do con người gây ra trong quá trình xử lý Cuối cùng, những công cụ tổng hợp đã tự động tiến hành phiên dịch hoạt động của mô hình HDL thành một mô hình cấu trúc logic
Một trong những hội nghị đầu tiên dành cho giai đoạn này nổi lên một cách nhanh chóng của công nghệ IC đó là hiệp hội CICC (IEEE Custom Intergrated Circuits Conference), và hôi nghị này được tổ chức hàng năm nhằm giúp cho sự phát triển của các hãng sản xuất IC tùy biến Các loại IC tùy biến khác nhau bắt đầu được đưa ra có những ứng dụng khác nhau Sự ra đời của các loại IC mới này
đã mở ra một thời kỳ mới đó là những IC ứng dụng chuyên biệt hay ASIC Ngày
nay, đã có hiệp hội ASIC quốc tế IEEE (IEEE International ASIC conference) ASIC là một mạch tích hợp được sản xuất cho một ứng dụng đặc trưng và nhìn chung, chúng có một kích thước tương đối nhỏ
Các loại ASIC
ASIC đặc chế hoàn toàn (Full-custom ASIC)
ASIC dựa trên các tế bào chuẩn (Standard-Cell-Based ASIC)
ASIC dựa trên mảng cổng lôgíc (Gate-Array-Based ASIC)
Các vi mạch lập trình được (Programmable Logic Devices hay PLD)
Mảng cổng lôgíc có thể lập trình được theo trường/miền
(Field-Programmable Gate Array)
Trang 4 logic cells được thiết kế sẵn Æ cell library
một vài hoặc tất cả mask layers được thiết kế theo yêu cầu user
FPGAs (what we can do in Danang!!!)
Standard-Cell-Based ASIC (CBIC)
Thời gian thiết kế hay chi phí mua thư viện cell
Thời gian chế tạo các mask layer
Thời gian chế tạo: 8 tuần (không bao gồm thời gian thiết kế)
Điểm chung: Predesigned cells
Có thể thay đổi kích cỡ transistor
trong cell để tối ưu hóa tốc độ và
hiệu suất
Kích cỡ transistor cố định (fixed cell)
Æ Sự thỏa hiệp giữa diện tích (area)
và hiệu suất (performance) ở tầng
thư viện
Æ Sự thỏa hiệp giữa diện tích (area)
và hiệu suất (performance) ở tầng silicon
ASIC tiên tiến dụng 2 đến 3 lớp kim loại (metal layer) hoặc nhiều hơn cho interconnect Metal 1: power bus Metal 2: input hay output cells Xem hình 1.3
Trang 5Hình Error! No text of specified style in document.-1 layout of a standard
cell, with λ = 0.25 microns Standard cells are stacked like bricks in a wall; the abutment box (AB) defines the “edges” of the brick The difference between the bounding box (BB) and the AB is the area of overlap between the bricks Power supplies (VDD and GND) run horizontally inside a standard cell on a metal layer that lies above the transistor layers Each different shaded and labeled pattern represents a different layer This standard cell has center connectors (the three squares, labeled A1, B1, and Z) that allow the cell to connect to others The layout was drawn using ROSE, a symbolic layout editor developed by Rockwell and Compass, and then imported into Tanner Research’s L-Edit
Các khái niệm:
Feedthrough: đường dẫn kim loại xuyên qua cell
Spacer cell: hiệu chỉnh chiều dọc các hàng cell
Row-end-cell: kết nối nguồn cho các hàng khác nhau
Power-cell: dùng khi cell-row quá dài
Trang 6Hình Error! No text of specified style in document.-2 Routing the CBIC
(cell-based IC) shown in hình 1.2 The use of regularly shaped standard cells, such as the one in hình 1.3, from a library allows ASICs like this to be designed automatically This ASIC uses two separate layers of metal interconnect (metal1 and metal2) running at right angles to each other (like traces on a printed- circuit board) Interconnections between logic cells uses spaces (called channels) between the rows of cells ASICs may have three (or more) layers of metal allowing the cell rows to touch with the interconnect running over the top
of the cells
Datapath:
Khi nhiều tín hiệu đi qua một bus dữ liệu thì các logic cell không còn hiệu quả, khi
đó, datapath được sử dụng Tạo ra datapath bằng datapath compiler từ các nhà SX
Datapath library bao gồm các datapath cell như là: bộ cộng - adder, bộ trừ -
subtracter, bộ nhân - multiplier & khối logic số học đơn giản – simple ALU Ưu:
kết nối các datapath cell để tạo nên datapath thông thường cho ra layout chặt hơn
(tốn ít diện tích) & hoạt động nhanh hơn (so với standard-cell hay gate-array) PLD & FPGA
Logic cell và mask layer có sẵn (không theo yêu cầu user)
Interconnect khả trình
Ma trận các macrocell bao gồm các PAL + FF hoặc Latch
Thời gian thiết kế hoàn chỉnh khá nhanh (vài giờ)
Ví dụ:
Field-programmable: PROM, EPROM, EEPROM, UVPROM
Mask-programmable: Mask- programmable ROM (Masked ROM)
Trang 7Field-programmable: các kết nối dùng chuyển mạch lập trình được (cấu chì chẳng hạn, CMOS transistor) & vì vậy chậm hơn các kết nối cứng nhưng có ưu điểm là
rẻ khi SX với số lượng nhỏ và thời gian lập trình tức thì
Mask-programmable: các kết nối bên trong được thực hiện bằng phần cứng khi SX
có nhược điểm là lập trình mất vài tháng, song bù lại giá thành giảm nếu SX với
số lượng lớn
PLD: gồm khối cổng AND nối với khối cổng OR Mạch logic thực hiện trong PLD theo dạng tổng của tích (sum-of-product)
Các loại PLD:
PLD cơ bản: PAL (Khối AND khả trình, khối OR cố định)
PLD linh hoạt: PLA (Khối AND và OR đều khả trình) PLA có thể là mask- programmable hay field- programmable
Cả hai loại PLD trên cho phép thực hiện các mạch logic tốc độ cao Tuy nhiên cấu trúc đơn giản của nó chỉ cho phép hiện thực các mạch logic nhỏ
Các PLD phức tạp (complex PLD - CPLD) được biết đến như những FPGA
Hình Error! No text of specified style in document.-3 FPGA die
Cấu trúc FPGA cơ bản bao gồm các cell khả trình bao quanh bởi interconnect khả trình Các loại FPGA khác nhau có số lượng cell
& kích cỡ cell rất khác nhau
PLA & PAL Cấu trúc PLA: Mảng logic khả trình
Tìm bảng PLA hàng tối thiểu
Cấu trúc PAL: Logic mảng khả trình, là tr.h riêng của PLA - mảng OR cố định
Cụ thể của từng loại :
Full-Custom ASICs
Trang 8Qui trình thiết kế ASIC
Hình Error! No text of specified style in document.-4 ASIC design flow
Better impress this flow on the memory by explaining in comparison with
building construction
1 Mô tả bài toán: sử dụng ngôn ngữ mô tả phần cứng HDL (VHDL hay
Verilog)
(VHDL by Department of Defense in 1980s and standardized by IEEE in
1993 - Verilog is created by Cadence in 1989 and standardized by IEEE
in 1995)
2 Tổng hợp logic: dùng HDL và công cụ tổng hợp logic để xây dựng
netlist – là sự mô tả các tế bào (cell), các khối (block) và kết nối (interconnect) giữa chúng
3 Phân chia hệ thống: chia hệ thống lớn thành các phần thích hợp
4 Mô phỏng tiền layout: kiểm tra tính đúng đắn của thiết kế (tiền layout =
sơ đồ mạch logic – chỉ gần đúng với thực tế)
Trang 95 Sắp xếp các khối trên chip: sắp xếp các khối của netlist trên chip Nên
xem xét cả khía cạnh vật lý và logic khi thiết kế bước này
6 Bố trí cell: định vị cell bên trong khối
7 Thiết kế tuyến: kết nối giữa các cell và các khối
8 Kiểm tra tính hợp l ý của bước 7: tính toán trở kháng và dung kháng lớp
interconnect
9 Mô phỏng hậu layout: 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 (hậu layout =
Trang 101.3.1 Thiết kế kiến trúc (Architecture design)
ASIC với ý nghĩa là IC cho một ứng dụng riêng biệt, nên xuất phát từ mỗi ứng dụng trong thực tiễn cuộc sống, sẽ đặt ra yêu cầu phải thiết kế nên IC thỏa mãn tốt nhất những yêu cầu của ứng dụng đó Thiết kế kiến trúc(Architecture design) là bước đầu tiên của quy trình thiết kế, bước này có nhiệm vụ tiếp nhận các yêu cầu của thiết kế và xây dựng nên kiến trúc tổng quát của thiết kế Người thực hiện thiết
kế kiến trúc phải là người nhìn nhận được một cách tổng quan thiết kế và phải là người nắm bắt được khả năng của công nghệ, am hiểu được toàn bộ các bước thiết
kế xuyên suốt quy trình
Trình bày dưới đây là các bước tổng quan của một qui trình thiết kế kiến trúc :
- Define overall chip : Trong bước này, từ những yêu cầu của thiết kế và dựa
trên khả năng của công nghệ hiện có, người thiết kế kiến trúc sẽ xây dựng nên toàn bộ kiến trúc tổng quan cho thiết kế Nghĩa là trong bước này người thiết kế kiến trúc phải mô tả được những vấn đề sau :
¾ Thiết kế có những khối nào ?
¾ Mỗi khối có chức năng gì ?
¾ Hoạt động của thiết kế và của mỗi khối ra sao ?
¾ Phân tích các kỹ thuật sử dụng trong thiết kế và các công cụ, softwave hỗ trợ thiết kế
- Initial Floorplan : Bước tiếp theo trong thiết kế kiến trúc đó là việc phân
bố, sắp xếp các khối có trong thiết kế Đây chính là bước định hình cho toàn
bộ thiết kế Việc phân bố, sắp xếp các khối phải theo những nguyên tắc nhất định Kiến trúc của thiết kế ảnh hưởng rất lớn đến chất lượng của thiết kế và
Trang 11ảnh hưởng đến các bước sau của quy trình cho nên việc phân bố kiến trúc phải làm sao cho thiết kế tối ưu nhất
- RTL or C model: Bước này sử dụng ngôn ngữ mô tả phần cứng hoặc
ngôn ngữ C để mô phỏng tổng thể hoạt động của thiết kế Nhằm mục đích kiểm tra sơ bộ xem thiết kế có hoạt động đúng về mặt chức năng chưa, nếu chưa đúng thì phải chỉnh sửa lại các bước trên Bước này còn có ý nghĩa mô
tả cụ thể hơn, làm rõ ràng hơn cho kiến trúc của thiết kế, giúp cho việc nắm bắt ý đồ thiết kế và việc thực hiện thiết kế ở bước sau này được thuận lợi hơn
1.3.2 Thiết kế logic (Logic Design)
Thiết kế logic là bước mô phỏng tổng thể các chức năng logic và tối ưu một thiết kế Người thiết kế tạo ra một HDL behavioral model cho những custom circuit, định nghĩa những bộ vector để kiểm tra toàn bộ thiết kế, biên dịch netlist
và tối ưu hóa thiết kế
Trình bày dưới đây là các bước tổng quan của một qui trình thiết kế logic:
- Behavioral verilog
Thiết kế có thể gồm nhiều khối standard và custom kết hợp với nhau Đối với các khối standard cells có thể dùng RTL code để mô tả Tuy nhiên đối với các khối được thiết kế dưới dạng custom (ví dụ: bộ nhớ nhúng – embeded memory) thì không thể dùng RTL code được mà phải dùng Behavioral verilog để mô tả chi tiết tính năng của các khối đó
- Logic simulation
Sau khi thực hiện behavioral verilog, người thiết kế cần mô phỏng tổng thể thiết kế ở mức cao nhất (top-level) để kiểm tra thiết kế có hoạt động đúng với các tính năng yêu cầu Nếu chưa đúng phải kiểm tra lại các khối standard cell hoặc custom circuit
- Logic Synthesis (tổng hợp logic)
Tổng hợp logic là quá trình tổng hợp các RTL code thành netlist Quá trình chia thành 2 bước: chuyển đổi các RTl code thành mô tả dưới dạng các biểu thức
Trang 12đại số Boolean, dựa trên các biểu thức này kết hợp với thư viện standard cells sẵn
có để tổng hợp nên một thiết kế tối ưu
- Datapath Schematic
Nhập netlist và các ràng buộc về timing vào một công cụ phân tích timing Công cụ phân tích timing sẽ tách rời tất cả các path của design, tính thời gian trễ của các path dựa trên các ràng buộc Dựa trên kết quả phân tích (report) của công
cụ phân tích, ta xác định các path không thỏa mãn về timing Tùy theo nguyên nhân dẫn đến không thỏa mãn mà ta có thể viết lại mã RTL và tiến hành lại tổng hợp logic hoặc hiệu chỉnh lại các ràng buộc Sau khi tất cả các vi phạm timing đã
bị loại bỏ tiến hành placement và routing
1.3.3 Thiết kế mạch (Circuit design)
Sau bước thiết kế logic là bước thiết kế mạch, bước này xây dựng nên sơ đồ mạch thực sự của thiết kế Dựa vào các yêu cầu về chức năng, tính năng đã được thiết lập ra từ bước trên, bước này xây dựng nên các mạch thực sự để thực hiện những chức năng đạt và đạt được những tính năng đã được yêu cầu
Có hai phương pháp tiếp cận để thiết kế mạch:
- Phương pháp tùy biến (custom methodology): Đây là phương pháp để tiếp
cận thiết kế cho một loại thiết kế và cấu hình cụ thể Với phương pháp này, hầu như mọi bước đều được thực hiện thủ công và được tối ưu hóa hoàn Ưu điểm của phương pháp này là tạo ra được một thiết kế gần như tối ưu hóa hoàn toàn, nhưng
bù lại, nó cũng có những nhược điểm là tốc độ thiết kế chậm và khả năng tái sử dụng là rất thấp
- Phương pháp biên dịch (compiler methodology): Đây là một phương pháp có
tính hệ thống cho phép xây dựng một họ các cấu hình của một loại thiết kế Việc thiết kế được thực hiện bằng sự xây dựng các tế bào mạch (leaf-cell library hay mega-cell library), mỗi tế bào mạch là một thành tố cơ sở để tạo thành một khối bên trong Sau đó, sử dụng một chương trình biên dịch (Mega Compiler), với đầu vào là các cấu hình mong muốn và thư viện tế bào, để sắp xếp các tế bào mạch theo một trình tự xác định và cấu thành cấu hình cho thiết kế Ưu điểm của