新手的verilog学习经验 我学verilog语言进行FPGA设计也就半年时间,很多的东西就是在EDACN上学到的,现在 想说说自己对使用verilog进行FPGA设计的一些体会,我水平不高,主要是为新手朋友们 介绍自己的一点经验少走点弯路。 1、verilog语言 学习verilog最重要的不是语法,“因为10%的语法就能完成90%的工作”,verilog语言常 用语言就是always@(),if~else,case,assign这几个了,不用去专研繁杂的语法,有 些问题等你碰到了查查书就好了。这里推荐夏雨闻老师的《verilog数字系统设计教程》, 一本很适合新手的好书。 2、硬件原则 虽然verilog语言很象c语言,但它和c语言还是有本质的区别的,因为verilog进行的是 硬件设计,你写出来的东西是实实在在电路,所以要有数字电路的知识是肯定的。数字 电路就是由时序电路(触发器)和组合逻辑电路(各种逻辑门)构成的,用verilog写的 程序在FPGA实现就是触发器和逻辑门,所以最重要的就是“你对你写的语言生成的电路心 中有数”,做到这一点你就不会有写出来的程序不能综合的麻烦,电路的冗余逻辑肯定也 是最少的。还要注意一点就是verilog程序是并行的,不是象c那样是顺序执行的,这是 因为fpga硬件可配置,可形成不同的任务单元同时工作;而单片机这种基于通用目的, 硬件结构也固定了,它处理任务只能一件一件顺序的进行。 3、同步原则 在进行FPGA设计的时候,同步原则应该是最重要的原则之一了,因为异步电路的不可控 性,很可能有毛刺产生,而在芯片内部的任何一点毛刺都会一级一级的传递下去,最终 影响系统的稳定性。同步原则用一句话来总结就是“不要试图产生自己的时钟”,最好一 个设计或者一个模块只使用同一个时钟,这样所有的触发器都在同一个时钟沿跳变,当 然最稳定了,系统也能跑到……