z3第四篇Veriolog HDL语句.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 Verilog HDL的基本语句 Verilog HDL可以用于仿真、综合的语句只是HDL语言的一个子集。不同的仿真器、综合器支持的HDL语句集不同。 Verilog HDL的语句包括: (1) 赋值语句Assignments 连续赋值语句(Continuous assignments) 过程赋值语句(Procedural assignments) (2) 条件语句(Conditional statement) if-else,case (3) 循环语句 for ,repeat,while,forever (4) 语句块语句(Block statements) 串行块(begin-end) 并行块(fork-join) (5) 结构化语句(Structured procedures) initial语句 always语句 (6)task任务和function函数 4.1 赋值语句Assignments 4.1.1 assign连续赋值语句 用于对wire型变量进行赋值。 描述语法为: assign #[delay] 线型变量 = 表达式 ; delay是门延时 例 四位加法器的verilog的描述: module adder (sum_out, carry_out, carry_in, ina, inb); ? output [3:0] sum_out; output carry_out; ? input [3:0] ina, inb; input carry_in; ? wire carry_out, carry_in; wire [3:0] sum_out, ina, inb; ? assign {carry_out, sum_out} = ina + inb + carry_in; endmodule 4.1.2 过程赋值语句 用于对寄存器类变量赋值,没有任何先导的关键词,而且只能够在always语句或initial语句的过程块中赋值。 其基本的描述语法为: 1) 寄存器型变量 = 表达式 ; // 阻塞型过程赋值 2) 寄存器型变量 = 表达式 ; // 非阻塞性过程赋值 采用阻塞型过程赋值方式的描述: // 过程赋值语句 always @( in1 or in2 ) out2 = in1 in2; 阻塞型赋值语句与非阻塞型赋值语句的比较 module block_nonblock (dataout_a, dataout_b,dataout_c, dataout_d, data_in, clock ); input data_in,clock; output dataout_a, dataout_b; output dataout_c, dataout_d;? reg dataout_a, dataout_b; reg dataout_c, dataout_d; ? always @(posedge clock) //block assignment begin dataout_a = data_in; dataout_b = dataout_a; End 阻塞型赋值语句与非阻塞型赋值语句的比较 ? always @(posedge clock) // nonblock assignment begin dataout_c = data_in; dataout_d = dataout_c; end ? endmodule 阻塞型赋值语句与非阻塞型赋值语句的比较 阻塞型赋值语句 4.2 条件语句(Conditional statement) 1. if-else语句 if-else语句是用来判断所给的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。Verilog HDL语言共提供了3种形式的if-else语句。 (1)if(表达式) 块语句1; (2)if(表达式) 块语句1; else 块语句2; (3)if (表达式1) 块语句1; else if(表达式2) 块语句2; else if(表达式3) 块语句3; … el

文档评论(0)

xiaofei2001128 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档