文档介绍:第2章FPGA设计基础重点VerilogHDL基础知识嵌入式处理器介绍FPGA设计流程概述HDL(HardwareDescriptionLanguage)是一种用形式化方法来描述数字电路和数字逻辑系统的硬件描述语言。有两种类型:VHDL和VerilogHDL。:设计的行为特性、设计的数据流特性、设计的结构组成,以及包含响应监控与设计验证方面的时延和波形产生机制。Verilog与C语言的比较(1)Verilog是一种硬件语言,最终是为了产生实际的硬件电路或对硬件电路进行仿真;而C语言是一种软件语言,是控制硬件来实现某些功能的语言。(2)C语言只要是语法正确,都可以编译执行;而Verilog语言有可综合的限制,即在所有的Verilog语句中,只有一部分可以被综合,而另外的部分则不能被综合,只能用来仿真。(3)C语言是一种软件编程语言,其基本思想是语句的循序执行;而Verilog语言的基本思想是模块的并行执行。(4)利用Verilog编程时,要时刻记得Verilog是硬件语言,要时刻将Verilog与硬件电路对应起来。C语言Verilog语言sub-functionmodule,function,taskif-then-elseif-then-elseCaseCase{,}begin,endForForWhileWhileBreakDisableDefineDefineIntIntPrintfmonitor,display,strobe常用的C语言与Verilog语言相对应的关键字与控制结构常用的C语言与Verilog语言相对应的运算符C语言Verilog语言功能**乘//除++加--减%%取模!!反逻辑&&&&逻辑且||||逻辑或>>大于<<小于>=>=大于等于<=<=小于等于====等于!=!=不等于~~位反相&&按位逻辑与||按位逻辑或^^按位逻辑异或~^~^按位逻辑同或>>>>右移<<<<左移?:?:同等于if-else敘述自顶向下的设计方法通过自顶向下的设计方法,可以实现设计的结构化,可以使一个复杂的系统设计由多个设计者分工合作,还可以实现层次化的管理。模块模块(module)是Verilog的基本描述单位,用于描述某个设计的功能或结构以及与其他模块通信的外部端口。例3位加法器的形成语言为moduleaddr(a,b,cin,count,sum);//模块名及输入输出端口列表input[2:0]a;//定义信号流向及位宽input[2:0]b;inputcin;outputcount;output[2:0]sum;assign{count,sum}=a+b+cin;//功能描述endmoduleVerilogHDL基本语法VerilogHDL中的标识符可以是任意一组字母、数字、$符号和_(下划线)符号的组合,但标识符的第一个字符必须是字母或者下划线。另外,标识符是区分大小写的。//与Count不同R56_68FIVE$,一种是以“/*”符号开始,“*/”结束,在两个符号之间的语句都是注释语句,因此可扩展到多行。例/*statement1,statement2,……statementn*/另一种是以//开头的语句,它表示以//开始到本行结束都属于注释语句。