fix ff annotation
This commit is contained in:
1 parent
ec37e11fef
commit
a2df0e5682
1 file changed
+3
-5
+3
-5
@@ -9,6 +9,7 @@ Call :py:func:`DelayFile.annotation` to match the intermediate representation to
|
||||
"""
|
||||
|
||||
from collections import namedtuple
|
||||
import re
|
||||
|
||||
import numpy as np
|
||||
from lark import Lark, Transformer
|
||||
@@ -93,13 +94,11 @@ class DelayFile:
|
||||
if cell is None:
|
||||
log.warn(f'Cell from SDF not found in circuit: {cn}')
|
||||
continue
|
||||
ipn = re.sub(r'\((neg|pos)edge ([^)]+)\)', r'\2', ipn)
|
||||
ipin = tlib.pin_index(cell.kind, ipn)
|
||||
opin = tlib.pin_index(cell.kind, opn)
|
||||
kind = cell.kind.lower()
|
||||
|
||||
ipn2 = ipn.replace('(posedge A1)', 'A1').replace('(negedge A1)', 'A1')\
|
||||
.replace('(posedge A2)', 'A2').replace('(negedge A2)', 'A2')
|
||||
|
||||
def add_delays(_line):
|
||||
if _line is not None:
|
||||
timing[_line, :, 0] += select_del(delvals, 0)
|
||||
@@ -107,13 +106,12 @@ class DelayFile:
|
||||
|
||||
take_avg = False
|
||||
if kind.startswith('sdff'):
|
||||
if not ipn.startswith('(posedge CLK'):
|
||||
if not ipn.startswith('CLK'):
|
||||
continue
|
||||
if ffdelays and (len(cell.outs) > opin):
|
||||
add_delays(cell.outs[opin])
|
||||
else:
|
||||
if kind.startswith(('xor', 'xnor')):
|
||||
ipin = tlib.pin_index(cell.kind, ipn2)
|
||||
# print(ipn, ipin, times[cell.i_lines[ipin], 0, 0])
|
||||
take_avg = timing[cell.ins[ipin]].sum() > 0
|
||||
add_delays(cell.ins[ipin])
|
||||
|
||||
Reference in new issue
Block a user