Desain logika diskrit

11

Saya telah ditugaskan untuk membangun perangkat alarm sederhana. Itu hanya perlu mengukur beberapa input dan output akan merespon sesuai (sederhananya!). Bagi saya, sepertinya menggunakan beberapa gerbang logika diskrit akan menyelesaikan pekerjaan, tetapi seorang kolega (yang sedang mengerjakannya bersama saya) memutuskan bahwa kami harus menggunakan logika yang dapat diprogram sebagai gantinya. Kasusnya menang, karena pertama, dia lebih senior dari saya, dan kedua, argumen utamanya adalah bahwa perangkat yang dapat diprogram adalah masa depan dan kami ingin membuat produk bukti di masa depan.

Pertanyaan saya adalah jika Anda memiliki desain yang dapat dengan mudah diimplementasikan oleh beberapa gerbang logika diskrit, apakah itu layak dirancang dengan logika diskrit lagi? APAKAH ada keuntungan menggunakan mereka lebih dari yang dapat diprogram? Atau perlahan-lahan akan dihapus sepenuhnya oleh logika yang dapat diprogram? Untuk lebih jelasnya, saya tidak ingin jawaban dari 'Saya percaya ini adalah kasusnya' atau 'secara pribadi saya pikir ini tapi ...' Saya ingin tahu apakah ada keuntungan sebenarnya untuk merancang dengan diskrit lebih dari yang dapat diprogram dan layak desain dengan mereka hari ini di produk elektronik konsumen?

Ingin tahu
sumber
16
Ini terdengar seperti pertanyaan dari tahun 90-an ... µC telah menang, jauh lebih mudah untuk mendobraknya dan dilakukan daripada memikirkan bagaimana menghubungkan setengah lusin IC bersama-sama, apalagi konsumsi ruang.
PlasmaHH
9
Gerbang terpisah memiliki satu keuntungan besar. Tidak ada toolchain.
Jonk
Tidak ada toolchain? Apa maksudmu @jonk
Curious
@PlasmaHH jadi pada dasarnya Anda mengatakan tidak ada keuntungan untuk merancang diskrit di masa depan?
Penasaran
11
Yang dimaksud @jonk adalah, ketika mikrokontroler digunakan, Anda memerlukan perangkat lunak untuk membuat program untuk mikrokontroler, seperti IDE (antarmuka pengguna grafis atau tekstual) dan kompiler / penghubung / kombinasi alat lain yang didedikasikan untuk mikrokontroler yang Anda gunakan, disebut rantai alat.
Michel Keijzers

Jawaban:

15

Desain logika diskrit tidak akan dihapus sepenuhnya. Akan selalu ada aplikasi di mana menggunakan IC logika diskrit lebih disukai. Seperti yang telah ditunjukkan, kecepatan adalah keuntungan besar, meskipun dalam banyak aplikasi, perbedaan kecepatan tidak begitu penting.

Ketika datang ke tahap desain, jika Anda merancang sebuah sirkuit yang hanya perlu melakukan 2 atau 3 fungsi logika sederhana di berbagai titik di sirkuit, akan lebih baik menggunakan gerbang diskrit, hanya untuk menghemat waktu desain karena harus juga menulis programnya juga.

Untuk sistem yang perlu melakukan fungsi logika yang lebih kompleks, akan konyol untuk menghabiskan seluruh waktu mengerjakan tabel kebenaran, kemudian mencari tahu gerbang logika mana yang digunakan, dll, ketika Anda bisa menulis sebuah program kecil. Biasanya, semakin banyak input berarti semakin banyak gerbang yang dibutuhkan dan semakin lama waktu yang dibutuhkan untuk mendesain secara terpisah.

Tempat di mana logika diskrit benar-benar memiliki keuntungan meskipun dalam pembelajaran Ketika Anda pertama kali belajar tentang desain logika dan bagaimana gerbang bekerja dll, di situlah mendapatkan dengan gerbang logika aktual dan merancang fungsi yang berbeda dengan bagian diskrit sangat bagus. Selalu merupakan ide yang bagus untuk mendapatkan pemahaman tentang fundamental. Jadi, karena itu, logika diskrit akan selalu mendapat tempat di dunia ini. Adapun elektronik konsumen? Masa depan jelas dapat diprogram.

MCG
sumber
Jawaban sederhana, poin bagus dan menjawab semua pertanyaan yang diajukan! Terima kasih!
Penasaran
Sebagai programmer dengan latar belakang elektronik saya ingin menyatakan bahwa jika Anda tidak mengerjakan tabel kebenaran Anda, Anda akan menghabiskan banyak waktu men-debug program Anda karena Anda akan memerlukan waktu untuk mengatur tabel kebenaran Anda. Tabel kebenaran Anda akan menjadi dokumentasi yang bagus untuk program Anda.
chthon
Ya, saya setuju, tabel kebenaran selalu berguna untuk dimiliki, saya akan mengedit jawaban untuk membuatnya sedikit lebih relevan dengan skenario ini
MCG
1
Desain terakhir yang saya terapkan menggunakan logika diskrit memiliki persyaratan waktu "serendah mungkin" menggunakan logika 5V dan persyaratan program yang relatif sederhana. Saya bisa menghabiskan banyak uang untuk FPGA bagus dan hanya melakukannya dengan cara "jadul". Chip spec militer mengalami ayunan tegangan penuh dalam hitungan detik, akan selamat dari bencana nuklir bersama dengan kecoak, dan juga hampir tanpa biaya. Akan selalu ada tempat untuk logika diskrit.
Landak
14

Saya bukan insinyur elektronik profesional sama sekali (sebenarnya hanya seorang pemula), tetapi beberapa sen saya adalah bahwa IC logika diskrit khusus hanya boleh digunakan jika waktunya penting atau jika itu merupakan persyaratan untuk tidak menggunakan logika yang dapat diprogram.

Dengan mikrokontroler Anda dapat mengimplementasikan logika yang jauh lebih rumit dan lebih fleksibel. Juga dapat diprogram ulang tanpa harus mengubah perangkat keras.

Juga ketika pengaturan waktu yang sangat cepat diperlukan agar perangkat lunak tidak dapat mengimbangi, IC logika khusus dapat digunakan. Tetapi untuk sistem alarm ini tampaknya tidak diperlukan (tidak perlu waktu respons nanodetik).

Di bawah ini adalah interpretasi saya tentang kelebihan / kekurangan:

                          Discrete logic (ICs)      Programmable logic/
                                                    (Microcontrollers)
 Nanosecond speed                  x                         -
 Just a few 'operators' needed     x                         -
 No tool chain needed              x                         -
 Cost Efficiency *                 -                         x
 PCB / proto size                  -                         x
 Flexibility for changing          -                         x
 Production cost                   -                         x
 Possibility to extend features    -                         x

* Assuming more than a few (different) logic functions needed
Michel Keijzers
sumber
1
Jadi kecepatan adalah keuntungan utama menurut Anda? +1 untuk jawabannya, saya terutama menyukai meja Anda!
Penasaran
1
Ya, perangkat keras lebih cepat daripada perangkat lunak, jadi jika Anda BENAR-BENAR membutuhkan kecepatan, Anda memerlukan IC perangkat keras, jika tidak saya akan mencari solusi 'perangkat lunak' (mikrokontroler). Btw, saat ini untuk solusi sensitif kecepatan yang lebih rumit digunakan FPGA.
Michel Keijzers
1
Saya tidak berencana menggunakan FPGA, kepala insinyur telah memutuskan perangkat keras sekarang! Saya hanya mengajukan pertanyaan karena penasaran untuk melihat di mana letak keuntungannya. Ngomong-ngomong, saya akan menerima jawaban Anda tepat waktu jika tidak ada jawaban lain yang muncul. Hanya ingin memberi orang lain kesempatan untuk menjawab sebelum menerima sebelum waktunya!
Penasaran
5
Saya pikir kepala insinyur Anda membuat keputusan yang tepat. Sistem alarm biasanya adalah sesuatu yang akan diperluas (mendapatkan input lebih banyak dari sumber yang banyak dan menindaklanjutinya), bahkan membuat kombinasi dari mereka, dan kemudian menambahkan fungsionalitas seperti mengirim SMS otomatis, menandakan sinyal bip / alarm, mungkin beberapa logging dari sensor dll.
Michel Keijzers
2
@MichelKeijzers FPGA modern secara signifikan lebih cepat daripada apa pun yang dapat Anda capai dengan IC logika diskrit tradisional.
Tustique
10

Jika Anda akan membuat produk komersial, Anda sebaiknya tidak memilih desain karena "itu dapat diprogram" atau karena kolega yang lebih senior yang mengusulkannya. Alih-alih, Anda harus memperkirakan risiko dan biaya yang terkait dengan setiap desain, dan memilih yang dengan biaya terendah dan tingkat risiko yang dapat diterima. Sebagai permulaan:

  • harga komponen individu menambah biaya
  • diperlukan ukuran dan kompleksitas PCB menambah biaya
  • upaya desain dan alat yang dibutuhkan menambah biaya
  • pengujian dan sertifikasi yang disyaratkan menambah biaya

  • kurangnya fleksibilitas (misalnya perubahan logika diskrit yang membutuhkan PCB baru) adalah risiko
  • kurangnya pengalaman dengan teknologi tertentu di tim Anda adalah risiko
  • ketidakmampuan untuk memenuhi persyaratan proyek (misalnya konsumsi daya target) adalah risiko

Jika sumber logika diskrit IC untuk proyek khusus Anda lebih murah, tim Anda memiliki pengalaman dengan desain seperti itu dan Anda menganggap kurangnya fleksibilitas tidak penting, tidak ada alasan untuk tidak menggunakan logika diskrit.

Dmitry Grigoryev
sumber
Sangat benar. Jadi Anda pikir ada masa depan untuk logika diskrit?
Penasaran
4
@Curious Saya masih melihat BJT individu dan MOSFET digunakan untuk mengimplementasikan fungsi logika dasar di sana-sini. Logika diskrit adalah abstraksi yang berguna untuk beberapa tugas sederhana, jadi saya yakin itu tidak akan hilang sepenuhnya.
Dmitry Grigoryev
7

Satu aspek yang jawaban lainnya dilupakan adalah keamanan. Sirkuit logika diskrit jauh lebih andal daripada desain mikrokontroler yang jauh lebih kompleks. Saya membantu membangun mobil prototipe hidrogen, semua sirkuit keselamatan dirancang menggunakan logika diskrit. Keselamatan dan keandalan adalah aspek yang Anda mungkin ingin mempertimbangkan untuk merancang sistem alarm.

LukeHappyValley
sumber
3
Ini umumnya tidak benar. Seseorang dapat membangun sistem diskrit yang sangat tidak aman dan sistem yang sangat aman dan kuat pada sebuah prosesor. Tim Anda tidak memiliki keterampilan untuk menggunakan prosesor, tetapi ini tidak membuatnya secara inheren tidak aman. Anda dapat memiliki duplikasi besar dalam sebuah prosesor, yang tidak praktis dalam sistem diskrit.
awjlogan
1
@awjlogan Anda dapat melakukan kedua hal itu, tetapi penghentian darurat logika diskrit Anda tidak akan pernah gagal untuk diaktifkan karena kondisi yang tidak terduga mengirim bagian lain ke dalam loop tak terbatas. Sistem yang kritis terhadap keselamatan harus sesederhana mungkin .
user253751
1
@immibis Itu desain dan spek yang buruk, tidak melekat pada prosesor. Selalu ada kemungkinan kegagalan dalam suatu sistem, diskrit, FPGA, atau apa pun. Setuju bahwa brankas yang gagal harus sesederhana mungkin, itu tidak berarti mereka harus terpisah.
awjlogan
5
@immibis Discrete logic menjadi kurang dapat diandalkan dibandingkan MCU melewati ukuran desain tertentu karena cacat solder saja. Dan jika logika diskrit menyertakan pemicu, Anda akhirnya memiliki masalah yang sama persis dengan status sistem terlarang seperti yang Anda lakukan dalam perangkat lunak.
Dmitry Grigoryev
4
Bagian diskrit mungkin bertindak kasus DI diprediksi lebih dari kesalahan ...
rackandboneman
4

Saya harus mengakui, setiap kali saya harus melakukan beberapa logika kombinatorial yang kompleks ditambah beberapa timer, saya tidak peduli dengan logika diskrit sama sekali tetapi selalu kode program assembler minimal untuk ATtiny (gunakan PIC jika Anda suka yang lebih baik).

Logika kombinatorial maksimum 20 baris assembler (beberapa tabel pencarian). Setiap pengatur waktu perangkat lunak menambahkan 10 baris lagi. Pengatur waktu perangkat keras bahkan lebih sedikit. Anda bahkan mendapatkan keuntungan dari memiliki konverter A / D, Pembanding, generasi PWM di papan, jika Anda membutuhkannya.

Satu-satunya kelemahan adalah Anda harus mem-flash bagian ini. Kadang-kadang itu adalah show-stopper, tetapi jarang terjadi. Keuntungan besar adalah Anda membutuhkan lebih sedikit ruang di papan, perutean jauh lebih sederhana, dan Anda dapat dengan mudah mengubah fungsi logika jika diperlukan.


Sisa use case untuk IC logika terpisah adalah ketika semuanya harus bekerja lebih cepat dari 1µs.

Janka
sumber
Sedikit dari topik, tetapi bagian ATTiny x17 / x16 memiliki dua built in LUT 3-input. Memang sangat berguna!
awjlogan
4

Pada produk akhir - mungkin tidak banyak keuntungan dari logika diskrit jika kita berbicara perangkat konsumen. Pengecualian akan menjadi sesuatu yang harus sangat kasar terhadap kondisi yang merugikan, atau sangat mudah dikarakterisasi (kompleksitas aktual dan potensi bug tersembunyi jauh lebih tinggi dengan sesuatu yang berbasis firmware), atau bahwa Anda ingin dapat membangun lagi dari awal bagian serupa untuk beberapa dekade yang akan datang (74xx jejak kaki berubah sangat sangat lambat bahkan jika huruf teknologi berubah :)).

Sesuatu yang benar-benar dapat Anda lakukan dengan discret adalah self-timing, logika asinkron (penyelesaian satu hal segera memicu hal lain). Legitimasi desain semacam itu adalah topik perang suci. Jangan khawatir, orang-orang yang sinkron akan ingin mengalahkan Anda, tetapi Anda hanya harus mengambil jam mereka, mereka akan menunggu selamanya untuk itu.

Ketika datang ke metodologi desain, saya akan mengatakan itu tergantung pada gaya yang disukai perancang - perangkat CPLD yang Anda dapat benar-benar rewire hidup ("mari kita sentuh kawat itu ke pin sampai sesuatu mengklik"), dalam pandangan ratsnest, dan di bawah daya dari PC host (dengan percikan simulasi ketika Anda menyentuh kawat ke pin, lebih disukai, hanya untuk suasana) pasti akan disukai oleh orang-orang yang memilih logika diskrit :)

pemeras dan prajurit
sumber