Verilog HDL数字系统设计——原理、实例及仿真 作者 康磊 第1-7章 第4章.pptVIP

  • 12
  • 0
  • 约6.06千字
  • 约 68页
  • 2015-12-12 发布于广东
  • 举报

Verilog HDL数字系统设计——原理、实例及仿真 作者 康磊 第1-7章 第4章.ppt

    4.1 行为级建模程序结构   行为级建模是指对信号采用行为级的描述(不是结构级的描述)方法来建模。行为级的描述常用于复杂数字逻辑系统的设计中,也就是通过行为级建模把一个复杂的系统分解成可操作的若干个模块,每个模块之间的逻辑关系通过行为模块的仿真加以验证。这样就把一个大的系统合理地分解为若干个较小的子系统,然后将每个子系统用可综合风格的Verilog HDL模块(门级结构或RTL级、算法级、系统级的模块)加以描述。同时,行为级建模也可以用来生成仿真测试信号,对已设计模块进行检测。  通过下面的例子,读者可对行为级建模方式有个初步的概念。   例如:一位全加器的行为级建模。   通过该例,应建立以下概念:   (1) 只有寄存器类型的信号才可以在always和initial 语句中进行赋值,类型定义通过reg语句实现;   (2) 采用行为级描述方式,即直接采用“+”来描述加法,{Count,Sum}表示对位数的扩展,因为两个1?bit相加,产生的和有两位,低位放在Sum变量中,进位放在Count 中;   (3) ?always语句一直重复执行,由敏感列表(always语句括号内的变量)中的变量触发;   (4) ?always语句从0时刻开始;   (5) 在begin和end之间的语句是顺序执行的,属于串行语句。      4.2 过程结构语句   每个过程块是由过程语句(initial或always)和语句块组成的,过程块中有下列部件:过程赋值语句——赋值语句和过程连续赋值语句;时序控制——控制块的执行及块中的语句时序;高级结构(循环,条件语句等)——描述块的功能。   Verilog HDL中的多数过程模块都从属于以下两种过程语句:   initial说明语句;   always说明语句;   一个程序模块可以有多个initial和always过程块。每个initial和always说明语句在仿真的一开始即执行。initial语句常用于仿真中的初始化,initial语句只执行一次,而always语句则是不断地重复执行,直到仿真过程结束。always过程语句是可综合的,在可综合的电路设计中广泛采用。 4.2.1 initial语句   initial语句的语法格式如下:   initial   语句块 其中,语句块的格式为   块定义语句1   时间控制1 行为语句1;   …   时间控制n 行为语句n;   块定义语句2   initial语句不带触发条件,initial过程中的块语句沿时间轴只执行一次,参见图4.1。initial语句通常用于仿真模块中对激励信号的描述,或用于给寄存器变量赋初值,它是面向模拟仿真的过程语句,通常不能被逻辑综合工具所支持。 图4.1 initial语句执行顺序   【例4.1】 用initial语句在仿真开始时对各变量进行初始化。   【例4.2】 用initial语句对存储器进行初始化。 4.2.2 always语句   always过程块是由always过程语句和语句块组成的,其语法格式如下:   always @ 敏感信号表达式     语句块 其中,语句块的格式为   块定义语句1     时间控制1 行为语句1;     …     时间控制n 行为语句n;   块定义语句2   以上的格式中:   (1) 关键词always表明了该过程块是一个“always过程块”。   (2) ?@ 敏感信号表达式是可选项,有敏感事件列表的语句块被称为“由事件控制的语句块”,它的执行要受敏感事件的控制。   (3) “时间控制”用来对过程块内各条语句的执行时间进行控制,它可以是任何一种时间控制方式。   (4) 语句块中的行为语句可以是如下语句中的一种:过程赋值语句(阻塞型或非阻塞型)、过程连续赋值语句、if条件分支语句、case条件分支语句、循环控制语句(forever、repeat、while、for循环控制语句)、wait等待语句、disable中断语句、事件触发语句、任务调用语句(用户定义的任务或系统任务)。 图4.2 always语句执行顺序   【例4.3】 always语句示例(1)。     always # half_period areg = ~areg;   这个例子生成了一个周期为period(=2*half_period)的无限延续的信号波形,常用这种方法来描述时钟信号,作为激励信号来测试所设计的电路。  【例4.4】 always语句示例(2)。       4.3 语 句 块   语句块是由块标志符begin-end或fork-join界定的一组语句,当块语句只包含一条语句时,块标志符可以省略。下面分

文档评论(0)

1亿VIP精品文档

相关文档