org.jchdl.model.gsl.core.datatype.net.Wire.java
 
generated by Intellij IDEA powered by yFiles.
 
一. 类结构
 
 
主要属性:
  1. in
Input port.
 
  1. out
Output port.
 
主要方法:
  1. 赋值方法
assign(Value)是在Wire的Input上赋值为Value。
 
  1. 连线方法
  1. 被连接:assign(Port)
assign(Port)表明Port连接到Wire的Input上。
  1. 主动连接:connect(Port)
Wire的Output连接到Port上,成为Port的upstream。
 
  1. 构造方法
根据连线方式不同,Wire也提供了多个构造方法,以Wire的创建与连接。
  1. Wire(): 默认构造方法,创建一条线,Input和Output为默认值,无连接;
  1. Wire(Value):创建一条线,Input赋值为Value;
  1. Wire(Input):创建一条线,从Input参数获得输入,即参数Input连接到Wire的Input上,作为upstream。
  1. Wire(Output):创建一条线,输出到参数Output,即Wire的output连接到参数Output上。
 
  1. getValue()
获取线的值,(因为线的Input的值和Output的值总是相等,)实际上获取的是Output的值。
 
静态方法:
  1. pullup/pulldown
方便处理线的输入恒为0/1的情况。
 
  1. toGround()
方便处理线的输出接地的情况。
 
 
二. WireVec
 
WireVec即Wire Vector,为辅助类,方便多根线或者一排线的处理,比如创建、赋值、连接等。
 
主要属性:
  1. wires[]
vector中包括的线。
 
主要方法:
  1. 构造方法
  1. WireVec(int nBits): 创建一个包括nBits根线的Wire Vector;
  1. WireVec(int nBits, Value): 创建一个包括nBits根线的Wire Vector,所有线赋值为Value;
  1. WireVec(int, Input[]): 创建一个包括nBits根线的Wire Vector,所有线的Input被Input数组中的Input port连接;
  1. WireVec(int, Output[]):创建一个包括nBits根线的Wire Vector,所有线的Output连接到数组织的Output上;
  1. 连接方法
  1. 被连接:assign(Port[])
  1. 主动连接: connect(Port[])
  1. 赋值方法
  1. assign(Value): 所有线赋值为同一个Value;
  1. assign(Value[]): 每根线分别赋值;
 
  1. 获取其中线的方法
  1. 获取所有线:wires();
  1. 获取某根线:wire(int index): 获取第index根线(从0开始)。如果index = length, 则意为获取第一根线(index = 0);如果是负值,比如-1,意为获取最后一条线(index = length - 1)。
  1. 获取部分线:wires(int from):获取从from开始的所有线;
  1. 获取部分线:wires(int from, int to): [from, to) 获取从from(包含)到to(不包含)的线;
 
静态方法
  1. pullup/pulldown
方便处理多根线的输入恒为0/1的情况。
  1. toGround()
方便处理多根线的输出接地的情况。
 
 

jchdl - GSL Wire的更多相关文章

  1. jchdl - GSL Node

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

  2. jchdl - GSL Port

    https://mp.weixin.qq.com/s/DVmMrCFgNLuZDtssQ85w7A   org.jchdl.model.gsl.core.meta.Port.java   ​​ gen ...

  3. jchdl - GSL实例 - Add

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

  4. jchdl - GSL实例 - Mux4(使用Mux)

    https://mp.weixin.qq.com/s/GrYJ4KXEFRoLLmLnAGoMSA 原理图 ​​ 参考链接 https://github.com/wjcdx/jchdl/blob/ma ...

  5. jchdl - GSL实例 - Mux4(使用WireVec简化输入线声明)

    https://mp.weixin.qq.com/s/yJx_dV6ScUStJtPWVuD38w 原理图 ​​ 参考链接 https://github.com/wjcdx/jchdl/blob/ma ...

  6. jchdl - GSL实例:FullAdder(使用HalfAdder实现)

    https://mp.weixin.qq.com/s/5mcYAllizuxyr3QSNrotrw 全加器是能够计算低位进位的二进制加法电路.与半加器相比,全加器不只考虑本位计算结果是否有进位,也考虑 ...

  7. jchdl - GSL值的传播

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

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

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

  9. jchdl - GSL实例 - Div

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

随机推荐

  1. crontab自动启动小任务例子(每一分钟将当前日期打入一个文件)

      crontab -l #查看当前定时任务列表 显示没有,那么我们来安装一下(必须在root用户下) – yum install vixie-cron  – yum install crontabs ...

  2. 05_CSS入门和高级技巧(3)

    上节课复习 !important不能影响就近原则,远的标签如果加上!important也干不过近的标签! !important不能影响继承权重是0,通过继承的标签加上!important也干不过直接选 ...

  3. pyhanlp安装成功,import导入失败,出现:importerror: cannot import name 'jvmnotfoundexception'

    1.问题描述: pyhanlp成功安装,并且可以正常使用,但是这段时间再去用的时候,发现出问题了,一运行就出现,下面的问题: importerror: cannot import name 'jvmn ...

  4. STM32 Cube之旅-尝试新的开发方式

    尝试使用Cube进行一些开发学习,这里对此做一个梗概,先有一个全面的了解. 文章目录 Cube全家桶 CubeMX CubeIDE CubeProg 结语 Cube全家桶 曾几何时,ST刚推出Cube ...

  5. 明解JAVA 第三章答案

    练习3-1 package candle1220; import java.util.Scanner; public class Nightwatch { public static void mai ...

  6. CF #635D Xenia and Colorful Gems 枚举+二分

    Xenia and Colorful Gems 题意 给出三个数组,在每个数组中选择一个数字x,y,z,,使得\((x-y)^2+(y-z)^2+(x-z)^2\)最小. 思路 我们假设x<=y ...

  7. Java面试札记

    Java面试札记  在最深的夜里,即使是你的影子也会离你而去. 背景:愿某人在中秋节之前吃上大厂月饼!!!@CDZ 1.Java的八种基本数据类型? 整型:byte.int.short.long: 浮 ...

  8. CODING 敏捷实战系列课第五讲:敏捷中国史

    敏捷软件开发方法自 2001 年传入中国以来,历经十多年的发展变迁,目前已经成为国内 IT 企业主流的研发管理方法.敏捷方法的传播和发展历程,是中国 IT 行业发展的剪影.CODING 特邀敏捷顾问. ...

  9. Python-AES加密算法接口测试

    前言 先前已经学过了Python-SHA256加密算法接口测试,今天我跟大家讲解一下AES加密算法的接口如何写python脚本进行测试. 一:安装pycryptodome模块 pip install ...

  10. python迭代器,生成器

    1. 迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外,迭代器的一大 ...