--- /dev/null
+Return-path: <libre-riscv-dev-bounces@lists.libre-riscv.org>
+Envelope-to: publicinbox@libre-riscv.org
+Delivery-date: Mon, 20 Apr 2020 16:55:57 +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 1jQYm4-0005nD-Nb; Mon, 20 Apr 2020 16:55:56 +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 1jQYm3-0005n1-H8
+ for libre-riscv-dev@lists.libre-riscv.org; Mon, 20 Apr 2020 16:55:55 +0100
+From: bugzilla-daemon@libre-soc.org
+To: libre-riscv-dev@lists.libre-riscv.org
+Date: Mon, 20 Apr 2020 15:55:55 +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: lkcl@lkcl.net
+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-CVxW07BRUP@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
+bnQgIzU4IGZyb20gTHVrZSBLZW5uZXRoIENhc3NvbiBMZWlnaHRvbiA8bGtjbEBsa2NsLm5ldD4g
+LS0tCihJbiByZXBseSB0byBKZWFuLVBhdWwuQ2hhcHV0IGZyb20gY29tbWVudCAjNTcpCj4gSGVs
+bG8gSm9jayAmIEx1a2UsCj4gCj4gSSBqdXN0IGNvbW1pdGVkIGluIENvcmlvbGlzICYgc29jbGF5
+b3V0IG15IGxhdGVzdCBjb3JyZWN0aW9ucyBhbmQKPiBlbmhhbmNlbWVudHMuIFlvdSB3aWxsIGZp
+bmQgdW5kZXIgZXhwZXJpbWVudDcvU3RhdHVzLnJzdAo+IGRldGFpbGVkIGNvbW1lbnRzIGFib3V0
+IHdoYXQgSSBoYXZlIGRvbmUgYW5kIHRoZSByZW1haW5pbmcKPiBxdWVzdGlvbnMuCgphcHByZWNp
+YXRlZC4KCmhtbSBpcyBldmVyeXRoaW5nIGNvbW1pdHRlZD8gaSBqdXN0IGdpdCBwdWxsZWQgdXAg
+dG8gaGVyZToKCmNvbW1pdCA4OTc4MDc0ZmU3MmFjYjkwYjk0YTZjM2IyMGJhODIwYTFiNzUzYjY5
+CkF1dGhvcjogSmVhbi1QYXVsIENoYXB1dCA8SmVhbi1QYXVsLkNoYXB1dEBsaXA2LmZyPgpEYXRl
+OiAgIE1vbiBBcHIgMjAgMTI6NTM6MDcgMjAyMCArMDIwMAoKYW5kIGZvciBhbGxpYW5jZS1jaGVj
+ay10b29sa2l0Ogpjb21taXQgYjllNWQzNzk1M2I0MjNiMmExN2MwNTk5Mjg5ZDA2ODI0NDdjNWYz
+NQpBdXRob3I6IEplYW4tUGF1bCBDaGFwdXQgPEplYW4tUGF1bC5DaGFwdXRAbGlwNi5mcj4KRGF0
+ZTogICBGcmkgQXByIDEwIDEyOjI2OjE1IDIwMjAgKzAyMDAKCnRoZSByZWFzb24gaSBhc2sgaXMg
+YmVjYXVzZSBhZnRlciByZWJ1aWxkaW5nIGNvcmlvbGlzMiBpIGdldCB0aGlzOgoKVHJhY2ViYWNr
+IChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogIEZpbGUgImRvQWx1MTZGbGF0LnB5IiwgbGluZSAx
+MzcsIGluIDxtb2R1bGU+CiAgICBzdWNjZXNzID0gc2NyaXB0TWFpbigqKmt3YXJncykKICBGaWxl
+ICJkb0FsdTE2RmxhdC5weSIsIGxpbmUgMTMyLCBpbiBzY3JpcHRNYWluCiAgICByZXR1cm4gYWx1
+MTYuYnVpbGQoKQogIEZpbGUgImRvQWx1MTZGbGF0LnB5IiwgbGluZSA4OSwgaW4gYnVpbGQKICAg
+IHJlc3VsdCA9IHNlbGYucm91dGUoKQogIEZpbGUgIi9ob21lL2xrY2wvc29jbGF5b3V0L2V4cGVy
+aW1lbnRzNy91dGlscy5weSIsIGxpbmUgMTkxLCBpbiByb3V0ZQogICAga2F0YW5hLmxvYWRHbG9i
+YWxSb3V0aW5nKEFuYWJhdGljLkVuZ2luZUxvYWRHckJ5TmV0KQpodXJyaWNhbmUuSHVycmljYW5l
+RXJyb3I6IFtCVUddIFVubWFuYWdlZCBDb25maWd1cmF0aW9uIFsxNjg0MzI2Nl0gPQpbMisyKzAr
+MSwxKzBdIDxpZDoxNDkyIE5ldCAiYSg1KSIgZS0tIExPR0lDQUwgaS0tLSAoSU4pPiBpbiA8aWQ6
+NTMyNQpBbmFiYXRpYzo6R0NlbGwgPEJveCAyMDBsIDBsIDI1MGwgNTBsPiAtLS0tLS0tLS0tTS0t
+LSxpLUEtIDE1PgogICAgICBUaGUgZ2xvYmFsIHJvdXRpbmcgc2VlbXMgdG8gYmUgZGVmZWN0aXZl
+LgoKLS0gCllvdSBhcmUgcmVjZWl2aW5nIHRoaXMgbWFpbCBiZWNhdXNlOgpZb3UgYXJlIG9uIHRo
+ZSBDQyBsaXN0IGZvciB0aGUgYnVnLgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
+X19fX19fX19fX19fXwpsaWJyZS1yaXNjdi1kZXYgbWFpbGluZyBsaXN0CmxpYnJlLXJpc2N2LWRl
+dkBsaXN0cy5saWJyZS1yaXNjdi5vcmcKaHR0cDovL2xpc3RzLmxpYnJlLXJpc2N2Lm9yZy9tYWls
+bWFuL2xpc3RpbmZvL2xpYnJlLXJpc2N2LWRldgo=
+