理查茲控制器

理查茲控制器(Richards controller),是使用簡單的集成電路組合邏輯電路來實現一個有限狀態機的一種方法。該方法以發明家查爾斯·L·理查茲(Charles L. Richards)命名。一個明顯的優勢是,這種方法相對於傳統的有限狀態機的設計方法允許更容易地設計複雜的有限狀態機相比較於使用狀態圖狀態轉移表布爾代數所能提供的。使用這項技術可以更容易地實現設計具有成百上千狀態的狀態機。

歷史

編輯

理查茲控制器被開發是因為需要一個設計有限狀態機的更簡單的方法,相對於使用傳統方法的狀態圖,狀態轉移表和邏輯最小化。 當時,許多 基於計算機的 邏輯最小化 的工具,我們今天有但是那時並不存在。因此,邏輯最小化是大部分限於使用 卡諾圖 和 德摩根定律 中。 因此,查爾斯·L·理查德發明了一種方法來實施有限狀態機,並不需要一個明確的狀態轉移表。他發表了他的調查結果在二月1973年的《電子學英語Electronics (magazine)》。[來源請求]他的泛化的實施成為受歡迎並在1980年代被認為是一個經典的設計方法。雖然這看似不可能,今天的商業產品依然含有一個經典的理查茲控制器(由於還有更快的設計,現在比那些使用可裝載的計數器),因此仍有機會使用更新版的理查茲控制器,或以理查茲控制器為本的設計被使用[來源請求]中。

應用

編輯

因為理查茲控制器的能力允許簡單地擴展來使用許多狀態,它可以用在很多實際應用中。

理查茲流程圖

編輯

理查茲控制器是一個米利型有限狀態機,因為其輸出是依賴於當前狀態和輸入。但是理查茲設計自己的方法來表示狀態使用一個流程圖,而不是狀態圖。每個狀態代表流程圖上的轉移條件。每一個條件由兩個控制路徑傳出,YES或NO。條件是YES或NO(TRUE或FALSE)基於輸入機器的一個比特[1]根據輸入的條件,關聯於兩個狀態的轉換函數之一將被執行。機器將執行其一,以便設定裝置上單一管腳的輸出,這可以被用來觸發組合邏輯。在一個轉換函數被執行後,該機將進入一個新的狀態,每個轉換函數將隱式或顯式地定義一個新的狀態以便轉換。一個隱式的狀態定義也可以被稱為「內定」,因為它將會發生而無需任何額外的來自設計師的電路,如果條件是YES,那麼它將數碼化地過渡到下一個狀態。 例如,如果在狀態0並且YES發生你就會過渡到狀態1。如果條件是NO,那麼該機器將保留在其目前的狀態。使用這種行為將有可能夠建立一個機器擁有一個簡單的順序流程圖。當然順序執行的機器通常不是非常有用的,值得慶幸的是,有一種方法來不按順序過渡,使用一個所謂的跳接。實施一個跳接需要額外的硬件來選擇狀態目的地。確切的硬件需求取決於被執行的函數。

參見

編輯

參考文獻

編輯
  1. ^ Richards p. 108