Как заставить использование python 3 в cocotb? - PullRequest
3 голосов
/ 27 марта 2019

Я использую CocoTB для тестирования моего дизайна HDL, но, как я понимаю, его можно использовать с python2.7 или python3.

В файле конфигурации setup.py я вижу, что оба поддерживаются:

    [...]
    "Programming Language :: Python :: 2.7",
    "Programming Language :: Python :: 3",
    [...]

В тесте endian_swapper (examples / endian_swapper / tests / test_endian_swapper.py), если я изменю сценарий теста, чтобы увидеть, какая версия используется:

@cocotb.test()
def wavedrom_test(dut):
    """
    Generate a JSON wavedrom diagram of a trace and save it to wavedrom.json
    """
    print("Python version used {}".format(sys.version_info))

Я вижуэтот python2.7 используется, когда я запускаю тест с помощью команды «make»:

Python version used sys.version_info(major=2, minor=7, micro=9, releaselevel='final', serial=0)

Мой исполняемый файл python3 называется ... на самом деле python3 (debian).Есть ли канонический способ заставить cocotb использовать python3 вместо python2?

1 Ответ

0 голосов
/ 01 апреля 2019

Я нашел решения на linuxconfig.org , благодаря themperek .Но это не совсем то, что я хочу.

Решение с псевдонимом не работает для меня.Альтернатива обновления работает, но только с «официальным» python3, установленным на Debian.Я не могу использовать альтернативу (3.7), установленную вручную.

$ sudo update-alternatives --config python
There are 3 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                Priority   Status
------------------------------------------------------------
  0            /usr/bin/python3.7   2         auto mode
  1            /usr/bin/python2.7   0         manual mode
  2            /usr/bin/python3.4   1         manual mode
* 3            /usr/bin/python3.7   2         manual mode

Press enter to keep the current choice[*], or type selection number: 3
$ make clean;make
0.00ns INFO     Running on Icarus Verilog version 11.0 (devel)
0.00ns INFO     Python interpreter initialised and cocotb loaded!
0.00ns INFO     Running tests with Cocotb v1.0.1 from /opt/cocotb
0.00ns INFO     Seeding Python random module with 1554105931
0.00ns INFO     Found test test_ttl.ttl_test
0.00ns INFO     Running test 1/1: ttl_test
0.00ns INFO     Starting test: "ttl_test"
                Description:  simple ttl test function 
[...]
3.4.2 (default, Feb  7 2019, 06:11:23) 
[...]
...