2424'''
2525
2626import os , json , re
27- from prjxray import util
27+ from prjxray . util import OpenSafeFile , get_db_root , get_fabric
2828
2929BLOCK_TYPES = set (('CLB_IO_CLK' , 'BLOCK_RAM' , 'CFG_CLB' ))
3030
@@ -85,12 +85,12 @@ class Segmaker:
8585 def __init__ (self , bitsfile , verbose = None , db_root = None , fabric = None ):
8686 self .db_root = db_root
8787 if self .db_root is None :
88- self .db_root = util . get_db_root ()
88+ self .db_root = get_db_root ()
8989 assert self .db_root , "No db root specified."
9090
9191 self .fabric = fabric
9292 if self .fabric is None :
93- self .fabric = util . get_fabric ()
93+ self .fabric = get_fabric ()
9494 assert self .fabric , "No fabric specified."
9595
9696 self .verbose = verbose if verbose is not None else os .getenv (
@@ -129,7 +129,7 @@ def set_def_bt(self, block_type):
129129
130130 def load_grid (self ):
131131 '''Load self.grid holding tile addresses'''
132- with open (os .path .join (self .db_root , self .fabric , "tilegrid.json" ),
132+ with OpenSafeFile (os .path .join (self .db_root , self .fabric , "tilegrid.json" ),
133133 "r" ) as f :
134134 self .grid = json .load (f )
135135 assert "segments" not in self .grid , "Old format tilegrid.json"
@@ -152,7 +152,7 @@ def load_bits(self, bitsfile):
152152 '''
153153 self .bits = dict ()
154154 print ("Loading bits from %s." % bitsfile )
155- with open (bitsfile , "r" ) as f :
155+ with OpenSafeFile (bitsfile , "r" ) as f :
156156 for line in f :
157157 # ex: bit_00020500_000_17
158158 line = line .split ("_" )
@@ -446,7 +446,7 @@ def write(self, suffix=None, roi=False, allow_empty=False):
446446 segments = self .segments_by_type [segtype ]
447447 if segments :
448448 print ("Writing %s." % filename )
449- with open (filename , "w" ) as f :
449+ with OpenSafeFile (filename , "w" ) as f :
450450 for segname , segdata in sorted (segments .items ()):
451451 # seg 00020300_010
452452 print ("seg %s" % segname , file = f )
0 commit comments