7. 用户自定义元件模型
-
!!!!现在UDP用的很少,几乎不用了,但是它是作为Verilog HDL 的一个点,还是依然存在,主要是了解一下
-
Verilog HDL 语言提供了一种扩展基元的方法,允许用户自己定义元件(User DefinedPrimitives,UDP)。通过 UDP,可以把一块组合逻辑电路或时序逻辑电路封装在一个 UDP内,并把这个 UDP 作为一个基本门元件来使用。需要注意的是,UDP 不能综合,只能用于仿真。
-
UDP实际上就是查表的方式
-
函数和任务是一定要放在模块内部的,而UDP不是放在里面,它和模块是等同的一个概念
-
我们在做设计的时候经常会采用真值表的方式,对于模块来说我们用的是模块名,然后是case语句,这一点和UDP也不同
-
UDP的特点
(1)UDP的输出端口只能有一个,且必须位于端口列表的第一项。只有输出端口能定义为reg类型。
(2)UDP的输入端口可有多个,一般时序电路UDP的输入端口最多9个,合电路UDP的输入端口可多至10个。
(3)所有端口变量的位宽必须是1比特。
(4)在 table 表项中,只能出现0、1、x这三种状态,z将被认为是x状态。 -
调用
-
因为可综合逻辑设计可以完全替代primitive,所以用的很少了
7.1 UDP应用实例
- 组合电路UDP应用实例
- 组合电路UDP应用实例
- 时序电路UDP元件
- 混合电路UDP元件
- !!非常混乱,而且也只是仿真,用的人很少
8. 基本门级元件和模块的延时建模
- 这是一个非常重要的概念,集成电路一定是会有延迟的
8.1 门级延迟建模
- 门级延迟分为四类
(1)上升延迟:表示信号由0、x或z状态变化到1状态时受到的门传输延迟
(2)下降延迟:表示信号由 1、x或z状态变化到0状态时受到的门传输延迟
(3)到不定态的延迟:表示信号由01或z态变化到x状态时受到的门传输延迟(只在仿真有意义)
(4)截止延迟:表示信号由 0、1或x状态变化到z状态时受到的门传输延迟
8.1.1 门级延迟的基本延迟表达形式
- 在门级延迟的基本表达形式下,delay 内可以包含0~3个延迟值,表 5.8-1 给出了指定的不同延迟值个数时 delay 的4种表示形式