Kertas ini menjelaskan secara singkat kaedah menulis Papan PCB desain rule checker (DRC) system. Sekali Papan PCB desain diperoleh menggunakan alat generasi skematik, DRC boleh dijalankan untuk mencari semua kesalahan yang melanggar Papan PCB peraturan desain. Operasi ini mesti selesai sebelum proses berikutnya boleh dimulakan, dan pembangun alat pembangunan skematik mestilah menyediakan alat DRC yang mudah diakses bagi kebanyakan Papan PCB desainer.
Menulis sendiri Papan PCB pemeriksa peraturan desain mempunyai banyak keuntungan. Walaupun Papan PCB pemeriksa rancangan tidak semudah itu, ia tidak boleh dicapai, kerana Papan PCB desainer yang biasa dengan program atau bahasa skrip yang wujud cukup untuk memeriksa Papan PCB design. Keuntungan kerja ini sangat besar. Namun, alat-tujuan-umum yang dikeluarkan sering tidak cukup fleksibel untuk memenuhi spesifik Papan PCB perlukan desain. Oleh itu, pelanggan mesti mencerminkan keperluan ciri baru kepada pembangun alat DRC, yang biasanya mengambil sejumlah wang dan masa, terutama apabila keperluan sentiasa dikemaskini. Untungnya, kebanyakan pembangun alat menyediakan pelanggan cara yang sesuai untuk menulis DRC mereka sendiri untuk memenuhi keperluan khusus. Namun, alat kuat ini tidak dikenali atau digunakan secara luas. Artikel ini menyediakan panduan praktik untuk menggunakan alat DRC untuk mendapatkan keuntungan.
Kerana DRC mesti melalui seluruh diagram sirkuit desain PCB, termasuk setiap simbol, setiap pin, setiap rangkaian, setiap atribut, dan jika perlu boleh mencipta bilangan tidak terbatas fail "lampiran". Seperti yang diterangkan dalam seksyen 4.0, DRC boleh menandai mana-mana perbezaan kecil yang melanggar Papan PCB peraturan desain. Contohnya, salah satu fail bersamanya mungkin mengandungi semua kondensator pemisahan yang digunakan dalam desain PCB. Jika bilangan kondensator lebih rendah atau lebih tinggi dari yang dijangka, akan ada tanda merah di mana mungkin ada garis kuasa dv/masalah dt. Fail sisi ini mungkin diperlukan, tetapi tiada sebarang alat komersial DRC yang akan dapat menciptanya. Keuntungan lain dari DRC adalah bahawa ia boleh mudah dikemaskini untuk mengakomodasi baru Papan PCB design features (such as those that may affect Papan PCB design rules). Lagipun, selepas pengalaman yang cukup di lapangan, banyak fungsi lain boleh dilaksanakan. Contohnya, jika anda boleh menulis DRC anda sendiri, then you can write your own bill of materials (BOM) creation tool, yang lebih baik mengendalikan keperluan pengguna khusus, such as how to obtain device "extra hardware" that is not itself part of the schematic database (eg socket, heat sink or screwdriver). Atau Papan PCB perancang boleh menulis analisis senarai rangkaian Verilog sendiri, yang mempunyai fleksibiliti penuh dalam Papan PCB persekitaran desain, seperti bagaimana mendapatkan model Verilog atau fail masa yang sesuai untuk peranti tertentu. Sebenarnya, sejak DRC melalui seluruh diagram sirkuit reka PCB, semua maklumat yang sah boleh dikumpulkan untuk output simulasi dan/atau BOM diperlukan untuk analisis senarai rangkaian Verilog reka PCB. Ia akan jauh-fetched untuk membincangkan topik ini tanpa menyediakan mana-mana kod program, jadi kita akan guna alat pembelian diagram sirkuit sebagai contoh. Artikel ini menggunakan alat ViewDraw yang dikembangkan oleh Mentor Graphics, yang dipasang pada garis produk PADS-Designer. Selain itu, kami telah mengadopsi alat ViewBase, perpustakaan rutin C yang mudah dipanggil untuk mengakses dan mengakses pangkalan data ViewDraw. Mengguna alat Pangkalan Paparan, Papan PCB designers can easily use C/C language to write a complete and efficient DRC tool for ViewDraw [2] [3]. Penting untuk memperhatikan bahawa prinsip asas yang dibincangkan di sini sama-sama berlaku untuk mana-mana alat diagram PCB lain.
Dalamput file
Selain itu to the circuit diagram database, DRC juga perlukan beberapa fail input yang boleh menggambarkan situasi tertentu untuk memproses, seperti sambungan automatik ke pesawat kuasa dengan nama rangkaian kuasa yang sah. Contohnya, jika jaringan kuasa dinamakan POWER, then the power plane will be automatically connected to the power plane using a backend package device (eg, fwd untuk ViewDrawPapan PCBs). Dinyatakan di bawah ialah senarai fail input yang mesti ditempatkan dalam lokasi global yang tetap supaya DRC boleh mencari dan membacanya secara automatik, dan simpan maklumat ini di dalam DRC pada masa berjalan. Beberapa simbol mesti mempunyai pin garis kuasa luaran kerana simbol ini tidak disambung ke lapisan garis kuasa biasa. Contohnya, the VCC pin of an ECL device can be connected to either VCC or GROUND; pin VEE boleh disambung ke GROUND atau -5.Pesawat 0V. In addition, pins garis kuasa juga boleh disambung ke penapis sebelum mencapai lapisan garis kuasa. Pin garis kuasa biasanya tidak dilampirkan secara luar ke simbol peranti. Sebaliknya, an attribute of the symbol (called SIGNAL here) describes which pin is a power or ground pin and describes the net name that the pin should be connected to.
DRC boleh baca ciri-ciri ini dan pastikan nama rangkaian disimpan dalam fail legal_pwr_net_name, jika nama rangkaian tidak termasuk dalam nama legal_pwr_net_name, pin kuasa tidak akan disambung ke pesawat kuasa, yang merupakan masalah yang serius. Nama fail legal_pwr_net_name is optional, fail ini mengandungi semua nama rangkaian sah isyarat POWER, seperti VCC, V3_3P dan VDD. In Papan PCB bentangan/alat penghalaan, perlu membezakan antara nama huruf atas dan huruf rendah. Secara umum, VCC tidak sama dengan Vcc atau vcc. VCC boleh menjadi 5.Sumber kuasa 0V, sementara V3_3P boleh menjadi 3.Sumber kuasa 3V. Fail legal_pwr_net_name adalah pilihan kerana fail konfigurasi peranti wrapper bahagian belakang mesti biasanya mengandungi set nama rangkaian garis kuasa sah. Jika alat penghalaan Allegro bagi Cadence Papan PCB syarikat sistem desain digunakan, nama fail bagi Papan PCB fwd adalah allegro.cfg dan mempunyai parameter masukan berikut: Tanah: VSS CGND GND GROUND. Sumber kuasa: VCC VDD VEE V3_3P V2_5P 5V 12V. Jika DRC boleh membaca allegro.fail cfg secara langsung, bukannya legal_pwr_net_name, it will get better results (ie less chance of introducing errors).