示例#1
0
 def _gen_behavioral_trans_metadata(s, m):
     m.apply(BehavioralRTLIRGenL1Pass())
     m.apply(BehavioralRTLIRTypeCheckL1Pass())
     s.behavioral.rtlir[m] = \
         m._pass_behavioral_rtlir_gen.rtlir_upblks
     s.behavioral.freevars[m] = \
         m._pass_behavioral_rtlir_type_check.rtlir_freevars
示例#2
0
 def _gen_behavioral_trans_metadata( s, m ):
   m.apply( BehavioralRTLIRGenL1Pass( s.tr_top ) )
   m.apply( BehavioralRTLIRTypeCheckL1Pass( s.tr_top ) )
   s.behavioral.rtlir[m] = \
       m.get_metadata( BehavioralRTLIRGenL1Pass.rtlir_upblks )
   s.behavioral.freevars[m] = \
       m.get_metadata( BehavioralRTLIRTypeCheckL1Pass.rtlir_freevars )
示例#3
0
def local_do_test(m):
    """Check if generated behavioral RTLIR is the same as reference."""
    m.elaborate()
    m.apply(BehavioralRTLIRGenL1Pass())
    m.apply(BehavioralRTLIRTypeCheckL1Pass())

    try:
        ref = m._rtlir_test_ref
        for blk in m.get_update_blocks():
            upblk = m._pass_behavioral_rtlir_gen.rtlir_upblks[blk]
            assert upblk == ref[blk.__name__]
    except AttributeError:
        pass