2015-08-03 3 views
1

В настоящее время я изучаю myHdl, чтобы узнать, стоит ли его использовать или нет. Тем не менее, я столкнулся с икотой относительно создания модулей. У меня есть два файла, один из которых является модулем, а другой - тестовым. Внутри тестбенча я экземпляр модуля, следуя примеру они имеют на сайте: http://www.myhdl.org/examples/flipflops.htmlМодуль Instantiation in myhdl

инстанциации конкретно эта линия: dff_inst = dff(q, d, clk)

Однако я получаю сообщение об ошибке при попытке запустить испытательный стенд :

Exception TypeError: 'isinstance() arg 2 must be a class, type, or tuple of classes and types' in <generator object _LabelGenerator at 0x7f6070b2ea50> ignored 

Я предполагаю, что это что-то делать с тем фактом, что у меня есть два отдельных файлов, так что я думаю, что питон не находит модуль DFF (так как он находится в отдельном файле). Я попытался добавить строку import dff, но это просто дало мне ошибку типа 'module' object is not callable, что имеет смысл.

В документации у них нет полного файла .py, поэтому я не уверен, как они связывают эти testbenches с модулем. В них конкретно упоминается иерархическая система и возможность создавать экземпляры других модулей, но я не могу заставить ее работать.

Из того, что я понимаю из документации, похоже, что они просто пишут testbench и модуль в том же файле. Однако, на мой взгляд, похоже, что они подразумевают, что вы можете импортировать модули, но я не могу понять, как это делается. Есть ли какая-то простая вещь, которую я пропускаю?

ответ

2

После нескольких экспериментов, похоже, мне просто нужно использовать следующую команду: from dff import dff, , что имеет большой смысл.

+0

myhdl - пакет python, все нормальные процессы программирования python применимы. –