org.jchdl.model.gsl.core.meta.Port.java
 
generated by Intellij IDEA powered by yFiles.
 
 
一. 类结构
 
主要属性:
  1. value
代表接口的值,Value类的对象,有四种值:0, 1, x, z。默认值为x。
 
  1. owner
Port的所有者,Wire的Port的所有者为Wire,Node的Port的所有者为Node。
 
  1. upstream/downstreams
与之相连的上级和下级Port。Port只能有一个上级,可以有多个下级。
 
主要方法:
  1. connect
连接。portA.connect(portB)则portA是portB的upstream,而portB是portA的downstream之一。
其他方法无需关心。
 
Port无法直接使用,需要使用它的子类,Input(port)和Output(port)。
 
二. Input/Output
 
Input/Output并无其他属性,他们实现Propagatable接口的propagate()方法。也就是说,他们向下传播值的行为不同(这个单独说明)。
 
三. 线的Port
 
 
线有两个Port,Input和Output。Input port没有downstream,Output port没有upstream。值传播的逻辑由Wire实现,当前的实现逻辑时直接把Input port的值,赋值给Output port。
 
这是显而易见的吗?不是。线,不只有wire一种,Verilog规范中定义了多种Net type:
 
 
他们的输出值并不都等于输入值,甚至有多个输入值,如wor:
 
这里只实现了一种最普通的wire。
 
四. 节点的Port
 
 
节点的Input port上级总是一个Wire的Output port。
1.如果节点是一个原子节点,则该节点的Input port没有downstreams。
2.如果节点是一个复合节点,则该节点的Input的下级是线的Input port。节点Input的值由上级Wire的Output确定,然后直接赋值给下级Wire的Input。
 
节点 Output port的下级总是连着Wire的Input port。
1.如果该节点是一个原子节点,则该节点的Output port没有上级,他们的值由原子节点定义的逻辑,根据Input port的值最终确定。比如与门是一个原子节点,他的Output的值,是两个输入的值相与。
2.如果该节点是一个复合节点,则该节点的Output的上级是Wire的Output。节点Output的值,直接有上级Wire Output的值确定,然后传递给下级Wire的Input。
 
 
 

jchdl - GSL Port的更多相关文章

  1. jchdl - GSL Wire

    https://mp.weixin.qq.com/s/4w_wwwCd6iBhh0QR2wK81Q   org.jchdl.model.gsl.core.datatype.net.Wire.java ...

  2. jchdl - GSL实例 - Concat

    https://mp.weixin.qq.com/s/oJY6Xj9_oM1gSmvH_dHkJg   Concat节点把多根输入线线组合成一排线输出.   参考链接 https://github.c ...

  3. jchdl - GSL实例 - Add

    https://mp.weixin.qq.com/s/6xcYYdYZTBPTf25xFluzBQ   使用FullAdder级联实现加法器   参考链接: https://github.com/wj ...

  4. jchdl - GSL实例 - Mux4

    https://mp.weixin.qq.com/s/hh0eExVFC6cxzpvNI1cA9A 使用门实现四选一选择器. 原理图 ​​ 参考链接 https://github.com/wjcdx/ ...

  5. jchdl - GSL值的传播

    https://mp.weixin.qq.com/s/jgMljoca-Cwe9x0NaTLzZg   GSL的拓扑模型是线和节点连接的模型,值的传播,即是值在线和节点之间传播和转化的过程.   值的 ...

  6. jchdl - GSL Node

    https://mp.weixin.qq.com/s/Oa4qgjIUccu5Y-Jlqcyn_A   org.jchdl.model.gsl.core.meta.Node.java   ​​ gen ...

  7. jchdl - GSL实例 - DFlipFlop(D触发器)

    https://mp.weixin.qq.com/s/7N3avTxTd2ZUnAcKg4w3Ig   D触发器对边沿敏感,只有当相应的边沿出现时,才会触发D的值传播到输出Q.   ​​ 引自:htt ...

  8. jchdl - GSL实例 - Div

    因为对除法研究不深,这里略去不表.   有兴趣可以参考链接: https://github.com/wjcdx/jchdl/blob/master/src/org/jchdl/model/gsl/op ...

  9. jchdl - GSL实例 - MulC2(有符号数的乘法)

      这里的实现,先把符号位取出来,使用两个正数相乘,然后在把符号加到乘积上.   参考链接 https://github.com/wjcdx/jchdl/blob/master/src/org/jch ...

随机推荐

  1. P1353 Running S

    题意:https://www.luogu.com.cn/problem/P1353 奶牛们打算通过锻炼来培养自己的运动细胞,作为其中的一员,贝茜选择的运动方式是每天进行 n 分钟的晨跑.在每分钟的开始 ...

  2. 关于Cookie的一点简单认识

    1.Cookie Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一服务器,是在客户端保持状态的方案.通常每个 Cookie 的大小不能超过4KB.客户端每次向服务器发出请求,就 ...

  3. 【HBase】表模型和基本操作介绍

    目录 HBase表模型 常用Shell操作 HBase表模型 创建一个hbase表,必须要有表名和列族名 列族 -- columnFamily,就是上图中的Column Family1 userInf ...

  4. SQLserver分库分表

    https://blog.csdn.net/ExceptionalBoy/article/details/78851327

  5. gather函数

    gather(input, dim, index):根据  index,在  dim  维度上选取数据,输出的  size  与  index  一致 # input (Tensor) – 源张量 # ...

  6. python100例 21-30

    021 猴子吃桃 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早 ...

  7. Codeforces 832D(Misha, Grisha and Underground,LCA)

    题意:在一棵生成树上,给出了三个点,求三个点之间最大的相交点数,CF难度1900. 题解:求出三个lca,并取深度最大的那个,就是我们要的三岔路口K,然后分别求出K到a,b,c三点的路径长度,取最大值 ...

  8. MySQL数据库回表与索引

    目录 回表的概念 1.stu_info表案例 2.查看刚刚建立的表结构 3.插入测试数据 4.分析过程 5.执行计划 回表的概念 先得出结论,根据下面的实验.如果我要获得['liu','25']这条记 ...

  9. python之Python内置函数一览表

    Python 解释器自带的函数叫做内置函数,这些函数可以直接使用,不需要导入某个模块. 如果你熟悉 Shell 编程,了解什么是 Shell 内置命令,那么你也很容易理解什么是 Python 内置函数 ...

  10. vue中使用mixins

    Mixins (混合或混入)——定义的是一个对象 1.概念:一种分发Vue组件可复用功能的非常灵活的方式.混入对象可以包含任意组件选项(组件选项:data.watch.computed.methods ...