但是效果不好o(╥﹏╥)o很多好几篇文章的评论区都有争吵,当然了意见不统一而有争论这件事太司空见惯了,但是令头疼的是一类‘高屋建瓴’类评论:“业界都是如何如何做的”、“高级芯片不会有这种处理,你问什么高级芯片?能商用卖钱的就是”、“根本不会有人/公司问这个问题”。这类评论在无复位寄存器篇、function篇以及小红薯的格雷码篇、random篇、双沿采样篇等众多评论区出现。最可怕的是有时会一同出现“根本就不会有公司这么做” VS “这个操作不是司空见惯吗有啥可讨论的”两种声音,甚至都不知道应该先回谁好,生怕怠慢了大佬。这些评论里不乏10年、20年甚至30年经验的资深工程师(一般刚毕业没几年的也不敢这么说倒是),在他们自己的论点里也讲的头头是道。当然大家也清楚,很多东西行业里哪来什么通用做法,无非是你家这么搞他家这么搞,又或者你学学我我学学你的。很多处理就是权衡利弊之后做出的一个选择,如果有绝对优劣之分那语法层面可能就禁止或者更新替换掉了。引用一位大佬的意见:这就是芯片设计的魅力所在,绝大多数的决定都是tradeoff的结果。如果方方面面都要兼顾,这起码需要一支经验丰富的团队。 的确,这就是芯片设计的魅力所在。进而也发现了一个道理:很多经验丰富的资深工程师很可能一直聚焦在自己的这一亩三分地,想法中可能有很多脱节的地方,也无需盲目崇拜或是相信。多看多想多扩充眼界才是我们需要做的事情。本来一直觉得自己在这方面做的还算不错,因为对于各类语言、语法、优化方法和经验啥的都比较乐于接收和探索。但仅仅过了两天发现,其实我对某些技术和处理也有比较固执的“迷信”,换句话说,和刚刚批评的这些朋友也没有很大的不同。事情还是发生在前文所说的评论区,有评论说“S家是有大量使用function和task的”,当时我就想了,用function这个我知道,但是怎么会大量的用task呢?这语法在RTL里大量用合理吗?压根不可能的事情吧(插播一句,有一部分朋友认为task是不可综合语句,实际上他只是不完全可综合或者说非所有综合工具均支持罢了)。之后的事情就比较打脸了,评论继续给推荐了一本由S家资深工程师写的书,里面在推荐代码风格的时候明明白白这样写的: