Mengapa sandal jepit biasanya dipicu di tepi naik jam?


14

Biasanya dalam desain digital, kita berurusan dengan sandal jepit yang dipicu pada transisi sinyal 0-ke-1 jam (positif-tepi dipicu) sebagai lawan dari pada transisi 1-ke-0 (negatif-tepi dipicu). Saya telah mengetahui konvensi ini sejak studi pertama saya pada rangkaian sekuensial, tetapi belum mempertanyakannya sampai sekarang.

Apakah pilihan antara sisi positif terpicu dan sisi negatif dipicu secara sewenang-wenang? Atau adakah alasan praktis mengapa sandal jepit yang dipicu oleh tepi positif telah menjadi dominan?


2
Cara sebagian besar hal-hal ini terjadi adalah seseorang melakukannya dengan satu cara, orang lain perlu membuat perangkat keras yang kompatibel, dan melakukan hal yang sama, dan beberapa tahun kemudian Anda memiliki standar yang tidak disengaja.
Connor Wolf

1
Saya bekerja dengan sandal jepit yang sebagian besar dipicu Falling Edge. Saya memiliki pertanyaan yang sangat berlawanan!
Swanand

Jawaban:


10

Tebakan terbaik: tren sisi positif adalah produk sampingan dari desain yang mencoba menggunakan area / bagian sebanyak mungkin sebelum tahun 1970-an . Ukuran penghematan biaya untuk produksi dengan meningkatkan jumlah chip per wafer. DFF pos-neg-edge modern sering memiliki luas total yang sama, oleh karena itu tren positif-tepi sekarang menjadi praktik lama.

Penghematan area datang dari desain "Klasik" D-flip-flop. Komponen master / slave modern dari D-flip-flop dapat menggunakan dua kait 5-transistor; Paten WO1984003806 A1 dan US4484087 A keduanya diajukan pada 23 Maret 1984. D-latch 8-transitor adalah paten diajukan 6 Februari 1970; US3641511 A . Demi kesederhanaan desain berdasarkan kait SR / SnRn, akan disebut sebagai "Klasik" dan "Modern" untuk desain yang menggunakan paten D-latch / S-cell.

Dalam desain IC, gerbang NAND menggunakan lebih sedikit area daripada gerbang NOR karena sifat karakteristik NMOS dan PMOS. Formulir di sana, kaskade tren ukuran tabungan daerah. Kait D-bentuk kait SnRn lebih kecil dari kait SR. Desain D-flip-flop Klasik didasarkan pada gerbang logika ini. Setelah mencari beberapa desain, desain tepi positif klasik selalu lebih kecil daripada desain tepi negatif klasik. Migrasi ke Modern terjadi ketika biaya chip menjadi menguntungkan: penghematan area vs biaya royalti.


Menggali lebih dalam untuk menunjukkan perbedaan area:

D-flip-flop tepi-positif klasik: Deskripsi dan diagram D-flip-flop D-flip-flop klasik berbasis- Wikipedia di Wikipedia menggunakan lima NAND2 dan satu NAND3. Ini menggunakan total tiga belas NMOS dan tiga belas PMOS.

skema

mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab

Tepi negatif D-flip-flop klasik terbaik yang dapat saya temukan adalah menggunakan dua D-kait dan dua inverter. Formulir referensi skematis http://students.cs.byu.edu/~cs124ta/labs/L02-FSM/HowToUseMasterSlave.html . Ini menggunakan total delapan belas NMOS dan delapan belas PMOS. Menempatkan inverter pada posisi klasik di atas akan menurunkan jumlah transistor dari desain ini. Bagaimanapun, tepi negatif klasik lebih besar daripada desain tepi positif.

skema

mensimulasikan rangkaian ini

Desain D-flip-flop modern dapat terlihat sebagai berikut berdasarkan paten WO1984003806 A1 dan US4484087 Deskripsi lima transistor D-latch. Ini menggunakan total lima NMOS dan PMOS fice; penghematan area besar dibandingkan dengan Klasik. Membalik urutan master / slave akan membuat flip-flop tepi negatif dengan ukuran yang sama.

skema

mensimulasikan rangkaian ini

Saya hanya menunjukkan desain sekecil mungkin. Desain dapat sangat didasarkan pada persyaratan desain, pustaka sel standar yang diizinkan, fitur reset / preset, atau alasan lainnya.


Itu poin yang bagus. Saya mendekati masalah dari distribusi jam, tapi saya bisa melihat bagaimana arsitektur DFF bisa berbeda. Namun, saya pikir negatif dipicu jepit dapat memiliki arsitektur berbasis NAND juga. Bisakah Anda menambahkan skema arsitektur yang Anda bicarakan?
travisbartley

1
@ trav1s, saya memperbarui jawaban saya dengan contoh dan beberapa riset paten.
Greg

Saya bertanya-tanya sejauh mana chip menggunakan teknik lain untuk kait yang perlu beroperasi berdasarkan tepi jam yang diterapkan secara eksternal? Misalnya, dengan menggunakan pencatatan dua fase dan logika semi-dinamis, seseorang dapat mengurangi jumlah transistor yang diperlukan per gagal menjadi tujuh [pendekatan yang sepenuhnya dinamis akan menjadi enam, tetapi menambahkan transistor ketujuh memungkinkan seseorang untuk menambahkan keadaan "tahan" yang sepenuhnya statis. ]
supercat

@ Greg, kerja bagus. Temuan Anda hanya tentang apa yang saya harapkan. Transistor 10T pada akhirnya adalah hal yang indah.
travisbartley

Jawaban yang menarik dan sangat berwawasan luas. Anda mengatakan bahwa tren posedge datang sebelum 70-an, tetapi ini tidak konsisten dengan temuan saya (lihat jawaban saya). Apa yang membuat Anda datang dengan kencan ini? Hanya tebakan, atau Anda punya info tambahan? Jika ini yang terakhir, saya akan senang mendapatkan referensi (untuk meningkatkan jawaban saya sendiri :))
Vasiliy

3

Ada beberapa asumsi dasar di sini yang dibahas di pos lain (yang tidak dapat saya temukan sekarang).

Jika Anda menghitung jumlah total elemen logika yang ditempatkan dan logika clock (jumlah total FF yang dikirim), mereka mungkin berada di prosesor dan mikroprosesor, Intel, DEC, dll. Manifestasi dari ini adalah bahwa Anda berakhir dengan sekelompok kecil orang / tim yang bertanggung jawab atas desain yang mencakup beberapa dekade, dengan tidak banyak detail dari pekerjaan internal.

Sebaliknya, Anda memiliki banyak tim berbeda yang mengerjakan aliran ASIC, dengan lebih banyak proyek tetapi lebih sedikit volumenya.

Sebagian besar desain prosesor sebenarnya bukan clock positive atau negative edge tetapi dirancang dengan menggunakan skema clocking gratis Natch (Non Overlapped Clock).

Jadi Anda berakhir dengan input -> (cloud logika) -> kait dari jam -> logika cloud -> kait dari skema jam! Yang merupakan bentuk kanonik dari master slave FF dengan logika yang dimasukkan di dalamnya.

Metodologi desain semacam ini memiliki beberapa keunggulan tetapi juga memiliki kompleksitas tambahan.

Hal lain yang disayangkan adalah bahwa metodologi desain ini tidak diajarkan di sebagian besar universitas. Semua desain Intel x86 adalah dari jenis ini (orang tidak boleh membingungkan operasi eksternal antarmuka dengan operasi internal) dengan inti SOC penting yang dapat disintesis yang telah mereka rancang untuk handset mobile.

Wacana yang sangat bagus tentang ini dapat ditemukan di "Dally, William J., dan John W. Poulton". Rekayasa Sistem Digital. Cambridge University Press, 1998. bagian 9.5 membahas "timing sinkron loop terbuka" judul <-bab. Tetapi mengutip "Pengaturan waktu yang dipicu oleh tepi, jarang digunakan dalam mikroprosesor dan desain sistem kelas atas terutama karena menghasilkan waktu siklus minimum yang bergantung pada kemiringan jam".

Ya, jawaban yang benar-benar luar biasa. tetapi metodologi penting yang tidak banyak diketahui, mengingat berapa banyak total transistor yang ada dalam desain ini (banyak dan banyak).


Saya membaca ini tiga kali, tetapi saya masih tidak bisa melihat bagaimana ini terkait dengan pertanyaan OP ...
Vasiliy

1
Juga, mengatakan bahwa CPU dibangun dari kait hanya sedikit berlebihan (bahkan mungkin bukan "sedikit"). Kait digunakan dalam logika kritis kinerja tinggi (terutama jalur data), tetapi masih ada banyak sandal jepit. Kerugian utama dari kait adalah kesulitan analisis waktu - karena kemampuan "meminjam waktu" dari desain berbasis latch (kemampuan yang sama yang membuat desain ini "lebih cepat"), sangat sulit untuk menguji desain berbasis latch untuk penutupan waktu. Pada bagian-bagian CPU yang tidak kritis, kebanyakan FF digunakan.
Vasiliy

Kata kunci dalam judul adalah "biasanya" - 1) dalam jumlah total # berbagai jenis chip yang dirancang - maka ASIC flow dan edge trigger akan menjadi biasa. 2) jika total # elemen logika / transistor yang dikirim desain CPU menang dan kemudian latch ganda berbasis menang dan kemudian pernyataan tersebut tidak valid.
placeholder

1
Anda tidak dapat melihat antarmuka chip ini untuk menentukan apa operasi internal. Seperti yang saya nyatakan, Master slave Flip Flop hanyalah versi yang disederhanakan dari desain dua fasa jam logika ganda berbasis cloud latch. Analisis waktu tidak sulit, pada kenyataannya itu disederhanakan. Anda sebaiknya memastikan domain jam Anda.
placeholder

1
Tidak, kata kuncinya adalah "flip-flop" dan "edge of the clock". Kait adalah perangkat level-sensitif yang tidak sensitif terhadap tepi. Apel dan jeruk pria - jika saya ingin tahu mengapa jeruk jeruk, fakta bahwa ada banyak orang yang lebih suka apel sama sekali tidak relevan.
Vasiliy

2

Kinerja teknologi CMOS saat ini (dalam hal daya / area / kecepatan / biaya) tampaknya tidak sensitif terhadap skema pemicu yang digunakan.

Saya tidak dapat membuktikan pernyataan di atas dengan teliti karena itu membutuhkan banyak pengetahuan dan penelitian pendahuluan, dan bahkan ringkasan buktinya mungkin terlalu panjang untuk dijawab. Sepengetahuan terbaik saya tidak ada perbedaan, oleh karena itu izinkan saya berasumsi bahwa inilah masalahnya.

Saya juga tidak tahu apakah pernyataan Anda tentang sandal jepit yang biasanya dipicu pada tepi positif jam benar (saya percaya itu). Biarkan saya berasumsi bahwa ini juga benar untuk tujuan diskusi berikut.

Di bawah semua asumsi di atas saya hanya melihat dua kemungkinan:

  • Pemicu edge positif menjadi standar karena memiliki beberapa keuntungan jelas di masa lalu. Setelah teknologi yang mengeksploitasi keunggulan ini menjadi usang, pemicu positif masih tetap menjadi standar fakto.
  • Pemicu edge positif menjadi standar tanpa legitimasi teknik, yakni tidak memberikan keuntungan apa pun dalam keluarga logis apa pun dan simpul teknologi apa pun di masa lalu.

Untuk melihat kapan trigger edge positif menjadi standar, saya memutuskan untuk mengikuti evolusi skema clocking CPU Intel :

  1. ϕ2
  2. 8086 : Menempel Data Out dilakukan di tepi negatif CLK.
  3. 80386 : Digunakan tepi positif CLK2.
  4. 80486 : Digunakan tepi positif CLK.
  5. Pentium : Digunakan tepi positif CLK ...

Tampaknya Intel mulai dengan memicu tepi negatif (jika istilah ini dapat diterapkan sama sekali untuk CPU pertama), tetapi beralih ke memicu tepi positif mulai dengan 386.

8086 menggunakan teknologi HMOS (semacam logika NMOS Deplesion -load ) sedangkan 80386 adalah CHMOS (itu adalah semacam CMOS). Sepertinya adopsi edge edge triggering terjadi secara paralel dengan adopsi teknologi CMOS. Kami berasumsi bahwa CMOS tidak memberikan keuntungan apa pun untuk memicu edge positif, oleh karena itu konvensi ini tampaknya arbitrer.

Namun, kita harus ingat tiga hal:

  • Kami berasumsi bahwa teknologi CMOS saat ini tidak memberikan keuntungan apa pun.
  • Asumsi di atas tidak terbukti atau diperdebatkan dalam bentuk apa pun.
  • Dari lembar data jelas pada tepi apa Data Out terkunci, namun ini mungkin tidak mewakili implementasi internal.

Jelas, ada ruang untuk penelitian tambahan. Bersambung...

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.