0

SRAM の内容をファイルにダンプする System Verilog で記述されたモジュールがあります。このファイルから読み取り、Python で書かれた別のプログラムでデータを使用したいと思いますが、リアルタイムです。Verilog コードからの書き込みはあまり制御できません。2つの読み取りと書き込みをどうにかして管理することは可能ですか? 現在、ファイルから読み取ると、すべての行の先頭に(一見)乱数が挿入され、解析がスローされます。これらのプレフィックスは、読み取りと書き込みが同時に行われている場合にのみ表示されると思います。両方を非常にゆっくり実行すると正常に動作するためです。

window = Tk()
canvas = Canvas(window, width=WIDTH, height=HEIGHT, bg="#000000")
canvas.pack()
img = PhotoImage(width=WIDTH, height=HEIGHT)
canvas.create_image((WIDTH/2, HEIGHT/2), image=img, state="normal")

def redraw():
fp = open('test_data.txt','r')
lines=fp.readlines()
for i in range(len(lines)):
        #do stuff
fp.close()
window.after(35,redraw)  

window.after(35,redraw)
mainloop()

これが読書です。

任意の提案をいただければ幸いです。

4

3 に答える 3

2

複数のプロセスからのファイルの読み取りと書き込みは、予測できない可能性があります。

Unix ライクなシステムで実行している場合は、 を使用mkfifoしてファイルのようなオブジェクトを作成し、同時に書き込みと読み取りを行うことができ、データは正しい順序に保たれます。

Windows では NamedPipe が必要です。これは Python から作成し、SystemVerilog で通常のファイルとして開くことで接続できます (私は信じています!)。

http://docs.activestate.com/activepython/2.4/pywin32/win32pipe.html

于 2013-04-16T08:29:32.740 に答える