Showing posts with label 6. Санамжтай логик хэлхээ. Show all posts
Showing posts with label 6. Санамжтай логик хэлхээ. Show all posts

6.15. JK ба D флип флопыг сонгох


Дараах А, В, С гэсэн 3 төлөвтэй санамжтай хэлхээний төлвийн хүснэгт өгөгдсөн байг. Төлвүүдэд хүснэгтэнд заасны дагуу утга олгоё.

Эхлээд төлвийн хүснэгтийг үнэмшлийн хүснэгт хэлбэрт оруулна.

Энд 00 гэсэн төлөв байхгүй тул энэ үед гаралтыг don’t care гэж ойлгоно. Мөн үнэмшлийн хүснэгт нь өсөх дарааллаар байх ёстой тул зохих ёсоор эрэмбэлэсэн болно.
Ингээд хэрэггүй багануудыг утсгавал:

Энэ хүснэгтийн гаралт бүрийг тусад нь Карногийн тор дээр буулгавал

Эхлээд DFF-ийг сонговол:

Дараа нь JKFF-ийг сонгосон тохиолдлыг авч үзье.
1-рт q1*-ийг J1 K1-ээр солъё:

Дараа q2*-ийг J2 K2-оор солъё:

2 тохиолдлыг харьцуулж үзэхэд энэ санамжтай хэлхээний хувьд JKFF-ийг сонгох нь илүү зөв сонголт болох нь харагдаж байна.

6.14. JK флип флопыг хэрэглэх


Ихэнх тохиолдолд төлвийн санах ойд JK флип флопыг ашиглах нь тохиромжтой байдаг гэж өмнөх бүлэгт үзсэн. Нэг муу тал нь төлвийг JK уруу хөврүүлэх нь тийм ч хялбар биш буюу JKFF-ийн төлвийн шилжилтийн хүснэгтийг ашиглахыг шаарддаг. Тэгвэл төлвийн шилжилтийн хүснэгтийг ашиглахгүйгээр хурдан JK уруу шилжүүлэх аргыг үзье.
Төлвийн хүснэгт өгөгдсөн байг.

Эндээс дараах төлвийг Карногийн тор дээр буулгая.

Одоо q1* дараах төлвийг JK уруу буулгая. Эхлээд J1-ийг буулгахын тулд доод 4 нүдийг don’t care буюу х болгоод дээд 4 нүдийг хэвээр нь хуулна.
Харин К1-ийг буулгахдаа дээд 4 нүдийг don’t care буюу х болгоод доод 4 нүдийн complement /гүйцээлт/-ийг бичнэ.

Одоо q2* дараах төлвийг JK уруу буулгая.
J2-ийг буулгахдаа голын 4 нүдийг don’t care буюу х болгоод захын 4 нүдийг хэвээр хуулна.
K2-ийг буулгахдаа захын 4 нүдийг don’t care буюу х болгоод голын 4 нүдний complement /гүйцээлт/-ийг бичнэ.
        

6.13. Санах ойг сонгох (2-р хэсэг)

Одоо TFF-ийг ашиглая.
TFF-ийн төлвийн шилжилтийг хүснэгтээр харуулбал:

Үүнийг ашиглаж q1 төлвийг TFF уруу шилжүүлье.

Одоо q2 төлвийг TFF уруу шилжүүлье.

Ингээд q1 ба q2-ийг TFF уруу шилжүүлбэл:

Эндээс Т1 ба Т2 гаралтын Булийн илэрхийллийг олбол:

Үүнийг ашиглаж TFF ашигласан тохиолдолд санамжтай хэлхээг зурвал:

Одоо 1-р төлөвт SRFF-ийг 2-р төлөвт JKFF-ийг ашиглая.
SRFF-ийн төлвийн шилжилтийг хүснэгтээр харвал:

Үүнийг ашиглан q1 төлвийг SRFF-оор хийвэл:

JKFF-ийн төлвийн шилжилтийг хүснэгтээр харвал:

2-р төлвийг JKFF уруу шилжүүлбэл:

Ингээд 1-р төлвийг SRFF, 2-р төлвийг JKFF-оор хийвэл төлвийн хүснэт маань дараах хэлбэрт шилжинэ.

Эндээс S R J K-ийн утгыг олбол:

Ингээд санах ойд SRFF ба JKFFийг ашигвал санамжтай хэлхээ маань дараах хэлбэртэй болно.

Дүгнэлт: дээрх жишээнүүдээс харахад санах ойд ямар элементийг сонгох зүйтэй болох талаар урьдчилан хэлэх боломжгүй юм. Гэхдээ санах ойд ямар флип флоп ашигласнаас хамаарч хэлхээ янз бүрээр өөрчлөгдөж байна. Иймээс санах ойд хэрэглэгдэх флип флопын сонгох асуудал нь дизайнерын хувьд эргээд л нээлттэй хэвээр үлдлээ гэж ойлгож болно. Ямар элемент сонгосноос хамаарч хэлхээ оновчтой, хялбар /оптимацилагдсан гэж ярьдаг/ болох нь шийдэгдэнэ. Гэхдээ төлвийн шилжилтийн хүснэгтийг сайтар харвал JK флип флопыг ашиглах үед SR-ээс хэзээ ч илүү элемент хэрэглэхгүй болохыг анзаарч болно. Т флип флопын хувьд ч ялгаагүй JK нь ихэвчлэн илүү оновчтой шийдэл болдог болохыг ч харж болно. Өөрөөр хэлбэл JK-гийн шилжилтийн хүснэгтэд don’t care олон байгаа нь илүү хялбарчлагдах боломжтойг харуулж байдаг гэж ойлгож болно. Харин DFF ба JKFF-ийн хувьд аль нь илүү оновчтой шийдэл болохыг шууд хэлэх боломжгүй. Зарим хэлхээний хувьд D илүү оновчтой байхад зарим үед JK илүү байдаг.

6.12. Санах ойг сонгох (1-р хэсэг)

Өмнөх жишээг төлөвт а хувилбараар утга оноосон тохиолдолд дахин авч үзье.

Төлвийн хүснэгтийг үнэмшлийн хүснэгт хэлбэрт оруулна.

Эхний тохиолдолд санах ойн элементэд D флип флопыг ашиглая.

Энэ тохиолдолд төлвийн хүснэгт нь дараах хэлбэрт хувирна.

Эндээс D-гийн утгыг Карногийн тор ашиглан олбол:

Ингээд DFF ашигласан тохиолдолд хэлхээг зурвал:

Одоо JKFF-ийг санах ойгоор сонгож авья.
JKFF-ийн төлвийн шилжилтийг хүснэгтээр харвал дараах хэлбэртэй байна.

Үүнийг дээрх үнэмшлийн хүснэгт дээр q1 төлвийн хувьд хэрэглэе.

Үүнтэй адилаар q2 төлвийг JKFF уруу шилжүүлье.

Ингээд төлвийн хүснэгтийг JKFF уруу хөврүүлбэл:

Энэ хүснэгтээс J1 K1 J2 K2 гаралтуудыг олбол:

Ингээд JKFF-ийг ашигласан тохиолдолд санамжтай хэлхээний схемийг зурвал:

Одоо RS флип флопыг ашиглая.
SRFF-ийн төлвийн шилжилтийг хүснэгтээр илэрхийлбэл:

Үүнийг q1 төлвийн хувьд хэрэглэе.

Дараа нь q2 төлвийг RS-ээр солъё.

Ингээд q1 ба q2 төлвүүдийг SR флип флоп уруу шилжүүлбэл:

Энэ хүснэгтээс S1 R1 S2 R2 гаралтуудын Булийн илэрхийллийг тогтоовол:

Ингээд SRFF-ийг ашигласан тохиолдолд санамжтай хэлхээг зурвал:

6.11. Төлөвт утга олгох

Moore хэлбэрийн систем төлвийн хүснэгт болон төлвийн диаграм хэлбэрээр өгөгдсөн байг.

Энд нийтдээ 4 төлөв байгаа тул төлвийг 2 битээр дүрсэлнэ. Гэхдээ жишээ нь А төлвийг 2 битээр 00, эсвэл 01, эсвэл 10 г.м-ээр хэрхэн тэмдэглэж болхыг яг тогтоосон аргачлал байхгүй. Жишээ болгон төлвийг тэмдэглэх 3 боломжит хувилбарыг үзүүлэв.

Эдгээрээс өөр ч хувилбарууд байж болно. Чухам яаж төлөвт утга оноохыг тогтоож заасан дүрэм байхгүй. Иймээс тухайн хүн өөрөө л төлөвт ямар утга оноохыг шийднэ.
Жишээ болгож а болон b хувилбараар төлөвт утга оноосон тохиолдолд хоорондоо ямар ялгаатай болохыг үзье.
а хувилбараар утга оноосон тохиолдолд төлвийн дараалал A, B, C, D гэж дараална. Ингээд төлвийн хүснэгтийг үнэмшлийн хүснэгт хэлбэр оруулна.

Эндээс үнэндээ q ба q* баганууд хэрэггүй тул хасна. Ингээд төлвийн хүснэгтийг үнэмшлийн хүснэгт хэлбэрт оруулахад:

3 хувьсагчтай Карногийн тор ашиглан q1* ба q2*-ийн утгыг олбол:

Гаралтын хүснэгт нь зөвхөн төлвөөс хамаарах тул дараах хэлбэртэй байна.

Ингээд хамгийн хялбараар нь санах ойгоор DFF-ийг сонгож авбал (q*=D байдаг тул үүнийг хялбар гээд байгаа юм):

Ингээд логик хэлхээг зурвал:

Харин 2 хувилбараар төлвийн утгыг тогтоовол A, D, C, B гэж дараална. Иймээс төлвийн хүснэгтийг үнэмшлийн хүснэгт хэлбэрт оруулбал:

Энд q ба q* баганууд хэрэггүй тул хасна.

Ингээд 3 хувьсагчтай Карногийн тор ашиглан дараах төлвийн булийн илэрхийллийг олбол:

Гаралтын хүснэгтийг зохиож гаралтыг олбол:

Хэрэв санах ойд DFF-ийг сонговол:

Эндээс харвал а хувилбараар төлөвт утга оноосон DFF-ийг сонгосон тохиолдолд b хувилбараар төлөвт утга оноосноос илүү оновчтой болсон байна.
Иймд төлөвт утга оноох нь заримдаа хэлхээг илүү төвөгтэй болгодог бол заримдаа хэлхээг илүү хялбар оновчтой болгодог. Яг ингэж утга оноовол хэлхээ илүү хялбар, оновчтой болно гэдгийг урьдчилан хэлэх боломжгүй юм. Иймээс л төлөвт утга оноохыг хэрхэн зөв шийдсэнээс хэлхээний хялбарчлагдсан оновчтой болох эсэх хамаардаг тул энэ бүх нь тухайн хүний л ур чадвараас шууд хамаарна.