build.res: if not specified, request resource #0.
This markedly differs from oMigen system, which would request consecutive resources. The difference is deliberate; most resources are singular, so it does not matter for them, and for resources where it does matter, which pins are requested should not depend on order of execution of `platform.request`.
This commit is contained in:
parent
dc17d06fe9
commit
f417725b10
|
@ -4,7 +4,7 @@ from nmigen.vendor.ice40_hx1k_blink_evn import *
|
||||||
|
|
||||||
class Blinky(Elaboratable):
|
class Blinky(Elaboratable):
|
||||||
def elaborate(self, platform):
|
def elaborate(self, platform):
|
||||||
clk3p3 = platform.request("clk3p3", 0)
|
clk3p3 = platform.request("clk3p3")
|
||||||
user_led = platform.request("user_led", 0)
|
user_led = platform.request("user_led", 0)
|
||||||
counter = Signal(20)
|
counter = Signal(20)
|
||||||
|
|
||||||
|
|
|
@ -49,13 +49,13 @@ class ConstraintManager:
|
||||||
.format(resource.name, resource.number, other / 1e6))
|
.format(resource.name, resource.number, other / 1e6))
|
||||||
self.clocks[resource.name, resource.number] = frequency
|
self.clocks[resource.name, resource.number] = frequency
|
||||||
|
|
||||||
def lookup(self, name, number):
|
def lookup(self, name, number=0):
|
||||||
if (name, number) not in self.resources:
|
if (name, number) not in self.resources:
|
||||||
raise NameError("Resource {}#{} does not exist"
|
raise NameError("Resource {}#{} does not exist"
|
||||||
.format(name, number))
|
.format(name, number))
|
||||||
return self.resources[name, number]
|
return self.resources[name, number]
|
||||||
|
|
||||||
def request(self, name, number, dir=None, xdr=None):
|
def request(self, name, number=0, *, dir=None, xdr=None):
|
||||||
resource = self.lookup(name, number)
|
resource = self.lookup(name, number)
|
||||||
if (resource.name, resource.number) in self.requested:
|
if (resource.name, resource.number) in self.requested:
|
||||||
raise ConstraintError("Resource {}#{} has already been requested"
|
raise ConstraintError("Resource {}#{} has already been requested"
|
||||||
|
|
Loading…
Reference in a new issue