技术宅惊世之作 《我的世界(Minecraft)》如何打造计算机

对于用《我的世界》打造计算机这一消息相信大家已有所耳闻,下面小编便为大家找来的详细教程,有兴趣的同学可以一试。如果看不懂,全当我们对于逆天技术宅的膜拜吧。 (文章来自季文瀚——《基于Minecraft

技术宅惊世之作 《我的世界(Minecraft)》如何打造计算机

游民星空

下载游民App,掌握一手游戏情报

技术宅惊世之作 《我的世界(Minecraft)》如何打造计算机

人人网 季文瀚 2014-08-28 12:24
0

  经过N次迭代后

游民星空

  这个K就是一坨cosθn的连乘,定义为增益因子。

  取无限次迭代值为

游民星空

  P为K的倒数。Cordic算法有几种模式,这里只取旋转模式。将上述矩阵化为数列得

游民星空

  N次迭代后

游民星空

  然后就是套三角函数了,取X0=K,Y0=0,Z0=α,那么N次迭代之后

游民星空

  正余弦就算出来了。没了。

  用在硬件上的优势是,该算法从矩阵去除cos因子之后就在尽力构造简易的二进制运算比如加减和移位。需要预先算好那个K的值精确到指定位数,还要算arctan(1/2^n),这些都要放到储存器里。

  其中细节不说了,最后我设计出的玩意儿就下面这货。

游民星空

  硬件框图如下

游民星空

  注:1.由于我懒得去用数学软件打公式,以上数学公式的图片均截取自一篇来自桂林电子科技大学李全,陈石平和付佃华的论文《基于CORDIC 算法的32 位浮点三角超越函数之正余弦函数的FPGA 实现》

2.我不打算让三角函数运算单元加入FPU结构了,所以没做成IEEE754标准,只给浮点计算器用。

开方算法

  特殊函数计算器除了三角函数外另一种运算是7位操作数开方运算,输出4位开方结果和4位余数。

  算法为笔算开方算法(快速平方根算法),流程如下:

游民星空

  图片来自《基于FPGA快速平方根算法的实现》- 戢小亮,嵌入式技术,2007年14期

  该算法在硬件上实现很简单,只需要用到加法器和移位器即可,所以在本工程中实现出来的体积不大。最终实现了一个23位开方根器,如下图直角梯形部分。

游民星空

相关资讯请关注:我的世界专区

责任编辑:暗影猫

APP精彩推荐打开游民APP查看更多

相关内容 打开游民APP查看更多

在线玩推荐更多