![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IC设计
evolone
这个作者很懒,什么都没留下…
展开
-
VHDL & Verilog HDL 语言编程的经验之谈
1.最近debug代码,发现一个RAM的读有问题。 波形大意是: 首先一共给RAM写了16个数据,然后再去依次读取数据,这个时候问题就来了,前面十五个数据都能正确读出,最后一个数据非但不能正确读出,而且还显示是红色未知不确定的值(XXXXXX)。这是怎么回事?首先怀疑是没有正确写入。 去查看写入的代码及波形,并无异常。 其次,怀疑是没有正确读取,或许是读取地址有问题,读到未写值的地...原创 2017-07-27 20:12:40 · 3178 阅读 · 0 评论 -
IC设计笔记----记录我踩过的坑
1、Design设计功能模块。首先详细掌握模块功能。 然后定义接口信号,设计模块结构,尽可能复用逻辑资源。 最后再写代码。对于定义接口信号,多说几句。 (1)如果是一个人独自完成,那么其实定义信号接口没有那么紧迫,毕竟自己啥都知道,随时可以调整,完成代码后再完善接口定义也行。 (2)但是,如果是几个人合作,那么就必须在开始敲代码前,一定要定义好信号接口,...原创 2017-06-20 11:06:42 · 4775 阅读 · 1 评论 -
AI芯片:谷歌TPU1设计分析
前言(作者原创,未经允许不得转载。)最近在研究人工智能芯片架构,反复分析了谷歌公开的TPU ( Tensor Processing Unit) 专利,从中获得些许感悟,记录下来,以备之后查看,也方便广大知友查阅。特此感谢谷歌的分享。其实人工智能从06年深度学习的出现,就踏上了再次崛起之路。如果说,IMGNET的举办是快速推进深度学习的发展,让深度学习在图像识别领域大火特火。那...原创 2018-04-02 09:34:12 · 7469 阅读 · 17 评论 -
调试代码模块功能的小技巧:化繁为简
实际项目中,设计往往有许多功能模块,设计人员会各自负责一个或几个功能模块。如何有效调试代码功能呢?下面就结合我最近的设计阶段,所经历的问题及解决问题的感悟。 只是我自己的一些经验心得,一家之言,姑且听之。第一阶段 站在设计人员的角度来看。 最起初,只有一个功能模块。 那么,设计人员自己先搭建一个简单的tb,验证代码的基础功能点。 由于时间有限,设计人员无法建立完备的验证mod...原创 2018-09-03 19:19:01 · 1212 阅读 · 0 评论 -
verilogHDL,system Verilog代码的多驱动问题
信号多驱动问题0.起因1.现象起源2.原因分析3.解决办法4.思维拓展(1)两个always块的时钟不同,条件互斥;(2)时钟相同,但是条件不互斥,可能发生冲突;(3)时钟不同,且条件不互斥;0.起因最近在项目设计时,遇到了信号多驱动问题。记录下来,提醒自己,方便他人。1.现象起源最近在设计YOLO—V3的模块逻辑。在准备上FPGA时,综合报错:信号多驱动错误。2.原因分析查看代码...原创 2018-09-27 19:18:14 · 11121 阅读 · 7 评论 -
磨刀不误砍柴工:开发Model,辅助设计DUT
论开发Model对设计DUT的重要性最近在设计一个模块。时间紧,任务重。一开始,觉得为了节约时间,没有先开发Model,直接去写DUT。整个模块分成三部分。在分别完成三个部分时,由于并不十分复杂,故都是手算的计算结果,然后验证DUT的功能。但是在三个模块一起联合调试时,由于前期理解不充分,设计需要修改,然后计算结果就变了,造成之前手算的结果报废。如果重新手算,就增加了不少的工作量,而且...原创 2018-10-19 19:38:02 · 616 阅读 · 0 评论 -
AI芯片:寒武纪DianNao,英伟达NVDLA和谷歌TPU1的芯片运算架构对比分析
前面几篇博客分别分析了目前市面上能够找到的各家AI芯片的结构。下面做一个阶段性的对比分析及总结。AI芯片运算架构对比整体来看,NVDLA的架构与寒武纪的DianNao比较像。所以,单位资源的性能应该是差不多的。二者性能的区别,就看资源的多寡了。寒武纪的DianNao,共16个PE,每个PE可以计算一个神经元,每个周期最多计算出16个神经元。NVDLA共2个core。每个core有8个m...原创 2019-01-18 20:10:39 · 8393 阅读 · 4 评论 -
AI芯片:SystemVerilog Debug常用的参考数据--16进制数/半精度浮点数
作为AI芯片设计验证工程师,会用到SystemVerilog/Verilog等硬件语言去写设计代码。写好设计代码后,都会自己先简单测试一下。目前的AI芯片,不再选择传统的单精度和双精度浮点数作计算,而是选择半精度浮点数,如果做了量化,还会选用8bit的定点数。以下是一些常用到的测试数据。1. 16进制数16进制数:十进制数0000(0):00001(1):10010(2):200...原创 2019-03-29 10:50:15 · 1736 阅读 · 0 评论