Có một định dạng netlist phổ biến?


21

Có một định dạng netlist phổ biến có thể di động giữa các công cụ sơ đồ / pcb / EDA / CAD khác nhau không, và nếu vậy định dạng hoặc tham chiếu ở đâu để tôi có thể thực hiện nó?

Nếu không, mỗi gói thực hiện nó khác nhau, hoặc có một vài tiêu chuẩn mà nếu được triển khai có thể mang lại khả năng tương thích cao hơn với một loạt các công cụ?


5
Trong khi chủ đề này bị lỗi, tôi sẽ đề cập đến gnetlist như một tiện ích dòng lệnh để dịch giữa khoảng 30 định dạng danh sách mạng khác nhau.
Kevin Vermeer

Câu trả lời:


11

EDIF - Định dạng trao đổi thiết kế điện tử - là định dạng trung tính của nhà cung cấp để lưu trữ danh sách và sơ đồ mạng điện tử. Đó là một trong những nỗ lực đầu tiên để thiết lập định dạng trao đổi dữ liệu trung tính cho ngành công nghiệp tự động hóa thiết kế điện tử (EDA).

Xem http://en.wikipedia.org/wiki/EDIF để biết thêm thông tin và liên kết.


1
Đây có lẽ là câu trả lời tốt nhất cho đến nay cho câu hỏi ban đầu: Một định dạng netlist trung lập của nhà cung cấp. Đáng buồn thay, mặc dù, nó được hỗ trợ kém.
Kevin Vermeer

4
Và tất nhiên, không ai sử dụng nó. Chào mừng bạn đến với thế giới của các gói EDA giá cao ...
Connor Wolf

Nó được hỗ trợ bởi phần mềm Pulsonix tôi sử dụng, cũng như OrCAD, PADS, CADSTAR, v.v.
Leon Heller

6

Tôi chưa thấy tiêu chuẩn nào. Mỗi gói thực hiện định dạng riêng của họ. May mắn là định dạng rất đơn giản giúp dễ dàng dịch giữa các gói.

Ví dụ: netlist gEDA bao gồm các bản ghi theo định dạng sau -

NETF REFDES-PIN REFDES-PIN ...

đây là một mẫu từ một trong những bảng của tôi -

chưa đặt tên_net39 J28-3 U11-12

không tên_net38 J28-1 J16-2 J27-1

GND J16-3 C16-2 J15-3 C15-2

Bạn có thể dễ dàng đọc tệp netlist này thành một cấu trúc dữ liệu và dịch nó sang một định dạng khác.


4

Nếu chúng được lưu dưới dạng ASCII, việc chuyển đổi chúng khá dễ dàng, tôi có thể nhập hầu hết các định dạng vào phần mềm Pulsonix PCB mà tôi sử dụng. Người khó xử duy nhất là Eagle; Sơ đồ Eagle, PCB và thư viện phải được chuyển đổi bởi một ULP được viết đặc biệt.


4

Tôi cũng chưa thấy một định dạng chuẩn ở bất cứ đâu. Tuy nhiên, như những người khác đã đề cập, các định dạng netlist rất đơn giản và thường dựa trên văn bản, và do đó không quan trọng để dịch giữa các hình thức khác nhau.

Một netlist chỉ đơn giản là một danh sách các lưới (dây), với một danh sách các cổng (chân của các thành phần) gắn trên mỗi dây. Mặc dù các chi tiết khác nhau, nhưng tất cả đều là một biến thể của cùng một chủ đề. Trước đây, tôi đã viết một số tập lệnh bằng Perl và Python dễ dàng thao tác các danh sách mạng. Trên thực tế, các tệp netlist là một bài tập tuyệt vời trong xử lý văn bản ở cấp độ mới bắt đầu.


2

Thành thật mà nói, nếu bạn thực sự muốn một định dạng netlist thực tế sẽ hoạt động với bất kỳ công cụ nào, bạn chỉ có hai lựa chọn nghiêm túc:

  • VHDL
  • Phiên bản

Có, đây là các ngôn ngữ mô tả phần cứng toàn diện và sử dụng chúng làm định dạng danh sách mạng có thể được coi là quá mức cần thiết. Tuy nhiên, điều này rất dễ dàng và nếu một công cụ phát ra VHDL hoặc Verilog đơn giản, có cấu trúc, bạn có thể khá tự tin rằng bạn sẽ có thể kéo thiết kế trở lại giống như bất kỳ công cụ EDA nào khác.

Là một lợi ích phụ, hầu hết các định dạng danh sách mạng khác (ví dụ EDIF) cần phải có một bộ nguyên thủy được xác định bên ngoài - có thể là một cái gì đó cụ thể của nhà cung cấp, hoặc một cái gì đó như LPM. Với VHDL và Verilog, các lá cấp thấp nhất (nguyên thủy) có thể là bất cứ thứ gì bạn muốn (ví dụ mã RTL tổng hợp, mô hình mô phỏng, hộp đen, v.v.).

Tuy nhiên, nếu bạn hoàn toàn phải có định dạng netlist thực tế, tôi thứ hai gợi ý sử dụng định dạng gnetlist, sau đó có thể được chuyển đổi sang nhiều định dạng khác.

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.