DVCon2020软件兄弟呐喊:硬件兄弟,请你做个人
Posted MangoPapa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DVCon2020软件兄弟呐喊:硬件兄弟,请你做个人相关的知识,希望对你有一定的参考价值。
📢 声明:
- 🥭 作者主页:【MangoPapa的CSDN主页】。
- ⚠️ 本文首发于CSDN,转载或引用请注明出处【点击查看原文】。
- ⚠️ 本专栏目的为 学术论文分享,本文为非盈利性质,仅用于 个人学习记录 及 知识分享。
- ⚠️ 若本文所采用图片或相关引用侵犯了您的合法权益,请联系我进行删除。
- 😄 欢迎大家指出文章错误,欢迎同行与我交流 ~
- 📧 邮箱:mangopapa@yeah.net
文章目录
前言
本文题目 What Your Software Team Would Like the RTL Team to Know,作者是 Semifore的软件工程师。Semifore是家加拿大公司,做ASIC软硬件接口实现自动化的。
哈哈哈,本篇文章的主题应该是:硬件兄弟,请你做个人。初看本文,挺搞笑的;细细品味,值得深思。
为什么这么讲?试想,一个做软件的,专门写一篇论文投到你硬件的国际会议上,教你做事。这得被逼成啥样了。这也说明我们有些硬件兄弟做事不靠谱。
本文所说的硬件兄弟,具体而言是指芯片设计前端的RTL设计和验证兄弟。先说好,我是做芯片前端的,在本文中我是被吐槽的,没有对芯片前端兄弟不敬的意思。
本文作者已经尽可能把难听的话说得很含蓄了,但我能想象到作者咬牙写下文本的画面。作为被吐槽的对象,我稍微渲染下情绪,还原一下原作者心声。
软件兄弟的呐喊
说在前头
很多公司为了省钱,先招芯片架构,然后招设计验证,最后才是软件。这真是大错特错。你架构的、设计的懂软件吗?我软件进来之前,你们构架一通、设计一通,我进来后啥啥都不清楚,你让我软件怎么干活?
或许你会说,你去看文档啊,你来问我啊。芯片刚送去流片你们就去胡吃海塞、去游山玩水,你让我到哪里去找你?等你回来,又开始准备下个项目了。我来问你,要么是不记得了,要么是去看文档,你文档写得啥样自己不清楚吗?这让我软件的很难办。
芯片是送去流片了,送去流片就完了吗?我写的软件在芯片上完美跑起来之前,这芯片项目离完成还十万八千里呢。休想推个一干二净拍拍屁股走人。
公司或许是有各种团队间沟通的途径,但大部分公司团队间沟通现状是啥烂样子的,相信各位都清楚。
在这里,我,软件兄弟,有些话必须要说道说道:
别再过度依赖工具了!
EDA厂商是提供了各种工具,来帮助我们更快更好地完成工作,但工具不能代替人啊。你人不好好干活,工具再好也无济于事啊。你信不信姚明穿拖鞋打篮球都要比你穿2w块的球鞋打球要好?不要以为用了先进工具就能替代正规流程,工具真要那么要的话,要你干啥?先进工具安排了一个又一个,bug没见少一个。三百六十行,行行有bug。芯片送去流片了,又发现有bug,怎么办?Metal ECO的钱你出?几千万美刀变砖的钱你赔?你也别都指望我软件给你workaround,我是可以这么干,但我干得窝囊。
SVN、GIT、Perforce,这些版本管理工具,用过吧?牛X吧?你就说你经历过多少次merge出错这种事情?你听没听过送去流片又发现版本拿错了的故事?重要的是人,是流程,不是工具。
开会的时候请叫上我软件的兄弟!
很多DE/DV觉得,RTL设计验证完了这个芯片项目的大部分工作也就差不多了——请你清醒点,我软件才是大头好吗?我软件的工作在项目中占的比重更大好吗?不信去问你的PM,问那些真正懂行的人。
我更接近芯片用户,我甚至比你更懂这个芯片,我知道哪里好用难用。所以在制定芯片架构、RTL设计讨论的时候,请叫上我软件的兄弟。你们看起来很难的问题,对我软件而言可能就是洒洒水的小问题。我能主动出席这些讨论会,能解决你们不少问题,也是你们的荣幸。
少来那么多奇奇怪怪的寄存器!
DE同学,别再做那么多炫技用的奇奇怪怪的寄存器了好吗?你知道你做的这些寄存器有多难用吗?为了你这个寄存器,我要在文档里解释一大堆不说,访问这个寄存器也要绕来绕去一堆操作,很难用。验证兄弟也会骂你的。如无必要,勿增寄存器。
没啥事别乱送中断出来!
有些DE同学啊,代码里稍微有点异常就喜欢送中断出来。你这个中断一把把我正常程序停掉了,进你的中断程序绕来绕去一堆操作,很影响性能的好吧?你自己能内部处理就处理掉。
验证兄弟,少来点后门操作吧!
验证兄弟啊,少来点后门操作吧。我理解后门操作能够减少仿真时间,但是这样有风险啊。你写了10000个case,全用后门访问去读写寄存器或内存,然后告诉我DUT是好的。可能我软件一个case都过不了。debug来debug去,发现是软件访问寄存器访问不到,这不完犊子了。我要求不多,有一个前门访问的case,这总可以吧?
文档!文档!文档!
道路千万条,文档第一条。你就说,你们有多少是先Coding后写文档的?Coding完,你们匆匆写个文档交差了事,有时项目紧张连文档也没有,可苦了我软件的兄弟啊。本开早期开会就没让我软件的兄弟去,现在文档还不全。你让我软件怎么Coding,我有点无从下手啊。
或许每次开会讨论都叫了我软件兄弟,但我记不住啊。先不说我能不能听懂中美印欧各式口音,一个个连视频都不开,我连是谁在说话都不知道,让我怎么记?我记错了赖谁?
所以,硬件兄弟,请把你的文档写好,好吗?哪怕写得不完整,也别瞎写好吗?实在不行,每次会后做个简单Email总结,求你了。
流片之后,漫天飞锅,No!
送去流片之后,我软件的主场到了,请你硬件兄弟打好辅助好吗?
流片之后,设计兄弟你先是把文档写写好,写好了把之前的code改改错误优化优化。
流片之后,验证兄弟你完善下你的flow,复现一下软件兄弟发现的问题。
这时候大家压力都很大,都怕发现bug。相信大家听过流片后发现上下游IP数据大小端不匹配的问题,这时候说啥都晚了。此刻,我们是同一条船上的人,遇到问题就不要互相甩锅了,抓紧想办法解决问题才是关键(然后改改个人简历,不更好?)。大家平时也不要对彼此抱太大期望,把吵架的力气用在流片之前,把芯片做好。流片后出了事共担责任,我们任然是相亲相爱的一家人。
写在后面
上下游team之间互相吐槽是常有的事吧,这是有多大的怨念,使得软件兄弟到DVCon上发论文吐槽硬件的兄弟。硬件兄弟对软件兄弟的吐槽比软件兄弟对硬件兄弟的吐槽只多不少,啥时候能看到 硬件兄弟写给软件兄弟的话,题目就叫:Reply to What Your Software Team Would Like the RTL Team to Know: What Your RTL Team Would Like the Software Team to Know.
偶尔吐槽吐槽可以接受,在吐槽对方的同时也应听听对方对自己的吐槽,在互相吐槽中做得更好,茁壮成长。无论如何,软硬件兄弟都应该是相亲相爱的一家人啊。
完
⬆️ 返回顶部 ⬆️
以上是关于DVCon2020软件兄弟呐喊:硬件兄弟,请你做个人的主要内容,如果未能解决你的问题,请参考以下文章