logisim加减阵列除法电路
时间: 2023-08-08 08:07:43 浏览: 87
以下是一个简单的基于Logisim的加减交替阵列除法电路:
1. 首先,创建一个8位的寄存器,用于存储被除数和余数。将其命名为“M”。
2. 创建一个4位的寄存器,用于存储除数。将其命名为“N”。
3. 创建一个4位的寄存器,用于存储商。将其命名为“Q”。
4. 创建一个8位的寄存器,用于存储加法器的进位。将其命名为“C”。
5. 创建一个4位的加法器,用于计算M和N的差值。将其命名为“Subtractor”。
6. 创建一个4位的比较器,用于比较M和N的大小关系。将其命名为“Comparator”。
7. 创建一个8位的多路选择器,用于判断下一步是否左移M。将其命名为“Mux”。
8. 创建一个4位的多路选择器,用于判断当前步骤是否需要将Q的最高位设置为1。将其命名为“Q_Mux”。
9. 创建一个4位的左移器,用于左移Q和C。将其命名为“Q_Shifter”。
10. 连接电路:
- 将M的输出连接到Subtractor的A端口,将N的输出连接到Subtractor的B端口。
- 将Subtractor的输出连接到M的输入,并将其输出连接到Comparator的A端口,将N的输出连接到Comparator的B端口。
- 将Mux的输入连接到Comparator的输出,将Q的输出连接到Mux的选择端口。
- 将Q_Mux的输入连接到C的最高位,将Q的输出连接到Q_Mux的选择端口。
- 将Q_Shifter的输入连接到Q的输出,将C的输出连接到Q_Shifter的输入。
- 将Mux的输出连接到M的输入,将Q_Mux的输出连接到Q的输入。
11. 设置电路:
- 将Subtractor的进位输入设置为1。
- 将Mux的选择端口设置为1,表示左移M。
- 将Q_Mux的选择端口设置为0,表示不需要将Q的最高位设置为1。
- 将Q_Shifter的左移位数设置为1,将C_Shifter的左移位数设置为2。
12. 运行电路:
- 将被除数和除数输入到M和N中。
- 将Mux的选择端口设置为0,表示不需要左移M。
- 按下时钟信号,电路开始工作。
- 重复上述步骤,直到电路输出余数和商。