Verilog结构描述

结构描述: 用门来描述器件的功能;
primitives(基本单元) : Verilog语言已定义的具有简单逻辑功能的功能模型(models);基本单元是Verilog开发库的一部分。大多数ASIC和FPGA元件库是用这些基本单元开发的。基本单元库是自下而上的设计方法的一部分
Verilog结构描述_第1张图片
条件基本单元有三个端口:输出、数据输入、使能输入;Verilog有四种不同类型的条件基本单元
 这四种基本单元只能有三个引脚:output, input, enable;
 这些单元由enable引脚使能;
 当条件基本单元使能信号无效时,输出高阻态
Verilog结构描述_第2张图片
Verilog结构描述_第3张图片
基本单元实例化
在端口列表中,先说明输出端口,然后是输入端口;
实例化时实例的名字是可选项;
延迟说明和信号强度说明是可选项;
模块实例化(module instantiation)
模块实例化时模块必须有一个名字;
使用位置映射时,端口次序与模块的说明相同;(实际设计中,名称映射可能更通用一些。)
comp c1 (Q, R, J, K); // Positional mapping
使用名称映射时,端口次序与位置无关
comp c2 (.i2(K), .o1(Q), .o2®, .i1(J)); // Named mapping
comp c3 (Q, , J, K); // One port left unconnected,没有连接时会产生警告
没有连接的输入端口初始化值为x。
实例数组(现有综合工具不支持实例数组)
在说明实例数组时,实例必须有一个名字(包括基本单元实例)。其说明语法为:
<模块名字> <实例名字> <范围> (<端口>);
范围说明语法:[MSB : LSB]
bufif0 u[2:0] (out, in, en); // array of buffers 与下面三行等价
bufif0 u2 (out[2], in[2], en);
bufif0 u1 (out[1], in[1], en);
bufif0 u0 (out[0], in[0], en);
逻辑强度(strength)模型
逻辑强度模型决定信号组合值是可知还是未知的,以更精确的描述硬件的行为。
常见的需要信号强度才能精确建模的例子:
开极输出(Open collector output)(需要上拉);多个三态驱动器驱动一个信;MOS充电存储;ECL门(emitter dotting)

你可能感兴趣的:(Verilog)