​ Verilog UDP 基础知识分类

news/2024/7/2 23:27:30

        门级建模中介绍的内置门单元,例如 and,or , nor 等,均属于 Verilog 自带的一整套标准原语,即通常所说的内置原语。此外,Verilog 还为用户提供了自己编写原语的能力,这种原语就是用户自定义原语(User Defined Primitive,简称 UDP)。在 UDP 中,不能调用其他 module 或 primitive,调用方式和门级原语完全相同。

UDP 类型主要有以下 2 种,后面将逐一介绍。

  • 组合逻辑 UDP:输出仅取决于输入信号的组合逻辑。
  • 时序逻辑 UDP:下一个输出值不但取决于当前输入值,还取决于当前的内部状态。

UDP 定义

UDP 的定义不依赖于模块定义,因此可以出现在模块定义外,也可以单独在文件里定义。

UDP 格式定义如下:

实例

primitive UDP_name (
  output_name,
  list_of_input) ;

  output_declaration ;
  list_of_input_declaration ;
  [reg_declaration] ;
  [initial_statement] ;
 
  table
    list_of_table_entries ;
  endtable
endprimitive

UDP 说明

端口声明:

  • 1、端口声明部分和 module 类似,可以在端口列表声明时只列出端口信号然后在 primitive 实体中说明其类型,也可以直接在端口列表声明时就指明其类型。
  • 2、输入端口只能采用标量(即 1 位),允许有多个输入端口。
  • 3、输出端口只允许有一个标量(即 1 位),且输出端口必须出现在端口列表的第一个位置。绝对不允许有多个输出端口。
  • 4、输出端口用 output 关键字说明,时序逻辑 UDP 需要保存状态,则其输出端口还需要声明为 reg 类型。
  • 5、UDP 不支持 inout 端口类型。

初始化

可以用 initial 语句对时序逻辑 UDP 的输出端口(reg 类型)进行初始化,该语句是可选的。

状态表

  • 1、UDP 状态表是 UDP 中最重要的部分,用关键字 table 声明,它定义了如何根据输入状态和当前状态得到输出值,类似于逻辑真值表。
  • 2、状态表的项可以为 0,1,或 x。UDP 不能处理 z 值,所以传递给 UDP 的 z 值会被当做 x 处理。

http://lihuaxi.xjx100.cn/news/163940.html

相关文章

助老服务机器人结构设计

目 录 摘要 I Abstract II 第1章 绪论 1 1.1 课题背景 1 1.2 国外助老服务机器人的研究 1 1.2.1 爱尔兰PAM-AID 助老服务机器人 1 1.2.2 美国SmartCane 助老服务机器人 2 1.2.3 韩国WAR 助老服务机器人 3 1.2.4 日本助老服务机器人 4 1.2.5 可穿戴的外骨骼式助老服务机器人 4 …

让学前端不再害怕英语单词(二)

写了本专栏的第一章让学前端不再害怕英语单词(一)后,反响热度还是比较高的,截止现在已经有20个收藏量了,所以趁热打铁来更第二章 第一章我们简单的介绍了html,css和js的部分高频单词,因为html要…

[附源码]SSM计算机毕业设计置地房屋租赁信息系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

人工智能轨道交通行业周刊-第23期(2022.11.14-11.20)

莫道桑榆晚,为霞尚满天。 --《刘禹锡酬乐天咏老见示》 本期关键词:变电所无人化、钢轨探伤小车、隧道三维巡检、智慧工地、世界杯AI监控 1 整理涉及公众号名单 1.1 行业类 RT轨道交通中关村轨道交通产业服务平台人民铁道世界轨道交通资讯网铁路信…

Java01-JDK1.8下载安装教程(win11版)

文章导航JDK 1.8 官网下载(下载慢)百度网盘下载(下载快)安装过程JDK环境配置教程验证JDK是否安装成功使用JDK1.8的原因当下互联网行情以及个人建议JDK 1.8 官网下载(下载慢) 点击跳转至JDK1.8官方网址 32…

QT+OSG/osgEarth编译之三十二:Exiv2+Qt编译(一套代码、一套框架,跨平台编译,版本:Exiv2-0.27.5)

目录 1、Exiv2介绍 2、文件下载 3、文件分析 4、pro文件 4.1 exiv2-xmp 4.2 exiv2lib_int 4.3 exiv2lib

软件定义汽车产业生态创新白皮书

1 什么是软件定义汽车 1.1 驱动因素 汽车“新四化”的发展需要软件的加持 据大众汽车公开披露信息,未来平均每辆普通汽车软件代码量超 1 亿行。在电动化、智能化和网联化等的发展推动下,汽车将加速向高度数字化、信息化、智能化的移动终端发展。座舱娱…

本专栏及VTK简介

本专栏以VTK用户指南为蓝本,介绍VTK学习过程及学习过程中遇到的各种问题。主要贡献有两个,一是将VTK用户指南的英文版翻译为中文版,一是用C语言重新实现VTK的各个Demo,基于VTK9.2版本。 即为本专栏的内容,会逐步更新。…