评知乎热帖:熟悉计算机体系结构是种什么样的体验?

您所在的位置:网站首页 灰结构是什么样的 评知乎热帖:熟悉计算机体系结构是种什么样的体验?

评知乎热帖:熟悉计算机体系结构是种什么样的体验?

2024-07-10 13:50| 来源: 网络整理| 查看: 265

本文源自知乎,链接如下:

https://www.zhihu.com/question/59057984/answer/163253727。以下是对这篇文章的几点看法。

作者为华为鲲鹏架构师夏晶晶博士。芯片设计行业内资深知名大佬级人物,在几年前就道出了国内芯片行业人才培养中的不足和缺陷。作者在知乎上发布了一个简单的独热码识别的面试题目,要求用(组合)逻辑实现,结果几百条回复的帖子里愣是没有一个正确的。虽然近几年芯片的概念比较热,但即便是在很多高校里,仍然存在着很大的误区,认为Verilog或VHDL语言是跟C、C++之类的语言是一样的软件编程语言。我非常认同夏大佬的观点,硬件描述语言的学习是建立在对硬件电路结构甚至是体系结构熟悉的基础之上的,也就是说,HDL语言是一种用来描述电路结构的语言,虽然它跟C之类的软件编程语言很像。

1、数字电路芯片的设计是有门槛的。

这几年,笔者作为高校里做IC设计的研究人员,也切身体会到了在灯塔国各种制裁下很多企业甚至是风投都开始做芯片了,但具体效果却不尽理想,比如某些企业投入数亿都没有做出来一款能用的商业芯片。这里面虽然有还需要数代产品结合市场反馈不断迭代的因素,但我认为这里面其实很多人都存在着一些对芯片设计的误解,误认为做芯片跟设计FPGA差不多,写Verilog代码跟写C代码差不多。实际上,数字电路芯片的设计跟模拟芯片的设计一样,也是有门槛的。有人讲,芯片设计人员的黄金年龄是35岁到45岁,这个年龄段的IC从业者大多已经具备了十年芯片电路设计经验,35岁到45岁的十年是芯片设计创造力最强的十年,比如夏大佬。这些人对HDL来表达电路结构已经相当的熟悉,真正做到了心中有电路,而且在写代码的同时就已经考虑到了芯片后端甚至流片后的方方面面。举个例子,再引用夏大佬帖子中对亚稳态处理的一句话:菊花司的规范简单粗暴,“异步处理以接收端时钟频率算,1GHz以内打两拍,以上打三拍,打拍寄存器在PR最后阶段替换为工艺库中专用的防亚稳态寄存器”。对于打拍操作解决亚稳态问题的事情,笔者深有感触,也深刻的体会到不同专业对HDL语言的理解偏差,对于没有底层晶体管级甚至器件行为等微电子基础的同学,很难解释,这也是我从微电子毕业后到通信工程专业继续做芯片遇到的第一个问题。好在可以引用别人做研究的结果来解释(见本公众号之前帖子:带有同步器的NoC结构是解决FPGA高速时序收敛的关键原因吗?)。有时候,那种隔行如隔山的感觉真的无法用语言来形容。我认为,HDL仅仅只是工具,HDL在实际设计芯片时,该怎么写是完全取决于实际要做的芯片的具体行为,尤其取决于底层物理电路的特性。

2、HLS语言的个人理解。

从上面介绍的内容来讲,最近几年爆火的HLS语言的作用就一目了然了。HLS语言只是用来快速验证某种设计思想是否可行一种语言,其作用类似于前些年的SystemC。举个例子,一个乘法器,硬件实现结构几十种,在不同的场合下需要选择适合具体场景的哪一种,这就需要HLS具备场景判断的能力,HLS编译器有这么智能吗?再比如,像上面夏大佬所说的1GHz以内打两拍,以上打三拍的操作,HLS编译器能知道吗?还有,本文下面所引夏大佬出的题目,采用HLS语言去实现后,能够综合出来跟HDL代码一样高效的电路吗?因此,笔者认为,HLS目前还只是比较适合学术界和工业界探索研究过程中的快速验证使用。但真正要做商用化的芯片,在PPA指标竞争白热化的战场上,把所有希望都寄托于编译器,只是一味的贪图快是会付出代价的。当然,也不排除,若干年后,HLS的编译器已经进化的足够厉害,生成的HDL代码人类可以看懂并修改,那就是另外一回事了。

3、数据结构课是一门硬件设计基础课。

做数字芯片设计,最重要的一门入门级课程应该就是数据结构课了。这里面详细介绍了FIFO、堆栈、链表、哈希等等几乎所有的基本操作,而这些在HDL设计电路中是最基础的功能单元。有同学可能会说,这门课明明是一门软件基础课啊,其实,现在的软件编程语言工具哪里还能让你看到底层的信息啊,除了C还有指针的概念,其它软件编程语言中队列等都是现成的,直接调用就可以了。

好了,啰嗦的挺多了,下面就转载一下原文并给出题目的简单解析。同学们可以自己做一遍亲身体会一下,感觉还是不一样的。也可以在知乎上看一下回帖中大家给出的方法,再感受一下什么是软件设计思想,什么是硬件电路的设计思想。另外,笔者认为,编码是最能体现硬件设计思想和软件设计思想不同的一种场景。大家还可以参考另外一篇文章,也比较容易理解编码在硬件设计中的重要意义,点击链接可见:《FPGA中有限状态机的状态编码采用格雷码还是独热码?》。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3