理查兹控制器

理查茲控制器（Richards controller），是使用简单的集成电路和组合逻辑电路来实现一个有限状态机的一种方法。该方法以发明家查尔斯·L·理查兹（Charles L. Richards）命名。一个明显的优势是，这种方法相对于传统的有限状态机的设计方法允许更容易地设计复杂的有限状态机相比较于使用状态图、状态转移表和布尔代数所能提供的。使用这项技术可以更容易地实现设计具有成百上千状态的状态机。

历史 
理查茲控制器被开发是因为需要一个设计有限状态机的更简单的方法，相对于使用传统方法的状态图，状态转移表和逻辑最小化。 当时，许多 基于计算机的 逻辑最小化 的工具，我们今天有但是那时并不存在。因此，逻辑最小化是大部分限于使用 卡诺图 和 德摩根定律 中。 因此，查尔斯·L·理查德发明了一种方法来实施有限状态机，并不需要一个明确的状态转移表。他发表了他的调查结果在二月1973年的《》。他的泛化的实施成为受欢迎并在1980年代被认为是一个经典的设计方法。虽然这看似不可能，今天的商业产品依然含有一个经典的理查兹控制器（由于还有更快的设计，现在比那些使用可装载的计数器），因此仍有机会使用更新版的理查茲控制器，或以理查茲控制器為本的设计被使用中。

应用 
因为理查茲控制器的能力允许简单地扩展来使用许多状态，它可以用在很多实际应用中。

理查茲流程图 
理查茲控制器是一个米利型有限状态机，因为其输出是依赖于当前状态和输入。但是理查兹设计自己的方法来表示状态使用一个流程图，而不是状态图。每个状态代表流程图上的转移条件。每一个条件由两个控制路径传出，YES或NO。条件是YES或NO（TRUE或FALSE）基于输入机器的一个比特。根据输入的条件，关联于两个状态的轉換函數之一将被执行。机器将执行其一，以便設定裝置上單一管腳的輸出，这可以被用来触发组合逻辑。在一个轉換函數被执行后，该机将进入一个新的状态，每个轉換函數将隐式或显式地定義一个新的狀態以便轉換。一个隐式的狀態定義也可以被称为「內定」，因为它将会发生而无需任何额外的来自设计师的电路，如果条件是YES，那么它将數位化地过渡到下一个状态。 例如，如果在状态0并且YES发生你就会过渡到状态1。如果条件是NO，那么该机器将保留在其目前的状态。使用这种行为将有可能够建立一个机器拥有一个简单的順序流程圖。当然顺序执行的机器通常不是非常有用的，值得庆幸的是，有一种方法来不按顺序过渡，使用一個所謂的跳接。实施一個跳接需要额外的硬件来选择状态目的地。确切的硬件需求取决于被執行的函數。

参见 
 米利机
 电子自动化设计

參考文獻

自动机