Phần mềm tối ưu vi mạch trên lưới

Từ EDAGrid Project

Cho đến bây giờ, lĩnh vực thiết kế vi mạch tích hợp mật độ cao VLSI (Very Large Scale Integration) vẫn đang là một trong những lĩnh vực phát triển mũi nhọn then chốt và chiến lược của các quốc gia trên thế giới. Sự thông minh, khả năng và tính đa dạng hóa của các thiết bị trong cuộc sống, bao gồm cả dân sự và quân sự, ngày càng cao chính là phần lớn nhờ vào sự hiện diện của các vi mạch điện tử có trong các thiết bị đó. Việc nắm bắt, làm chủ các kỹ thuật, công nghệ thiết kế vi mạch số cho phép người ta điều khiển được sự tạo ra và phát triển của các sản phẩm kỹ thuật số cao phục vụ nhu cầu con người và phát triển đất nước.

Hướng đi của Việt Nam cũng không tách rời khỏi xu hướng chung của thế giới. Nhà nước mới đây đã xác định lĩnh vực thiết kế, phát triển vi mạch là một trong những mũi nhọn để đầu tư phát triển nền công nghệ cao. Theo định hướng đầu tư này, hiện tại có nhiều tập đoàn, công ty nước ngoài và trong nước đã và đang đầu tư vào lĩnh vực công nghệ cao mới mẻ này (Renesas, AMCC, Altera, NXP, Arrive Technologies, SDS, SHTP, ...). Một số viện nghiên cứu, trường đại học trong nước cũng đã và đang xây dựng những nhóm nghiên cứu về lĩnh vực thiết kế vi mạch (ICDREC - ĐHQG TP.HCM, viện Công nghệ Thông tin). Tuy nhiên, hiện tại các nhóm nghiên cứu về thiết kế vi mạch ở Việt Nam chỉ mới giới hạn ở việc phát triển các ứng dụng cho các loại vi mạch truyền thống loại nhỏ, tức là các loại vi mạch với các cấu trúc cố định đã được định nghĩa trước (CPLD, FPGA). Các ứng dụng được phát triển chỉ dùng các công cụ giới hạn của các nhà cung cấp FPGA, do đó ứng dụng tạo ra chưa thật sự hoàn hảo, thật sự đáp ứng được các nhu cầu khoa học và xã hội. Các công cụ thương mại hóa có các tính năng ưu việt hơn, có thể tạo ra các sản phẩm có tính cạnh tranh hơn, nhưng việc sở hữu những công cụ này khó khả thi do chi phí bản quyền rất đắt.

Với nhu cầu đòi hỏi ngày càng cao, các công nghệ vi mạch cùng với các phương pháp thiết kế vi mạch đi cùng ngày càng phải tiến hóa. Việc cải thiện chất lượng và chi phí vi mạch (tốc độ hoạt động cao, kích thước nhỏ, công suất tiêu thụ thấp, thời gian thiết kế nhanh, bảo mật, việc tái sử dụng dễ dàng, ...) là một bài toán tổng hợp và tối ưu đa mục tiêu. Bài toán này đã và đang là mối quan tâm hàng đầu của một số công ty công nghiệp, viện nghiên cứu và các trường đại học trên khắp thế giới từ nhiều năm qua. Một số phương pháp luận tổng hợp đã được nghiên cứu và phát triển, cho những kết quả khả quan. Tuy nhiên những công cụ trợ giúp bài toán tổng hợp và tối ưu hiện nay chỉ tận dụng hiệu quả tài nguyên trên một hệ thống tính toán đơn, do đó thời gian tính toán và hiệu quả tính toán không đáp ứng nhu cầu. Giải quyết được vấn đề này sẽ đáp ứng yêu cầu về thời gian tổng hợp tối ưu và do đó thời gian thiết kế vi mạch. Nó còn là bước mở đầu trong việc giải quyết các bài toán khác trong thiết kế vi mạch tận dụng hệ thống lưới tính toán trong tương lai: bài toán kiểm chứng thiết kế (verification), bài toán mô phỏng (simulation), bài toán hiển thị (visualization), .... Cho đến nay, chỉ một vài công ty hàng đầu trong lĩnh vực phát triển công cụ hỗ trợ thiết kế vi mạch áp dụng tính toán lưới vào trong nghiên cứu và sản xuất. Công ty Synopsys đã sử dụng N1 Grid Engine để tạo ra một môi trường thử nghiệm bao gồm 180 CPU và đã giảm thời gian thử nghiệm từ 10 đến 12 giờ xuống còn 2 đến 3 giờ.

Sự thành công trong việc ứng dụng hiệu năng cao của lưới tính toán vào bài toán tổng hợp và tối ưu vi mạch cũng còn là một đóng góp trong việc chứng tỏ sức mạnh của lưới tính toán. Nó góp phần đa dạng hóa bài toán của lưới tính toán.

Hướng tiếp cận cốt lõi trong phần mềm được phát triển trong dự án để giải quyết bài toán tối ưu vi mạch là sử dụng phương pháp tìm kiếm metaheuristic. Phương pháp này được sử dụng rộng rãi để giải các bài toán tối ưu tổ hợp vì nó có thể tìm được nghiệm trong một khoảng thời gian chấp nhận được. Tuy nhiên chất lượng nghiệm tìm được phụ thuộc vào không gian nghiệm mà chương trình đã khám phá và chiến lược tìm kiếm của chương trình. Do đó, với nhiều tài nguyên tính toán hơn thì việc tìm kiếm được mở rộng, dẫn đến chất lượng nghiệm sẽ có thể được cải thiện.

Trước khi đi sâu vào các phần chuyên môn và công nghệ, báo cáo sẽ cung cấp những tìm hiểu về tình hình phát triển hiện tại trong lĩnh vực tối ưu vi mạch.

Qui trình thiết kế vi mạch

Quy trình thiết kế vi mạch
Quy trình thiết kế vi mạch

Quá trình thiết kế vi mạch bao gồm ba bước chính:

  1. Mô hình hóa thiết kế (modeling): Người thiết kế sẽ mô tả hoạt động của vi mạch ở cấp hành vi (behavioral level) bằng một ngôn ngữ mô tả phần cứng nào đó (hardware language description - HDL), chẳng hạn như VHDL, Verilog.
  2. Tổng hợp và tối ưu (synthesis and optimization): Công cụ hỗ trợ thiết kế (computer-aided design tool) sẽ giúp người thiết kế tổng hợp mô hình hành vi thành mạch luận lý (gate-level circuit) kết nối những phần tử luận lý lại với nhau. Tuy nhiên, mặc dù mạch được tổng hợp hoạt động đúng chức năng như đã thiết kế nhưng có thể chưa tối ưu về một phương diện nào đó (diện tích, thời gian trễ, năng lượng). Do đó, quá trình tối ưu là rất cần thiết nhằm biến đổi mạch luận lý sau khi tổng hợp sang một mạch luận lý khác tương đương, nhưng tốt hơn tùy theo tiêu chí thiết kế. Kết quả của quá trình tối ưu có ý nghĩa quyết định đến hiệu suất cũng như tính cạnh tranh trên thị trường của sản phẩm.
    Trước khi chuyển sang các bước sau, các mạch luận lý phải phù hợp với công nghệ đang sử dụng, trong khi tất cả bước trên chỉ làm việc với những mạch luận lý không phụ thuộc công nghệ. Vì thế quá trình ánh xạ công nghệ (technology mapping) là rất quan trọng để ánh xạ một cách tối ưu mạch luận lý vào thư viện các cổng của một nhà sản xuất cụ thể. Thông thường, quá trình tối ưu không phụ thuộc công nghệ thường hướng đến giảm thiểu diện tích của mạch, trong khi quá trình ánh xạ công nghệ phải xem xét nhiều mục tiêu thiết khác nhau cùng một lúc.
  3. Xác thực (validation): Quá trình này nhằm đảm bảo là thiết kế cuối cùng là không có lỗi và hoạt động đúng hoàn toàn với chức năng mong muốn. Mô phỏng (simulation) và kiểm chứng (verification) là hai nhóm phương pháp được sử dụng trong công đoạn xác thực.

Lĩnh vực nghiên cứu

  1. Xác định hướng nghiên cứu là tối ưu luận lý tổ hợp.
  2. Xây dựng thư viện metaheuristics (hill climbing, simulated annealing, tabu search, ...) hỗ trợ tối ưu tổ hợp trên lưới .
  3. Xây dựng phần lõi LogicOpt thực hiện tối ưu luận lý tổ hợp sử dụng thư viện metaheuristics.

Môi trường tích hợp

Phần mềm tối ưu mạch luận lý tổ hợp trên lưới

Công cụ cá nhân
Các tài liệu kỹ thuật