先是通过get_cells wbDataForInput_INUF_inst 找到图中IBUF这个cell,然后获得其pin:get_pins -of[get_cells wbDataForInput_INUF_inst] -filter{DIRECTION == OUT},注意这里有一个过滤条件,是通过cell找到pin,这个pin是输出的pin; 通过pin去找到net:get_nets -of[get_pins -of[get_cells wbDataForInput_IN...
set_false_path -through [get_pins MUX1/a0] -through [get_pins MUX2/a1] #使用-through而不用-from和-to的好处是可以确保所有通过此节点的路径都会被移除,而不用考虑起点和终点 #移除复位端口到所有寄存器间的时序路径 set_false_path -from [get_port reset] -to [all_registers] #禁用两个异步时钟...
也可以通过时钟边沿来设置生成时钟,设置界面如下图 对应的命令为create_generated_clock -name gen_clk -source [get_pins clk_IBUF_BUFG_inst/O] -edges {1 3 4} -edge_shift {2.0 0.0 1.0} -add -master_clock [get_clocks "*"] [get_pins {shiftr_reg[13]/C}] 含义解释:-edge {1,3,4}即...
setmycell[get_cellsu_pr_top/tx_reg]setmyrpin[get_pins-of$mycell-filter"REF_PIN_NAME==R"]setmyrnet[get_nets-of$myrpin]set_propertyDONT_TOUCH FALSE$myrnet#第二步disconnect_net-objects$myrpinputs"$myrpin"puts"This pin is successfully disconnected"set_propertyDONT_TOUCH TRUE$myrnetputs"...
可以设定多周期为2:et_multicycle_path 2 -setup -from [get_pins data0_reg/C] -to [get_pins data1_reg/D],那么就把setup检查的捕获沿延时至第二个捕获沿分析(第一个捕获沿无动作),相应的hold 也延时一个周期。如下图所示为设置前后的时序分析变化, ...
综合过程中可能会复制某些寄存器,以提高设计性能,必须使用get_cells/get_pins -include_replicated_objects命令获取对象,才能确保XDC约束也作用于复制出来的寄存器;当然很难直接感觉到哪个对象需要像上述这样做,幸好在Vivado中运行Methodology检查时,相关信息会报告在XDCV-1和XDCV-2检查信息中,供设计者参考;...
pins在Vivado数据库中有个独特的存在形式,即 <instance>/<pin> 。这里的“/”不表示层次,而是其名字的一部分,表示这个pin所属的实体。也就是说,在使用get_pins 配合-hier来查找pins时,“/”可以作为名字的一部分,出现在搜索条件内(注意与上述get_ce lls和get_nets的使用区别)。
create_generated_clock -name clkdiv2 -source [get_pins REGA/C] -divide_by 2 [get_pins REGA/Q] 例2:除以2使用-edges选项 以下示例等效于示例1中定义的生成时钟:简单除法2 # waveform specified with -edges instead of -divide_by create_generated_clock -name clkdiv2 -source [get_pins REGA/C]...
例子:有GTX生成的RXOUTCLK输入到MMCM中,其中RXOUTCLK周期为3.33ns,占空比是50%。RXOUTCLK明显是一个生成的时钟,所以在约束中会用到get_pins。get_ports用在IO口上。 约束语句为:create_clock -name rxclk -period 3.33 [get_pins gt0/RXOUTCLK] ...
create_generated_clock -name clk_3 -source [get_ports clk_in] -edges {1 3 5}[get_pins top/modu_3/clk_out] # edges{1 3 5}表示从上升沿开始算起,在clk_in的第1、3、5时钟沿clk_3时钟沿变化。 # clk_in 001110011100111001110011100 ...