本文来自IEEE Standard for Verilog Hardware Description Language中4.4 strength

1 强度strength

在net声明中指定的两种类型强度如下:
—当声明trireg类型的线网时应该使用充电强度charge strength
—当在相同的声明net语句中对一个net进行连续赋值时应该使用驱动强度drive strength
Gate声明还可以指定驱动强度。关于gate和强度的更多信息请参阅第7条。

1.1 充电强度charge strength

只有trireg net类型使用充电强度规范。对充电存储建模应该使用trireg net类型。充电强度应该由以下三个关键词之一来指定电容的相对大小:
—small
—medium
—large
一个trireg net类型的默认充电强度是medium。
一个trireg net可能对一个充电存储节点建模,这个节点的电荷随着时间衰减。电荷衰减的模拟时间应在trireg网的延迟规范中指定(见7.14.2)。
例如:
trireg a; //充电强度为Medium的trireg net类型
trireg (large) #(0, 0, 50) cap1; //电荷衰减时间为50个时间单位,充电强度为large的triereg net类型
Trireg (small) signed [3:0] cap2; //充电强度为small的有符号4bit trireg向量

1.2 驱动强度drive strength

驱动强度规范允许在相同的声明net的语句中对一个net进行连续赋值。更多详细信息参看第6条。Net强度属性的详细描述在第7条。

2 隐式声明Implicit declarations

在4.2中说明的语法应该被用来显示地声明net和变量。在没有显示声明的情况下,在下列情况下,应假定为默认net类型的隐式net:
—如果在端口表达式声明中使用标识符,则应假定默认net类型的隐式net,其宽度为端口表达式声明的向量宽度。有关端口表达式声明的讨论,请参见12.3.3。
—如果一个标识符在原始实例或模块实例的终端列表中使用,并且该标识符之前没有在实例化出现的作用域中声明,或者在实例化出现的作用域中声明可以直接引用的任何作用域中声明(见12.7),则应假定一个默认网类型的隐式标量网。
—如果一个标识符出现在连续赋值语句的左边,而没有声明标识符之前出现在连续赋值语句的范围或任何范围的声明可以直接引用范围的连续赋值语句出现(见12.7),然后假定一个默认网类型的隐式标量网。关于连续赋值语句的讨论请参见6.1.2。
隐式net声明属于出现net引用的作用域。例如,如果隐式net是由generate块中的引用声明的,那么net只会在那个generate块中隐式声明。后续从generate块外部或同一模块内的另一个generate块中对net的引用要么是非法的,要么会创建另一个不同net的隐式声明(取决于引用是否满足上述条件)。关于生成块的信息请参见12.4。
关于使用’ default_nettype编译器指令隐式声明的net类型控制的讨论,请参见19.2。

【IEEE_Verilog-4.4】Verilog中的充电强度charge strength和驱动强度drive strength相关推荐

  1. 基于VCS使用VPI+PLI/DPI在verilog中调用C程序进行cover property驱动的仿真控制

    本文介绍一种在verilog中,运用PLI+VPI机制调用C程序获得cover property的覆盖情况从而控制仿真的方法,其中的C程序,可以接受传参,且可以有返回值,仿真器选择的VCS. 编写C程 ...

  2. Verilog中基本的数据类型

    Verilog中共有19种数据类型. 基本的四种类型: reg型.wire型.integer型.parameter型. 其他类型:large型.medium型.small型.scalared型.tim ...

  3. verilog中assign和always@(*)的区别和易忽略的点

    今天在做IC的模块验证时,发现某个模块的输出信号为x态,一般遇到x态首先思考以下几种情况: 变量未进行初始化 多个相同驱动强度的信号同时驱动1和0 代码中直接赋值的x态 如果是PAD电路上的X态,则另 ...

  4. Verilog中pullup(scl)和assign (weak0, weak1) scl = 1‘b1的区别

    在Verilog中经常会遇到pullup.pulldown和assign (strength0, strength1),那么它们究竟有什么区别? 它们之间的区别主要是语法和驱动强度. pullup.p ...

  5. verilog中的$display和$wirte

    1.格式 $display(p1,p2, -,pn); $write(p1,p2, -,pn); 这两个函数和系统任务的作用都是用来输出信息,即将参数p2到pn按参数p1给定的格式输出.参数p1通常称 ...

  6. verilog中数组的定义_开源仿真工具Icarus Verilog中的verilog parser

    前面提到用flex和bison开处理命令行参数,回顾一下:开源仿真工具Icarus Verilog中的命令行参数处理方法. 那么Verilog的parser又是怎么实现的呢?简单地说,与做命令行参数的 ...

  7. FPGA的设计艺术(18)如何使用Verilog中的数组对存储器进行建模?

    前言 Verilog中的二维数组很有用,可以使用for以及generate for配合二维数组进行使用,可以代替大量寄存器的场合,其实大量同类寄存器可以使用存储器进行代替,Verilog中可以使用二维 ...

  8. Verilog初级教程(21)Verilog中的延迟控制语句

    文章目录 前言 正文 延迟控制语句 事件控制语句 Named Events Event or operator 往期回顾 参考资料及推荐关注 前言 Verilog中的延迟控制有两种类型–延迟和事件表达 ...

  9. Verilog初级教程(20)Verilog中的`ifdef 条件编译语句

    文章目录 前言 正文 语法 示例 Testbench文件 往期回顾 参考资料及推荐关注 前言 `ifdef条件编译语句在逻辑设计中还是很常见的,但也常见一些滥用的情况,这应该避免. 应该在什么情况下使 ...

最新文章

  1. 数据库笔记: SQL
  2. k8s minikube启动时指定镜像源的启动方式
  3. c++STL容器的Vector
  4. EOJ_1082_Virtual Friends
  5. print writer保留原有信息写文件_Python读写EXCEL文件常用方法大全 - pythonputao
  6. 用单片机制作简单的频率计
  7. Word中两端对齐、分散对齐的区别
  8. 一个非常感人的爱情故事
  9. windows 7 与linux 双系统 安装
  10. 腾讯裁员内幕:顶层反思推动,PCG与CSIG影响最大
  11. 2019年9月全国程序员工资统计,你处于什么位置?
  12. java 实验报告模板_java实验报告模板
  13. y电容如何选型_安规Y电容设计选型
  14. 关于Windows 10 企业版 LTSC重装系统后优化项目
  15. python生成倒计时图片_用Python自动化生成新年倒计时图片
  16. cisTopic——从scATAC-seq数据中同时识别细胞状态和顺式调控主题的R包
  17. JavaScript-时区
  18. 一篇文章带你搞懂 JPA 和 hibernate
  19. Uva10791 质因数分解
  20. 哪些类用来实现java反射机制_JAVA反射机制

热门文章

  1. Squeeze-and-Excitation Networks论文翻译——中文版
  2. 考试系统自动答题,你还在为不及格烦恼么?
  3. 2017年南海区青少年信息学奥林匹克竞赛(小学甲组)
  4. 计算机科学研究算法的局限性,YOCSEF 论坛 | CNCC2018 — 研究经典计算机算法已经过时了吗?...
  5. 腾讯(大连)研发一面-20190620
  6. 元气骑士+蒲公英联机平台联机教程
  7. Paddle2ONNX最新升级:飞桨模型全面支持ONNX协议啦!
  8. linux 应用层gpio中断_linux下GPIO中断驱动US100传感器--Apple的学习笔记
  9. 黑盒测试(什么是黑盒测试 黑盒测试的优缺点 黑盒测试中的测试方法)
  10. 合理运营在线教育社群