随着大算力矿机集体入场,一代机皇蚂蚁矿机S9将要退出历史舞台。
前言:随着大算力矿机集体入场,一代机皇蚂蚁矿机S9将要退出历史舞台。回顾历史,作者认为,成都团队通过动态触发器,实现了对竞争对手的跨代优势,也是S9成功的主要原因.S9的设计是比特币矿机的奇迹,成为了比特币矿机中生产最多的矿机,生命周期三年多,被称为机皇。
(本文作者为比特大陆前技术总监谢丹,吴说区块链授权发布。文章观点为作者个人意见,99金银不代表吴说区块链立场)
2014年8月,我在成都开了一家后端设计服务公司,我想做有增值价值的后端设计服务。在找客户的时候,我上网搜索了一下,觉得做比特币矿机的公司应该有着这方面的需求,于是给当时比特大陆的网站上的邮箱写了封电邮:
当时,我给很多家集成电路设计公司都写过邮件,而比特大陆是最快回复的一家。后来聊天的时候了解到,这个邮箱当时是吴忌寒吴总在使用,比特大陆那时正好也在寻找提高芯片竞争力的方案。于是吴忌寒把这个邮件转给詹克团詹总,詹总九月路过成都和我见面了。詹总和我面谈了两次,大家聊得不错。詹总觉得这个项目时间很长,风险较大,且存在知识产权的顾虑,建议我解散公司,带领团队加入比特大陆。
2014年10月,我带着两个人的小团队正式加入比特大陆,成为比特大陆的全定制部门。最初的方向就是邮件中讲的多米诺逻辑。
多米诺逻辑是一种比较成熟的动态逻辑结构,其主要形态是这样的:
多米诺逻辑电路相对于对应的静态电路,有着以下优点和缺点:
因为信号只需要驱动N管,所以电容较小,速度较快。
因为一个点是动态点,所以最后的反向器M3 / M4是必须的。
一个点存在charge-sharing的问题。
M1, M2, M3, M4为新增器件,数量为减少器件
因为M1, M2为时钟信号驱动,所以它的功耗至少是其它普通信号的2倍以上。
所以,从功耗上考虑,M1与M2因为是时钟信号,它的功耗至少按照两倍信号的功耗算,则M1 + M2 + M3 + M4的功耗是增加了6个MOS管的功耗,对于一般逻辑来说,超过12个MOS管的标准单元库并不多。从面积上讲,M2 + M4增加了2个NMOS管的面积,而PMOS虽然少了,但在版图上很难把这节省的面积体现出来。也就是说:多米诺逻辑虽然会加快芯片速度,但是面积与功耗都稍有增加。
当我们2015年1月把结论提交的时候,基本确认了多米诺逻辑是不适应矿机芯片的。比特币矿机芯片因为纯并行运算,速度并不那么重要。矿机最大的成本在于电费,所以,功耗是最重要的。我们在进行面积与功耗的大拇指规则(经验法则)评估时,功耗的权重是面积和速度的3倍以上。
我们多米诺逻辑尝试的失败,
金银行情并没有打击我们的探索,因为我们发现了一种适合动态逻辑其积大管子多的标准单元,而这种标准单元有一个很明显的例子,就是触发器触发器。于是我们重回开始,以动态的触发器做为攻坚目标。
在集成电路的开始,上个世纪的七十年代,因为每个晶体管的成本高,所以,那个时候的触发器都是动态的,无论是domino触发器,C2MOS边沿触发触发器,还是TSPC正刃触发器等,都是当时的产物。我们从中发现了宝库。
比如一个TSPC正刃触发器,它的逻辑如下:
仍然按照我们钟门算作两个门的话,这个触发器总共就是4 * 2 + 7 = 15个门等价。
而我们之前最常用的静态触发器的结构是这样的:
再加上clk的反向器,这个我们加一起就是8 * 2 + 12 + 4 = 32个门等价。静态逻辑的触发器等价管子数功耗比动态逻辑多1倍以上。
同样的,从面积上看,动态逻辑是11个器件,而静态逻辑是22个器件,正好是一倍的面积。
我们在确认了采用动态逻辑的触发器之后,接下来就是如果融入我们的设计流程。我们最后在静态逻辑的触发器的功能描述上,增加了部分时间的约束,以防止动态逻辑中漏电流导致动态电容点漏电。并且在时序和功耗提库时,用静态触发器的一些参数进行套用。简单说,我们在动态逻辑上加了一个外框,让它在前端设计人员看来,就是一个正常的静态触发器,对于前端设计与综合,没有任何的不同。
完成了对动态触发器的提库,我们相当于有一个面积为原来一半,且功耗为原来一半,时序几乎类似的新的触发器了。因为比特币需要不停地计算,所以静态触发器需要保存较长时间的数据就没有必要的。