b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

结构体 [转]System Verilog的概念以及与verilog(7)

电脑杂谈  发布时间:2018-02-21 13:38:50  来源:网络整理

processwatch_result_task(1, 255, 0);

processwatch_result_task(7, 128, 5);

end//所有的过程并行运行

24. 任务和函数增强

SystemVerilog为Verilog的任务和函数作了几个增强。

l静态和自动的存储

缺省情况下,在Verilog任务或函数内的所有存储都是静态的。Verilog-2001允许将任务和函数声明成自动的。在SystemVerilog中:(1). 在一个静态任务和函数内的特定数据可以显式地声明成自动的。声明成自动的数据在块中具有完整的生命周期,并且在任务和函数调用的入口处初始化;(2). 在一个自动的任务或函数中的特定数据可以显式地声明成静态的。自动的任务或函数中声明成静态的数据在一个块的本地范围内具有静态的生命周期。

l从任何点返回

Verilog在一个任务或函数中执行到endtask或endfunction关键字的时候返回。函数的返回值是给函数名赋的最后一个值。SystemVerilog加入了一个return关键字,使用这个关键字,一个任务或函数可以在任何点上返回。

l多语句

Verilog要求一个任务或函数只具有一个语句或语句块。多条语句必须组合到一个单一的begin-end或fork-jion块中。SystemVerilog去除了这种限制。结构体因此,多条语句可以在一个任务或函数中列出而无需使用的begin-end或fork-jion。每有分组的语句就像在begin-end中一样顺序执行。我们还可以产生一个没有语句的任务或函数定义。

lvoid函数

Verilog要求一个函数具有一个返回值,函数的调用接收这个返回值。SystemVerilog加入了一个void数据类型,这个数据类型可以作为一个函数的返回值类型。void函数可以像Verilog任务一样进行调用,而无需接收一个返回值。void函数和任务的差别在于函数存在几个限制,例如没有时间控制等。

l函数的输入和输出

Verilog标准要求一个函数至少具有一个输入并且函数只能具有输入。SystemVerilog去除了这些限制。函数可以具有任意数目的输入、输出以及输入输出,也可以什么也没有。

25. 连续赋值的增强

在Verilog中,连续赋值语句的左侧只能是线网类型,例如wire。连续赋值语句被认为是线网的驱动源,而线网可以拥有任意数据的驱动源。SystemVerilog允许除reg类型以外的任何数据类型用于连续赋值语句的左侧。与线网不同,所有其它数据类型被限制为只能有一个连续赋值语句驱动。为相同的变量混合使用连续赋值语句和过程赋值语句是不被允许的。

26. $bit系统函数

在Verilog中没有类似于C语言中sizeof的函数。SystemVerilog加入一个新的$bit内建函数。这个函数返回保存一个值所需的硬件位的数目(一个四态值要求一个硬件位),这个函数还可以用来确定一个结构体所代表的硬件位的数目。

27. `define的增强

SystemVerilog增强了`define编译器指令的能力以便支持将字符串作为宏的参数。宏的文本字符串中可以包含一个隔离的引号,它的前面必须具有一个反勾号(`”),这就允许字符串中包含宏参数。宏文本可以在行的尾部包含一个反斜杠(’’)来表示在下一行继续。如果宏文本字符串中包含反斜杠,则反斜杠应该被放在两个反勾号之间,这样它就不会被认为是Verilog转义标识符的开始。宏文本字符串还可以包含双反勾号(``),它允许标识符能够从参数中构建。这些增强使得`define指令更加灵活。例如:`include指令后可以紧跟一个宏名字来替代一个字符串。

28. 状态机建模

SystemVerilog允许在更高的抽象层次上对状态机建模。这些结构包括:

l枚举类型

l一个特殊的state数据类型;

l一个迁移语句

l一个迁移操作符

29. 断言

SystemVerilog中加入了断言的功能来改善系统的验证过程。

30. 结论

SystemVerilog为Verilog-2001标准提供了一系列的扩展。这些扩展使得大型设计的建模和验证更加容易。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-87180-7.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...