--- /dev/null
+Return-path: <libre-riscv-dev-bounces@lists.libre-riscv.org>
+Envelope-to: publicinbox@libre-riscv.org
+Delivery-date: Mon, 20 Apr 2020 20:09:01 +0100
+Received: from localhost ([::1] helo=libre-riscv.org)
+ by libre-soc.org with esmtp (Exim 4.89)
+ (envelope-from <libre-riscv-dev-bounces@lists.libre-riscv.org>)
+ id 1jQbmu-0008Ju-TN; Mon, 20 Apr 2020 20:09:00 +0100
+Received: from localhost ([127.0.0.1] helo=bugs.libre-soc.org)
+ by libre-soc.org with esmtp (Exim 4.89)
+ (envelope-from <bugzilla-daemon@libre-soc.org>) id 1jQbmt-0008Je-0p
+ for libre-riscv-dev@lists.libre-riscv.org; Mon, 20 Apr 2020 20:08:59 +0100
+From: bugzilla-daemon@libre-soc.org
+To: libre-riscv-dev@lists.libre-riscv.org
+Date: Mon, 20 Apr 2020 19:08:59 +0000
+X-Bugzilla-Reason: CC
+X-Bugzilla-Type: changed
+X-Bugzilla-Watch-Reason: None
+X-Bugzilla-Product: Libre-SOC's first SoC
+X-Bugzilla-Component: Hardware Layout
+X-Bugzilla-Version: unspecified
+X-Bugzilla-Keywords:
+X-Bugzilla-Severity: enhancement
+X-Bugzilla-Who: Jean-Paul.Chaput@lip6.fr
+X-Bugzilla-Status: CONFIRMED
+X-Bugzilla-Resolution:
+X-Bugzilla-Priority: ---
+X-Bugzilla-Assigned-To: tanner.of.kha@gmail.com
+X-Bugzilla-Flags:
+X-Bugzilla-Changed-Fields:
+Message-ID: <bug-217-13-z1DJ3S1lHx@https.bugs.libre-soc.org/>
+In-Reply-To: <bug-217-13@https.bugs.libre-soc.org/>
+References: <bug-217-13@https.bugs.libre-soc.org/>
+X-Bugzilla-URL: https://bugs.libre-soc.org/
+Auto-Submitted: auto-generated
+MIME-Version: 1.0
+Subject: [libre-riscv-dev] [Bug 217] create a "ring" system which allows pad
+ locations to be specified conveniently
+X-BeenThere: libre-riscv-dev@lists.libre-riscv.org
+X-Mailman-Version: 2.1.23
+Precedence: list
+List-Id: Libre-RISCV General Development
+ <libre-riscv-dev.lists.libre-riscv.org>
+List-Unsubscribe: <http://lists.libre-riscv.org/mailman/options/libre-riscv-dev>,
+ <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=unsubscribe>
+List-Archive: <http://lists.libre-riscv.org/pipermail/libre-riscv-dev/>
+List-Post: <mailto:libre-riscv-dev@lists.libre-riscv.org>
+List-Help: <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=help>
+List-Subscribe: <http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev>,
+ <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=subscribe>
+Reply-To: Libre-RISCV General Development
+ <libre-riscv-dev@lists.libre-riscv.org>
+Content-Type: text/plain; charset="utf-8"
+Content-Transfer-Encoding: base64
+Errors-To: libre-riscv-dev-bounces@lists.libre-riscv.org
+Sender: "libre-riscv-dev" <libre-riscv-dev-bounces@lists.libre-riscv.org>
+
+aHR0cHM6Ly9idWdzLmxpYnJlLXNvYy5vcmcvc2hvd19idWcuY2dpP2lkPTIxNwoKLS0tIENvbW1l
+bnQgIzY0IGZyb20gSmVhbi1QYXVsLkNoYXB1dEBsaXA2LmZyIC0tLQooSW4gcmVwbHkgdG8gTHVr
+ZSBLZW5uZXRoIENhc3NvbiBMZWlnaHRvbiBmcm9tIGNvbW1lbnQgIzYyKQo+IHRoaXMgaXMgYSBu
+ZXcgb25lLCB0b286Cj4gCj4gJCBtYWtlIGNsZWFuCj4gJCBtYWtlIHZzdAo+ICQgcHl0aG9uIGRv
+QWx1MTYucHkKPiAKPiAgICAgICAgIDxldmVudDowMDAwMDY1OSAwOjkxNy45MTo1Mmw+ICY8aWQ6
+NDgzNyBWZXJ0aWNhbCBvKDExKSBNRVRBTDMgWzEyNWwKPiA1MzVsXSBbMTI1bCA1ODVsXSAybCBy
+cEQ6MiAtLS0tLUNHLS0tLS13LS0tLS1iYi0gWzUzNGw6NTg2bF0gNTJsIDAtLS0tLS0+Cj4gICAg
+ICAgICA8ZXZlbnQ6MDAwMDA2NjAgMDo2NjIuOTM1OjQ3bD4gJjxpZDo0ODA2IFZlcnRpY2FsIG8o
+MikgTUVUQUwzIFsxMjVsCj4gOTBsXSBbMTI1bCAxMzVsXSAybCBycEQ6MiAtLS0tLUNHLS0tLS13
+LS0tLS1iYi0gWzg5bDoxMzZsXSA0N2wgMC0tLS0tLT4KPiAgICAgICAgIDxldmVudDowMDAwMDY2
+MSAwOjY2Mi45MzU6MTJsPiAmPGlkOjQ4NDYgVmVydGljYWwgbyg0KSBNRVRBTDMgWzEyNWwKPiAx
+OTBsXSBbMTI1bCAyMDBsXSAybCBycEQ6MiAtLS0tLUNHLS0tLS13LS0tLS1iYi0gWzE4OWw6MjAx
+bF0gMTJsIDAtLS0tLS0+Cj4gICAgICAgICA8ZXZlbnQ6MDAwMDA2NjIgMDo2NjIuOTM1OjdsPiAm
+PGlkOjQ4NjkgVmVydGljYWwgbygxMCkgTUVUQUwzIFsxMjVsCj4gNDk1bF0gWzEyNWwgNTAwbF0g
+MmwgcnBEOjIgLS0tLS1DRy0tLS0tdy0tLS0tYmItIFs0OTRsOjUwMWxdIDdsIDAtLS0tLS0+Cj4g
+ICAgICBvICBSZXBhaXIgU3RhZ2UuCj4gICAgICAgICA8cmVwYWlyLnF1ZXVlOjAwMDAwMDAwPgo+
+ICAgbyAgQ29tcHV0aW5nIHN0YXRpc3RpY3MuCj4gICAgICAtIFByb2Nlc3NlZHMgRXZlbnRzIFRv
+dGFsIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgo+IDY2Mwo+
+ICAgICAgLSBVbmlxdWUgRXZlbnRzIFRvdGFsIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
+Li4uLi4uLi4uLi4uLi4uLi4uLi4KPiA1NzIKPiAgICAgIC0gIyBvZiBHQ2VsbHMKPiAuLi4uLi4u
+Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIDY0Cj4g
+ICAgICAtIFRyYWNrIFNlZ21lbnQgQ29tcGxldGlvbiBSYXRpbyAuLi4uLi4uLi4uLi4uLi4uLi4u
+Li4uLi4uLi4uLiAxMDAlCj4gWzU3MiswXQo+ICAgICAgLSBXaXJlIExlbmd0aCBDb21wbGV0aW9u
+IFJhdGlvIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIDEwMCUKPiBbMTEwMzkrMF0KPiAg
+ICAgIC0gV2lyZSBMZW5ndGggRXhwYW5kIFJhdGlvIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
+Li4uIC0xLjAyJQo+IFttaW46MTExNTNdCj4gICAgICAtIFVucm91dGVkIGhvcml6b250YWxzIC4u
+Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtbmFuJQo+IFswXQo+ICAg
+ICAgLSBVbnJvdXRlZCB2ZXJ0aWNhbHMgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
+Li4uLi4uLi4uLi4gLW5hbiUKPiBbMF0KPiAgICAgIC0gRG9uZSBpbiAuLi4uLi4uLi4uLi4uLi4u
+Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIDAuMDNzLAo+IDQxMzY5NktiCj4gICAg
+ICAtIFJhdyBtZWFzdXJlbWVudHMgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIDAuMDMw
+NzYycywKPiArNDA0S2IvMjg3LjhNYgo+ICAgbyAgQ2hlY2tpbmcgS2F0YW5hIERhdGFiYXNlIGNv
+aGVyZW5jeS4KPiBbU1RPUF0gQWZ0ZXIgcm91dGluZyA8aWQ6MTE5IENlbGwgYWRkPgo+ICAgICAg
+ICBUeXBlIDx5PiB0byBjb250aW51ZSwgPG4+IHRvIGFib3J0OiAoeSkgCj4gCj4gKHkgaGVyZSkK
+PiAKPiAgIEZpbGUgIi9ob21lL2xrY2wvc29jbGF5b3V0L2V4cGVyaW1lbnRzNy91dGlscy5weSIs
+IGxpbmUgMTkzLCBpbiByb3V0ZQo+ICAgICBrYXRhbmEucnVuTmVnb2NpYXRlKEthdGFuYS5GbGFn
+cy5Ob0ZsYWdzKQo+IGh1cnJpY2FuZS5IdXJyaWNhbmVFcnJvcjogW0VSUk9SXSBOZWdvY2lhdGVX
+aW5kb3c6OmNyZWF0ZVRyYWNrU2VnbWVudCgpOiBObwo+IHRyYWNrIG5lYXIgYXhpcyBvZiA8aWQ6
+OTE3MSBWZXJ0aWNhbCBiKDUpIE1FVEFMMyBbLTFsIDI3NWxdIFstMWwgMjc1bF0gMmwKPiBycEQ6
+MTUgLS0tLS1DLS0tLS0tLUFTLWlsLS0tPi4KCiAgSSB3YXMgaG9waW5nIGl0IHdpbGwgbm90IHNo
+b3cuLi4gVGhlIGN1cnJlbnQgd29ya2Fyb3VuZCBpcyB0byBzbGlnaHRseQplbmxhcmdlCiAgdGhl
+IGJsb2NrIGFidXRtZW50IGJveCwgMTAgbGFtYmRhcyBieSAxMCBsYW1iZGFzLgoKLS0gCllvdSBh
+cmUgcmVjZWl2aW5nIHRoaXMgbWFpbCBiZWNhdXNlOgpZb3UgYXJlIG9uIHRoZSBDQyBsaXN0IGZv
+ciB0aGUgYnVnLgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
+XwpsaWJyZS1yaXNjdi1kZXYgbWFpbGluZyBsaXN0CmxpYnJlLXJpc2N2LWRldkBsaXN0cy5saWJy
+ZS1yaXNjdi5vcmcKaHR0cDovL2xpc3RzLmxpYnJlLXJpc2N2Lm9yZy9tYWlsbWFuL2xpc3RpbmZv
+L2xpYnJlLXJpc2N2LWRldgo=
+