2011/12/05

502. SR флип флоп

Set /S - бичих/ болон Reset /R - устгах/ гэсэн 2 оролттой, клок сигналын төвшингийн өөрчлөлтөөр /арын эсвэл өмнөх фронтоор/ удирдагдаж төлвөө өөрчилдөг элементийг SR флип флоп гэнэ.
SR флип флопын логик симболыг зурагт үзүүлэв. 

Зургаас S ба R оролт нь логик 1-ээр идэвхждэг эсвэл логик 0-ээр идэвхждэг гэсэн 2 хэлбэртэй байж болно. Түүнчлэн клок сигналын өмнөх фронтоор удирдагддаг эсвэл арын фронтоор удирдагддаг гэсэн 2 хэлбэрээр төлвөө өөрчилдөг болно.
Жишээ болгон логик нэгээр идэвхждэг SR флип флопыг авч үзье. Энэ нь хэрэв оролтын аль нэгийг нь идэвхжүүлээгүй бол төлөв хадгалах үйлдлийг гүйцэтгэдэг. Reset оролтыг идэвхжүүлбэл логик 0-ийг бичих буюу устгах гэсэн үйлдлийг гүйцэтгэдэг. Set оролтыг идэвхжүүлбэл логик 1-ийг бичих буюу бичих гэсэн үйлдлийг гүйцэтгэдэг бөгөөд бичих устгах 2 оролтыг 2-уланг нь зэрэг идэвхжүүлэхийг хориглодог элемент болно.

Өөрөөр хэлбэл 00 /SR=00/ командыг өгөхөд /өөрөөр 2 оролт 2-ул идэвхжээгүй бол/ өмнөх гаралт 0 байсан бол 0, 1 байсан бол 1 буюу төлөв хадгалах гэсэн үйлдлийг гүйцэтгэнэ. Харин 01 /SR=01/ командыг өгвөл /Reset оролтыг идэвхжүүлэхэд/ устгах буюу өмнө гаралт ямар байснаас хамаарахгүйгээр гаралтыг шууд 0 болгоно. 10 /SR=10/ командыг өгвөл /Set оролтыг идэвхжүүлэхэд/ бичих буюу өмнө гаралт байснаас хамаарахгүйгээр гаралтыг шууд 1 болгоно. Харин 11 /SR=11/ команд болон S ба R оролтыг зэрэг идэвхжүүлж болохгүй хориотой.

SR флип флоп нь S бич, R устга гэсэн 2 оролттой. S бич оролт идэвжвэл 1-ийг бичнэ, R устга оролт идэвхжвэл 0-ийг бичнэ, бич ба устга гэсэн оролтууд зэрэг идэвхгүй бол төлөв хадгална, бич устга гэсэн 2 командыг зэрэг идэвхжүүлэх юм бол гаралт 0 эсвэл 1 болох нь тодорхойгүй болох тул хориотой гэж үзнэ.
SR флип флоп нь S ба R гэсэн 2 оролттой тул 2 оролтын боломжит 4 утганд гаралт ямар байхыг харуулсан үнэмшлийн хүснэгтээр үзүүлж болно.

Үнэндээ SR флип флоп нь санах ойн элемент тул зөвхөн оролт ямар байхаас гаралт нь хамаардаггүй болох нь үнэмшлийн хүснэгтээс харж болно. Өөрөөр хэлбэл энд no change гэсэн гаралт нь чухам юу өөрчлөгдөхгүй байх талаар тодорхой өгүүлэхгүй байгаа болно.
Санах ойн элемент нь оролтоос гадна тухайн үед гаралт /өмнөх төлөв гэж бидний нэрлээд байгаа/ ямар байхаас 2-улангаас нь шалтгаалж гаралт /дараах төлөв гэж бидний нэрлээд байгаа/ өөрчлөгддөг. Үүгээрээ л комбинацийн элементүүдээс ялгаатай. Иймд санах ойн элементүүдийг үнэмшлийн хүснэгт ашиглан тайлбарлах гэж оролдох нь шууд алдаанд хүргэдэг. Иймээс санамжтай элементүүд болон хэлхээг цаашид оролтоос гадна өмнөх төлөв гэж нэрлэгддэг одоо байгаа гаралт 2-оос хамаарсан хүснэгтийг ашиглаж тайлбарладаг. Энэ хүснэгтийг үнэмшлийн хүснэгтээс ялгахын тулд төлвийн хүснэгт буюу state table гэж нэрлэнэ.
Төлвийн хүснэгт нь оролтын боложит утга болгонд гаралт ямар байхаас хамаарч дараах төлөв ямар болж өөрчлөгдөхийг харуулдаг. Жишээ нь оролт 00 байхад гаралт нь 0 ба 1 гэсэн 2 боломжит утгатай байна. Оролт 00 гэдэг нь SR флип флопын хувьд төлөв хадгал гэсэн команд тул гаралт нь тухайн агшинд 0 байсан бол 0 хэвээрээ, 1 байсан бол 1 хэвээрээ үлдэхийг хэлнэ. Үүнтэй адилаар SR оролт 01 байх нь 0-ийг бич гэсэн утгатай ба энэ үед гаралт 0 ба 1 байхаас хамаархгүйгээр гаралт 0 болж өөрчлөгдөнө. Хэрэв SR оролт 10 бол 1-ийг бич гэсэн утгатай ба энэ үед гаралт 0 ба 1 байхаас хамаарахгүйгээр гаралт 1 болж өөрчлөгдөнө. Харин SR оролт 11 байх оролт зөвшөөрөгдөхгүй учраас гаралтыг 0 ба 1 байснаас хамарахгүйгээр тодорхойгүй гэж үзнэ.

Санамжтай элементийн гаралт нь оролтоос гадна тухайн агшинд байгаа гаралт 2-оос зэрэг хамаардаг тул түүний ажиллагааг үнэмшлийн хүснэгт ашиглан тайлбарладаггүй. Харин оролтын боломжит утга болгонд гаралт ямар байгаа давхар тооцсон төлвийн хүснэгт ашиглан харуулна.
Төлвийн хүснэгтэнд өмнөх төлөв гэдгийг оролтын яг тухайн агшин дахь гаралт гэж ойлгоно. Өөрөөр хэлбэл хугацааны t агшин дахь оролт болон гаралт 2-оос хамаарч t+1 агшин дахь гаралт тодорхойлогддог. t+1 агшин дахь гаралтыг дараах төлөв гэж нэрлэнэ.
Санамжтай элемент эсвэл санамжтай хэлхээний ажиллах зарчмыг төлвийн хүснэгт хэлбэрээр харуулахаас гадна төлвийн диаграм гэж нэрлэгддэг диаграмыг ашиглан тайлбарлаж болдог. Жишээ нь SR флип флоп нь 0 ба 1 гэсэн 2 төлөвт оршино. Өөрөөр хэлбэл SR триггер нь 1 гаралттай тул гаралт нь 0 ба 1 гэсэн боломжит 2 утгын аль нэгэнд л байна. Гаралт нь 0 бол 0 төлөвт гаралт нь 1 бол нэг төлөвт байна гэх бөгөөд үүнийг зурагт дараах байдлаар тэмдэглэнэ.

0 төлөвт байх үед төлөв хадгал /SR=00/ эсвэл 0-ийг бич /SR=01/ командыг өгвөл 0 төлөвтөө байсаар л байна. Үүнийг төлвийн диаграм дээр зурагт үзүүлсэн байдлаар тэмдэглэнэ.

Харин 1-ийг бич /SR=10/ гэсэн командыг өгвөл 1 гэсэн төлөв рүү шилжих ба үүнийг диаграм дээр дараах байдлаар дүрсэлнэ.

Үүнтэй адилаар 1 төлөвт бах үед төлөв хадгал /SR=00/, эсвэл 1-ийг бич /SR=10/ командыг өгвөл 1 төлөвтөө байх бөгөөд харин 0-ийг бич /SR=01/ командыг өгвөл 0 гэсэн төлөв уруу шилжинэ. Үүнийг диаграм дээр дараах хэлбэрээр зурж үзүүлнэ.
Санамжтай хэлхээ болон элементийн ажиллагааг төлвийн хүснэгтээр эсвэл төлвийн диаграм ашиглан зурж тайлбарлана.
Төлвийн диаграмыг дараах байдлаар уншина. SR флип флоп нь 0 ба 1 гэсэн 2 төлөвтэй байна. Хэрэв 0 төлөвт байвал гаралт нь 0, 1 төлөвт байвал гаралт нь 1 байна. Төлөв хоорондох шилжилтийг сумтай зураасаар тэмдэглэнэ.
0 гэсэн төлөвт байвал төлөв хадгал 00, эсвэл 0-ийг бич 01 гэсэн командууд өгвөл энэ төлөвтөө хэвээрээ байна. Харин 0 төлөвт байхад нь 1-ийг бич 10 гэсэн командыг өгвөл 1 гэсэн төлөвт шилжинэ. 1 төлөвт байхад төлөв хадгал 00, 1-ийг бич 10 командууд оролтонд өгөгдвөл 1 төлөвтөө хэвээрээ байх бөгөөд 1 төлөвт байх үед 0-ийг бич 01 команд оролтонд өгөгдвөл 0 төлөв рүү шилжинэ.
S ба R оролтууд нь 1-ээр идэвхждэг, клокын өмнөх фронтоор үйлдлээ гүйцэтгэдэг SR флип флопын зурагт үзүүлсэн хугацааны диаграмыг авч үзье. Клокын өмнөх фронт буюу 0-оос 1 болох агшинд оролт ямар байхыг тогтоохын тулд клокын 0-1 шилжилт дэх хугацааны агшинг тасархай улаан зураасаар харуулна. 
 
Тэгвэл клокын эхний 0-1 шилжилтийн үед SR=10 /1-ийг бич/, дараагийн 0-1 шилжилтийн үед SR=00 /төлөв хадгал/, сүүлийн 0-1 шилжилтийн үед SR=01 /0-ийг бич/ гэсэн утгатай байгааг одоо харж болно.
Одоо гаралт яаж өөрчлөгдөхийг харъя. Эхний SR=10 буюу 1-ийг бич гэсэн команд өгөх үед гаралт ямар байгаа нь тодорхойгүй тул энэ үеийн гаралтыг тодорхойгүй гэж тэмдэглэнэ.
Гэсэн ч 10 нь 1-ийг бич гэсэн команд тул өмнө юу байснаас хамарахгүйгээр гаралт 1 болж өөрчлөгдөнө. Зурагнаас дараах төлөв нь клокын 0-1 болох агшинд өөрчлөгдөхгүй байгааг харж болно. Өөрөөр хэлбэл t+1 хугацааны дараа гаралт 1 болж өөрчлөгдсөн байна. Иймд яг клокын 0-1 шилжилт дээрх гаралтыг өмнөх төлөв, улаан зурааснаас арай жаахан хойно байгаа гаралтыг дараах төлөв гэж ойлгоно. Дараах төлөв нь клокын 0-1 болох агшин дахь оролт ба гаралтаас хамаарна.
Дараах төлөв нь клокын дараагийн 0-1 болох агшин хүртэл хадгалагдана.
2 дахь клокын 0-1 агшин дахь оролт SR=00 тул төлөв хадгална. Үүнийг 2 дахь клокын 0-1 болох агшин дахь гаралт хэвээр хадгалагдана гэж ойлгоно.
Энэхүү дараах төлөв нь 3 дахь клокын 0-1 агшин хүртэл хадгалагдана. 
3 дахь клокын 0-1 агшин дахь оролт 01 гаралт 1 байх ба оролт 01 нь гаралт ямар байхаас хамаарахгүйгээр 0-ийг бич гэсэн команд тул дараах төлөв нь 0 болж өөрчлөгдөнө.
Жишээ нь клокын өмнөх фронтоор төлвөө өөрчилөгдөг SR флип флопын оролтод дараах сигналыг өгсөн бол гаралтын хугацааны диаграмыг зур.
Хариу: