创建基本时钟周期约束

2018-02-24 17:54:56 浏览数 (2)

Xilinx建议把时序约束和物理约束分开来写。(但是必须有一个作为target)

时序约束用于综合和实现,物理约束用于实现。

1时钟周期

2占空比

3相位

Waveform={上升沿时刻,下降沿时刻}

1.Primary clock

首先确定Primary clock指的是板子上提供的晶振的时钟,通常连接到FPGA的cc引脚上,另外一种情况就是吉比特收发器。后面所有的时序约束都来源于Primary clock。

Primary clock 指的是引脚上的时钟,创建一个时钟周期为10ns的代码

create_clock -period 10 [get_ports sysclk] //分配到sysclk这个管脚

2.生成时钟clock

2.1用户自定义生成时钟 命令:create_generated_clock

2.2自动推断出来的时钟 比如MMCM或者PLL或者BUFR(分频产生时钟)

这些都是不需要做约束的,只需要对primary时钟做约束

首先创建primary clock:

create_clock -name clkin -period 10 [get_ports clkin]

然后使用两种方法指定generate时钟:

第一种方式:create_generated_clock -name clkdiv2 -source [get_ports clkin] -divide_by 2 [get_pins rega/q]

第二种方式:create_generated_clock -name clkdiv2 -source [get_pins REGA/C] -divide_by 2 [get_pins rega/q]

第三种方式:create_generated_clock -name clkdiv2 -source [get_pins REGA/C]

-edges {1 3 5} [get_pins rega/q]

可以对MMCM生成的时钟进行重命名:

create_generated_clock -name clk_rx [get_pins clk_gen_i0/clk_core_i0/inst

/mmcm_adv_inst/clkout0]

3.时钟分组

3.1同步时钟

3.2异步时钟

3.3不可扩展时钟

0 人点赞