Mẹo thiết kế PCB tùy chỉnh


9

Tôi đang lên kế hoạch để thiết kế một PCB PCB tùy chỉnh. PCB sẽ chứa các cảm biến. Tôi cần đọc đầu ra của các cảm biến và xử lý chúng trong bộ xử lý. Tôi đã hoàn thành nhiều dự án bằng cách sử dụng FPGA, nhưng đây sẽ là thiết kế tùy chỉnh đầu tiên của tôi, nơi tôi cũng cần xem xét cấu hình phần cứng. Tôi đã thực hiện nghiên cứu gần đây, nhưng vẫn khó để tôi bắt đầu từ một điểm. Do đó, tôi đang đề nghị bạn giúp tôi và các cá nhân khác muốn thiết kế đồ họa tùy chỉnh của họ, đâu là những điểm họ cần xem xét ở mỗi bước. Có sách / tài nguyên trực tuyến nào có thể giúp chúng tôi trong quá trình này không? Tôi cũng sẽ làm một tài liệu sau khi tôi hoàn thành dự án của mình để mọi người có thể sử dụng nó.


Có lẽ bạn nên đề cập đến kích thước vật lý của FPGA mà bạn dự định sử dụng, số lượng chân, điện áp cung cấp cần thiết, ...
Dzarda

Những điều này chưa được chỉ định. Có thể câu hỏi của tôi không rõ ràng, nhưng tôi đang tìm kiếm một hướng dẫn.
omid

Được rồi.
Dzarda

Câu hỏi này dường như lạc đề
Roh

4
Câu hỏi lớn là nếu bạn sẵn sàng sử dụng gói BGA, hoặc nếu bạn sẽ hạn chế tập hợp con của các dịch vụ (và giảm hiệu suất điện) có sẵn trong các gói TQFP thân thiện với thủ công. Tiếp theo, bạn có hy vọng nhận được tất cả các nguồn cung cấp và tín hiệu của mình được định tuyến trên hai lớp (khó nhưng có thể cho các mục tiêu hạn chế) hoặc bạn có sẵn sàng sử dụng 4 hoặc nhiều hơn không? Làm thế nào nhanh là tín hiệu cảm biến của bạn? Ở tốc độ nào bạn đã hy vọng để đồng hồ logic bên trong? Bạn có bất kỳ tương tự nhạy cảm với tiếng ồn? Bạn đã xem xét việc tạo một bảng con để sử dụng với một bảng đồ họa hiện có chưa?
Chris Stratton

Câu trả lời:


11

Tại công ty của tôi, trước đây chúng tôi đã thiết kế một số bo mạch đồ họa tùy chỉnh và gần đây đã bắt đầu sử dụng các bo mạch đồ thương mại ngoài thị trường ("COTS") với các bảng con FMC tùy chỉnh.

Giai đoạn nguyên mẫu

Nếu bạn vẫn đang trong giai đoạn xác định dự án sớm, hãy lên kế hoạch mua ít nhất một bo mạch COTS để tạo mẫu. Bạn có thể kết nối một trong các cảm biến của mình với các tiêu đề I / O và thực hiện một bằng chứng nhanh chóng. Điều đó cung cấp cho bạn ý tưởng về cách dự án có thể thực hiện khi được chia tỷ lệ cho nhiều cảm biến và ước tính số lượng bạn có thể hỗ trợ với một GPU đã cho.

Nếu FPGA quá nhỏ hoặc quá chậm hoặc các công cụ không phù hợp với công việc, bạn có thể dễ dàng trao đổi trong một COTS FPGA khác ở giai đoạn này. (Cũng không dễ nhưng ít nhất có thể quản lý được ...)

Nếu phần sụn không hoạt động ở giai đoạn này, thì rõ ràng là do sự cố phần sụn, không phải lỗi thiết kế PCB tùy chỉnh. Với phần sụn tùy chỉnh và PCB tùy chỉnh, đôi khi rất khó để biết bên nào có lỗi trong vấn đề.

Bảng mạch tùy chỉnh so với bảng mạch Off-The-shelf thương mại

Thiết kế một bảng mạch tùy chỉnh có ý nghĩa nếu dự án sẽ có vòng đời ngắn, âm lượng lớn hoặc yêu cầu hệ số dạng nhỏ hơn mức bạn có thể đạt được với bảng mạch COTS và bảng bổ trợ PMOD hoặc FMC.

Nếu vòng đời dự án vượt quá tuổi thọ sản phẩm của chip bộ nhớ DDR (một vài năm), thì thiết kế bảng con FMC tùy chỉnh có thể là một lựa chọn tốt hơn.

Chi phí là một yếu tố trong quyết định này. Hầu hết các bo mạch COTS có mục đích chung chung, được thiết kế để linh hoạt tối đa. Nếu bạn đang tạo ra một sản phẩm có khối lượng lớn, nhạy cảm với chi phí, thì có lẽ đáng để thực hiện một thiết kế tùy chỉnh; nhưng với âm lượng thấp, có lẽ bạn nên tập trung vào việc tạo ra một tấm thiệp con gái.

Bất kể bạn chọn cách tiếp cận nào, có một số giao diện nhất định yêu cầu tài liệu chính rõ ràng: tại giao diện giữa các chân I / O toplevel và phần còn lại của bo mạch, và tại giao diện kết nối giữa các bo mạch. Đây là những nơi mà vị trí pin, tên mạng nội bộ và tên mạng bên ngoài đôi khi không khớp và hoán đổi. Một bảng là tài liệu đầy đủ; hãy chắc chắn giữ bảng giao diện này được phiên bản và dưới sự kiểm soát nguồn. Trước khi gửi các tệp PCB để chế tạo, hãy in ra một bản sao của bảng giao diện này, một bản sao của sơ đồ và một bản sao của báo cáo pin / pad của FPGA. Kéo một công cụ tô sáng trên các tờ giấy để kiểm tra từng tín hiệu kết nối ở nơi cần thiết.

Đối với các đầu nối, tôi đã học được cách khó để cung cấp một "bản vẽ hệ thống" cơ học hiển thị cả hai bảng và các đầu nối giao phối với nhau trên một bản vẽ có kích thước duy nhất. Lần đầu tiên tôi bị đốt cháy bởi một hệ thống đầu nối VME trong đó chân "A1" trên một đầu nối không ánh xạ tới chân "A1" trên đầu nối khác. Tôi cũng đã thấy các nhà thiết kế quên rằng một cặp đầu nối góc phải dẫn đến kết nối hình ảnh phản chiếu (90 độ + 90 độ = 180 độ). Đây là một vấn đề khi tôi chịu trách nhiệm cho bo mạch chủ và một số người quản lý dự án khác chịu trách nhiệm cho các bảng con khác nhau.

Mẹo bo mạch tùy chỉnh

Bắt đầu với "thiết kế tham chiếu" từ nhà cung cấp đồ họa và sau đó bỏ qua mọi phần không cần thiết cho ứng dụng của bạn. Không loại bỏ bất kỳ tụ điện bỏ qua nào khỏi FPGA và đừng cố gắng sử dụng ít lớp PCB hơn. Hãy chú ý đến ngăn xếp lớp (thường được tìm thấy bên cạnh bản vẽ khoan); các thành phần cao cấp thường sử dụng đồng 0,5oz thay vì độ dày lá đồng tiêu chuẩn 1oz.

Gói BGA là một nỗi đau để làm việc với. Năng suất không bao giờ tốt như với các gói TQFP hoặc TQFN, và việc làm lại một BGA là gần như không thể. Ngay cả việc kiểm tra các vấn đề lắp ráp cũng yêu cầu thiết bị chụp ảnh X-Ray. Hãy chắc chắn sử dụng một nhà cung cấp dịch vụ hợp đồng sản xuất mà bạn tin tưởng.

Nguồn cung cấp luôn luôn khó khăn khi làm việc với các bảng đồ họa. Các yêu cầu năng lượng thực tế của FPGA phụ thuộc rất nhiều vào dòng bit cấu hình. Xilinx cung cấp công cụ "công cụ ước tính công suất", nhưng ước tính chỉ có hiệu lực nếu chương trình cơ sở hoàn tất. Có một rủi ro khi thực hiện thay đổi phần sụn vào phút cuối, rằng các yêu cầu về năng lượng lớn hơn mong đợi. Kế hoạch để lại một số nguồn cung hiện tại biên. Nếu ước tính công suất ban đầu cho biết bạn cần 560mA, hãy tiếp tục và sử dụng bộ điều chỉnh 1000mA. Dòng đầu ra có sẵn bổ sung không gây hại, nhưng có dòng đầu ra không đủ sẽ dẫn đến hành vi hệ thống bất thường.

Nếu có bất kỳ chân FPGA nào không được cam kết, hãy mang ra càng nhiều càng tốt cho một tiêu đề. Khi có sự cố, các chân không được cam kết này sẽ trở thành tài nguyên chẩn đoán có giá trị để thăm dò các tín hiệu bên trong FPGA.


11

Tôi đã thiết kế hơn một chục bo mạch dựa trên nền tảng sử dụng một loạt các loại GPU khác nhau từ Lattice Mach X02 cho đến Virtex 6 hiệu suất cao với 24 kênh SERDES. Các bước bình thường tôi làm theo là:

Tìm một bảng COT (tương tự MarkU) và có được một ý tưởng sơ bộ về các tài nguyên FPGA bên trong mà bạn sẽ cần, đặc biệt tôi chú ý đến:

  • LUT (tra bảng) đếm:(thiết kế có phù hợp với LUT trên bảng tham chiếu không?) Nếu bạn không có tài nguyên hoặc phương pháp toàn diện để xác định ước tính chính xác về việc sử dụng LUT (độ chính xác <1K LUT) vì có lẽ thiết kế chưa kết thúc. Sử dụng quy tắc này. Nếu thiết kế gần hoàn thành, hãy lấy kích thước của thiết kế (số LUT) và tìm một đồ họa có ít nhất 30% LUT. nếu thiết kế không gần hoàn thành, hãy tăng thêm 50% hoặc 100% LUT. Vì vậy, nếu thiết kế phù hợp với 9K LUT, hãy đảm bảo sử dụng một GPU có 12K LUT hoặc cao hơn. Tôi có xu hướng đi quá mức cần thiết và có thể sẽ lên tới 25 nghìn LUT. Điều này sẽ giúp bạn tiết kiệm đau đầu sau này. Bất cứ ai đang vận hành thiết kế bo mạch này nên hiểu rằng nên có nhiều hơn một vòng quay của thiết kế này để có thể quá khổ phiên bản đầu tiên của FPGA.
  • BRAM (Chặn số RAM):Xác định xem thiết kế của bạn có cần nhiều tài nguyên bộ nhớ hơn so với FPGA của bạn không. Điều này ban đầu dễ bị bỏ qua nhưng trong một thiết kế bạn có xu hướng sử dụng RAM khối vì nhiều lý do (ROM, FIFO, v.v.) Tôi đã hết bộ nhớ trên thiết kế và cố gắng sử dụng RAM phân tán (sử dụng LUT làm RAM ) và nó đã ăn hết LUT của tôi rất nhanh. Điều quan trọng là xác định xem bạn sẽ yêu cầu bộ nhớ ngoài hay không. Điều này gây thêm rủi ro cho các thiết kế bởi vì nếu thiết kế yêu cầu bất kỳ mức hiệu suất nào bạn có thể '
  • Liệt kê tất cả các tiêu chuẩn báo hiệu và các mức điện áp có thể bạn sẽ sử dụng: Điều này rất quan trọng vì một số tiêu chuẩn báo hiệu bạn muốn sử dụng (LVDS, LVSPEC, LVCMOS) có thể có các hạn chế về điện áp. Xem qua hướng dẫn sử dụng và đảm bảo tất cả các tiêu chuẩn này đều được hỗ trợ.
  • Các yêu cầu về nguồn điện:Tôi đồng cảm với tất cả những hiểu biết trước đây về việc cung cấp năng lượng chưa được khai thác có điện áp lõi được xác định là rất khó, gần đây tôi đã sử dụng rất nhiều mô-đun TI Nano cho các GPU lớn nhưng cấp thấp (Spartan LX45 (T) - LX75 (T) và lưới ECP3). May mắn thay, bạn có thể giảm thiểu một số rủi ro khi định cỡ các bộ nguồn được sử dụng cho I / O. Cụ thể, nếu ngân hàng này không lái một nguồn không xác định (đầu nối mở rộng) thì quy trình như sau: Tìm tất cả các thành phần mà ngân hàng này sẽ gắn vào, xác định điện dung đầu vào cho tất cả các thành phần đó, tìm ra tốc độ xung nhịp tối đa bạn sẽ điều khiển các tín hiệu này sau đó bạn có thể tính toán cả yêu cầu công suất và ước tính gần đúng yêu cầu bỏ qua,

Sử dụng phương trình [P = (1/2) CV ^ 2 * (f)] trong đó C = điện dung đầu vào, f = tần số. của đầu vào, FPGA của bạn phải lái (Đối với mỗi tín hiệu!). bạn có thể tìm ra ước tính trường hợp xấu nhất về mức độ cần thiết để điều khiển tất cả các tín hiệu đầu ra.

Bạn cũng sẽ cần xem xét tổn thất điện năng liên quan đến điện trở kết thúc bên trong (dựa trên các tiêu chuẩn I / O bạn sử dụng)

Tôi cũng đã sử dụng công cụ TI Webbench ngày càng nhiều hơn với rất nhiều thành công:

TI Webbench (Tôi không làm việc cho TI)

Sơ đồ:

  • Thiết lập sơ đồ của bạn với một tên ngốc trong tâm trí Bạn và tất cả các nhà thiết kế HDL sẽ quay lại sơ đồ này rất nhiều để mọi người dễ dàng tìm thấy những gì họ cần nhanh chóng mà không cần bạn hoặc họ nghiên cứu toàn bộ sơ đồ để tìm ra nếu Pin 20 là đầu vào đồng hồ. Điều này bao gồm rất nhiều ghi chú trên sơ đồ (nếu có thể), mô tả mục đích của một mạch, kết quả mong đợi và thậm chí mối quan tâm. Bởi vì các GPU có thể được chia thành các ngân hàng xem xét việc chia thành phần FPGA thành nhiều phần và thậm chí có thể dành toàn bộ trang sơ đồ cho một ngân hàng riêng lẻ.

  • ĐƯA RA NHỮNG THÔNG BÁO THÔNG BÁO TRONG GIÁO ÁN CỦA BẠN VỀ VIỆC KIẾM ĐỒNG HỒ ĐẾN PIN PIN ĐÚNG: Tôi đã đập đầu vào nhiều bức tường khi tôi đang xây dựng hình ảnh đầu tiên của mình cho thiết kế và nhận được tín hiệu đồng hồ đáng sợ trên pin không bật . Sống trong nỗi sợ hãi của các loại chân đồng hồ khác nhau trên FPGA. Hãy chắc chắn rằng bạn hiểu rằng một số chân đồng hồ được dự định sử dụng trên góc phần tư của một con số khác, nếu không bạn sẽ phải đối mặt với tất cả mọi người nói: "Này bạn có biết có một số chân đồng hồ được dự định sử dụng trên góc phần tư của một đồ họa không". Chỉ mất 15 người nói với bạn điều này để đảm bảo bạn sẽ không bao giờ làm điều đó một lần nữa.

  • GỬI RẤT NHIỀU THỜI GIAN TRÊN THIẾT KẾ CẤU HÌNH XÁC NHẬN: Hãy đảm bảo bạn mang ra các chân JTAG ngay cả khi bạn không có kế hoạch sử dụng chúng. Đó là sự khác biệt giữa một lỗi khả thi và một lỗ hổng nghiêm trọng.

  • Khi nghi ngờ đưa ra các nút tín hiệu bổ sung và đèn LED và công tắc nhúng: Tôi đã hiểu rất nhiều về công việc phụ liên quan đến việc định tuyến tín hiệu bổ sung để phá vỡ đèn LED, công tắc nhúng và nút nhưng LUÔN LUÔN giúp được.

Bố cục :

  • Giao tiếp với nhà Fab sớm: Đặc biệt nếu bạn có thể cần định tuyến có điều khiển trở kháng, hãy yêu cầu xếp chồng lớp lên cho số lớp mong muốn. Việc định tuyến tín hiệu tốc độ cao sẽ dễ dàng hơn nhiều khi bạn có độ rộng theo dõi được xác định trước tiên như được chỉ ra rằng bạn có thể đã sử dụng 6 triệu dấu vết thay vì 8 triệu dấu vết để thực hiện trở kháng 50 ohm của mình.

  • Bắt đầu với bypass bypass: Thiết kế hệ thống điện sớm. Điều đầu tiên tôi làm là bắt đầu bằng cách đặt tất cả các nắp nhỏ dưới đồ họa hoặc gần các chân. Những cái lớn hơn bên ngoài FPGA và định tuyến toàn bộ mạch cung cấp năng lượng và đặt nó gần đúng nơi tôi mong đợi. Bằng cách này, bạn sẽ không phải chiến đấu với câu đố định tuyến và thỏa hiệp.

  • Tín hiệu tốc độ cao thứ hai: Đây sẽ là những tín hiệu bạn không muốn nhảy quá nhiều lớp.


Tôi luôn học hỏi thêm nhiều điều và sẽ thích bất kỳ lời khuyên nào khác mà các nhà thiết kế khác đã gặp phải, vì vậy hãy thêm chúng.


6

Tôi nghĩ rằng một điểm khởi đầu tốt cho một PCB tùy chỉnh được trang bị một FPGA sẽ là các bảng thiết kế tham chiếu từ nhà cung cấp FPGA. Bạn có thể kiểm tra các thiết kế này chẳng hạn để cung cấp năng lượng, nhưng lưu ý rằng các bảng thiết kế tham chiếu đôi khi không được đánh giá cao. Chúng tôi đã gặp nhiều rắc rối với các bo mạch Xilinx ML605 mất cấu hình, vì nguồn cung cấp điện quá nhỏ.

Trả lời bình luận của omid:

Một trong những đồng nghiệp của tôi đã triển khai thuật toán tính toán tâm thu trên Virtex-6 LXT240. Đầu vào dữ liệu được cung cấp bởi Gigabit Ethernet. Do cách tiếp cận tâm thu, FPGA gần như không có gì nếu không có dữ liệu nào trong fifos đầu vào hoặc chủ yếu là tất cả các flip-flop của FPGA đã chuyển đổi với 200 MHz nếu có khung ethernet mới. Sự mất cân bằng trong tính toán này đã khiến các mạch cung cấp điện TI tắt máy bảng ML605 chỉ có thể được phục hồi từ trạng thái này bằng cách chuyển đổi công tắc nguồn chính.

Chúng tôi đã đưa thiết kế này cho khoa kỹ thuật điện tại trường đại học của chúng tôi và họ đã tìm ra rằng, không có cách nào để điều chỉnh các hệ số điều chỉnh dựa trên các tụ điện được cài đặt.

Vâng, người ta có thể nói: thiết kế xấu hoặc sử dụng fifos lớn hơn hoặc ...

Giải pháp đồng nghiệp của tôi là giảm mức sử dụng 80%.

Tuy nhiên, một bảng tạo mẫu và thiết kế tham chiếu phải có khả năng xử lý khối lượng công việc cực đoan, đặc biệt là nếu bảng này chứa một GPU không sử dụng năng lượng thường xuyên như CPU.


Bạn có thể giải thích những gì bạn có nghĩa là "dưới mức" mà tôi nên nhận thức?
omid
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.