@@ -603,7 +603,9 @@ def __getitem__(self, r):
603603
604604 #-------------------------------------------------------------------------
605605 def copy_params (self , src , prefix = None , postfix = None ,
606- include = None , exclude = None , rename_exclude = None ):
606+ include = None , exclude = None , rename_exclude = None ,
607+ use_fullmatch = False ):
608+
607609 if prefix is None :
608610 prefix = ''
609611 if postfix is None :
@@ -628,9 +630,13 @@ def copy_params(self, src, prefix=None, postfix=None,
628630 else :
629631 skip = True
630632 for inc in include :
633+ if use_fullmatch :
634+ inc = '' .join (('^' , inc , '$' ))
631635 if re .match (inc , key ):
632636 skip = False
633637 for ex in exclude :
638+ if use_fullmatch :
639+ ex = '' .join (('^' , ex , '$' ))
634640 if re .match (ex , key ):
635641 skip = True
636642 if skip :
@@ -644,7 +650,9 @@ def copy_params(self, src, prefix=None, postfix=None,
644650 return ret
645651
646652 def copy_params_as_localparams (self , src , prefix = None , postfix = None ,
647- include = None , exclude = None , rename_exclude = None ):
653+ include = None , exclude = None , rename_exclude = None ,
654+ use_fullmatch = False ):
655+
648656 if prefix is None :
649657 prefix = ''
650658 if postfix is None :
@@ -669,9 +677,13 @@ def copy_params_as_localparams(self, src, prefix=None, postfix=None,
669677 else :
670678 skip = True
671679 for inc in include :
680+ if use_fullmatch :
681+ inc = '' .join (('^' , inc , '$' ))
672682 if re .match (inc , key ):
673683 skip = False
674684 for ex in exclude :
685+ if use_fullmatch :
686+ ex = '' .join (('^' , ex , '$' ))
675687 if re .match (ex , key ):
676688 skip = True
677689 if skip :
@@ -686,7 +698,9 @@ def copy_params_as_localparams(self, src, prefix=None, postfix=None,
686698 return ret
687699
688700 def copy_localparams (self , src , prefix = None , postfix = None ,
689- include = None , exclude = None , rename_exclude = None ):
701+ include = None , exclude = None , rename_exclude = None ,
702+ use_fullmatch = False ):
703+
690704 if prefix is None :
691705 prefix = ''
692706 if postfix is None :
@@ -711,9 +725,13 @@ def copy_localparams(self, src, prefix=None, postfix=None,
711725 else :
712726 skip = True
713727 for inc in include :
728+ if use_fullmatch :
729+ inc = '' .join (('^' , inc , '$' ))
714730 if re .match (inc , key ):
715731 skip = False
716732 for ex in exclude :
733+ if use_fullmatch :
734+ ex = '' .join (('^' , ex , '$' ))
717735 if re .match (ex , key ):
718736 skip = True
719737 if skip :
@@ -727,7 +745,9 @@ def copy_localparams(self, src, prefix=None, postfix=None,
727745 return ret
728746
729747 def copy_ports (self , src , prefix = None , postfix = None ,
730- include = None , exclude = None , rename_exclude = None ):
748+ include = None , exclude = None , rename_exclude = None ,
749+ use_fullmatch = False ):
750+
731751 if prefix is None :
732752 prefix = ''
733753 if postfix is None :
@@ -752,9 +772,13 @@ def copy_ports(self, src, prefix=None, postfix=None,
752772 else :
753773 skip = True
754774 for inc in include :
775+ if use_fullmatch :
776+ inc = '' .join (('^' , inc , '$' ))
755777 if re .match (inc , key ):
756778 skip = False
757779 for ex in exclude :
780+ if use_fullmatch :
781+ ex = '' .join (('^' , ex , '$' ))
758782 if re .match (ex , key ):
759783 skip = True
760784 if skip :
@@ -768,7 +792,9 @@ def copy_ports(self, src, prefix=None, postfix=None,
768792 return ret
769793
770794 def copy_ports_as_vars (self , src , prefix = None , postfix = None ,
771- include = None , exclude = None , rename_exclude = None , use_wire = False ):
795+ include = None , exclude = None , rename_exclude = None ,
796+ use_fullmatch = False , use_wire = False ):
797+
772798 if prefix is None :
773799 prefix = ''
774800 if postfix is None :
@@ -793,9 +819,13 @@ def copy_ports_as_vars(self, src, prefix=None, postfix=None,
793819 else :
794820 skip = True
795821 for inc in include :
822+ if use_fullmatch :
823+ inc = '' .join (('^' , inc , '$' ))
796824 if re .match (inc , key ):
797825 skip = False
798826 for ex in exclude :
827+ if use_fullmatch :
828+ ex = '' .join (('^' , ex , '$' ))
799829 if re .match (ex , key ):
800830 skip = True
801831 if skip :
@@ -812,7 +842,9 @@ def copy_ports_as_vars(self, src, prefix=None, postfix=None,
812842 return ret
813843
814844 def copy_vars (self , src , prefix = None , postfix = None ,
815- include = None , exclude = None , rename_exclude = None ):
845+ include = None , exclude = None , rename_exclude = None ,
846+ use_fullmatch = False ):
847+
816848 if prefix is None :
817849 prefix = ''
818850 if postfix is None :
@@ -837,9 +869,13 @@ def copy_vars(self, src, prefix=None, postfix=None,
837869 else :
838870 skip = True
839871 for inc in include :
872+ if use_fullmatch :
873+ inc = '' .join (('^' , inc , '$' ))
840874 if re .match (inc , key ):
841875 skip = False
842876 for ex in exclude :
877+ if use_fullmatch :
878+ ex = '' .join (('^' , ex , '$' ))
843879 if re .match (ex , key ):
844880 skip = True
845881 if skip :
@@ -853,9 +889,12 @@ def copy_vars(self, src, prefix=None, postfix=None,
853889 return ret
854890
855891 def copy_sim_ports (self , src , prefix = None , postfix = None ,
856- include = None , exclude = None , rename_exclude = None , use_wire = False ):
857- return self .copy_ports_as_vars (src , prefix , postfix , include , exclude ,
858- rename_exclude , use_wire )
892+ include = None , exclude = None , rename_exclude = None ,
893+ use_fullmatch = False , use_wire = False ):
894+
895+ return self .copy_ports_as_vars (src , prefix , postfix ,
896+ include , exclude , rename_exclude ,
897+ use_fullmatch , use_wire )
859898
860899 #-------------------------------------------------------------------------
861900 def connect_params (self , targ , prefix = None , postfix = None ,
@@ -879,9 +918,13 @@ def connect_params(self, targ, prefix=None, postfix=None,
879918 else :
880919 skip = True
881920 for inc in include :
921+ if use_fullmatch :
922+ inc = '' .join (('^' , inc , '$' ))
882923 if re .match (inc , key ):
883924 skip = False
884925 for ex in exclude :
926+ if use_fullmatch :
927+ ex = '' .join (('^' , ex , '$' ))
885928 if re .match (ex , key ):
886929 skip = True
887930 if skip :
@@ -918,9 +961,13 @@ def connect_ports(self, targ, prefix=None, postfix=None,
918961 else :
919962 skip = True
920963 for inc in include :
964+ if use_fullmatch :
965+ inc = '' .join (('^' , inc , '$' ))
921966 if re .match (inc , key ):
922967 skip = False
923968 for ex in exclude :
969+ if use_fullmatch :
970+ ex = '' .join (('^' , ex , '$' ))
924971 if re .match (ex , key ):
925972 skip = True
926973 if skip :
0 commit comments