如何使用另一个解压缩的数组初始化解压缩的数组

时间:2016-09-28 12:08:32

标签: arrays queue system-verilog

我有以下队列,我按顺序创建:

from PyQt4 import QtGui, QtCore
import sys

class MainWindow(QtGui.QMainWindow):
    def __init__(self, *args):
        super(MainWindow,self).__init__(*args)
        self._date = QtGui.QDateEdit()
        self._date.setCalendarPopup(True)
        calendar = self._date.calendarWidget()
        calendar.clicked.connect(self._clicked)
        self.setCentralWidget(self._date)

    def _clicked(self, date):
        print('clicked')

class App(QtGui.QApplication):
    def __init__(self, *args):
        super(App,self).__init__(*args)
        self.main = MainWindow()
        self.connect(self, QtCore.SIGNAL("lastWindowClosed()"), self.byebye )
        self.main.show()

    def byebye( self ):
        self.exit(0)

def main(args):
    global app
    app = App(args)
    app.exec_()

if __name__ == "__main__":
    main(sys.argv)

我在队列中输入以下值:

bit [31:0] transfers_seq [$];

现在我必须通过我在事务文件中写的初始函数将transfers_seq传递给事务文件中的另一个队列

交易文件:

{{00000000, 12345678, 54871245},{12454612, 00000000, 12367894}}

如何将“bit [31:0] transfers2init [$]”分配给init函数中的“bit [31:0] transfer [$]”?

3 个答案:

答案 0 :(得分:2)

您可以简单地将一个队列分配给另一个队列:

transfers = transfers2init;

它会将transfer2init的元素复制到传输中。你可以在这里查看: https://www.edaplayground.com/x/3q3f

答案 1 :(得分:1)

您的函数需要返回一些内容,要返回队列,您需要typedef

typedef bit [31:0] queue [$];

然后,在你的函数中,你可以只将一个队列复制到另一个队列(如另一个答案所示):

function queue init ( queue transfers2init);
  init=transfers2init;
endfunction: init

但这很简单,你真的不需要一个功能。

https://www.edaplayground.com/x/3kyE

答案 2 :(得分:0)

您可以直接指定。

transfer = transfer2init