当前位置:7723手游网游戏攻略与门攻略与门除法器的设计思路

与门除法器的设计思路

2024-11-18 17:04:12 来源:互联网 作者:空诡

与门除法器的设计思路如下:

以上是7÷2=3.....1和7÷4=1....3

前言:

由于游戏设计的问题(不能表示小数,并且没有显示器),所以不能解决n÷0报错以及除到小数的问题。所以只能解决被除数÷除数=商....余的形式。同时,因为这个游戏没有时序电路和锁存,所以不能使用串行除法器和串行乘法器,只能使用并行除法器和并行乘法器。

并行除法器的设计原理:

利用减法器连续减,以三位除法器为例。

因为有111÷1的存在(7÷1),所以必须设计到连续减7次。(注意:实际可能不会减到7次,只是最多有可能需要减七次。)

所以在设计三位除法器时,需要连续减七次,也就需要七个减法模块。(这就是为什么有七组三个一组的全加器的原因。)

商的解决方案:

可以利用减法器中大的数减小的数的符号位为1和小的数减大的数的符号位为0,来解决到底减了几次。(就是解决商)(下图中橙色内模块就是连续七次的减法器)

比如110÷010=011....0的计算

可以按照如下过程进行:

110-010=1 100

100-010=1 010

010-010=1 0

共减了三次。

所以它的商是011。

符号位有三个1。

所以将三个1加起来(001+001+001=011),就得到了商011。

但是在实际设计中,由于减法器小数减大数的BUG,可能会让下一次减法运算后得到的符号位为1。

所以需要用与门给第一次减得符号位为0后的全部符号位进行整理,使后面的符号位都变为0,从而修正减法器产生的错误。(与门修正就是下图中浅绿色内的模块)

所以只要将用与门修正过的符号位加在一起(下图中黄色内模块),就能得到正确的商。

这里是7÷2=3...1

余的解决:

观察一下,在上文中与门修正过的符号位是

1 1 1 0 0 0 0

值得注意,在最后一个1(从左往右)的下方的值正好就是余数。

我们希望在余数下方能用1标记,而其它的下方用0标记。

这样就能用与门选择出我们想要的余数。

那么具体要如何操作呢?

有没有想到用异或门?

我们给这些符号位编号。

1 1 1 0 0 0 0

1 2 3 4 5 6 7

给12符号位用异或门处理后,得到0,用以标记余数1(减法器中第一组全加器得到的结果,显然,余数3才是正确的余数。)

给23符号位用异或门处理后,得到0,用以标记余数2

......

给67符号位用....

值得注意,以上操作中只有给34操作才能得到1,而这一步操作标记的是余数3。

这样是不是就满足了我们只想用1标记余数3的想法?(标记出余数3的过程就是图中深绿色内的异或门完成的。)

最后用与门选择出我们想要的余数,再用或门整理线路输出余就行。(图中白色和灰色内的模块)

这样就成功解决了除法器。

有疑问可以在评论区留言,欢迎在评论区一起讨论。

确定不给我精帖吗?

以上就是与门除法器的设计思路相关内容。

免责声明:文中图文均来自网络,如有侵权请联系删除,7723手游网发布此文仅为传递信息,不代表7723认同其观点或证实其描述。

与门相关游戏推荐

与门相关攻略

更多
下载7723游戏盒下载7723游戏盒
下载