build.res: accept a list of clocks in ConstraintManager constructor.
This commit is contained in:
parent
f17375a60b
commit
8c1b5a26b3
|
@ -15,7 +15,7 @@ class ConstraintError(Exception):
|
|||
|
||||
|
||||
class ConstraintManager:
|
||||
def __init__(self, resources):
|
||||
def __init__(self, resources, clocks):
|
||||
self.resources = OrderedDict()
|
||||
self.requested = OrderedDict()
|
||||
self.clocks = OrderedDict()
|
||||
|
@ -25,6 +25,10 @@ class ConstraintManager:
|
|||
self._diffpairs = []
|
||||
|
||||
self.add_resources(resources)
|
||||
for name_number, frequency in clocks:
|
||||
if not isinstance(name_number, tuple):
|
||||
name_number = (name_number, 0)
|
||||
self.add_clock(*name_number, frequency)
|
||||
|
||||
def add_resources(self, resources):
|
||||
for r in resources:
|
||||
|
|
|
@ -17,15 +17,24 @@ class ConstraintManagerTestCase(FHDLTestCase):
|
|||
Subsignal("sda", Pins("N11"))
|
||||
)
|
||||
]
|
||||
self.cm = ConstraintManager(self.resources)
|
||||
self.cm = ConstraintManager(self.resources, [])
|
||||
|
||||
def test_basic(self):
|
||||
self.clocks = [
|
||||
("clk100", 100),
|
||||
(("clk50", 0), 50),
|
||||
]
|
||||
self.cm = ConstraintManager(self.resources, self.clocks)
|
||||
self.assertEqual(self.cm.resources, {
|
||||
("clk100", 0): self.resources[0],
|
||||
("clk50", 0): self.resources[1],
|
||||
("user_led", 0): self.resources[2],
|
||||
("i2c", 0): self.resources[3]
|
||||
})
|
||||
self.assertEqual(self.cm.clocks, {
|
||||
("clk100", 0): 100,
|
||||
("clk50", 0): 50,
|
||||
})
|
||||
|
||||
def test_add_resources(self):
|
||||
new_resources = [
|
||||
|
|
Loading…
Reference in a new issue