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):
|
||||
def elaborate(self, platform):
|
||||
clk3p3 = platform.request("clk3p3", 0)
|
||||
clk3p3 = platform.request("clk3p3")
|
||||
user_led = platform.request("user_led", 0)
|
||||
counter = Signal(20)
|
||||
|
||||
|
|
|
@ -49,13 +49,13 @@ class ConstraintManager:
|
|||
.format(resource.name, resource.number, other / 1e6))
|
||||
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:
|
||||
raise NameError("Resource {}#{} does not exist"
|
||||
.format(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)
|
||||
if (resource.name, resource.number) in self.requested:
|
||||
raise ConstraintError("Resource {}#{} has already been requested"
|
||||
|
|
Loading…
Reference in a new issue