如何解决将简单反转NOT函数应用于OBUFDS
我是这里的新手,要回答这个问题太容易了,但我并不熟悉。
我的BD中有“ cabletester_prbs15_bytegenerator” IP,该IP的“ data_out_p”和“ data_out_n”已连接到OBUFDS端口。
在我的情况下,我有一个连接到“ data_out_p”的OBUFDS,但在实现中分配给NEGATIVE DIFFERENTIAL LEG。目前,在成功合成之后,当我尝试在合成设计中将其分配给IO _ @@ _ N时,它给出错误消息``无法设置端口的LOC属性,差分对的负端口(N端)放在正图钉上”
长话短说,我需要反转OBUFDS的极性。
cabletester_prbs15_bytegenerator IP使用如下所示的模块“ prbs15_bytegenerator”。
module cabletester_prbs15_bytegenerator_0_0 (
clk,clk_div4,resetb,data_out_p,data_out_n
);
(* X_INTERFACE_ParaMETER = "XIL_INTERFACENAME clk,ASSOCIATED_RESET resetb:reset,FREQ_HZ 640000000,FREQ_TOLERANCE_HZ 0,PHASE 0.0,CLK_DOMAIN cabletester_clk_wiz_0_0_clk_320,INSERT_VIP 0" *)
(* X_INTERFACE_INFO = "xilinx.com:signal:clock:1.0 clk CLK" *)
input wire clk;
input wire clk_div4;
(* X_INTERFACE_ParaMETER = "XIL_INTERFACENAME reset,POLARITY ACTIVE_LOW,INSERT_VIP 0" *)
(* X_INTERFACE_INFO = "xilinx.com:signal:reset:1.0 reset RST" *)
input wire resetb;
output wire data_out_p;
output wire data_out_n;
prbs15_bytegenerator inst (
.clk(clk),.clk_div4(clk_div4),.resetb(resetb),.data_out_p(data_out_p),.data_out_n(data_out_n)
);
endmodule
在prbs15_bytegenerator中,您可以在末尾看到OBUFDS相关部分
OSERDESE3 #(
.DATA_WIDTH(8),.IS_CLKDIV_INVERTED(0),.IS_CLK_INVERTED(0),.IS_RST_INVERTED(1),.SIM_DEVICE("ULTRascalE_PLUS")
)
oserdes_inst
(
.OQ(data_out),.CLK(clk),.CLKDIV(clk_div4),.D(prbsbyte),.RST(resetb)
);
OBUFDS outputbuf
(
.I(data_out),.O(data_out_p),.OB(data_out_n)
);
endmodule
颠倒极性就像在.O(data_out_p)前面加〜一样简单吗? 如果有人能显示代码应该看起来像是我真的很感激,因为我对Verilog知之甚少.....
非常感谢您。...
解决方法
您可能想保持OBUFDS的极性正确定向。 P代表正腿,N代表负腿。相反,尝试进行以下调整来反转对OBUFDS的输入。
OBUFDS outputbuf
(
.I(~data_out),// This will invert the input and cause the
.O(data_out_p),// output to logically invert.
.OB(data_out_n)
);
,
您的引脚分配可能有问题。您应该查看XDC约束文件。 或者,在此处使用设备部件号发布约束。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。