SYoong的个人空间 https://blog.eetop.cn/1584010 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

Verilog学习笔记基本语法篇(四)·········块语句

热度 1已有 1012 次阅读| 2016-9-24 20:10 |个人分类:Verilog基础|系统分类:芯片设计

块语句是指将两条或者两条以上的语句组合在一起,使其在格式上更像一条语句。块语句分为两种:

1)用begin_end语句,通常用来标识顺序执行的语句,用它标识的块称作顺序块;

2)用fork_join语句,通常用来标识并行执行的语句,用它标识的块称作并行块。

 

A)顺序块

begin

    语句1;

    语句2;

   ....

    语句n;

end

begin:块名

    块内声明语句

    语句1;

    语句2;

   ....

    语句n;

end

特点:

1)块内的语句是按照顺序执行的,即只有上面一条语句执行完后下面的语句才能执行;

2)每条语句的延迟时间都是相对于前一条语句的仿真时间而言的;

3)直到最后一条语句执行完,程序流程控制才跳出该语句块。

 

B)并行块

fork

    语句1;

    语句2;

   ....

    语句n;

join

fork:块名

    块内声明语句

    语句1;

    语句2;

   ....

    语句n;

join

特点:

1)块内语句是同时执行的,即程序流程控制进入该块时刻,块内语句则开始同时并行执行;

2)块内每条语句的延迟时间都是相对于程序流程进入到块内的时刻。

3)延迟时间是用来给赋值语句提供执行时序的;

4)当按时间排序在最后的语句执行完成后,或者一个disable语句执行时,程序流程控制跳出该模块。

 

块名:

1)可以在块内定义局部变量,即只在块内使用的变量;

2)可以允许被其他的语句调用,也可以通过层次名进行调用

3)在Verilog中,所有的变量都是静态的,即所有的变量都只有一个唯一的     存储地址,因此进入或者跳出块并不影响储存在变量内的值。

4)命令块可以被禁用,关键词为disable,可以用disable跳出循环,处理错     误条件以及根据控制信号来控制某些代码是否执行。

顺序块和并行块的性质对比

对比性质顺序块并行块
块内声明语句变量类型parameter、reg、integer、realparameter、reg、integer、real、time、event
开始时间第一条语句开始执行的时间流程控制进入该块的时间
结束时间最后一条语句结束执行时间按时间排在最后的语句执行结束时间

 

 

 

 

 

举例:(程序功能相同的顺序块和并行块)

parameter  d=50;

reg   [7:0] r;

begin

    #d   r='h35;

    #d   r='hE2;

    #d   r='h00;

    #d   r='hF7;

    #d   ->end_wave;                   //->表示触发事件end_wave使其翻转

end

 (如果d=0,则这个顺序块的执行不需要时间。若d=50,则块语句完成的时间为250,因为每个语句都要等待50个时间单位)

fork

    #250  ->end_wave; 

    #200   r='hF7;

    #150   r='h00;

    #100   r='hE2;

    #50     r='h35;

join

(在并行块中,所有语句都是在程序流程进入并行块时同时开始的,因此这个语句结束的时间为250)

1

点赞

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 3

    粉丝
  • 0

    好友
  • 3

    获赞
  • 1

    评论
  • 访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-10 18:41 , Processed in 0.015178 second(s), 12 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部