前言
可以參考《Xilinx FPGA權威設計指南》,還有Xilinx提供的手冊,如下圖所示。文後的參考文獻也不錯,值得閱讀。
1、UCF/XDC常用命令
UCF約束到XDC命令之間的映射關係
UCF | XDC | 作用 |
TIMESPEC PERIOD |
create_clock create_generated_clock |
|
OFFSET= IN<x>BEFORE<clk> | set_input_delay | |
OFFSET=OUT<x>BEFORE<clk> | set_output_delay | |
FROM:TO "TS_" *2 | set_multicycle_path | |
FROM:TO | set_max_delay | |
TIG | set_false_path | |
NET "clk_p" LOCK = AD12 | set_property LOC AD12 [get_ports clk_p] | 將信號端口clk_p與FPAG芯片管腳AD12進行綁定。 |
NET "clk_p" IOSTANDARD=LVDS | set_property IOSTANDART LVDS [get_ports clk_p] | 將信號端口clk_p的電平標準設爲LVDS。 |
通用 | |||
set | expr | list | filter |
current_instance | get_hierarchy_separator | set_hierarchy_separator | get_property |
set_property | set_units | endgroup | startgroup |
時序約束 | |||
create_clock | create_generated_clock | group_path | set_clock_groups |
set_clock_latency | set_data_check | set_disable_timing | set_false_path |
set_input_delay | set_output_delay | set_max_delay | set_min_delay |
set_multicycle_path | set_case_analysis | set_clock_sense | set_clock_uncertainty |
set_input_jitter | set_max_time_borow | set_propagated_clock | set_system_jitter |
set_external_delay | |||
物理約束 | |||
add_cells_to_pblock | create_pblock | delete_pblock | remove_cells_from_pblock |
resize_pblock | create_macro | delete_macros | update_macro |
2、引腳約束
(1)I/O引腳分配設置語法格式
set_property PACKAGE_PIN <pin name>[get_port <port> ] ##規範
set_property PACKAGE_PIN W13 [get_port light_led1] ##舉例
(2)IO引腳驅動能力設置語法格式
set_property DRIVE<2 4 6 8 12 16 24>[get_ports<ports>]
(3)IO引腳電器標準設置語法格式
set_property IOSTANDARD <IO standard> [get_ports <ports> ] ##規範
set_property IOSTANDARD LVCMOS33 [get_ports light_led2] ##舉例
(4)IO引腳抖動設置語法格式
set_property SLEW <SLOW|FAST>[get_ports<ports>]
(5)IO引腳上拉設置語法格式
set_property PULLUP true[get_ports<ports>]
(6)IO引腳下啦設置語法格式
set_property PULLDOWN true [get_ports<ports>]
參考文獻
作者 | 博客 |
1、長弓的堅持 | XDC約束技巧——CDC篇 |
XDC約束技巧之時鐘篇 | |
XDC約束技巧之I/O篇 (上) | |
XDC約束技巧之I/O篇 (下) | |
2、Times_poem | xdc文件時鐘約束的初識 |
Vivado時鐘分組約束的三類應用 | |
3、angelbosj | 關於 vivado 的IO口約束 |