首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

学习fpga的七条经验总结

学习fpga的七条经验总结

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 为参照,相信大家都理解的。



    现阶段先总结这么多,有时候一时想不起来,但是大家一定要记住,代码在眼前,电路在心中,心中有电路,控制好逻辑门延迟。设计中尽量防止竞争与冒险。

继承事业,薪火相传
返回列表