jchdl - GSL Port

 
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。
相關文章
相關標籤/搜索