有限自动机(FA)中的传感器意味着带有输出的 FA。
有两种类型的带有输出的 FA 机器。
1. 磨粉机:
在 FA 中,输出与每个转换相关联。 (这意味着输出取决于状态和输入)。
2.摩尔机:
在 FA 中,输出与每个状态相关联。 (这意味着输出仅取决于状态)。
通过使用这些机器,我们可以为各种操作设计有限自动机,例如:-
- 1 的补码。
- 2 的补码。
- 二进制全加器。
- 增加 1。
- 更改符号位。
- 整数整除测试器。
- 逻辑函数(XOR、OR、AND、NOT)。
- 当前位和前一位等的总和。
1. 1 的补码:
1’s Complement of a given binary number is obtained by simply inverting each bit.
i.e. 1 <–> 0 and 0 <–> 1
使用 Mealy Machine 进行设计的逻辑 –
- 对于输入 0,输出为 1。
- 对于输入 1,输出为 0。
所以它只需要一种状态。
2. 2 的补码:
Generally, 2’s complement is obtained by adding 1 to the 1’s complement of the number.
But for designing 2’s complement machine, we use another algorithm for deriving 2’s complement.
算法 –
- 从输入的 LSB 开始。
- 按原样复制该位,直到第一个“1”出现。
- 之后,对每一位进行补码。
例子 –
使用 Mealy Machine 进行设计的逻辑 –
- 从输入的 LSB 获取输入。
- 对于每个输入直到,第一个 1 输出与输入相同。
- 之后,对于每个输入,使用 1 的补码机对每个位进行补码。
所以,它需要2个状态。一种输出与输入相同的状态,另一种状态是 1 的补码状态。
When the first ‘1’ comes, it transfers to the next state to do complement of each bit.
Here, the behavior of the first state is to generate output the same as input and the behavior of the second state is to generate the complement.
3.二进制全加器:
二进制全加器将 2 个二进制位和进位输入相加,生成和输出和进位输出。
二进制全加器的工作 –
This is a functionality table of the binary full adder. Depending on carry input, the output value of input is changes.
为了设计一个二进制全加器,我们使用这个表。根据这个表有两种情况 (carry=0 and Carry=1) ,所以我们需要两种状态。
When Carry=0 (From Carry=0 state ) On “00” input Sum=0 ( So, On 00 transition the output is 0 ) and Carry=0 ( So, it goes to Carry=0 state )
根据表设计机器的其余部分。看起来像 –
4. 增加 1 :
递增 1 表示二进制数加 1。
加1操作有两种情况
设计机器的逻辑 –
On combining both cases, we got the algorithm that, until first 0 comes, makes all 1⇢ 0 and when 0 comes makes it 1, then the remaining part of the output is the same as the input. Here, inputs are taken from LSB.
5. 改变符号位:
Changing the sign bit is very simple. Just interchange the first bit and the other bits are the same as they are.
6. 整数整除测试器:
The Integer Divisibility Tester Machine is the same as a Mod Machine, accepting the decimal value with output on the state.
例子 –
3 Divisibility Tester Machine与字符串mod 3=0 的十进制值的有限自动机相同,输出状态为
7. 逻辑函数(XOR、OR、AND、NOT):
It is very easy to design machines for logic functions based on their logic tables.
8. 当前位与前一位之和:
If Previous bit= 0, On input 0, output = 00 and On input 1, output = 01
If Previous bit= 1, On input 0, output = 01 and On input 1, output = 10
On pre=0, when there is a 1 transition, it moves to pre=1 because it has to the previous bit for the next bit. The same occurs in the case of 0 transition on pre=1