基本元件与用户自定义元件(UDP)——Verilog行为仿真王淑敏632085208013信息学院一、什么是UDP?Verilog语言提供了一整套标准的原语,例如and、nand、or、nor和not等,它们是该语言的一部分,即通常所说的内置原语。然而,在
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
过程中,设计者有时希望使用自己编写的原语。Verilog语言具有定义这种自定义原语的能力,这种原语就是UDP(即用户自定义原语的英文缩写)。UDP是自我完备的,在UDP中不能调用(实例引用)其它模块或者其它原语。1.1基本元件及其用法图1基本元件——基本门1.1基本元件及其用法图2基本元件——开关级1.2用户自定义元件(UDP)定义:UDP的定义以关键字primitive作为开始,然后指定原语名称、输出端口和输入端口。在端口声明部分将端口声明为output或者input。在表示时序的UDP中,输出端口必须被声明为reg型,而且还需有一条可选的initial语句,用于初始化时序逻辑UDP的输出端口。UDP状态表是UDP中最重要的部分,它以关键字table开始, 以关键字endtable结束。状态表定义了如何根据输入状态和当前状态得到输出值,该表也是一个查找表,类似于逻辑真值表。原语定义以关键字endprimitive结束。1.2用户自定义元件(UDP)UDP定义的组成:1.2用户自定义元件(UDP)UDP定义必须遵循以下几条规则: 1.UDP只能采用标量(即1位)输入端口,允许有多个输入端口; 2.UDP只能允许一个标量(即1位)输出端口。输出端口必须出现在端口列表的第一个位置,绝对不允许有多个输出端口; 3.在声明部分,输出端口以关键字output声明。因为表示时序逻辑的UDP需要保存状态,所以其输出端口必须声明为reg类型; 4.输入端口以关键字input声明; 1.2用户自定义元件(UDP)5.表示时序逻辑的UDP中的状态可以用initial语句初始化。该语句是可选的。它将一个1位的值赋给reg类型的输出;6.状态表的项可以包含值0、1或者x。UDP不能处理z值。传送给UDP的z值被当作x值; 7.UDP与模块同级,因而UDP不能在模块内部定义,但可以在模块内部调用(实例引用); 8.UDP不支持inout端口。1.3UDP的类型1) 表示组合逻辑的UDP - 输出仅取决于输入信号的组合逻辑。四选一的多路选择器是典型的表示组合逻辑的UDP的例子; 2) 表示时序逻辑的UDP - 下一个输出值不但取决于当前的输入值还取决于当前的内部状态,锁存器和触发器是两个典型的表示时序逻辑的UDP的例子。1.4 UDP表中的缩写符号 Verilog提供了电平和跳变沿的缩写符号,以便用简洁的方式描述UDP表。下表
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
了所有的缩写符以及它们的含义。二、表示组合逻辑的UDP 表示组合逻辑的UDP根据UDP内部所列出的表示输入和输出关系的状态表,由输入确定输出值。2.1表示组合逻辑的UDP的定义状态表是UDP定义中最重要的部分。 用表示与门的UDP模型来解释状态表最容易使读者理解。下面让我们不使用Verilog语言所提供的与门,自己来定义一个表示与门的原语,并将其命名为udp_and。2.1表示组合逻辑的UDP的定义例1用户自定义原语 udp_and //原语名和端口列表 primitive udp_and (out, a, b); //端口声明语句 output out; //表示组合逻辑时一定不能声明为reg(寄存器)型 input a, b; //输入端口声明 //状态表定义;以关键词 table 开始 table // a b : out; 0 0 : 0; 0 1 : 0; 1 0 : 0; 1 1 : 1; endtable // 状态表定义结束 endprimitive // 自定义原语udp_and 的定义结束2.2状态表的项 为了理解状态表项的表达
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
,仔细观察一下udp_and的状态表。表示组合逻辑的UDP状态表中的每一行的语法形式如下:
….. :