FPGA
在熟悉FPGA的过程中,准备用两个地方作为切入点。
从头实现power on sequence,用这个加强对verilog语法的熟悉
配置使用一个原厂的module,例如spi或者lpc再或者pcie这种
20200608
第一个目标基本实现,因为主要是对于对语言的熟悉,规则语法没有深究,主要在重温这种阻塞赋值以及小模块穿起来的方法。
但模块化编程最大的好处之一就是可以复用,这可能是为数不多的FPGA中可以复用的地方,基本上每一个power on的步骤都可以分为三步:
a. check if received sys_rst signal
b. make sure ex power rail is on and delay a certain time
c. make sure ex power rail is still and delay time is finished, then enable next power
代码如下所示(尴尬,InfoQ没支持verilog):
如果采用这个方法,就只用更改这个module的输入入口,用generate方法去采用控制变量的方法来有一个统一的控制逻辑。
缺点就是如果有一些跨域跳转的地方要很小心的注明,后来者得先理解这种方法才能比较方便的进行更新,但优点就是代码简洁,比每个power rail重写一次上面的三步不知道高到哪里去了。
想到这里我突然更加明确了一些这段时间的目的,就是熟悉同一项目不同领域的工作方式,将他们的思路都归到自己心里,所以具体实现应该也不是必须的啦,只要确定此路可以通,我也基本走过一遍,那就够了,默默记下以后有机会的话为他们指明方向。
版权声明: 本文为 InfoQ 作者【Kevin Z】的原创文章。
原文链接:【http://xie.infoq.cn/article/bc197748f9e70007e53e2eb5c】。未经作者许可,禁止转载。
评论