记录最近调试FPGA过程中遇到的小问题。
宏定义的处理:
宏定义文件只在一个文件里面include,避免出现重复定义。
宏定义内容写法使用如下格式,避免出现重复定义。
`ifndef DEF_XXX
`define DEF_XXX
//此处为内容
`endif
宏定义文件所在路径添加到search_path;宏定义文件本身不需要add_files,避免重复定义。
文件类型的处理:
考虑到语法向下兼容,可将所有添加的verilog文件类型均设置为systemverilog。
编译顺序的处理:
在图形化界面创建工程后,可以在tcl命令行处source xxx.tcl,在xxx.tcl中可以使用add_files等vivado内置的tcl命令。通过这种方式可以以filelist的形式一次添加若干个代码文件,且编译顺序更方便与仿真/综合保持一致性。
vivado内置的命令可以在命令行处通过联想自动补全,还可以通过”add_files -help”这种方式查看每个命令的使用帮助。
DW文件的处理:
目前是通过综合转出GTECH网表方式搞定的。更简洁的方法有待探索(可以看看synplify的库全不全)