Cùng với sự phát triển của các lĩnh vực điện toán chuyên dụng như trí tuệ nhân tạo, truyền thông 5G và điện toán đám mây, kiến trúc máy tính trong lĩnh vực điện toán chuyên dụng cũng bước vào một kỷ nguyên vàng mới. Hai cây cọ quan trọng mô tả kỷ nguyên vàng này là phần cứng nguồn mở (chip) và phát triển nhanh: nguồn mở có thể hạ thấp ngưỡng thiết kế chip và thiết kế nhanh có thể rút ngắn chu kỳ phát triển.
Khi nói đến chip nguồn mở, RISC-V có thể được coi là đại diện của nguồn mở. Năm ngoái, RISC-V International Foundation đã chuyển trụ sở chính sang Thụy Sĩ. Nó hiện có hơn 1.000 thành viên và khoảng 200 tổ chức công ty. Trung Quốc đóng một vai trò rất quan trọng trong vấn đề này, với các công ty Trung Quốc chiếm hơn 20% và 9 trong số 19 thành viên hội đồng quản trị đến từ Trung Quốc.
Khi các tập lệnh mở RISC-V dần được ngành công nghiệp theo đuổi, khái niệm về chip nguồn mở đã đi vào tầm nhìn và thu hút sự chú ý và đầu tư trên toàn thế giới. Trên bình diện quốc tế, ngay từ Hội thảo Tầm nhìn ISCA 2019, Hội nghị hàng đầu về Kiến trúc Máy tính Quốc tế, một số thành viên của Học viện Kỹ thuật Hoa Kỳ, bao gồm Giáo sư David Patterson, người đoạt giải Turing, cũng như các thành viên từ MIT, UC Berkeley, UC Trường Phát triển Bền vững, Stanford, Google, và các chuyên gia từ các trường đại học hàng đầu, các doanh nghiệp và các cơ quan chính phủ như Nvidia, DARPA, đã tập trung vào các điểm nóng hàng đầu về "phần cứng mở nhanh cho máy tính thế hệ tiếp theo", liên quan đến các tập lệnh, nguồn mở chuỗi công cụ EDA, quy trình thiết kế, tổng hợp nâng cao, xác minh hình thức và nhiều hơn nữa.
Vậy cơ hội đổi mới cho chip nguồn mở là gì? Phát biểu tại Diễn đàn Công nghệ, Phó Giám đốc Viện Công nghệ tính toán Viện Khoa học Trung Quốc Bảo Vân Cương cho biết: RISC - V thuộc tập chỉ thị mở. Trên thực tế, nó là một hướng dẫn sử dụng tập lệnh mở. Ví dụ, hướng dẫn sử dụng tập lệnh của CPU Intel có hơn 5.000 trang, hướng dẫn sử dụng của CPU ARM có hơn 2.000 trang, trong khi hướng dẫn sử dụng tập lệnh RISC-V chỉ có hơn 200 trang. Nếu bạn biến tập lệnh thành một cấu trúc thực sự, thì lúc này sẽ có rất nhiều tài liệu thiết kế, và sau đó những tài liệu này có thể được công khai; Căn cứ vào tài liệu thiết kế rồi chuyển thành mã nguồn, mã nguồn cũng có thể công khai; Chuỗi công cụ EDA có thể biến mã nguồn mở thành bố cục chip, sau đó các công cụ thiết kế EDA cũng có thể là mã nguồn mở.
Thị trường EDA toàn cầu được biết đến là độc quyền bởi ba nhà sản xuất lớn là Cadence, Synopsys và Mentor (đổi tên thành Siemens EDA vào tháng 1 năm 2021). Quy mô lớn và dòng sản phẩm hoàn chỉnh của họ có thể cung cấp một giải pháp hoàn chỉnh cho toàn bộ quá trình. Ngược lại, các công cụ EDA được sản xuất trong nước chiếm ít hơn 5% thị phần ở Trung Quốc và chỉ 0,2% trên thị trường toàn cầu. Hơn nữa, các công ty EDA trong nước có quy mô nhỏ, sản phẩm duy nhất, chủ yếu là các công cụ "điểm", chỉ có thể cung cấp một phần giải pháp. Các công cụ EDA riêng lẻ rất khó đáp ứng các yêu cầu của nhà thiết kế đối với toàn bộ quá trình thiết kế IC và việc chuyển đổi giữa các công cụ khác nhau làm tăng nguy cơ tính toàn vẹn dữ liệu. Do đó, nhu cầu về các nền tảng nguồn mở ngày càng tăng trên thị trường.
Debiwei của Phòng thí nghiệm Peng Cheng và Viện Công nghệ Máy tính của Viện Hàn lâm Khoa học Trung Quốc tin rằng EDA nguồn mở là một đảm bảo quan trọng để hỗ trợ sinh thái chip mở. Nhiều kinh nghiệm thành công cho thấy nguồn mở và mở là nền tảng cần thiết để xây dựng một hệ sinh thái công nghệ và công nghiệp thịnh vượng. Ví dụ, hệ điều hành Linux hỗ trợ toàn bộ hệ sinh thái nguồn mở; Một ví dụ khác là hệ điều hành di động Android. Mặc dù bây giờ là mã nguồn đóng, nhưng nó lấy nguồn mở làm điểm khởi đầu, thống nhất toàn bộ hệ sinh thái Internet di động ngoại trừ iOS; Trong lĩnh vực AI, Caffe, TensorFlow, Pytorch và Flying Paddle được cho là nền tảng của toàn bộ hệ sinh thái công nghệ AI.
Các công cụ EDA mã nguồn mở có thể làm giảm ngưỡng thiết kế chip, chẳng hạn như giảm chi phí nhân lực, IP và EDA cần thiết cho thiết kế chip. Nó cũng có thể cung cấp ý tưởng tốt cho sự phát triển của nghiên cứu khoa học cơ bản và đào tạo tài năng trong lĩnh vực EDA, cho dù đó là cho các công ty, trường đại học, viện nghiên cứu học thuật hoặc những người đam mê cá nhân trong lĩnh vực chip và EDA. Nếu EDA nguồn mở có thể tập hợp nhiều lực lượng, nó sẽ giúp đất nước chúng ta nhanh chóng bắt kịp trình độ tiên tiến quốc tế.
Tuy nhiên, nền tảng của phần mềm EDA ở nước ta còn tương đối yếu, gần như trống rỗng trong lĩnh vực mã nguồn mở. EDA nguồn mở vẫn phải đối mặt với nhiều thách thức: ít người dùng, ít người đóng góp và cấu trúc khung không rõ ràng; Một số giải pháp cũng đã được thảo luận trong diễn đàn. Chi tiết như sau:
(1) Ít người dùng: Chất lượng của các công cụ EDA nguồn mở khác xa so với các công cụ thương mại và số lượng người dùng rất hạn chế. Giải pháp là nâng cao chất lượng của các công cụ và nhấn mạnh việc thực hiện kiểm tra dự án trong môi trường sản xuất. Điều đó nói rằng, các công cụ EDA nguồn mở không nên chỉ dừng lại ở các tài liệu học thuật và mã phần mềm, mà phải được kết hợp với các công cụ điểm khác để tạo thành một chuỗi công cụ hỗ trợ xác minh chip hoàn chỉnh và tạo phản hồi người dùng hợp lệ. Ví dụ, Magic đã thực hiện một số xác nhận mang ra ở Hoa Kỳ, với dữ liệu thử nghiệm chip thực tế trong bài báo.
(2) Có rất ít người đóng góp: Không gian EDA tương đối nhỏ và cộng đồng nguồn mở của nó thậm chí còn mỏng hơn. Những người đóng góp chính cho các công cụ nguồn mở như Yosys, abc, magic và OpenROAD chủ yếu là khoảng 10 người. Do đặc điểm của kỷ luật EDA, những người đóng góp EDA nguồn mở cần phải có cả kiến thức về CS, Toán, EE và MicroE và có ngưỡng kỹ thuật tương đối cao. Sự phát triển của mọi công cụ EDA nguồn mở không phải là mở. Về cơ bản nó là một nhóm nội bộ tại một trường học, viện nghiên cứu và công ty nhất định. Có rất ít người chơi bên ngoài và rất khó để tham gia. Giải pháp là phân tách, trừu tượng hóa và mô tả đầy đủ các vấn đề kỹ thuật EDA và phân loại chúng thành các biểu hiện ngôn ngữ có thể hiểu được trong các lĩnh vực chuyên môn như toán học, thuật toán và hiệu suất cao, huy động lực lượng cộng đồng trên nhiều lĩnh vực.
Cấu trúc khung không rõ ràng: Mã không nhất quán và tỷ lệ tái sử dụng thấp là một vấn đề phổ biến với phần mềm nguồn mở. Tuy nhiên, sự ràng buộc mạnh mẽ của các công cụ và thuật toán EDA nguồn mở làm cho vấn đề trở nên nổi bật hơn. Thiết kế các thuật toán mới thường đòi hỏi rất nhiều mã được viết lại, điều này làm mất đi ý nghĩa của nguồn mở. Có hai giải pháp. Đầu tiên là thiết kế mô-đun, bắt đầu với thiết kế của khung cơ bản, đến lớp thuật toán, trừu tượng hóa các định dạng hoạt động và dữ liệu phổ biến, khám phá các quy tắc tái cấu trúc lặp từ mã để tạo thành một khung cơ bản gọn gàng, hiệu quả và mô-đun. Thiết kế mô-đun này cũng có lợi cho việc tăng tốc quá trình thiết kế EDA với kiến trúc tính toán song song phân tán. Thứ hai, tiêu chuẩn hóa trừu tượng. Sử dụng các khái niệm thiết kế trình biên dịch tuyệt vời như Multi-Level Intermediate Representation (MLIR), phân chia toàn bộ quá trình thiết kế (đặc biệt là thiết kế front-end) thành nhiều mức trừu tượng, cho phép các chuyên gia trong các lĩnh vực khác nhau tập trung vào các mức trừu tượng tương ứng. Đồng thời, thông qua biên dịch nhiều tầng nấc mở chuỗi công cụ ED, hoàn thành kiểm chứng toàn bộ quá trình nhanh chóng và thuận tiện. Bằng cách này, ngay cả một công cụ Point cũng có thể được kết nối linh hoạt với chuỗi công cụ EDA mã nguồn mở thông qua các định dạng chuyển đổi được chuẩn hóa để xác minh đầy đủ hiệu suất và chất lượng của các công cụ do chính họ phát triển. Hiện tại, xu hướng này đang được hình thành trong ngành công nghiệp và học viện ở Bắc Mỹ.
Trong trường hợp của các dự án EDA nguồn mở, có thể là từ quy trình thấp (110nm) đến quy trình cao (55nm, 40nm hoặc thậm chí 28nm). Từ ứng dụng giảng dạy cấp đại học đến ứng dụng cấp sản phẩm doanh nghiệp, từ chip ASIC nhỏ đến các dự án SoC quy mô lớn hơn, tất cả đều phải tuân thủ chiến lược kết hợp nghiên cứu và ứng dụng, lấy tính thực tiễn làm động lực, nghiên cứu ứng dụng nghiên cứu, ứng dụng nghiên cứu ứng dụng ứng dụng. Từ năm mặt chuỗi công cụ, công cụ điểm, bộ kiểm tra cơ sở, ứng dụng trình diễn, thư viện quy trình nguồn mở cấp công nghiệp lần lượt phân giải.
Tiến trình nghiên cứu ngành
Đặc biệt, tại hội nghị ASPLOS 2021, Tiến sĩ Chris Lattner của SiFive, công ty RISC-V (một trong những nhà tài trợ và tác giả chính của dự án LLVM, tác giả của Clang Compiler) vừa chuyển từ Google Brain sang trình bày về "Thời đại vàng của thiết kế trình biên dịch trong thời đại thiết kế hợp tác phần cứng/phần mềm", đề xuất khung EDA thống nhất mới (Electronic Design Automation) dựa trên công nghệ biên dịch MLIR và thiết kế chuỗi công cụ EDA như TensorFlow hoặc PyTorch trong phần mềm, cung cấp cơ sở hạ tầng hoàn chỉnh và linh hoạt.Không. Các dự án CIRCT giống như MLIR và dễ dàng hình thành tính nhất quán về mặt sinh thái trong thiết kế phần cứng và biên dịch phần mềm.
Trên con đường phát triển phần mềm EDA nguồn mở, cộng đồng học thuật và ngành công nghiệp EDA trong nước đang cố gắng tìm một vị trí phù hợp để đóng góp cho EDA nguồn mở.
Trong lĩnh vực chip nguồn mở, Viện Công nghệ Máy tính CAS đã khởi động các dự án như chip xử lý RISC-V, hệ điều hành gốc RISC-V vào năm 2019, xây dựng hệ thống công nghệ chip nguồn mở với lợi thế về tỷ lệ giới tính trên quy trình 28nm trong nước. Ngoài ra, họ cũng đang khám phá EDA nguồn mở để thiết kế chip nguồn mở. Dựa trên các công cụ mã nguồn mở hiện có, họ đã xây dựng quy trình thiết kế dựa trên Python RTL sang GDS2; Vào tháng 8 năm ngoái, năm sinh viên đại học từ Đại học Khoa học và Công nghệ Quốc gia đã sử dụng công cụ EDA nguồn mở trong hai năm. Thiết kế chip Quốc Hổ 1, thực hiện mang ra.
CAS cũng đã phát triển AgileServe, một nền tảng đám mây thiết kế chip linh hoạt, tích hợp nhiều yếu tố nguồn mở khác nhau để hỗ trợ người dùng nhanh chóng tùy chỉnh chip xử lý và phát triển phần mềm, giảm ngưỡng thiết kế chip. Đối với sinh viên mà nói, thiết kế chip có thể tiến hành bất cứ lúc nào; Đối với giáo viên, có thể hướng dẫn sinh viên trực tuyến.
Lin Yibo, Đại học Bắc Kinh, đã giới thiệu dự án nổi tiếng "Deep Learning Assisted Place and Pathway Optimization" tại hội nghị. Ông mô tả việc sử dụng học sâu để cải thiện các thuật toán địa điểm và tuyến đường truyền thống. Trong quá trình này, các công cụ định tuyến và vị trí nguồn mở phải được sử dụng, nếu không sẽ rất khó khăn. Khó có được các mẫu học sâu. Trong tương lai, họ sẽ tiếp tục cải thiện các thuật toán và cải thiện sự ổn định và khả năng tổng quát hóa. Một bộ dữ liệu EDA mở, chẳng hạn như ImageNet, dự kiến sẽ được phát hành để thu hút sự cạnh tranh và phát triển lẫn nhau giữa các học viện và ngành công nghiệp.
Yan Hao, Trung tâm Nghiên cứu Công nghệ Kỹ thuật Hệ thống ASIC Quốc gia tại Đại học Đông Nam, đã giới thiệu phương pháp thiết kế ngưỡng điện áp rộng và sự phát triển của EDA nguồn mở. Ông giới thiệu rằng thách thức kỹ thuật của các công cụ EDA là sự phát triển của mô hình hóa độ lệch và thuật toán tối ưu hóa do sự phát triển của quy trình và kích thước khắc. Ông lưu ý rằng thách thức lớn nhất khi thực hiện nghiên cứu là phải tốn rất nhiều công sức để sao chép mã của người khác, vì vậy họ cũng đang tích cực đầu tư vào việc phát triển các công cụ phân tích thời gian nguồn mở với sự hợp tác của các công ty EDA trong nước như NiiCEDA.
Chu Trúc Phi đến từ Đại học Ninh Ba chia sẻ tiến triển nghiên cứu về công cụ tổng hợp tự động đa logic. Ông nói, tích hợp logic là việc chuyển đổi tất cả các mô tả cấp RTL của mạch kỹ thuật số được thiết kế thành kết nối của mạch đơn vị trong thư viện quy trình được chỉ định, khi các ràng buộc được đáp ứng. Tổng hợp logic chủ yếu bao gồm ba giai đoạn dịch thuật, tối ưu hóa và lập bản đồ quy trình. Ông lưu ý rằng một cách tiếp cận toàn diện được phát triển từ các tập hợp logic khác nhau áp dụng cho các kịch bản khác nhau. Các công cụ EDA hiện tại được phát triển dựa trên logic Boolean truyền thống. Các nhà khai thác mới có thể mang lại nhiều cơ hội hơn, chẳng hạn như chuyển đổi phân cực. Reed-Muller, TB và RM đối ngẫu logic, vv Khi nói đến nguồn mở EDA, ông chỉ ra xu hướng phát triển của các công cụ tích hợp logic: 1. AI được sử dụng trong EDA, sử dụng phương pháp AI để suy ra thứ tự chuyển đổi tối ưu hóa tổng hợp logic, cho phép các kỹ sư không có kinh nghiệm có được kịch bản tối ưu hóa; 2. EDA được sử dụng cho AI, sử dụng các hoạt động logic để thực hiện ngược lại các mục đích như giá trị sức mạnh đào tạo mạng thần kinh ở dạng bảng tra cứu; 3. Giải pháp tối ưu, cho mạch kỹ thuật số, các phương pháp hiện tại phụ thuộc rất nhiều vào bộ giải SAT để có được số lượng nút tối thiểu, độ sâu logic tối thiểu, v.v. Giải pháp tối ưu, nhưng bản thân bộ giải SAT là một thuật toán heuristic, mô phỏng mạch kỹ thuật số có thể giúp SAT tìm kiếm hiệu quả hơn; 4. Trình kích hoạt công nghệ, phát triển các phương pháp trừu tượng logic mới và hỗ trợ đánh giá các quy trình mới như vật liệu 2D và phát triển. Tối ưu hóa tìm kiếm và các mô hình mới sẽ được hưởng lợi từ hệ sinh thái nguồn mở bất kể bộ đào tạo.
Nguồn mở EDA sẽ đi về đâu?
Hệ sinh thái EDA nguồn mở phải đối mặt với nhiều khó khăn từ 0 đến 1. Làm thế nào để mở khóa hệ sinh thái EDA nguồn mở? Làm thế nào để duy trì sự phát triển bền vững của sinh thái? Làm thế nào để bảo vệ chống lại các rủi ro sinh thái như lỗi treo máy, rò rỉ IP, bằng sáng chế? Chúng ta nên đi đâu trong tương lai? Đối với những vấn đề này, các học giả và chuyên gia tham dự hội nghị mỗi người một ý, tiến hành thảo luận kịch liệt mà có ý nghĩa.
Từ 0 đến 1, hệ sinh thái của EDA nguồn mở bắt đầu trong giới học thuật
Không giống như các phần mềm nguồn mở truyền thống, cấu trúc dữ liệu, chất lượng mã và thuật toán của phần mềm EDA nguồn mở rất chuyên nghiệp và có một nhóm người dùng nhỏ, điều này hạn chế quy mô của cộng đồng nguồn mở. Nhìn chung lịch sử, công ty công nghệ cao ở Thung lũng Silicon, nhỏ đến biển sao, đều bắt đầu từ sáng tạo đại học. EDA cũng vậy. Đầu tiên, đào tạo những người dùng EDA nguồn mở đầu tiên, bao gồm cả giáo viên và sinh viên, tại các trường đại học và cao đẳng, cho phép họ sử dụng các công cụ nguồn mở theo những cách sáng tạo và sau đó làm cho chúng có sẵn trong tương lai thông qua việc sử dụng liên tục và cải tiến lặp đi lặp lại các công cụ. Độ
Tuy nhiên, việc thúc đẩy và duy trì một hệ sinh thái EDA khép kín từ các học viện cũng là một thách thức. Các vấn đề quan trọng nhất là sự tham gia của học viện vào sự phát triển của EDA nguồn mở và duy trì liên tục các dự án nguồn mở. Từ quan điểm thực dụng, động lực để duy trì các dự án nguồn mở biến mất khi các nhà nghiên cứu đại học chuyển hướng quan tâm nghiên cứu của họ hoặc khi dự án của họ kết thúc; Sinh viên dành nhiều năm kinh nghiệm để tìm hiểu và làm chủ các công cụ EDA nguồn mở, tốt nhất là các công cụ kinh doanh phù hợp hơn cho việc tìm kiếm việc làm; Không có nhiều công việc mã nguồn mở cho sinh viên chất lượng cao, và sinh viên có thể thực hiện lại các thuật toán hoặc công cụ đôi khi nhanh hơn để crack (hoặc thậm chí gỡ lỗi) mã nguồn mở dự án. Sau khi sinh viên tốt nghiệp, nếu không có tài liệu tốt và quản lý mã chất lượng cao, thì động lực để tiếp tục phát triển học thuật lặp đi lặp lại là không đủ.
Do đó, diễn đàn đề xuất hướng dẫn thích hợp các tiêu chuẩn đánh giá học thuật của các trường đại học và cao đẳng để các dự án mã nguồn mở có chất lượng cao và tài liệu, cũng như các dự án có nhiều ngôi sao trên các nền tảng hợp tác và lưu trữ mã như Github/Gitee, trở thành thẻ kinh doanh học thuật cho các học giả, sinh viên và chuyên gia của các trường đại học và cao đẳng. Bắt đầu và duy trì các dự án EDA nguồn mở sẽ tạo động lực lớn cho sinh viên tìm việc làm.
Việc thiết lập hệ sinh thái EDA nguồn mở cũng đòi hỏi một bộ điểm chuẩn, đặc biệt là một bộ điểm chuẩn công nghiệp có khả năng hoàn thành quy trình đầu cuối; Làm thế nào để đi từ bộ dữ liệu quy mô nhỏ của giới học thuật đến thiết kế cao cấp cấp công nghiệp, là một đề tài cần thảo luận. Các công ty thiết kế chip nổi tiếng trong ngành có thể cung cấp một số thiết kế khử nhạy cảm để cộng đồng nguồn mở sử dụng nó như một tài liệu tham khảo cho nghiên cứu học thuật và cuộc thi sinh viên, từ đó mở rộng quy mô cộng đồng nguồn mở. Đặc biệt là trong thời đại hiện đại, nơi công nghệ học sâu được tích hợp chặt chẽ với lĩnh vực EDA, một "ImageNet" trong lĩnh vực thiết kế chip là cần thiết để thúc đẩy sự thịnh vượng của cộng đồng.