Add file path check

This commit is contained in:
nekomona 2022-03-17 09:35:02 +08:00
parent 98c7070220
commit b861e0e463
2 changed files with 19 additions and 4 deletions

View File

@ -80,7 +80,7 @@ signal (pin1, pin2, ..., pink)
`signal (pin1, pin2, ..., pink)`表示将顶层模块的`signal`信号的每一位从高到低依次绑定到`pin1, pin2, ..., pink`上。
约束文件支持空行与行注释。
2. 通过命令`python $(NVBOARD_HOME)/scripts/auto_pin_bind.py <.nxdc约束文件路径> <auto_bind.cpp输出路径>`来生成C++文件。
2. 通过命令`python $(NVBOARD_HOME)/scripts/auto_pin_bind.py nxdc约束文件路径 auto_bind.cpp输出路径`来生成C++文件。
调用该文件中的`nvboard_bind_all_pins(dut)`函数即可完成所有信号的绑定。

View File

@ -220,7 +220,7 @@ class AutoBindWriter():
self.iw.write("}\n")
def print_usage():
print("Usage: python3 auto_pin_bind.py <.nxdc constraint file path> <auto_bind.c output file path>")
print("Usage: python3 auto_pin_bind.py nxdc_constraint_file_path auto_bind_c_output_file_path")
if __name__ == "__main__":
if len(sys.argv) != 3:
@ -228,13 +228,28 @@ if __name__ == "__main__":
print_usage()
exit(-1)
nvboard_path = os.environ.get('NVBOARD_HOME')
if nvboard_path is None:
print("Error: NVBOARD_HOME is not set")
exit(-1)
cons_path = sys.argv[1]
output_path = sys.argv[2]
boardfile_path = os.path.join(nvboard_path, "board/N4")
if not os.path.exists(cons_path):
print(f"Error: Constraint file doesn't exist:")
print(f" {cons_path}")
exit(-1)
if not os.path.exists(boardfile_path):
print(f"Error: Board file doesn't exist:")
print(f" {boardfile_path}")
exit(-1)
# Parse board descriptor for pin list
nvboard_path = os.environ.get('NVBOARD_HOME')
board = BoardDescParser()
board.parseFile(nvboard_path + "/board/N4")
board.parseFile(boardfile_path)
# Parse nxdc constraint file
constr = NxdcParser()