FPGA之vivado
Vivado工程文件包括源文件、约束文件和仿真所用的激励文件。
在源文件和激励文件中,timescale 1ns / 1ps代表模块时钟周期为1ns,时钟精度为1ps。
约束文件中一般包括电平约束、管脚约束和组约束等,特别注意的是约束文件是区分大小写的。
普通IO口只需约束管脚号和电压。
管脚约束如下:
set_property PACKAGE_PIN “引脚编号” [get_ports “端口名称”]
例如:
set_property PACKAGE_PIN B13 [get_ports {led[0]}]
定义LED0为B13引脚。
电平信号约束如下:
set_property IOSTANDARD “电压” [get_ports “端口名称”]
例如:
set_property IOSTANDARD LVCMOS33 [get_ports
{led[0]}]
定义LED0引脚为电平为CMOS电平,电压为3.3V。
如果端口名称是数组的时候要用大括号(“{}”)括起来,端口名称必须和源码中的名字一样。
时钟周期的约束如下:
create_clock -period “周期” [get_ports “端口名称”]
例如:
create_clock -period 5.000 [get_ports
sys_clk_p]
创建sys_clk_p时钟周期为5个时钟周期,如果1个时钟周期为1ns,那么sys_clk_p为5ns。
其中周期就是指相应值的时钟周期。