您当前的位置:五五电子网电子知识电子学习基础知识电脑-单片机-自动控制用Verilog HDL描述的电路设计的Verilog HDL模型 正文
用Verilog HDL描述的电路设计的Verilog HDL模型

用Verilog HDL描述的电路设计的Verilog HDL模型

点击数:7433 次   录入时间:03-04 12:01:37   整理:http://www.55dianzi.com   电脑-单片机-自动控制

 

例3:使用原语的三态驱动器。

module  trist2(out,in,enable);     //三态启动器模块端口声明

     output  out;                      //端口说明

     input  in, enable;

     bufif1  mybuf(out,in,enable);  //实例化宏模块bufif1

endmodule

 

这个例子描述了一个名为trist2的三态驱动器。程序通过调用一个在Verilog语言库中现存的三态驱动器实例元件bufif1来实现其功能。

 

例4:自行设计的三态驱动器。

module  trist1(out,in,enable);    //三态启动器模块端口声明

     output  out;                      //端口说明

     input  in, enable;

     mytri  tri_inst(out,in,enable);//实例化由mytri模块定义的实例元件tri_inst

endmodule

     module  mytri(out,in,enable); //三态启动器模块端口声明

     output  out;                          //端口说明

     input  in, enable;

     assign  out = enable? in : 'bz;   //三态启动器算法描述

endmodule

 

这个例子通过另一种方法描述了一个三态门。在这个例子中存在着两个模块。模块trist1调用由模块mytri定义的实例元件tri_inst。模块trist1是顶层模块。模块mytri则被称为子模块。

通过上面的例子可以看到。

  • Verilog HDL程序是由模块构成的。每个模块的内容都是嵌在module和endmodule两个语句之间。每个模块实现特定的功能。模块是可以进行层次嵌套的。正因为如此,才可以将大型的数字电路设计分割成不同的小模块来实现特定的功能,最后通过顶层模块调用子模块来实现整体功能。
  • 每个模块要进行端口定义,并说明输入输出口,然后对模块的功能进行行为逻辑描述。
  • Verilog HDL程序的书写格式自由,一行可以写几个语句,一个语句也可以分写多行。
  • 除了endmodule语句外,每个语句和数据定义的最后必须有分号。
  • 可以用“/*.....*/”和“//.......”对Verilog HDL程序的任何部分作注释。一个好的、有使用价值的源程序都应当加上必要的注释,以增强程序的可读性和可维护性。

 



www.55dianzi.com

模块的框架

模块的内容包括I/O声明、I/O说明、内部信号声明和功能定义。

1.I/O声明

模块的端口声明了模块的输入输出端口,其格式如下:

Module     模块名(端口1,端口2,端口3,端口4, …);

 

2.I/O说明

I/O说明的格式如下:

 

上一页  [1] [2] [3]  下一页


本文关键字:模型  电脑-单片机-自动控制电子学习 - 基础知识 - 电脑-单片机-自动控制