正在加载图片...
下载 第8章行为建模 在前几章中,我们已经介绍了使用门和UDP实例语句的门级建模方式,以及用连续赋值 语句的数据流建模方式。本章描述 Verilog hdl中的第三种建模方式,即行为建模方式。为充 分使用 Verilog HDL,一个模型可以包含所有上述三种建模方式。 8.1过程结构 下述两种语句是为一个设计的行为建模的主要机制 l) initial语句 2) al ways语句 一个模块中可以包含任意多个 initial或 always语句。这些语句相互并行执行,即这些语句 的执行顺序与其在模块中的顺序无关。一个 initial语句或 always语句的执行产生一个单独的控 制流,所有的 initial和 always语句在0时刻开始并行执行 81.1 initial语句 initial语句只执行一次 initial语句在模拟开始时执行,即在0时刻开始执行。 initial语句 的语法如下: in⊥t⊥a1 [timing control] procedural statement procedural statement是下列语句之 procedura1 assignment(b1 ocking or non-b1ock⊥d/阻塞或非阻塞性过程赋值语句// procedural continuous assignment conditional statement case statement 1o。 p statement wait statement d⊥sab1 e statement vent trigger sequential bloc parallel block task enable (user or system 顺序过程( begin.end)最常使用在进程语句中。这里的时序控制可以是时延控制,即等待 确定的时间:或事件控制,即等待确定的事件发生或某一特定的条件为真。 initial语句的 各个进程语句仅执行一次。注意 initial语句在模拟的0时刻开始执行。 initial语句根据进程语句 中出现的时间控制在以后的某个时间完成执行。 下面是inta语句实例 reg Yurt initial Yurt= 2下载 第8章 行 为 建 模 在前几章中,我们已经介绍了使用门和 U D P实例语句的门级建模方式,以及用连续赋值 语句的数据流建模方式。本章描述 Verilog HDL中的第三种建模方式,即行为建模方式。为充 分使用Verilog HDL,一个模型可以包含所有上述三种建模方式。 8.1 过程结构 下述两种语句是为一个设计的行为建模的主要机制。 1) initial 语句 2) always语句 一个模块中可以包含任意多个 i n i t i a l或a l w a y s语句。这些语句相互并行执行,即这些语句 的执行顺序与其在模块中的顺序无关。一个 i n i t i a l语句或a l w a y s语句的执行产生一个单独的控 制流,所有的i n i t i a l和a l w a y s语句在0时刻开始并行执行。 8.1.1 initial 语句 initial 语句只执行一次。initial 语句在模拟开始时执行,即在 0时刻开始执行。initial 语句 的语法如下: i n i t i a l [t i m i n g _ c o n t r o l] p r o c e d u r a l _ s t a t e m e n t p r o c e d u r a l _ s t a t e m e n t是下列语句之一: p r o c e d u r a l _ a s s i g n m e n t(blocking or non-blocking) / /阻塞或非阻塞性过程赋值语句/ / p r o c e d u r a l _ c o n t i n u o u s _ a s s i g n m e n t c o n d i t i o n a l _ s t a t e m e n t c a s e _ s t a t e m e n t l o o p _ s t a t e m e n t w a i t _ s t a t e m e n t d i s a b l e _ s t a t e m e n t e v e n t _ t r i g g e r s e q u e n t i a l _ b l o c k p a r a l l e l _ b l o c k task_enable (user or system) 顺序过程( b e g i n . . . e n d )最常使用在进程语句中。这里的时序控制可以是时延控制,即等待 一个确定的时间;或事件控制,即等待确定的事件发生或某一特定的条件为真。 i n i t i a l语句的 各个进程语句仅执行一次。注意 i n i t i a l语句在模拟的0时刻开始执行。i n i t i a l语句根据进程语句 中出现的时间控制在以后的某个时间完成执行。 下面是i n i t i a l语句实例。 r e g Y u r t; . . . i n i t i a l Y u r t = 2;
向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有