2024-12-30 16:19:10 +08:00
|
|
|
import os
|
|
|
|
import sys
|
|
|
|
|
|
|
|
|
|
|
|
TARGET="wave"
|
|
|
|
|
|
|
|
SRC = ["testbench.v"]
|
|
|
|
|
2025-03-11 17:54:18 +08:00
|
|
|
INC = ['verilog']
|
2024-12-30 16:19:10 +08:00
|
|
|
|
|
|
|
IVER="iverilog"
|
|
|
|
VVP="vvp"
|
|
|
|
GTKWAVE="gtkwave"
|
|
|
|
|
2025-03-11 17:54:18 +08:00
|
|
|
for i in range(len(INC)):
|
|
|
|
tmp=os.path.join(os.path.curdir,INC[i])
|
|
|
|
tmp=os.path.abspath(tmp).replace('/','\\')
|
|
|
|
INC[i]='-I '+tmp
|
|
|
|
|
|
|
|
for i in range(len(SRC)):
|
|
|
|
tmp=os.path.join(os.path.curdir,SRC[i])
|
|
|
|
tmp=os.path.abspath(tmp).replace('/','\\')
|
|
|
|
SRC[i]=tmp
|
|
|
|
|
|
|
|
|
2024-12-30 16:19:10 +08:00
|
|
|
def make():
|
2025-03-11 17:54:18 +08:00
|
|
|
cmd=' '.join([IVER,'-o',TARGET]+INC+SRC)
|
2024-12-30 16:19:10 +08:00
|
|
|
if(os.system(cmd)):
|
|
|
|
sys.exit(-1)
|
|
|
|
cmd=' '.join([VVP,'-n',TARGET,'lxt2'])
|
|
|
|
if(os.system(cmd)):
|
|
|
|
sys.exit(-1)
|
|
|
|
cmd=' '.join([GTKWAVE,TARGET+'.vcd'])
|
|
|
|
if(os.system(cmd)):
|
|
|
|
sys.exit(-1)
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
make()
|