def local_do_test(m): visitor = YosysBehavioralRTLIRToSVVisitorL5(is_sverilog_reserved) for comp, _all_upblks in m._ref_upblk_srcs_yosys.items(): comp.apply(BehavioralRTLIRGenPass()) comp.apply(BehavioralRTLIRTypeCheckPass()) upblks = comp._pass_behavioral_rtlir_gen.rtlir_upblks m_all_upblks = comp.get_update_blocks() for blk in m_all_upblks: upblk_src = visitor.enter(blk, upblks[blk]) upblk_src = "\n".join(upblk_src) assert upblk_src == _all_upblks[blk.__name__]
def local_do_test(m): m.elaborate() m.apply(BehavioralRTLIRGenPass()) m.apply(BehavioralRTLIRTypeCheckPass()) visitor = BehavioralRTLIRToSVVisitorL2(is_sverilog_reserved) upblks = m._pass_behavioral_rtlir_gen.rtlir_upblks m_all_upblks = m.get_update_blocks() for blk in m_all_upblks: upblk_src = visitor.enter(blk, upblks[blk]) upblk_src = "\n".join(upblk_src) assert upblk_src == m._ref_upblk_srcs[blk.__name__]
def local_do_test(m): m.elaborate() m.apply(BehavioralRTLIRGenPass()) m.apply(BehavioralRTLIRTypeCheckPass()) try: visitor = YosysBehavioralRTLIRToSVVisitorL3(is_sverilog_reserved) upblks = m._pass_behavioral_rtlir_gen.rtlir_upblks m_all_upblks = m.get_update_blocks() for blk in m_all_upblks: upblk_src = visitor.enter(blk, upblks[blk]) upblk_src = "\n".join(upblk_src) assert upblk_src == m._ref_upblk_srcs_yosys[blk.__name__] except SVerilogTranslationError: if m._ref_upblk_srcs_yosys is None: pass else: raise
from pymtl3.passes.backends.verilog.util.utility import verilog_reserved from pymtl3.passes.rtlir import BehavioralRTLIRGenPass, BehavioralRTLIRTypeCheckPass from ....testcases import ( CaseBehavioralArraySubCompArrayStructIfcComp, CaseBits32ArraySubCompAttrUpblkComp, CaseBits32SubCompAttrUpblkComp, ) from ..VBehavioralTranslatorL5 import BehavioralRTLIRToVVisitorL5 def run_test(case, m): m.elaborate() visitor = BehavioralRTLIRToVVisitorL5(lambda x: x in verilog_reserved) m.apply(BehavioralRTLIRGenPass(m)) m.apply(BehavioralRTLIRTypeCheckPass(m)) upblks = m.get_metadata(BehavioralRTLIRGenPass.rtlir_upblks) m_all_upblks = m.get_update_blocks() assert len(m_all_upblks) == 1 for blk in m_all_upblks: upblk_src = visitor.enter(blk, upblks[blk]) upblk_src = "\n".join(upblk_src) assert upblk_src + '\n' == case.REF_UPBLK @pytest.mark.parametrize('case', [ CaseBits32SubCompAttrUpblkComp, CaseBits32ArraySubCompAttrUpblkComp, CaseBehavioralArraySubCompArrayStructIfcComp,