Altifigence Academy

7 / 63 · Konsep

Aljabar Boolean, transformasi setara, dan biaya implementasi

Ubah rangkaian dengan De Morgan dan faktorisasi, serta bedakan kesetaraan logika dari karakteristik waktu.

Persamaan setara menghasilkan keluaran sama untuk semua masukan

Penyederhanaan rangkaian kombinasional bukan sekadar memperpendek persamaan. Fungsinya harus tetap sama sambil mempertimbangkan kedalaman logika, fan-in, fan-out, dan sel pustaka nyata. Dalam aljabar BooleanAljabar Boolean Aljabar nilai 0 dan 1 serta operasi AND, OR, NOT. Tanda tambah biasanya berarti OR, sehingga aturannya berbeda dari penjumlahan bilangan bulat., tafsirkan dahulu ++ sebagai OR dan perkalian sebagai AND.

A+AB=A,A+A‾B=A+BA+AB=A,\qquad A+\overline A B=A+B

Identitas kedua dapat diperiksa per kasus: jika A=1A=1, kedua sisi 1; jika A=0A=0, keduanya BB. Setelah memakai identitas yang dihafal, Anda tetap harus dapat menjelaskan maknanya.

Membaca struktur NAND dan NOR dengan De Morgan

AB‾=A‾+B‾,A+B‾=A‾ B‾\overline{AB}=\overline A+\overline B,\qquad \overline{A+B}=\overline A\,\overline B

Misalnya Y=AB+AC=A(B+C)Y=AB+AC=A(B+C). Bentuk pertama memakai dua AND dan satu OR; bentuk kedua satu OR dan satu AND. Namun, jika waktu kedatangan masukan atau bebannya berbeda, lebih sedikit gerbang tidak selalu lebih cepat.

Teorema konsensus juga berguna.

AB+A‾C+BC=AB+A‾CAB+\overline A C+BC=AB+\overline A C

Jika BC=1BC=1, ketika A=0A=0, A‾C\overline A C sudah 1; ketika A=1A=1, ABAB sudah 1. Jadi BCBC redundan untuk fungsi keadaan stabil. Menghapusnya dapat mengubah karakteristik hazard selama transisi; perbedaannya dibahas pada pelajaran tundaan.

Setiap kolom di bawah mewakili satu kombinasi ABC, bukan urutan waktu. Periksa kesamaan kedua keluaran di seluruh kolom. Jumlah gerbang dan jalurnya boleh berbeda, tetapi fungsi untuk masukan 0/1 stabil sama.

Kesetaraan AB + AC dan A(B + C)
Lihat data gelombang
Data gelombang: setiap karakter mewakili satu interval; titik mempertahankan keadaan sebelumnya; p adalah satu siklus clock.
SinyalGelombangNilai bus
ABC23452345000 → 001 → 010 → 011 → 100 → 101 → 110 → 111
AB+AC0....1..
A(B+C)0....1..

Kriteria verifikasi kesetaraan

Gunakan y_ref dan y_opt untuk bentuk sebelum dan sesudah perubahan. Pada ruang masukan kecil, bandingkan seluruh masukan. Satu atau dua contoh yang lolos tidak membuktikan kesetaraan.

SystemVerilog
assign y_ref = (a & b) | (a & c);
assign y_opt = a & (b | c);
assign mismatch = y_ref ^ y_opt;

mismatch harus selalu 0 pada delapan kombinasi 0/1. Simulasi empat keadaan dengan X/Z atau kesetaraan rangkaian sekuensial memerlukan kondisi tambahan. Menyatakan cakupan bukti merupakan kebiasaan dasar dalam peninjauan desain.

Coba sendiri

Sederhanakan F=A‾B+AB+AB‾F=\overline A B+AB+A\overline B dan tentukan jumlah kombinasi masukan yang harus diperiksa.

Baca penjelasan

Dua suku pertama adalah B(A‾+A)=BB(\overline A+A)=B, sehingga F=B+AB‾=A+BF=B+A\overline B=A+B. Ada dua variabel, jadi periksa empat kombinasi. Persamaan setara tidak berarti tundaan propagasi kedua implementasi sama.

Pilihan berlaku di peramban ini. Ubah kapan saja di bagian bawah halaman.