- 博客(13)
- 资源 (21)
- 收藏
- 关注
原创 算法之贪心--贪心算法的思想及实现
贪心算法是非常有用的一种解决问题的思路, 贪心算法只能得到局部最优解,而不能得到全局最优解。贪心算法是一种一条路走到黑的解题算法,每一步都选取当前最优解,不回退。...
2019-11-04 17:55:35 540
原创 算法之回溯 --回溯算法的思想和实现
回溯算法是一种重要的解决存在多个最优解的算法思想。 回溯算法从开始结点(根结点)出发,以深度优先的方式搜索整个解空间。这个开始结点就成为一个活结点,同时也成为当前的扩展结点。在当前的扩展结点处,搜索向纵深方向移至一个新结点。这个新结点就成为一个新的活结点,并成为当前扩展结点。如果在当前的扩展结点处不能再向纵深方向移动,则当前扩展结点就成为死结点。此时,应往回移动(回溯)至最近的一个活...
2019-10-29 18:23:00 684
原创 数据结构之跳表--跳表的设计实现
任何一种数据结构的设计都是为了提高解决某一个问题的时间复杂度和空间复杂度。 跳表是一种优良和稳定的数据结构,其查找,添加,删除的时间复杂度都是o(logn), 另外跳表还有以下特性: 由很多层结构组成,level是通过一定的概率随机产生的; 每一层都是一个有序的链表,默认是升序 ; 最底层(Level 0...
2019-10-29 16:48:08 994
原创 算法之查找--常见查找算法及总结
查找在算法考察中也占了相当大的比例,考察内容也很多。 我们这里主要关注给定一个数据在无序数组中查找该元素是否存在,无序数组中是否存在二个数的和等于该元素, 有序数组中查找该元素是否存在,数据重复有序数组中该元素第一次出现的位置,最后一次出现的位置,第一次大于该元素出现的位置。 另外一种查找是查找某一个数组中最大的值,最大的一些值, 第K大的值等等。 我们这里也按照时间复杂度的顺序进行说明。...
2019-10-17 09:12:54 270 1
原创 算法之排序---常见排序算法实现和总结
现在公司对员工的基本功考验越来越重视,作为底层员工的我们需要平时多练习。35岁之后,如果基本功不扎实,作为底层的码农前途还是很黯淡的。 大家需要平时多练习leetcode上面的题,作为码农来说,还真是马云爸爸说的那样,要么去BAT那样的公司直接加班变现,他们也舍得给钱,算是福报了;很多中小公司变相让你免费加班,待遇却不到BAT的一半都不到。 这里按照平均时间复杂度来进行实现和...
2019-10-16 14:45:53 128
原创 关于芯片验证的感悟5
这一篇主要介绍验证当中功能覆盖率和代码覆盖率。 一个验证最重要的是验证报告, 其中功能覆盖率反映的是DUT的输入接口(主要是寄存器)能够取到的值是否都一一遍历到了,特殊情况的寄存器的取值,我们还需要自己手动去造一个CASE来满足这个取值;一般功能覆盖率必须要达到100%覆盖; 代码覆盖率反映DUT的RTL代码的内容设计,是不是每个fsm,toggle都走过一遍,这个要达到比较高的覆盖率...
2019-10-12 14:49:32 337
原创 关于芯片验证的感悟4
1.4 refer-c 和DPI 接口设计 SV 方面: 如果SV 和 C++ 交互为对象 : import “DPI-C" function chandle getWrapperInstance() ; 来获取对象 ; 如果SV 和C++ 交互为函数: import "DPI-C" function void syste...
2019-01-09 11:11:13 326
原创 关于芯片验证的感悟3
1.3 phase的理解 对于UVM中的component , phase的理解 才能正确使用各个组件。 build phase 主要 完成 组件内各个子组件的创建 ; connect phase 主要完成 该组件与外部组件的连接; 无时钟消耗的phase: build phase , connect phase , before simulation...
2019-01-09 10:52:15 388
原创 关于芯片验证的感悟2
1.2 寄存器读写 这里 主要讨论 AXI的寄存器读写 。 由 sequence来完成数据的随机化操作 , 然后写到 register model 中, 通过 adapter 来完成 总线和寄存器的转换, 最后传送到 VIP 中,输出以 axi_vif 的形式传送给DUT的 AXI 接口。寄存器读写操作: 在sequence的body函数里面不...
2019-01-09 10:22:39 361
原创 关于芯片验证的一些感悟1
18年下半年参与了某款5G芯片验证的开发过程,空余时间总结一下: 由于现在芯片的规模越来越大, 所以导致芯片验证的工作也越来越重要。 传统的通过写TB 的方式来测试芯片设计功能的方式也越来越吃力,而通过UVM的方式来进行芯片验证已经成为业界主流的验证方式。 使用UVM的方式可以编写任意多个test case 配合对应的 sequence ,加上shell 脚本的辅助,可...
2019-01-09 10:11:46 3078
原创 CUDA在windows平台的环境搭建
从接触CUDA开发到现在,已有一个月有余。 一个人慢慢摸索的过程,有压力也有收获。 工作之余,想把自己以前做的,经历的东西写出来,留作纪念吧。顺便提高一下自己的写作水平。 作为CUDA开发的第一篇,先介绍一下CUDA环境的搭建吧,这里主要讲的是CUDA在WINDOWS上的环境搭建,后续会专门写一篇在LINUX平台上的基于caffe深度学习CUDA环境搭建。 CU
2017-02-27 20:18:07 764
原创 大龄码农的困惑
人已过30就感觉位置很尴尬,前一段时间还出现了华为不要34岁以上员工的案例,所以对于深处职场的我们来说,提前考虑一下也是很有必要的。 对于职场上来说,能够升上去的人毕竟是少数,绝大部分都得靠工资来养家糊口。对于码农这个群体来说,知识更新是很快的,需要不断的学习新的东西,同时面临着体力和脑力的下降,个人觉得比较合适的应对之策就是: 1.多写技术型博客,技术作为吃饭本领,很有必
2017-02-23 14:53:25 481
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人