一. 拓扑
 
数字电路的拓扑抽象出来之后比较简单,就是线(Wire)和开关(Switch),门(Gate)也由开关组成。
线多了之后,看上去像网,所以Verilog里面的wire的Data Type为net。如果线是网,那么一个个开关及开关组成的门、门组成的寄存器,则可以看出是抽象的节点(Node)。
 
只有两点:
1.线串接各个节点;
2.节点上带有input/output/inout三种类型的接口(Port),供线连接;
 
二. 值的流动(Propagation)
 
拓扑是静态的,动态的是值的流动。数字电路关注最多的值是0和1,其他还有未知x和高阻z。
 
值经过线,流到连接的节点。根据节点的状态,值会发生反转、减弱,产生延迟传递到节点的输出线。或者被阻断,传不到下一条。或者输出值未改变,下一条未发现变化。等等。
 
三. 事件驱动
 
输入值的变化,根据自身状态,引起输出值的变化。此节点的输出值又作为下一节点的输入值,如此不停的传播。
每一个值的变化,即为一个事件,一个事件的发生,触发了对该事件的处理,该事件的处理,又产生新的事件。
 
如此,静态的拓扑模型为线和节点,动态的模型为事件驱动模型。
 
四. 各自为政
 
上电之后,电路的每一部分都是活的。每一个节点都有自己的输入、处理逻辑和输出,每一个节点只关注自己的输入,旁若无人的进行处理,然后自顾自的输出。这就是数字电路所为并行性的特点。
 
五. 并行性建模
 
数字电路各个组成部分的并行性,并不需要对之进行建模的语言也必须是并行性语言,这是一个很大的误区。
Verilog是并行性语言吗?不是。甚至Verilog本身并不能编译运行,只能靠EDA对模型进行解释,然后仿真。
 
Verilog只是对数字电路的各个模块、模块内的几段逻辑进行建模而已:
描述每个模块的输入、处理逻辑、输出;
描述不同模块的输入、输出连接情况;
 
仅此而已。任何语言都可以对此进行建模。

HDL-数字电路建模的要点的更多相关文章

  1. 【转】Verilog HDL常用建模方式——《Verilog与数字ASIC设计基础》读书笔记(四)

    Verilog HDL常用建模方式——<Verilog与数字ASIC设计基础>读书笔记(四) Verilog HDL的基本功能之一是描述可综合的硬件逻辑电路.所谓综合(Synthesis) ...

  2. UML建模的要点总结

    预备知识: 一.UML的特性与发展现状 UML是一种Language(语言) UML是一种Modeling(建模)Language UML是Unified(统一)Modeling Language 1 ...

  3. 数字电路建模 - jchdl

    https://mp.weixin.qq.com/s/uWU6i30_q7wJT3yVJ8yqnQ   jchdl:Jianchang Constructed Hardware Description ...

  4. 【黑金原创教程】【TimeQuest】【第五章】网表质量与外部模型

    声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...

  5. 【黑金原创教程】【TimeQuest】【第二章】TimeQuest模型角色,网表概念,时序报告

    声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...

  6. 【黑金教程笔记之003】【建模篇】akuei2的Verilog hdl心路

    Verilog hdl不是“编程”是“建模” Verilog hdl语言是一种富有“形状”的语言. 如果着手以“建模”去理解Verilog hdl语言,以“形状”去完成Verilog hdl语言的设计 ...

  7. [Fundamental of Power Electronics]-PART I-3.稳态等效电路建模,损耗和效率-3.5/3.6 示例:Boost变换器中包含的半导体传导损耗/要点小结

    3.5 示例:Boost变换器中包含的半导体传导损耗 作为最后一个示例,让我们考虑对图3.22所示的Boost变换器中的半导体传导损耗进行建模.功率损耗的另一个主要来源是半导体器件的正向电压降引起的传 ...

  8. Verilog HDL那些事_建模篇笔记(实验九:VGA驱动)

    1.了解VGA协议 VGA协议有5个输入信号,列同步信号(HSYNC Signal),行同步信号(VSYNC Signal),红-绿-蓝,颜色信号(RGB Signal). 一帧屏幕的显示是由行从上至 ...

  9. Verilog HDL那些事_建模篇笔记(实验八:键盘解码)

    1.PS2接口与协议时序图 对于PS2的接口来说,需要额外关注的是PIN5与PIN1,一个是时钟,一个是数据.PS2协议对数据的移位是“CLOCK下降沿”有效,其CLOCK的频率通常在10KHz左右. ...

随机推荐

  1. zookeeper(分布式协调框架)简介与集群搭建

    ZooKeeper 的由来: Zookeeper最早起源于雅虎研究院的一个研究小组.在当时,研究人员发现,在雅虎内部很多大型系统基本都需要依赖一个类似的系统来进行分布式协调,但是这些系统往往都存在分布 ...

  2. Vular开发手记#1:设计并实现一个拼插式应用程序框架

    可视化编(rxeditor)辑告一段落,在知乎上发了一个问题,询问前景,虽然看好的不多,但是关注度还是有的,目前为止积累了21w流量,因为这个事,开心了好长一段时间.这一个月的时间,主要在设计制作Vu ...

  3. java web程序员微信群

    关注微信公众号"程序员成长日志",回复关键字"java"扫码进群 本群主要为大家解决工作中遇到的问题遇到的问题发到群里大家集思广益平时可以瞎扯不定期红包

  4. 如何使用 Shebang Line (Python 虚拟环境)

    本文记录,如何在 Python Script 中使用 Shebang 行. Shebang Line 是什么: 也被叫做 Hashbang Line,只要是一个由,井号和叹号#!开头,并构成的字符序列 ...

  5. Linux --登录用户显示-bash-4.2#解决办法

    登录linux系统过后,发现显示的是-bash-4.2# 而不是root@主机名 + 路径的显示方式,发生这种情况的原因是根目录下缺失几个配置文件,从默认配置中拷贝过来就可以解决了: 1 cp /et ...

  6. python selenium unittest Fixture(setUp/tearDown)笔记

    Fixture用途: 1.做测试前后的初始化设置,如测试数据准备,链接数据库,打开浏览器等这些操作都可以使用fixture来实现 2.测试用例的前置条件可以使用fixture实现 Fixture使用: ...

  7. Ubuntu下解决中文显示为方块最佳方法

    一.问题分析 由于Linux系统中并没有包含中文相关的字体库,而不是系统不支持中文或者中文乱码,因此显示给我们的是方块儿 二.解决方法 1.从window系统中的字体库复制需要的中文库到Linux系统 ...

  8. Jenkins 插件 Role Strategy Plugin 使用

    Manage and Assign Roles 1. Manage Roles Global Role 在此处,我们划分了四种权限,分别为: admin:超级管理员角色,管理整个服务: devops: ...

  9. percona 5.6的安装

    yum 安装, 1 如果已经安装过mysql 的东西,先卸载了.yum remove mysql* 包括 /etc/my.cnf 这个东西卸载的时候不会删除. mv /etc/my.cnf /etc/ ...

  10. 走进WebApiClientCore的设计

    WebApiClient WebApiClient是NCC开源社区的一个项目,是目前微服务里http接口调用的一把锋利尖刀,项目早期设计与开发的时候,是基于.netframework的,然后慢慢加入n ...