Симуляция myhdl без функции оболочки

Есть ли способ непосредственного создания симуляции без функции-обертки, возвращающей функции генератора, которые используются в симуляции?

Ниже приведен типичный пример использования функции-оболочки

from myhdl import *

def wrapper():
    clk=Signal(intbv())

    @instance
    def main():
        for i in range(5):
            print(i)
            clk.next=not clk
            yield delay(1)
        raise StopSimulation
    return main

sim=Simulation(wrapper())   
sim.run()

Но было бы неплохо вырезать обертку, такую ​​как ниже

from myhdl import *

clk=Signal(intbv())
@instance
def main():
    for i in range(5):
        print(i)
        clk.next=not clk
        yield delay(1)
    raise StopSimulation

sim=Simulation(main)    
sim.run()

Traceback (последний вызов был последним): файл "task.py", строка 6, в файле @instance "/usr/local/lib/python3.6/dist-packages/myhdl/_instance.py", строка 74, в экземпляре callinfo = _getCallInfo() Файл "/usr/local/lib/python3.6/dist-packages/myhdl/_instance.py", строка 66, в _getCallInfo callerrec = inspect.stack()[3] IndexError: вывести индекс из списка спектр

0 ответов

Другие вопросы по тегам