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:
whitequark 2019-06-03 02:54:17 +00:00
parent dc17d06fe9
commit f417725b10
2 changed files with 3 additions and 3 deletions

View file

@ -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)

View file

@ -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"