如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第5章硬件描述语言VerilogHDL5.1VerilogHDL语言简介5.2VerilogHDL的特点5.3VerilogHDL重要的功能和概念5.4VerilogHDL的语法规定与常规要素5.5VerilogHDL代码基本结构5.6VerilogHDL结构说明语句5.7VerilogHDL的语句顺序与并行执行5.8VerilogHDL不同抽象级别的模型5.9VerilogHDL仿真语句5.10数字电路VerilogHDL系统设计5.1VerilogHDL简介5.2Verilog特点5.3VerilogHDL重要功能和概念以$开头,提供一种封装好的行为。endcase所有的过程initial、always语句都在0时刻开始执行。行为级描述:就电路需要实现的功能进行描述对于完成的模块,如何在成本和效率上完成测试?outputout;Qtask<任务名>;7VerilogHDL语句的顺序执行与并行执行q=~q;endcaseinputclk,a;assignd=a|x;else连续赋值语句(assign)分支表达式1:语句1;elseif(表达式n)语句n;5.4Verilog语法规定与常规要素Verilog语义要素标识符。可以使用大小写字母、和下划线开头,可以包含数字、字母、$符。合法的标识符:shift_reg_a,bus_index非法的标识符:34net、a*b_net系统任务和系统函数。以$开头,提供一种封装好的行为。常见的有:$display,$finish,$hold等。编译命令。以“`”反引号开始的标识符是编译器指令。如`define,`ifdef值集合0,1,x,z参数。用于定义时延和变量宽度。数据类型:有两种:线网类型(net)结构化元器件间的物理连线。Wire、tri等。寄存器类型(reg)抽象的数据存储单元。Reg、integer。5.5VerilogHDL代码的基本结构Verilog运算符和优先级VerilogHDL门级结构描述VerilogHDL行为建模语句过程性赋值只能对寄存器类型的变量赋值。阻塞赋值If条件语句assignz=(y==C);5VerilogHDL代码的基本结构beginmodulenonblocking(clk,a,b,c);循环语句:forever、repeat、while、for用于定义时延和变量宽度。//Definethenextstatecombinationalcircuitif(Resetn==0)y<=A;具有用户定于原语,创建灵活阻塞性赋值是指立即赋值,在该语句结束时就完成了赋值操作。==!====!==elseY=A;outputcout;Casez,将高阻忽略Casex,将高阻和未定x均忽略不计。循环语句:forever、repeat、while、for5.6VerilogHDL的结构说明语句initial语句task和function语句分别用来由用户定义任务和函数task<任务名>;//任务定义端口及数据类型声明语句;其他语句;endtask5.7VerilogHDL语句的顺序执行与并行执行续“always”模块外的“assign”语句、实例元件都是同时(即并行)执行的,它们在程序中的先后顺序对结果并没有影响。分支表达式n:语句n;q=~q;function[2:0]FUNC_COMP;output[1:0]Y;outputout;modulemux4_1(out,in1,in2,in3,in4,cntrl1,cntrl2);6VerilogHDL的结构说明语句not(notcntrl1,cntrl1);用于定义时延和变量宽度。function[1:0]FUNC_ENC;1995年:成为IEEE标准reg[2:1]y,Y;default:Y=2'bxx;过程结构initial、always。output[3:0]SUM;门级描述以上两种描述的逻辑电路5.9VerilogHDL仿真语言VerilogHDL仿真语句的基本任务5.10常用数字电路的VerilogHDL系统设计数据比较器编码器2、时序逻辑电路系统设计摩尔型有限状态机摩尔型串行加法器八位计数器