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
base: c934fc66e90a
Choose a base ref
...
head repository: m-labs/nmigen
compare: 1fc63a62c04a
Choose a head ref
  • 1 commit
  • 1 file changed
  • 1 contributor

Commits on Aug 21, 2019

  1. back.pysim: allow coroutines as processes.

    This is a somewhat obscure use case, but it is possible to use async
    functions with pysim by carefully using @asyncio.coroutine. That is,
    async functions can call back into pysim if they are declared in
    a specific way:
    
      @asyncio.coroutine
      def do_something(self, value):
        yield self.reg.eq(value)
    
    which may then be called from elsewhere with:
    
      async def test_case(self):
        await do_something(0x1234)
    
    This approach is unfortunately limited in that async functions
    cannot yield directly. It should likely be improved by using async
    generators, but supporting coroutines in pysim is unobtrustive and
    allows existing code that made use of this feature in oMigen to work.
    whitequark committed Aug 21, 2019
    Configuration menu
    Copy the full SHA
    1fc63a6 View commit details
    Browse the repository at this point in the history