fuzzers: 007: handle pin/pin and pin/prop aliases

Signed-off-by: Karol Gugala <kgugala@antmicro.com>
This commit is contained in:
Karol Gugala 2019-06-04 20:31:59 +02:00
parent b122f07896
commit 73979fdf04
2 changed files with 60 additions and 10 deletions

View File

@ -1,8 +1,60 @@
{
"ff_init": {
"Q": ["QL", "QH"]
"Q": {
"names" : ["QL", "QH"],
"property" : true
}
},
"reg_init": {
"Q": ["QL", "QH"]
"Q": {
"names" : ["QL", "QH"],
"property" : true
}
},
"rambfifo36e1" : {
"RSTRAMARSTRAMLRST" : {
"names" : ["rstramarstl"],
"property" : false
},
"ADDRARDADDRU0" : {
"names" : ["addrau"],
"property" : false
},
"ADDRARDADDRL15" : {
"names" : ["addra15l"],
"property" : false
},
"RSTRAMARSTRAMU" : {
"names" : ["rstramau"],
"property" : false
},
"ADDRBWRADDRU0" : {
"names" : ["addrbu"],
"property" : false
},
"ADDRBWRADDRL15" : {
"names" : ["addrb15l"],
"property" : false
},
"WEBWEU0" : {
"names" : ["webu"],
"property" : false
},
"DOADO0" : {
"names" : ["doadol", "doadou"],
"property" : false
},
"DOBDO0" : {
"names" : ["dobdol", "dobdou"],
"property" : false
},
"DOPADOP0" : {
"names" : ["dopadopl", "dopadopu"],
"property" : false
},
"DOPBDOP0" : {
"names" : ["dopbdopl", "dopbdopu"],
"property" : false
}
}
}

View File

@ -93,11 +93,14 @@ def pin_in_model(pin, pin_aliases, model, direction=None):
return True, pin
elif extended_pin_name in model.split('_'):
return True, extended_pin_name
elif pin_aliases is not None:
for alias in pin_aliases.get(pin.upper(), ()):
elif (pin_aliases is not None) and (pin.upper() in pin_aliases):
for alias in pin_aliases[pin.upper()]['names']:
pin_alias = alias.lower()
if pin_alias in model.split('_'):
return True, pin
if pin_aliases[pin.upper()]['property']:
return True, pin
else:
return True, pin_alias
return False, None
else:
return False, None
@ -335,11 +338,6 @@ def read_raw_timings(fin, properties, pins, site_pins, pin_alias_map):
# if we still don't have input, give up
if bel_input is None:
delay_loc += 6
if slice.startswith('BRAM'):
print("skipping BRAM for bel:", speed_model_orig)
print("delay_btype_orig:", delay_btype_orig)
print("btype:", btype)
continue
# restore speed model name
speed_model = delay_btype + speed_model_clean