Zynq PL可否使用外部时钟或将外部信号加入敏感列表?
我在Zynq PL 侧的代码敏感列表中的AD_SCLK_Fbk是一个外部信号输入。
该代码部分如下:
//读SPI数据
reg[5:0] i;
always@(negedge AD_SCLK_Fbk or negedge AD_Rst_n)
if(!AD_Rst_n) begin
i <= 6'd0;
AD_CH0_Data_reg <= 32'd0;
AD_CH1_Data_reg <= 32'd0;
AD_Receive_Done_reg <= 1'b0;
end
else if(i == 6'd15) begin
i <= 6'd0;
AD_CH0_Data_reg[15-i] <= AD_CH0;
AD_CH1_Data_reg[15-i] <= AD_CH1;
AD_Receive_Done_reg <= 1'b1;
end
else if(i < 6'd15) begin
i <= i + 1'b1;
AD_CH0_Data_reg[15-i] <= AD_CH0;
AD_CH1_Data_reg[15-i] <= AD_CH1;
AD_Receive_Done_reg <= 1'b0;
end
else;
整个工程最后实现后报故障如下:
[Place 30-574] Poorplacement for routing between an IO pin and BUFG. If this sub optimal conditionis acceptable for this design, you may use the CLOCK_DEDICATED_ROUTE constraintin the .xdc file to demote this message to a WARNING. However, the use of thisoverride is highly discouraged. These examples can be used directly in the .xdcfile to override this clock rule.
< set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets AD0_SCLK_Fbk_IBUF] >
AD0_SCLK_Fbk_IBUF_inst (IBUF.O) is locked to IOB_X1Y15
and AD0_SCLK_Fbk_IBUF_BUFG_inst (BUFG.I) is provisionally placed by clockplaceron BUFGCTRL_X0Y0
我怀疑这个故障是将外部信号放在敏感列表中引起的,
请问:
1.
Zynq是否可以讲外部信号放在敏感列表里,如果可以的话要怎么配置才能不报错?
2.
Zynq PL是否可以使用外部时钟输入而不使用PS侧给的时钟?
非常感谢!
