2012/02/09

808 Санамжтай хэлхээ

Санамжтай хэлхээний гаралт нь санах ойн гаралт буюу өмнөх төлвөөс хамаардаг Moore хэлбэрийн систем ба гаралт нь санах ойн гаралт буюу өмнөх төлөв ба оролтоос хамаардаг Mealy хэлбэрийн систем гэсэн 2 үндсэн хэлбэртэй байдаг талаар санамжтай хэлхээ гэсэн сэдэвт үзсэн байгаа.
Жишээ болгон free running shift register-ийг авч үзье.
Энэ нь дотроо N битийн регистерийг агуулах ба клокын өөрчлөлт болгонд N регистерийн утга баруун тийшээ нэг битээр шилжиж оролтонд ирсэн битээр нөхөгдөх ба гаралтанд шилжигдсэн бит гарна.
Энэ регистерийн ажиллах зарчмыг блок диаграмаар харвал:
Энд дараа төлвийг тогтоох хэлхээ нь санах ойн регистерийн гаралт ба оролтын хооронд баруун шифт гэж нэрлэгддэг үйлдлийг гүйцэтгэнэ.
Баруун шифт үйлдлийг VHDL хэл дээр дараах байдлаар тэмдэглэнэ.
Харин гаралтын логик нь хэлхээ нь санах ойн регистерийн гаралтын 0 индекстэй битийг гаргана. Үүнийг VHDL дээр дараах байдлаар бичнэ.
Ингээд энэхүү free running shift register-ийг техник дүрслэлийн VHDL хэл ашиглан дүрсэлбэл:

Дараагийн жишээнд universal shift register-ийг авч үзье.
Энэ регистер нь дараах байдлаар пакетлагдсан байна.
Энэ регистер нь параллелиар ачаалал оруулах, баруун ба зүүн шифт үйлдлийг гүйцэтгэх, үйлдэл гүйцэтгэхгүй байх гэсэн 4 командтай. Иймээс эдгээр командыг өгөхийн тулд 2 битийн өргөнтэй ctrl оролтыг ашиглана. Өөрөөр хэлбэл ctrl оролтыг ашиглан next_state_logic хэлхээний гаралт ямар байхыг тогтооно. Үүнд 00 байхад огт үйлдэл гүйцэтгэхгүй учраас регистерээс орсон оролт шууд гаралтанд гарна. 01 байхад зүүн шифт үйлдлийг, 10 байхад баруун шифт үйлдлийг тус тус гүйцэтгэнэ. Харин 11 байхад d оролтонд байгаа өгөгдлийг гаралтанд гаргах ба үүнийг ачаалал буюу load үйлдэл гэж нэрлэдэг.
Ингээд дээрх байдлаар тодорхойлогдсон унверсаль шифт регистерийг техник дүрслэлийн VHDL хэл ашиглан дүрсэлбэл: