มีรูปแบบ netlist ทั่วไปหรือไม่?


21

มีรูปแบบ netlist ทั่วไปที่สามารถเคลื่อนย้ายได้ระหว่างเครื่องมือ schematic / pcb / EDA / CAD ที่แตกต่างกันหรือไม่และหากเป็นเช่นนั้นรูปแบบหรือการอ้างอิงอยู่ที่ไหน

ถ้าไม่แต่ละแพ็กเกจจะใช้มันแตกต่างกันหรือมีมาตรฐานสองสามอย่างที่ถ้านำมาใช้อาจจะให้ความเข้ากันได้มากขึ้นกับเครื่องมือที่หลากหลาย


5
ในขณะที่เธรดนี้ถูกชนฉันจะพูดถึง gnetlist เป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งเพื่อแปลระหว่างรูปแบบ netlist ต่าง ๆ ประมาณ 30
Kevin Vermeer

คำตอบ:


11

EDIF - รูปแบบการแลกเปลี่ยนการออกแบบทางอิเล็กทรอนิกส์ - เป็นรูปแบบที่เป็นกลางของผู้ขายซึ่งจะจัดเก็บรายการ netlists และแผนงาน เป็นหนึ่งในความพยายามครั้งแรกที่จะสร้างรูปแบบการแลกเปลี่ยนข้อมูลที่เป็นกลางสำหรับอุตสาหกรรมการออกแบบอัตโนมัติอิเล็กทรอนิกส์ (EDA)

ดูhttp://en.wikipedia.org/wiki/EDIFสำหรับข้อมูลเพิ่มเติมและลิงค์


1
นี่อาจเป็นคำตอบที่ดีที่สุดสำหรับคำถามดั้งเดิม: รูปแบบ netlist ที่เป็นกลางของผู้ขาย แต่น่าเสียดายที่มันได้รับการสนับสนุนไม่ดี
Kevin Vermeer

4
และแน่นอนไม่มีใครใช้มัน ยินดีต้อนรับสู่โลกของแพ็คเกจ EDA ราคาสูง ...
Connor Wolf

สนับสนุนโดยซอฟต์แวร์ Pulsonix ที่ฉันใช้รวมถึง OrCAD, PADS, CADSTAR และอื่น ๆ อีกมากมาย
Leon Heller

6

ฉันไม่ได้เห็นมาตรฐานใด ๆ แต่ละแพ็คเกจใช้รูปแบบของตัวเอง โชคดีที่รูปแบบนั้นง่ายมากทำให้ง่ายต่อการแปลระหว่างแพ็คเกจ

ตัวอย่างเช่นรายการ neta gEDA ประกอบด้วยบันทึกในรูปแบบดังต่อไปนี้ -

NETNAME REFDES-PIN REFDES-PIN ...

นี่คือตัวอย่างจากหนึ่งในกระดานของฉัน -

unnamed_net39 J28-3 U11-12

unnamed_net38 J28-1 J16-2 J27-1

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

คุณสามารถอ่านไฟล์ netlist นี้ในโครงสร้างข้อมูลและแปลเป็นรูปแบบอื่นได้อย่างง่ายดาย


4

หากพวกเขาถูกบันทึกในรูปแบบ ASCII มันค่อนข้างง่ายในการแปลงพวกเขาฉันสามารถนำเข้ารูปแบบส่วนใหญ่เป็นซอฟต์แวร์ Pulsonix PCB ที่ฉันใช้ สิ่งที่น่าอึดอัดใจเพียงอย่างเดียวคือ Eagle Eagle schematics, PCB และไลบรารี่จะต้องได้รับการดัดแปลงโดย ULP ที่เขียนขึ้นเป็นพิเศษ


4

ฉันไม่เห็นรูปแบบมาตรฐานทุกที่เช่นกัน อย่างไรก็ตามอย่างที่คนอื่น ๆ พูดถึงรูปแบบ netlist นั้นง่ายมากและมักเป็นข้อความและทำให้การแปลระหว่างรูปแบบต่าง ๆ เป็นเรื่องเล็กน้อย

เน็ตลิสต์เป็นเพียงรายการของตาข่าย (สาย) พร้อมรายการพอร์ต (หมุดของส่วนประกอบ) ที่ติดอยู่กับสายแต่ละเส้น แม้ว่ารายละเอียดจะแตกต่างกันไป แต่ทั้งหมดนี้เป็นความแตกต่างของธีมเดียวกัน ในอดีตที่ผ่านมาฉันได้เขียนสคริปต์หลาย ๆ ตัวใน Perl และ Python ที่จัดการกับ netlists ได้อย่างง่ายดาย แท้จริงแล้วไฟล์ netlist เป็นแบบฝึกหัดที่ยอดเยี่ยมในการประมวลผลข้อความระดับเริ่มต้น


2

สุจริตถ้าคุณต้องการรูปแบบ netlist ที่จริง ๆ แล้วจะทำงานกับเครื่องมือใด ๆ คุณมีสองตัวเลือกร้ายแรง:

  • VHDL
  • Verilog

ใช่ภาษาเหล่านี้เป็นคำอธิบายฮาร์ดแวร์เต็มรูปแบบและการใช้ภาษาเหล่านั้นในรูปแบบ netlist อาจถือได้ว่าเกินความเป็นจริง อย่างไรก็ตามมันเป็นเรื่องง่ายมากและหากเครื่องมือแยกโครงสร้าง VHDL หรือ Verilog ที่เรียบง่ายคุณมั่นใจได้เลยว่าคุณจะสามารถดึงการออกแบบกลับเข้าไปในเครื่องมือ EDA อื่น ๆ ได้

รูปแบบ netlist อื่น ๆ ส่วนใหญ่ (เช่น EDIF) จำเป็นต้องมีชุดของ primitives ที่กำหนดไว้จากภายนอก - ไม่ว่าจะเป็นผู้ขายที่เฉพาะเจาะจงหรืออย่าง LPM ด้วย VHDL และ Verilog ใบระดับต่ำสุด (ดั้งเดิม) สามารถเป็นอะไรก็ได้ที่คุณต้องการ (เช่นรหัส RTL ที่สังเคราะห์ได้แบบจำลองสถานการณ์จำลองกล่องดำ ฯลฯ )

อย่างไรก็ตามหากคุณต้องมีรูปแบบ netlist จริงฉันขอแนะนำให้ใช้รูปแบบ gnetlist ซึ่งสามารถแปลงเป็นรูปแบบอื่น ๆ ได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.