网站搜索:
第8节 Verilog基本单元(primitives)
文章出处:与非网
更新于2008-05-18 07:59:51

Verilog基本单元(primitives)

  • Verilog基本单元提供基本的逻辑功能,这些逻辑功能是预定义的,用户不需要再定义这些基本功能即可直接使用。
  • 基本单元是Verilog开发库的一部分。大多数ASIC和FPGA元件库是用这些基本单元开发的。基本单元库是自下而上的设计方法的一部分。

内置基本单元

  • Verilog HDL中提供了26个内置的基本单元:
    内置基本门:
    • 多输入门:and, nand, or, nor, xnor
    • 多输出门:buf, not
    • 三态门: bufif0, bufif1, notif0, notif1
    MOS开关
    • cmos, nmos, pmos, rcmos, rnmos, rpmos
    上拉/下拉电阻
    • pullup, pulldown
    双向开关
    • Tran, tranif0, tranif1, rtran, rtainif0, rtranif1

用户定义的基本单元UDP

  • UDP: 用户定义的基本单元,其行为和Verilog内部的基本单元相似。其功能用真值表定义。
  • 一个UDP可以替代多个基本单元构成的逻辑,因此可以大幅减少仿真时间和存储需求。
  • UDP只能有一个输出;
  • UDP可以有1到10个输入;
  • 所有端口必须为标量且不允许双向端口
  • 不支持逻辑值Z
  • 输出端口必须列为端口列表的第一个
  • UDP不可综合

多输入门

  • 多个输入,单个输出。
    与门and,与非门nand,或门or,或非门nor,异或门xor,异或非门xnor
  • 语法:
    门类型 [实例名] (output, input1, …, inputN);
    例:nand nand1(Y, A, B); //2输入与非门 
            xor xor1 (Y, A, B, C); //3输入或非门

多输出门

  • 一个输入,可以有一个或多个输出
    buf:缓冲门
    not:非门(反相器)

    例:buf buf1(Out[0],Out[1],Out[2],In);
            not not2(Out,In);

三态门

  • 用于对三态驱动器建模。有三个端口:一个数据输入端、一个控制信号输入端、一个数据输出端。
    bufif0, bufif1, notif0, notif1
    例:
    bufif0 BF1(out, enable, data);
    // 当enable=0时, out=data, enable=1时, out=z
    // 即使能信号无效时,输出高阻状态。


 

上拉/下拉电阻、 MOS开关、双向开关

  • 上拉/下拉电阻:
    只有一个端口(输出端),上拉输出为1,下拉输出为0。
  • MOS开关:
    单向开关,数据由输入端流向输出端,控制信号控制MOS晶体管导通或不导通。
  • 双向开关
    数据在两个端口之间双向流动,并能够通过控制信号对开关进行关闭。

 

<<上一节        下一节>>  



关于OpenHW | OpenHW使用说明 | FAQ | 相关法律 | 版权声明 | 网站地图
联系邮件:xiaoquan@eefocus.com  联系电话: 010-58859035-8012
Powered by eefocus.com