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