Sử dụng ChatGPT cho việc viết script trong Altium

Ari Mahpour
|  Created: Tháng Bảy 21, 2023  |  Updated: Tháng Chín 16, 2026
At a Glance

Trong bài viết này, Ari Mahpour chia sẻ cách tận dụng ChatGPT hiệu quả nhất cho Altium Scripting bằng ngôn ngữ DelphiScript.

Go Deeper with AI:
Chat GPT cho Altium Scripting

 

Đến nay, mọi người đã có vài tháng để làm quen với Generative AI và nổi bật nhất là ChatGPT. Trong bài viết trước của tôi, Sử dụng ChatGPT cho kiểm thử tự động, tôi đã giới thiệu dịch vụ ChatGPT, hướng dẫn bạn cách làm quen với nó và sử dụng nó để tạo mã nhằm chạy các bài kiểm thử trên phần cứng của bạn. Trong bài viết này, chúng ta sẽ xem cách tận dụng ChatGPT một cách hiệu quả nhất để viết mã DelphiScript nhằm chạy các chức năng tự động ngay trong Altium bằng Altium Scripting.

Bắt đầu

Trước khi đi vào triển khai, điều quan trọng là phải hiểu rõ chúng ta đang làm việc với gì. Altium Scripting được hỗ trợ tốt nhất bằng DelphiScript (so với các ngôn ngữ khác). Dù chỉ cần tìm kiếm nhanh trên mạng là sẽ thấy các kết quả như “Đã là năm 2022 rồi — chẳng phải đã đến lúc bạn bắt đầu lập trình bằng Delphi sao?” và những tiêu đề bắt tai như “Ngôn ngữ Pascal được dùng trong Delphi là một trong những ngôn ngữ lập trình phổ biến và đa dụng nhất,” nhưng tôi chưa từng thấy Delphi được sử dụng bên ngoài Altium Designer. Điều đó không có nghĩa đây là một ngôn ngữ tệ — chỉ là nó không phổ biến bằng Python, C++, v.v. Có rất nhiều điều phải học khi tiếp cận một ngôn ngữ mới (đặc biệt nếu bạn không phải là lập trình viên chuyên nghiệp), vì vậy Altium đã tổng hợp khá nhiều tài nguyên và thậm chí cả công cụ hỗ trợ cho việc lập trình bằng DelphiScript tại đây. Nếu bạn muốn thực sự đào sâu vào ngôn ngữ này, các tài nguyên ở đó sẽ rất hữu ích.

Lưu dự án của bạn

Khi bắt đầu với Altium Scripting, bạn sẽ rất nhanh chóng xây dựng được một kho script lớn mà có thể bạn muốn lưu lại và/hoặc chia sẻ. Để tạo một dự án Scripting mới trong Altium Designer, hãy vào File > New > Script > Script Project. Nhấp chuột phải vào dự án vừa tạo và chọn Add New to Project > Script Unit. Thao tác này sẽ tạo một tệp .pas mới, đây sẽ là script của bạn:





Chat GPT

Hình 1: Thêm tệp script vào dự án hiện có

Chúng ta sẽ muốn lưu dự án này vào không gian làm việc Altium 365 của mình. Trước tiên, hãy đảm bảo bạn đã lưu dự án cục bộ. Sau đó, nhấp chuột phải lại vào dự án và chọn History & Version Control > Add Project to Version Control…





Chat GPT

Hình 2: Thêm dự án vào Workspace Altium 365

 

Sau đó, làm theo các lời nhắc để lưu dự án vào Workspace Altium 365 của bạn. Để biết thêm hướng dẫn về cách viết, chạy và gỡ lỗi mã DelphiScript trong Altium Designer, hãy tham khảo tài liệu Altium.

Generative AI toàn diện

Giờ thì mọi thứ đã sẵn sàng, chúng ta có thể bắt đầu đi sâu hơn. ChatGPT có “tiềm năng” viết hoàn chỉnh mã DelphiScript từ đầu đến cuối. Tôi dùng từ “tiềm năng” thay vì “khả năng” ở đây vì nó không phải lúc nào cũng làm đúng. Hãy lấy một ví dụ đơn giản: yêu cầu ChatGPT tạo một script bằng DelphiScript để liệt kê tất cả các net trong dự án của tôi. Tôi bắt đầu với một câu lệnh nhắc mà phải nói là khá mơ hồ:





ChatGPT

Hình 3: Phản hồi ban đầu của ChatGPT

ChatGPT tự động hiểu rằng tôi muốn liệt kê tất cả các net từ một PcbDoc. Thực ra tôi muốn lấy từ schematic, nên tôi đã chỉnh lại:





ChatGPT

Hình 4: Một trong nhiều lần ChatGPT cố gắng viết đúng script

 

Tôi không hiển thị toàn bộ đoạn mã mà nó đã tạo cho tôi, nhưng điều xảy ra sau đó là tôi phải chạy mã nhiều lần chỉ để rồi Altium Designer báo lỗi như “Undeclared Identifier: eNet,” hoặc “Expected: in For Pin in Component. Pins Do.” Tôi chỉ đơn giản phản hồi lại cho ChatGPT các lỗi đó nhiều lần, và đến lần thứ năm, nó đã tạo ra đúng đoạn mã mà tôi cần.

Điều rõ ràng là nó không thực sự xuất sắc trong việc tạo DelphiScript từ đầu, nhưng nó vẫn có thể làm được. Hãy nhớ điều đó trước khi bạn ném bàn phím vào tường vì quá bực bội.

Trợ lý AI

ChatGPT cũng có thể đóng vai trò như một trợ thủ hoặc một lập trình viên đồng hành. Bạn có thể dùng ChatGPT để phân tích mã của mình, tìm lỗi hoặc giúp tinh chỉnh các hàm cụ thể. Chúng ta có thể lấy một ví dụ Altium Scripting có sẵn và yêu cầu ChatGPT chỉnh sửa để phù hợp với nhu cầu của mình.

Có nhiều tài nguyên ngoài kia (đặc biệt là được lưu trữ trên GitHub) cung cấp các ví dụ Altium Scripting cho bạn. Tôi sẽ sử dụng những ví dụ do Altium chính thức cung cấp. Bạn có thể tìm thấy chúng tại đây.

Tôi bắt đầu với ví dụ PlaceAPort nằm trong \DelphiScript Scripts\SCH\Sch_Scripts.PrjScr. Tôi đã giao cho ChatGPT một tác vụ rất đơn giản:





ChatGPT

ChatGPT đã đưa cho tôi đoạn mã đáp ứng chính xác yêu cầu này. Thành thật mà nói thì việc này khá đơn giản nếu bạn tương đối quen với lập trình. Hãy tăng độ khó lên một chút, cần đến kiến thức ngữ cảnh về Altium Scripting.

Đây là câu lệnh nhắc đã cập nhật của tôi cho ChatGPT:





Using ChatGPT for Altium Scripting

 

Nó thất bại ngay lần đầu với lỗi Undeclared Identifier:





ChatGPT

Hình 5: Lỗi trình gỡ lỗi từ Altium Designer

Tôi báo cho nó biết điều đó và dĩ nhiên nó xin lỗi. Nó lại thất bại lần nữa với lỗi “Undeclared identifier: Name”, nhưng đến lần thứ ba thì tôi đã có nhãn net đúng chính xác ở vị trí mong muốn:





ChatGPT

Hình 6: Nhãn net mới và port được tạo bởi các script đã chỉnh sửa

Rõ ràng là khi độ phức tạp tăng lên, khả năng ChatGPT viết đúng script ngay lần đầu sẽ càng giảm. Tôi nhận thấy rằng nếu kiên trì, cuối cùng nó vẫn có thể làm đúng, đặc biệt nếu bạn có thể hỗ trợ nó một chút (giả sử bạn hiểu đoạn mã mà nó đang tạo ra). 

Kết luận

Trong bài viết này, chúng ta đã bắt đầu với phần giới thiệu về Altium Scripting, cách tạo một dự án và lưu nó vào không gian làm việc Altium 365 của bạn. Chúng ta đã đi qua các ví dụ với ChatGPT, nơi nó tự tạo script hoàn toàn từ đầu và cũng chỉnh sửa các script mà chúng ta cung cấp cho nó. Chúng ta đã minh họa các khả năng của nó và cả việc nó không phải lúc nào cũng làm đúng. Dù chưa hoàn hảo, nó chắc chắn có thể đóng vai trò như một người hướng dẫn trong suốt hành trình Altium Scripting của bạn. Quan trọng nhất, rõ ràng là có nó vẫn tốt hơn là không có nó chút nào.

About Author

About Author

Ari is an engineer with broad experience in designing, manufacturing, testing, and integrating electrical, mechanical, and software systems. He is passionate about bringing design, verification, and test engineers together to work as a cohesive unit.

Related Resources

Related Technical Documentation

Back to Home
Thank you, you are now subscribed to updates.