【转】FPGA 学习一句话备忘录
0赞学FPGA 1个月有余了,本人有一下体会,现每一个总结一句话如下:
1、代码要规范。
verilog 跟C 一样,都要有良好的 Coding Standard(编程规范)。该换行的换行,改对齐的对齐, 本人推荐一个代码编辑工具是 notepd++,支持很多种语言,无需安装语言包,安装包也很小,在几M,
2、习惯英文
为什么这么说呢,原因有2,
第一: quarteus 高版本不支持中文输入,和中文路径,让你必须去看懂英文,写英文注解,虽然外面可以在代码编辑器里面写中文,的那是,外面用到的仿真工具 modelsim 就不一定能很好的支持你了,因此我们要习惯英文。
第二:verilog是硬件描述语言,所以,代码在眼前,电路在心中,我们所驱动的外设芯片,十有八九都是外国货,就算是国产,他们的手册也很少有中文了,这个大家都懂的,迫使我们要懂一点点英文,不过不要求我们像翻译那样精通,哈哈,不过,英语水平越高越好。
3、 模块之间的例化 .上层名(本地名),
举个例子就是 .SYSCLK (CLK), 这里SYSCLK 是被例化模块的名,CLK,是本文件中映射的端口名字。
4、组合逻辑和时序逻辑分开写
组合逻辑与时序逻辑电路写在一起,容易产生 latch,
其实说到这里,很多人其实还具体弄不清楚组合逻辑和时序逻辑的具体区别。这里就要看书了。
5、一个时序逻辑,只给一个变量赋值,(视具体情况)
6、延时和倍频尽量用PLL,
降低门延迟,
7,尽量同步复位,或则异步复位,同步释放,
这里的同步和异步,其实就是以main clk 为参照,相信大家都理解的。
现阶段先总结这么多,有时候一时想不起来,但是大家一定要记住,代码在眼前,电路在心中,心中有电路,控制好逻辑门延迟。设计中尽量防止竞争与冒险。