最近几日都在忙于SDI和DVI的转换项目,采用的是LATTICE的芯片。
SDI是高速的串行数据,最高速有2.97Gbps,FPGA主要的功能是用SERDES硬核解码出并行数据,在SDI解码模块中解析出像素信息和控制信息,然后变换成RGB信号。外部有RGB的高速串行芯片,将RGB值转换成TMDS信号。目前来看,在1.485Gbps的速率下,采用恢复时钟做后续处理还是可以的,看起来和外部的去抖动时钟没有区别。
完成这个项目的评估之后,剩余的时间还有挺多的,可以看看专业的知识。暂时还没有考虑到另换一家公司,所以先踏下心来学习。首先要把跟工作紧密相关的事情做好,比如在UE中的js脚本,目前VHDL的版本还欠缺查找这一个功能,而verilog版本还没有开发。其次还要学习高级一点的仿真知识,比如断言等,还要学习sv这种语言,因为目前的ic测试都是用的这种语言。然后就是和目前的工作无关的事情,比如ARM的开发、matlab和FPGA联合调试、FPGA中的数字信号处理等。可以买一些专业的书籍看看,闲暇时间补充多方面的知识。
最近在看xilinx的一本书籍,里面介绍了很多关于XILINX FPGA芯片的东西,一些很底层的东西,看了之后还是很有启发,之前没有搞得太透彻。其实对于FPGA的整个流程还不是很深入,比如synplify的约束文件设置,还有在vhdl中的约束语句,几乎没有用过太多。
想做一个很深入的IC设计工程师,也想做系统方面的东西,软件的编程对我的吸引也很大。在维宏的时候做过一些ARM的程序开发,比较简单,还是闲下来自己多看看ARM的东西。自己的那本ucos还没有看,要想学操作系统,必须要把最简单的实时系统学好。