--- /dev/null
+Return-path: <libre-riscv-dev-bounces@lists.libre-riscv.org>
+Envelope-to: publicinbox@libre-riscv.org
+Delivery-date: Mon, 16 Mar 2020 23:38:15 +0000
+Received: from localhost ([::1] helo=libre-riscv.org)
+ by libre-riscv.org with esmtp (Exim 4.89)
+ (envelope-from <libre-riscv-dev-bounces@lists.libre-riscv.org>)
+ id 1jDzJG-0006zy-Af; Mon, 16 Mar 2020 23:38:14 +0000
+Received: from localhost ([127.0.0.1] helo=bugs.libre-riscv.org)
+ by libre-riscv.org with esmtp (Exim 4.89)
+ (envelope-from <bugzilla-daemon@libre-riscv.org>) id 1jDzJE-0006zm-Ox
+ for libre-riscv-dev@lists.libre-riscv.org; Mon, 16 Mar 2020 23:38:12 +0000
+From: bugzilla-daemon@libre-riscv.org
+To: libre-riscv-dev@lists.libre-riscv.org
+Date: Mon, 16 Mar 2020 23:38:13 +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-QL3CvRARG7@http.bugs.libre-riscv.org/>
+In-Reply-To: <bug-217-13@http.bugs.libre-riscv.org/>
+References: <bug-217-13@http.bugs.libre-riscv.org/>
+X-Bugzilla-URL: http://bugs.libre-riscv.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>
+
+aHR0cDovL2J1Z3MubGlicmUtcmlzY3Yub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTcKCi0tLSBDb21t
+ZW50ICMxMCBmcm9tIEx1a2UgS2VubmV0aCBDYXNzb24gTGVpZ2h0b24gPGxrY2xAbGtjbC5uZXQ+
+IC0tLQooSW4gcmVwbHkgdG8gSmVhbi1QYXVsLkNoYXB1dCBmcm9tIGNvbW1lbnQgIzgpCgo+ICAg
+T2J2aW91c2x5LiBCZWNhdXNlIGl0IHdvcmtzIG9uIG15IGVuZC4gSSB3aWxsIHJlZG8gdGhlIHdo
+b2xlIGluc3RhbGwKPiAgIHByb2Nlc3MgdW5kZXIgRGViaWFuIDEwIGluIHRoZSBuZXh0IGZldyBk
+YXlzIHRvIHNlZSBpZiBJIGNhbiByZXByb2R1Y2UKPiAgIHlvdXIgcHJvYmxlbS4KCmkgZm9yZ290
+IHRvIHNheSwgamVhbi1wYXVsOiBpIGhhdmUgZGViaWFuLzEwIG5vdyBhcyB3ZWxsLiB0aGUgImV4
+cG9ydApMRF9MSUJSQVJZX1BBVEg9Li4uLmxpYiBleHBvcnQgTERfTElCUkFSWV9QQVRIPSAuLi4g
+bGliNjQiIGhhY2sgc2hvd24gaGVyZQptYWtlcyB0aGUgaW5zdGFsbCAid29yayIgd2l0aCBubyBt
+b2RzIG5lZWRlZCB0byBhbGxpYW5jZS9jb3Jpb2xpczIKaHR0cHM6Ly9saWJyZS1yaXNjdi5vcmcv
+SERMX3dvcmtmbG93L2NvcmlvbGlzMi8KCmFsc28sIHdlIGFyZSBkb2luZyBzb2NsYXlvdXQvZXhw
+ZXJpbWVudDcgd2hpY2ggaXMgYSBkdXBsaWNhdGUgb2YKYmVuY2hzL25taWdlbi9hbHVfaGllciAo
+Zm9yIG5vdykKCgo+ICAKPiA+IEkgaG9wZSBJIHdhcyBhYmxlIHRvIHNvbWVob3cgYWRkcmVzcyB0
+aGUgaXNzdWUgb2YgY3JlYXRpbmcgdGhlIGxheWVyIEx1a2UKPiA+IG1lbnRpb25zOgo+ID4gCj4g
+PiBodHRwczovL2dpdC5saWJyZS1yaXNjdi5vcmcvP3A9c29jbGF5b3V0LmdpdDthPWJsb2I7Zj1l
+eHBlcmltZW50czcvZG9BbHUxNi4KPiA+IHB5O2hiPUhFQUQjbDI1Cj4gPiAKPiA+IEJ1dCBvdGhl
+cndpc2UgSSBhbSBsb3N0LiBBbmQgdGhlIG92ZXJhbGwgcXVhbGl0eSBvZiB0aGUgUHl0aG9uIGNv
+ZGUgSSdtCj4gPiBkZWFsaW5nIHdpdGggaW4gQ29yaW9saXMgbWFrZXMgbWUgd2FudCB0byBwb2tl
+IG15IGV5ZXMgb3V0LiBJJ20gdGVycmlibHkKPiA+IHNvcnJ5IGlmIEkgb2ZmZW5kZWQgc29tZW9u
+ZSwgYnV0IGF0IHRoZSBzYW1lIHRpbWUgSSdtIHN1cmUgSSdtIG5vdCB0aGUgb25seQo+ID4gb25l
+IHNheWluZyB0aGlzLiBJIHdvbmRlciB3aHkgaXQgaXMgc28gYmFkIGFuZCB3aGVyZSB0byBzdGFy
+dCBpbXByb3ZpbmcgaXQuCj4gCj4gICBDb3Jpb2xpcyBoYXMgYWx3YXlzIGJlZW4gdHJpY2t5IHRv
+IGluc3RhbGwgZnJvbSBzb3VyY2VzIChidXQgdHJ5IHRvIGJ1aWxkCj4gICB0aGUgd2hvbGUgR25v
+bWUzIHN0YWNrIGluc3RlYWQgb2YgdXNpbmcgcGFja2FnZWQgdmVyc2lvbnMgdG8gbWFrZSBhIGZh
+aXIKPiAgIGNvbXBhcmlzb24pLiAKCmVlayEgOikKCj4gICBidXQgcmFudGluZyBhYm91dCAidGhp
+cyBpcyBiYWRseSB3cml0dGVuIiBkbyBub3QgaGVscC4gSSBmbGF0dGVyIG15c2VsZgo+ICAgdG8g
+aGF2ZSB0aGUgInNjaWVudGlmaWMgc3Bpcml0Iiwgc28gaWYgeW91IHBpbnBvaW50IG1lIGJhZGx5
+IHdyaXR0ZW4gY29kZQo+ICAgYW5kICp3aHkqIGl0IGlzIHNvICh3aXRoIHJlZmVyZW5jZSksIEkg
+d2lsbCBpbXByb3ZlIGl0IGluIG15IGZ1dHVyIGNvZGUKPiAgIGFuZCBwcm9ncmVzc2l2ZWx5IHJl
+d3JpdGUgdGhlIG9sZCBvbmUuCgpub25lIG9mIHRoZSBweXRob24gY29kZSBpcyBwZXA4IGNvbXBs
+aWFudCwgamVhbi1wYXVsLiAgdGhlIDItc3BhY2VzIGluZGVudGF0aW9uCmlzIGV4dHJlbWVseSBo
+YXJkIG9uIHRoZSBleWVzIGZvciBhbnlvbmUgdXNlZCB0byB0aGUgcGVwOCBzdGFuZGFyZCAoYmVj
+YXVzZSB0aGUKc21hbGxlciBpbmRlbnRhdGlvbiBtYWtlcyAiY29kZSBibG9ja3MiIHRoYXQgbXVj
+aCBoYXJkZXIgdG8gdmlzdWFsbHkgaWRlbnRpZnkpLgoKYW5kIHRoZSB1c2Ugb2YgY29tbWFzIGF0
+IHRoZSAqYmVnaW5uaW5nKiBvZiB0aGUgbGluZSBvbiBhIHBhcmFtZXRlciBsaXN0LApyYXRoZXIg
+dGhhbiB0aGUgdXN1YWwgcGxhY2UgYXQgdGhlICplbmQqIG9mIHRoZSBsaW5lLCBpcyB2ZXJ5IGRp
+ZmZpY3VsdCB0byBnZXQKdXNlZCB0by4gIGkgZmluZCB0aGF0LCBhdXRvbWF0aWNhbGx5LCBpIGFk
+ZCB0aGUgY29tbWEgYXQgdGhlIGVuZCAoYmVjYXVzZSB0aGF0CmlzIHRoZSBwZXA4IHN0YW5kYXJk
+KSBhbmQgb2YgY291cnNlIGl0IGNyZWF0ZXMgYSBzeW50YXggZXJyb3IgYmVjYXVzZSB0aGVyZSBp
+cwphICpzZWNvbmQqICh1bmV4cGVjdGVkKSBjb21tYSBhdCB0aGUgc3RhcnQgb2YgdGhlIG5leHQg
+bGluZS4KCmEgc2luZ2xlIHJ1biBvZiBhdXRvcGVwOCB3aWxsICJmaXgiIHRoYXQgaG93ZXZlciBh
+bnkgbGluZXMgdGhhdCBoYXZlIHRvIGJlCndyYXBwZWQgKGR1ZSB0byBsZW5ndGggb3Zlci1ydW4p
+IGNhbiBiZSAibWFzaGVkIiBzb21ld2hhdCBpbiBhbiBpbmFwcHJvcHJpYXRlCmZhc2hpb24sIGJ5
+IHB1dHRpbmcgZnVuY3Rpb24gcGFyYW1ldGVycyBvbnRvIGEgc2luZ2xlIGxpbmUgKGZvcmNpYmx5
+KS4KCnRoaXMgaXMgZG9uZSBpbiBhIGxvdCBvZiBwbGFjZXMgYW55d2F5IChzaW5nbGUgbGluZSBw
+ZXIgZnVuY3Rpb24gcGFyYW1ldGVyKSBzbwppdCBtYXkgbm90IGJlIHNvIGJhZC4KCmhvd2V2ZXIu
+Li4gaSBoYXZlbid0IG1lbnRpb25lZCBhbnkgb2YgdGhpcyBiZWNhdXNlIGkgZmVsdCBpdCB3YXMg
+bW9yZSBpbXBvcnRhbnQKdG8gZ2V0IHdvcmtpbmcgInN0dWZmIiB3aXRoaW4gdGhlIGNvbnRleHQg
+b2Ygd2hhdCB0aW1lIHlvdSBoYXZlIGFuZCBhbHNvCmtub3dpbmcgdGhhdCB5b3UgaGF2ZS4uLiAi
+bWVtb3Jpc2VkIiB0aGUgcHl0aG9uIGNvZGUgaW4gdGhpcyAodW51c3VhbCwKbm9uLXN0YW5kYXJk
+KSBmb3JtYXQuLi4gYW5kIG1vdmluZyB0byBzdHJpY3QgcGVwOCB3b3VsZCBiZSBxdWl0ZSBkaXNy
+dXB0aXZlIGFuZAp0aW1lLWNvbnN1bWluZyAoZm9yIHlvdSB0byBnZXQgdXNlZCB0bykuCgppdCB3
+b3VsZCBuZWVkIGNhcmVmdWwgc2NoZWR1bGluZyBiZWNhdXNlLCByZWFsbHksIHlvdSBuZWVkIHRv
+IGhpdCB0aGUgZW50aXJlCmNvZGViYXNlIHdpdGggYSBzaW5nbGUgY2FyZWZ1bGx5LXJldmlld2Vk
+IGF1dG9wZXA4IHVwZGF0ZSBhbmQgY29tbWl0LCBhbmQgbm90CmRvICphbnl0aGluZyogZWxzZSBp
+biBiZXR3ZWVuLgoKaWYgdGhlcmUgaXMgYSBnb29kIHRpbWUgdG8gc2NoZWR1bGUgdGhhdCwgd2Ug
+Y2FuIGhhdmUgc2V2ZXJhbCBwZW9wbGUgaGVscCBvdXQKd2l0aCBpdC4KCi0tIApZb3UgYXJlIHJl
+Y2VpdmluZyB0aGlzIG1haWwgYmVjYXVzZToKWW91IGFyZSBvbiB0aGUgQ0MgbGlzdCBmb3IgdGhl
+IGJ1Zy4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGli
+cmUtcmlzY3YtZGV2IG1haWxpbmcgbGlzdApsaWJyZS1yaXNjdi1kZXZAbGlzdHMubGlicmUtcmlz
+Y3Yub3JnCmh0dHA6Ly9saXN0cy5saWJyZS1yaXNjdi5vcmcvbWFpbG1hbi9saXN0aW5mby9saWJy
+ZS1yaXNjdi1kZXYK