入职半年总结

        明天马上过年了,今天继续上班。恍惚间,入职已经半年多了,从刚来时候什么都不会的状态,到现在,感觉还是学到了一些东西,所以在此整理记录一下。
        首先是沙盘项目,从研究模块需求、思考方案、写详设文档、编码、自测、debug、综合、时序优化、等价性检查等,经历了整个前端设计流程。实现主要做一个调整数据包格式(数据拼接)和握手的功能。开始觉得拼接比较复杂,然后深入思考,在草稿纸上思考方案,思考之后发现还是比较简单;关于握手,在听了其他同事方法之后才有所领悟,进行了实现,然后结合所学习的mtrxl模块,加深了对握手的理解,掌握了比较通用的方法。
        沙盘项目想明白了以后,实现就很简单了,一气呵成,不过现在回头看代码,还是不忍直视,代码风格和实现方法都有待改进。沙盘之余,也抽出时间学习mtrxl模块,开始看代码实在煎熬,有时候为了看懂那几行代码,要思考整个半天,好在坚持了下来,把整个模块流程基本弄明白了,然后在做应用时加深了对于此模块的理解,也发现了此模块现在存在的一些小问题,能够提出优化方法。学习过程中也了解了公共模块库,结合沙盘,加深了对于握手信号的理解。沙盘完了之后就开始做实际项目,没有再去继续深入看此模块,后续一定要再深入学习此模块,最后能复现关键模块的代码。
        实际项目中负责一个子模块,最初一年茫然,好在有前辈点拨,慢慢接手过来,从整理所需的任务参数到整理各个小模块接口信号,再到实现整个子模块,经历过以后发现也不难。后续又改了几次需求,基本也都能顺利完成,虽然最后又回到了最初的版本。。后来项目改动较大,又学习了DDC模块,花了一到两周时间,看明白了以后,感觉此模块还是有一些技巧,精确控制数据流,非常巧妙,控制硬件调动感觉都可以用类似的方法实现。
        还做了关于抗扰码生成的一个小IP,从中学习了矩阵推导的方法(沙盘CRC并行校验公式也可以用矩阵推导),对于任意offset的迭代实现也加深了对于二进制的理解和应用,最后实现时用了python生成查找表有关的代码,进行了简单的自测。
        总结一下:
        1.前端设计流程,工具使用,gvim, vcs, verdi, dc, formality, python小脚本。
        2.设计方法:数据拼接、握手、前递、数据四舍五入饱和截位等,设计来说,不外乎是控制加计算,控制就是握手信号,计算也就是加、减、乘、除,外加一个查表,再加一个移位寄存器(除法一般用移位或者除以一个数再乘以一个数或者用除以2的整数倍相加的近似方式),目前感觉没有遇到复杂的计算,就算有复杂的计算,应该也能通过算法转化为容易实现的计算。
        3.具体的mtrxl模块,其中也包含一些重要的思想,包括offset,跨边界,防死锁,轮询调度等。
        4.实现具体的项目子模块。
        5.抗扰码的小IP。
        6.加深了对硬件的理解,擅长分步骤地、慢慢地做,最好是迭代地做,在拿到算法文档后就应该朝着此方向去思考实现的方案。
        7.意识到了整体思维或者系统思维的重要性,在小的层面去优化提升是有限的,有时候跳出当前层面,在更高的层面去优化、思考,才可能会有更大的优化空间。比如一个项目中总是分成各个子模块,要从整体角度去考虑,有时候一个功能在这个子模块去完成就比在那个子模块去完成好很多。
        8.改变思考环境,有时候对当前任务一筹莫展时,不妨放一放,换一个环境,可能无意识下就能想到可行的方案了。
        9.review的重要性,不要做完了就扔掉了,可能还有很多改进的地方。还有写代码完了一定要多review,然后再去自测,不要因为一个小bug去浪费自己和别人的时间。

        对未来的几点期待:多编码,多思考;系统学习一个方向的知识;持续学习。          

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值