LLM định tuyến PCB: Những gì kỹ sư hợp đồng đã dạy nó
URL bài viết: https://edgelog.dev/blog/llm-pcb-routing-human-taught/ URL bình luận: https://news.ycombinator.com/item?id=49254735 Điểm: 1 Số bình luận: 0
← Bài viết
/Bài đăng · 01/22 · Phát triển nhúng
Định tuyến PCB bằng LLM: Những gì kỹ sư hợp đồng đã dạy nó
Bảy trong số mười sáu kỹ thuật định tuyến PCB trong danh mục của tác nhân, hầu hết được học từ một kỹ sư hợp đồng, là những kỹ thuật mà nó không thể thực hiện.
Ngày 9/8/2026 · 17 phút đọc · -- · Sao chép liên kết Chia sẻ trên X Gửi lên Hacker News Gửi lên Reddit
· #pcb#kicad#ai-agents#hardware#build-in-public
Trên trang này:
Bảng mạch
Những gì LLM đã tạo ra
Tôi có thể làm cho DRC về 0 nhưng đã không làm
Đường cấp nguồn và đường xung nhịp có cùng độ rộng
Những gì mã nguồn đã làm tốt hơn tôi rất nhiều
Hai lần thử nghiệm, và lần nghiêm ngặt hơn không mang lại kết quả
Đặt hai bảng mạch cạnh nhau
Tại sao 11 lỗi vi phạm đó biến mất, và cách tôi đã sai lầm ban đầu
Bản tóm tắt của chúng tôi cũng sai
Được chắt lọc thành các kỹ thuật
Thực hiện lại mà không có đáp án
Những gì nó đã mất, và những gì chưa biết
Những sai sót cũng cần được ghi lại
Tình hình hiện tại
Khi nào cần gọi con người
Tôi đã giao việc định tuyến PCB cho một LLM. Kết quả không tốt, vì vậy tôi đã thuê ngoài. Sau đó, tôi đặt bảng mạch đã trả về bên cạnh bảng mạch trước đó, từng net một, và biến những khác biệt thành một danh mục các kỹ thuật định tuyến để tác nhân sử dụng lần tới.
Mười sáu kỹ thuật đã được đưa vào. Mỗi kỹ thuật đặt tên cho một khe chỉnh sửa, và bảy trong số đó ghi "gui_card", đây là cách bạn viết khi không có chức năng nào tồn tại và một người phải thực hiện thủ công. Thao tác đã cứu bảng mạch này là một trong bảy kỹ thuật đó.
Một LLM không thể bố trí bảng mạch theo cách một con người có kinh nghiệm làm. Số tiền 145 USD chi cho một kỹ sư hợp đồng không mua được kỹ năng định tuyến mà là một danh sách bằng văn bản về những điểm mà nó thất bại, và danh sách đó tồn tại lâu hơn bảng mạch.
Mô hình là Fable 5, theo trí nhớ. Kho lưu trữ chỉ ghi "Claude", vì vậy đó là lời của tôi, không phải một dòng nhật ký.
Bảng mạch
Đường kính 21 mm, hình tròn, bốn lớp, chạy bằng pin cúc áo CR1632. Mô-đun chính là Raytac AN54LV-15 (nRF54L15, ăng-ten chip tích hợp) với TDK ICM-42688-P cho cảm biến chuyển động. Lớp bên trong đầu tiên là lớp tiếp địa liền khối, để lại hai lớp không gian định tuyến thực tế cho mười lăm net.
Ba thuật ngữ mang ý nghĩa còn lại. Một net là một đường trong sơ đồ nối các tín hiệu lại với nhau, đại khái là một biến duy nhất trong phần mềm. Một via là lỗ khoan để di chuyển một đường mạch giữa các lớp, và DRC là kiểm tra quét bảng mạch để tìm bất kỳ điều gì mà nhà sản xuất sẽ từ chối. Gần giống như một linter.
Bảng mạch không được vẽ bằng chuột. Mã Python tạo ra nó, và các hằng số trong tệp quy tắc trông như thế này.
TRACK_MIN_MM = 0.127 # 5 mil
CLEARANCE_MM = 0.1 # được thắt chặt (vẫn tương thích JLCPCB) để mở không gian định tuyến
VIA_DRILL_MM = 0.3
VIA_DIA_MM = 0.5
Đọc chú thích ở dòng thứ hai. Nó nói, theo cách riêng của nó, rằng khoảng cách đã được thắt chặt để mở không gian cho việc định tuyến. Một nửa những gì tiếp theo bắt đầu từ dòng đó.
Những gì LLM đã tạo ra
Bảng mạch đầu tiên có 143 lỗi vi phạm quy tắc thiết kế (DRC). Phân tích chẩn đoán đã phân loại khoảng 120 lỗi trong số đó, chiếm 84%, là không liên quan đến nội dung cơ khí: 90 lỗi từ một mẫu via (lỗ xuyên) bị lỗi, ba quy tắc bị vi phạm trên mỗi 30 via, 16 lỗi không khớp quy tắc khoảng cách giữa các chân linh kiện nhỏ, 18 lỗi thẩm mỹ lớp in lụa (silkscreen), 3 lỗi điền mặt phẳng (plane fills). Tổng cộng là 127 lỗi, không phải 120, vì các danh mục này có một vài lỗi trùng lặp và chưa được đối chiếu. Còn lại 16 lỗi theo phép tính cộng thực tế, và 8 trong số đó là tín hiệu thực sự: các vùng chồng lấn (courtyard overlaps).
Việc điều chỉnh thông số kỹ thuật của via theo quy tắc 0.50/0.30 của chúng tôi, quy tắc đã in ở trên, đã loại bỏ 90 lỗi đó chỉ trong một lần thay đổi. Chẩn đoán đã chỉ ra nguyên nhân trong một dòng: mẫu via của bộ định tuyến tự động freerouting bỏ qua các quy tắc via của bảng mạch. Padstack (cấu trúc chân linh kiện) mà nó tạo ra để lại một vòng annular (vòng kim loại xung quanh lỗ) 0.075mm so với quy tắc 0.10mm của chúng tôi, và kết luận của chẩn đoán là bảng mạch không hợp lệ để sản xuất (fab-legal). Nó không thể đưa vào nhà máy.
DRC đã báo cáo tất cả 90 lỗi một cách trung thực, ngay từ lần chạy đầu tiên. Đèn xanh không nói dối. Không ai đọc nó.
Việc khắc phục đó phải trả giá. Việc điều chỉnh các via theo thông số kỹ thuật đã tạo ra một trường các via lớn hơn, gây ra khoảng 34 lỗi vi phạm mật độ mới, và các mạng không kết nối (unconnected nets) tăng từ 6 lên 13. Tổng số lỗi giảm từ 143 xuống 64 trong khi kết luận thay đổi thành DENSITY_LIMITED (giới hạn mật độ). Sáu mươi bốn là mức thấp nhất có thể đạt được bằng cách điều chỉnh các quy tắc, không gần với mục tiêu 20 mà tôi đã đặt ra.
Số lượng lỗi cải thiện trong khi kết luận trở nên tệ hơn. Sự kết hợp đó là nơi bộ định tuyến tự động kết thúc.
Tôi có thể đã làm cho DRC báo cáo không lỗi nhưng đã không làm.
Trong khi viết bản tóm tắt hợp đồng, tôi đã thử một điều. Mở rộng khoảng cách toàn cục (global clearance) từ 0.1mm trong mã đó trở lại 0.16mm đã loại bỏ 11 lỗi vi phạm ranh giới trên bảng mạch bàn giao. Nó cũng đẩy số mạng không kết nối từ 6 lên 15, mặc dù bản tóm tắt đã lấy số liệu đó từ bản sửa đổi trước, không phải bản này.
Đó là việc vượt qua DRC bằng cách từ bỏ định tuyến. Tôi đã không sử dụng nó, và bản tóm tắt cũng nêu rõ điều đó.
Quan sát một con số, sự đánh đổi này được coi là một sự cải thiện. Mười một đã trở thành không.
Nguồn điện và xung nhịp có cùng độ rộng.
Lỗi ít được chú ý nhất nằm ở đây. Nguồn pin VBAT, nối đất GND, xung nhịp SPI_SCK. Cả ba mạng này đều có cùng độ rộng đường mạch 0.2mm trên bảng mạch tôi đã bàn giao.
Nguồn điện pin đồng xu được đi với độ rộng của một xung nhịp SPI. DRC không thể phát hiện lỗi này, vì không có quy tắc nào bị vi phạm. Trên bảng mạch được trả về, VBAT đã được điều chỉnh giữa 0.25 và 1.0mm và GND được mở rộng giữa 0.3 và 0.7mm.
Mã đã làm tốt hơn tôi rất nhiều.
Trong việc quét toàn diện các tổ hợp xoay linh kiện, mã thậm chí không cho tôi cơ hội. Điều hiệu quả ở đây là một vòng lặp for, không phải một LLM. Nó đã chạy tất cả 2^14, tức 16384 tổ hợp, và giảm tổng chiều dài mạng từ 128.62mm xuống 124.38mm. Giảm 3.3%.
Một người không thể thực hiện được.


Nguồn tin: Hacker News LLM — Tác giả: 0xecro1. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.