1.启动软件后,在Project Files界面可以右键新建工程。
2.双击Project Files界面中间的FPGA器件栏修改FPGA型号
3.点击窗口最右边栏的Add File添加设计文件。设置编译策略,Synthesis Strategy-> Advance/Fast等。
4.在File->New...下,或者在 工具栏中找到New Constraint File,添加约束文件 ,选择FPGA Constraints,保存。
5.在Project Files界面Logic Constraints下添加刚才的FDC文件,双击打开fdc文件。在表格中,手动填写name,下拉框选择类型/Object等,最下方可以切换clock,input等不同的约束。
6.rev_1下的P&R指place and route,如果只要synplify的综合结果,可以不用勾选该选项。且可以Project->Implementation Options-> Implementation Results下设置生成综合结果的路径和edif的名称。在Project->Implementation Options->Device下勾选Disable I/O insertion,这样可以不生成IO buffer。
7.用edif文件和一个只带空壳的.v文件就可以在vivado中引用生成的模块。
8.跑完综合后,可以在Project Status中看到所有的资源占用和 Timing Report View。
9.在Project Files界面对着verilog文件点右键可以检查语法错误和综合错误。
10.工具栏中有在三个view视图,RTL View,Pre-map output view,Technology view。前2个是RTL视图,后面是映射到FPGA器件的LUT和FF视图,和Vivado中类似。
11.保存工程后,会有xxx.prj,可以手动修改该文件,添加文件,和设置顶层模块。
fdc的语法和sdc或者xdc略有不同,大部分是一样的,对于跑edf来说,我们只用设置 input delay output delay,给外部预留延时70%
创建时钟:
create_clock -name {sysclk} {p:SYSCLK} -period {4}
create_clock -name {degclk} {p:SYSCLK} -period {20}
设置异步:
set_clock_groups -asynchronous -group [get_clocks sysclk] -group [get_clocks degclk]
12.编译ip或者原语。 把该模块设置成黑盒子,vivado impl时添加对应的wapper和edf 即可。设置黑盒先创建1个wapper,在module后面加上约束,synplify综合时添加该模块即可。
module TEST(
input in,
input ce,
output wire out
)/* synthesis syn_black_box */;