Данные не хранятся в массиве, я хочу хранить данные в массивах и передавать другим - PullRequest
0 голосов
/ 23 сентября 2019

Я пишу код для cocotb testbench для проверки модулей hdl, но у меня есть некоторые проблемы.Я хочу передать данные, которые считывают из файлов .txt и хранят в массиве, но когда я пытался передать данные, он показывает ошибку индекса, потому что массив не хранит никаких данных.

class expample():
    def __init__(self):
        self.lin  = [[],[]]
        self.lout = []
    def gen_in():
        lin_files =  ['prach_din1.txt',  'prach_din2.txt',  'prach_din3.txt', 'prach_din4.txt', 'prach_din5.txt',  'prach_din6.txt', 'prach_din7.txt','prach_din8.txt','prach_din9.txt', 'prach_din10.txt', 'prach_din11.txt', 'prach_din12.txt']
            for antenna_num in lin_files:
                in_file = open( antenna_num,'r').readlines()
                self.lin = [ int(i) for i in in_file ]
                print(self.lin)


class tb_expample(object):


    expample_obj = expample()

    @cocotb.coroutine
    def drive_antenna(self, num):
        for ant_num in range(4):
            for samp_num in (self.expample_obj.lin[ant_num]):
                    self.dut.osample_data[ant_num]   = samp_num
                    self.dut.osample_enable[ant_num] = 1
                    self.dut.oframe_strobe[ant_num]  = 1


@cocotb.test()
def test_expample_processor(dut):
    test = tb_expample(dut)
     yield test.drive_antenna()

Как я могу хранить данные в lin [0], lin [1], ....., lin [11].для подачи данных в sample_data?

1 Ответ

0 голосов
/ 23 сентября 2019

Вы не вызываете gen_in() для фактического заполнения массива.(Кредиты поступают к Марлону в канале Cocotb Gitter за это.)

...