硅农

其他

如何写出让同事无法维护的Verilog代码?

对,你没看错,本文就是教你怎么写出让同事无法维护的代码。命名用拼音让他Google翻译也不知道这个单词是什么意思,(怎么可能有人定义信号用拼音,对,我见过),这只是先跟他开个玩笑,重点在后面。assign语句尽量要写的长assign
2021年4月30日
其他

如何优化一个设计?

ASIC设计中详细设计方案的确定非常重要,同样的设计,别人可以用比你小30%的面积和少30%的处理时间来实现,这才是设计工程师的价值体现之处。任何设计在最开始的时候都是一头雾水,场景复杂,各种耦合。我们要做的是将所有的场景都整理出来,然后想办法进行归一。任何一开始觉得不可能做到的任务最后都能找到解决方法。这本来看似是没有规律的世界,但人类就是去不断寻找和发现这个物质世界的运行规律。当然,即使第一版设计我们尽可能的考虑到了更多的场景和实现方案,但是最后实现阶段还是会有一些考虑不周全和不合理的实现,由于时间成本原因,决定放到下一版再修改。这个过程就叫做优化!那么,如何优化一个设计?找大寄存器组首先是找设计中的大寄存器组,寄存器是面积较大的基本单元了,寄存器的数量决定了设计整体的面积数量级。小容量的存储用regfile,一般寄存器组用到了上千bit,就要考虑是否用RAM。上万bit的就是不合理的设计。看到大寄存器组是要重点关注优化的对象,要注意的是,寄存器组是可以随意在任意bit取值的,RAM是需要一拍一拍的读取的,所以需要在高并行度和面积之前做折中(trade
2020年9月13日