Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: m-labs/nmigen
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 43e4833ddb5f
Choose a base ref
...
head repository: m-labs/nmigen
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 8ee6bd80ff4f
Choose a head ref
  • 1 commit
  • 2 files changed
  • 1 contributor

Commits on Feb 14, 2019

  1. Copy the full SHA
    8ee6bd8 View commit details
Showing with 14 additions and 3 deletions.
  1. +7 −3 nmigen/hdl/ir.py
  2. +7 −0 nmigen/test/test_hdl_ir.py
10 changes: 7 additions & 3 deletions nmigen/hdl/ir.py
Original file line number Diff line number Diff line change
@@ -18,9 +18,13 @@ class Fragment:
def get(obj, platform):
if isinstance(obj, Fragment):
return obj
if not hasattr(obj, "elaborate"): # :deprecated:
return Fragment.get(obj.get_fragment(platform), platform)
return Fragment.get(obj.elaborate(platform), platform)
if hasattr(obj, "elaborate"):
frag = obj.elaborate(platform)
elif hasattr(obj, "get_fragment"): # :deprecated:
frag = obj.get_fragment(platform)
else:
raise AttributeError("Object '{!r}' cannot be elaborated".format(obj))
return Fragment.get(frag, platform)

def __init__(self):
self.ports = SignalDict()
7 changes: 7 additions & 0 deletions nmigen/test/test_hdl_ir.py
Original file line number Diff line number Diff line change
@@ -7,6 +7,13 @@
from .tools import *


class FragmentGetTestCase(FHDLTestCase):
def test_get_wrong(self):
with self.assertRaises(AttributeError,
msg="Object 'None' cannot be elaborated"):
Fragment.get(None, platform=None)


class FragmentGeneratedTestCase(FHDLTestCase):
def test_find_subfragment(self):
f1 = Fragment()