• jchdl


     
    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。
     
     
     
  • 相关阅读:
    Java实现 LeetCode 637 二叉树的层平均值(遍历树)
    Java实现 LeetCode 637 二叉树的层平均值(遍历树)
    PHP xml_set_object() 函数
    PHP xml_set_notation_decl_handler() 函数
    PHP xml_set_external_entity_ref_handler() 函数
    PHP xml_set_element_handler() 函数
    PHP xml_set_default_handler() 函数
    最小直列大小 | min-inline-size (Logical Properties)
    最小宽度 | @viewport.min-width (Device Adaptation)
    最小块大小 | min-block-size (Logical Properties)
  • 原文地址:https://www.cnblogs.com/wjcdx/p/9616049.html
Copyright © 2020-2023  润新知