コード例 #1
0
ファイル: joinPrioritized.py プロジェクト: mfkiwl/hwtLib
    def _impl(self) -> None:
        join = HsJoinPrioritized(self.INTF_CLS)
        join._updateParamsFrom(self)
        join.get_valid_signal = self.get_valid_signal
        join.get_ready_signal = self.get_ready_signal

        self.join = join

        # en override
        ens = [
            self._reg(f"en{i:d}", def_val=0) for i in range(len(self.dataIn))
        ]
        all_0 = ~Or(*ens)
        for en_flag, din, c_din in zip(ens, self.dataIn, self.join.dataIn):
            en = (all_0 | en_flag)
            vld = self.get_valid_signal(c_din)
            vld(en & self.get_valid_signal(din))
            rd = self.get_ready_signal(din)
            rd(en & self.get_ready_signal(c_din))
            self.dataConnectionExpr(din, c_din)
            If(rd & vld, en_flag(~din.last))
        self.dataOut(join.dataOut)
コード例 #2
0
ファイル: joinFair.py プロジェクト: jesseclin/hwtLib
 def _declr(self):
     HsJoinPrioritized._declr(self)
     addClkRstn(self)
     if self.EXPORT_SELECTED:
         s = self.selectedOneHot = VldSynced()._m()
         s._replaceParam(s.DATA_WIDTH, self.INPUTS)
コード例 #3
0
ファイル: joinFair.py プロジェクト: jesseclin/hwtLib
 def _config(self):
     HsJoinPrioritized._config(self)
     self.EXPORT_SELECTED = Param(True)
コード例 #4
0
ファイル: joinPrioritized_test.py プロジェクト: Nic30/hwtLib
 def _declr(self):
     HsJoinPrioritized._declr(self)
     addClkRstn(self)
コード例 #5
0
ファイル: joinPrioritized_test.py プロジェクト: mfkiwl/hwtLib
 def _declr(self):
     HsJoinPrioritized._declr(self)
     addClkRstn(self)
コード例 #6
0
ファイル: joinFair.py プロジェクト: Nic30/hwtLib
 def _declr(self):
     HsJoinPrioritized._declr(self)
     addClkRstn(self)
     if self.EXPORT_SELECTED:
         s = self.selectedOneHot = VldSynced()._m()
         s._replaceParam(s.DATA_WIDTH, self.INPUTS)
コード例 #7
0
ファイル: joinFair.py プロジェクト: Nic30/hwtLib
 def _config(self):
     HsJoinPrioritized._config(self)
     self.EXPORT_SELECTED = Param(True)
コード例 #8
0
ファイル: joinPrioritized.py プロジェクト: mfkiwl/hwtLib
 def _declr(self) -> None:
     addClkRstn(self)
     HsJoinPrioritized._declr(self)