Chinaunix首页 | 论坛 | 博客
  • 博客访问: 571279
  • 博文数量: 141
  • 博客积分: 3425
  • 博客等级: 中校
  • 技术积分: 1609
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-23 15:55
文章分类

全部博文(141)

文章存档

2019年(5)

2011年(19)

2010年(36)

2009年(13)

2008年(50)

2007年(18)

分类: 嵌入式

2010-05-24 23:18:42

Verilog HDL 有两大类数据类型。

1) 线网类型。net type 表示Verilog结构化元件间的物理连线。它的值由驱动元件的值决定,例如连续赋值或门的输出。如果没有驱动元件连接到线网,线网的缺省值为z。

2) 寄存器类型。register type表示一个抽象的数据存储单元,它只能在always语句和initial语句中被赋值,并且它的值从一个赋值到另一个赋值被保存下来。寄存器类型的变量具有x的缺省值。

连续赋值语句将值赋给线网(连续赋值不能为寄存器赋值),它的格式如下(简单形式):
assign LHS_target = RHS_expression;

连续赋值语句在什么时候执行呢 ? 只要在右端表达式的操作数上有事件 (事件为值的变化)
发生时,表达式即被计算;如果结果值有变化,新结果就赋给左边的线网。

1) initial 语句
2) always语句
一个模块中可以包含任意多个 initial或always语句。这些语句相互并行执行,即这些语句
的执行顺序与其在模块中的顺序无关。一个 initial语句或always语句的执行产生一个单独的控制流,所有的initial和always语句在0时刻开始并行执行。

阅读(1032) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~