13
13
import numpy as np
14
14
import time
15
15
from drills .model import A2C
16
+ from drills .fixed_optimization import optimize_with_fixed_script
16
17
from pyfiglet import Figlet
17
18
18
19
def log (message ):
@@ -29,8 +30,12 @@ def add_usage(self, usage, actions, groups, prefix=None):
29
30
description = 'Performs logic synthesis optimization using RL' )
30
31
parser ._positionals .title = 'Positional arguments'
31
32
parser ._optionals .title = 'Optional arguments'
32
- parser .add_argument ('-v' , '--version' , action = 'version' , version = 'DRiLLS v0.1' , help = "Shows program's version number and exit" )
33
- parser .add_argument ("-l" , "--load_model" , action = 'store_true' , help = "Loads a saved Tensorflow model" )
33
+ parser .add_argument ('-v' , '--version' , action = 'version' , \
34
+ version = 'DRiLLS v0.1' , help = "Shows program's version number and exit" )
35
+ parser .add_argument ("-l" , "--load_model" , action = 'store_true' , \
36
+ help = "Loads a saved Tensorflow model" )
37
+ parser .add_argument ("-s" , "--fixed_script" , type = open , \
38
+ help = "Executes a fixed optimization script before DRiLLS" )
34
39
parser .add_argument ("mode" , type = str , choices = ['train' , 'optimize' ], \
35
40
help = "Use the design to train the model or only optimize it" )
36
41
parser .add_argument ("mapping" , type = str , choices = ['scl' , 'fpga' ], \
@@ -44,6 +49,9 @@ def add_usage(self, usage, actions, groups, prefix=None):
44
49
f = Figlet (font = 'slant' )
45
50
print (f .renderText ('DRiLLS' ))
46
51
52
+ if args .fixed_script :
53
+ params = optimize_with_fixed_script (params , args .fixed_script )
54
+
47
55
if args .mapping == 'scl' :
48
56
fpga_mapping = False
49
57
else :
@@ -72,5 +80,5 @@ def add_usage(self, usage, actions, groups, prefix=None):
72
80
log ('Starting agent to optimize' )
73
81
learner = A2C (options , load_model = True )
74
82
for _ in range (options ['iterations' ]):
75
- # to be completed
83
+ # TODO: iteratively run the optimizer
76
84
pass
0 commit comments