![](https://csdnimg.cn/release/download_crawler_static/10255044/bg9.jpg)
3 Verilog HDL 建模概述
在数字电路设计中,数字电路可简单归纳为两种要素:线和器件。线是器件管脚之间的物理
连线;器件也可简单归纳为组合逻辑器件(如与或非门等)和时序逻辑器件(如寄存器、锁存
器、RAM等)。一个数字系统(硬件)就是多个器件通过一定的连线关系组合在一块的。因此,
Verilog HDL的建模实际上就是如何使用HDL语言对数字电路的两种基本要素的特性及相互之间的
关系进行描述的过程。
下面通过一些实例,以便对Verilog HDL 的设计建模有个大概的印象。
3.1 模块
模块(module)是Verilog 的基本描述单位,用于描述某个设计的功能或结构及与其他模块通
信的外部端口。
模块在概念上可等同一个器件就如我们调用通用器件(与门、三态门等)或通用宏单元(计
数器、ALU、CPU)等,因此,一个模块可在另一个模块中调用。
一个电路设计可由多个模块组合而成,因此一个模块的设计只是一个系统设计中的某个层次
设计,模块设计可采用多种建模方式。
3.1.1 简单事例
下面先介绍几个简单的Verilog HDL程序。
例[1] 加法器
module addr (a, b, cin, count, sum);
input [2:0] a;
input [2:0] b;
input cin;
output count;
output [2:0] sum;
assign {count,sum} = a +b + cin;
endmodule
该例描述一个3位加法器,从例子可看出整个模块是以module 开始,endmodule 结束。
例[2] 比较器
module compare (equal,a,b);
input [1:0] a,b; // declare the input signal ;
output equare ; // declare the output signal;
assign equare = (a == b) ? 1:0 ;
/ * if a = b , output 1, otherwise 0;*/
endmodule
绝密
请输入文档编号Verilog HDL 入门教程
2004-08-16 第9页,共41页
版权所有,侵权必究