FPGA内部信号避免高阻态
2013-10-05 15:10
190 查看
RT,否则警告Warning: Tri-state node(s) do not directly drive top-level pin(s),会利用或门代替中间的扇出fan-out.
原因:在进行FPGA设计时,对于FPGA内部的信号不能出现被赋值为高阻的状态,只有顶层的信号,即输出的信号才可以赋值为高阻态。
找出这个信号,然后把赋值为x'bz改为x'b0或x'b1(具体是改为x'b0还是x'b1要根据实际情况确定,x也行)。
CAUSE: The design contains tri-state nodes that drive non-tri-state logic, but the chip does not support internal tri-states. As a result, the Quartus II software converts all the tri-state nodes feeding internal logic to an equivalent logic.
ACTION: Avoid this warning by either removing the non-tri-state fan-outs of the affected tri-state nodes or replacing the tri-state nodes with non-tri-state logic.
实例:
module tri_state (input oe1, data1, in, output out, output bidir);
wire tribuf;
assign tribuf = oe1 ? data1 : 1'bz;
and(out, in, tribuf);
assign bidir = tribuf;
endmodule
Warning: Tri-state node(s) do not directly drive top-level pin(s)
Warning: Converted the fan-out from the tri-state buffer "tribuf" to the node "comb" into an OR gate
RTL视图:
Technology Map Viewer:
CAUSE:The specified tri-statebuffer feeds internal logic in addition to feeding tri-statelogic, but the chip does not support internal tri-states. As a result, the Quartus II software converts the non-tri-statefan-out(s) of the tri-statebuffer to an ORgate.
Consider the following design:
module test1 (input oe1, data1, in, output out, inout bidir);
wire tribuf, tmp;
assign tribuf = oe1 ? data1 : 1'bz;
and(tmp, in, tribuf);
assign bidir = tribuf;
assign out = tmp;
endmodule
Here, the tri-statebuffer tribufhas fan-outs to both the tri-stateand non-tri-statenodes. As a result, the fan-out to the non-tri-statenode is converted to !oe1 + data1.
Note that an inversion also counts as non-tri-statelogic. So, the node tribufin the design test2is also converted to an ORgate.
module test2 (input oe1, data1, output out, inout bidir);
wire tribuf;
assign tribuf = oe1 ? data1 : 1'bz;
assign bidir = tribuf;
assign out = !tribuf;
endmodule
Additionally, a tri-statebuffer feeding the output enable signal of another tri-statebuffer is also converted to logic.
Consider the following Verilog design:
module test3 (input oe1, data1, data2, inout bidir);
wire tribuf1, tribuf2;
assign tribuf1 = oe1 ? data1 : 1'bz;
assign tribuf2 = tribuf1 ? data2 : 1'bz;
assign bidir = tribuf2;
endmodule
Here, the tri-statebuffer tribuf1is converted to an ORgate.
ACTION:Avoid this warning by either removing the non-tri-statefan-out of the tri-statebuffer or replacing the tri-statebuffer with non-tri-statelogic.
原因:在进行FPGA设计时,对于FPGA内部的信号不能出现被赋值为高阻的状态,只有顶层的信号,即输出的信号才可以赋值为高阻态。
找出这个信号,然后把赋值为x'bz改为x'b0或x'b1(具体是改为x'b0还是x'b1要根据实际情况确定,x也行)。
CAUSE: The design contains tri-state nodes that drive non-tri-state logic, but the chip does not support internal tri-states. As a result, the Quartus II software converts all the tri-state nodes feeding internal logic to an equivalent logic.
ACTION: Avoid this warning by either removing the non-tri-state fan-outs of the affected tri-state nodes or replacing the tri-state nodes with non-tri-state logic.
实例:
module tri_state (input oe1, data1, in, output out, output bidir);
wire tribuf;
assign tribuf = oe1 ? data1 : 1'bz;
and(out, in, tribuf);
assign bidir = tribuf;
endmodule
Warning: Tri-state node(s) do not directly drive top-level pin(s)
Warning: Converted the fan-out from the tri-state buffer "tribuf" to the node "comb" into an OR gate
RTL视图:
Technology Map Viewer:
CAUSE:The specified tri-statebuffer feeds internal logic in addition to feeding tri-statelogic, but the chip does not support internal tri-states. As a result, the Quartus II software converts the non-tri-statefan-out(s) of the tri-statebuffer to an ORgate.
Consider the following design:
module test1 (input oe1, data1, in, output out, inout bidir);
wire tribuf, tmp;
assign tribuf = oe1 ? data1 : 1'bz;
and(tmp, in, tribuf);
assign bidir = tribuf;
assign out = tmp;
endmodule
Here, the tri-statebuffer tribufhas fan-outs to both the tri-stateand non-tri-statenodes. As a result, the fan-out to the non-tri-statenode is converted to !oe1 + data1.
Note that an inversion also counts as non-tri-statelogic. So, the node tribufin the design test2is also converted to an ORgate.
module test2 (input oe1, data1, output out, inout bidir);
wire tribuf;
assign tribuf = oe1 ? data1 : 1'bz;
assign bidir = tribuf;
assign out = !tribuf;
endmodule
Additionally, a tri-statebuffer feeding the output enable signal of another tri-statebuffer is also converted to logic.
Consider the following Verilog design:
module test3 (input oe1, data1, data2, inout bidir);
wire tribuf1, tribuf2;
assign tribuf1 = oe1 ? data1 : 1'bz;
assign tribuf2 = tribuf1 ? data2 : 1'bz;
assign bidir = tribuf2;
endmodule
Here, the tri-statebuffer tribuf1is converted to an ORgate.
ACTION:Avoid this warning by either removing the non-tri-statefan-out of the tri-statebuffer or replacing the tri-statebuffer with non-tri-statelogic.
相关文章推荐
- 利用ISE的ChipScope抓取FPGA内部信号
- 关于 FPGA 内部信号扇入扇出
- FPGA的内部组成结构
- FPGA基础实验:用计数器读取ROM数据产生信号波形(直接数字频率合成DDS)
- FPGA 处理 视频信号噪声
- 【28】避免返回handles指向对象内部成分
- 条款28:避免返回handles指向对象内部成分
- 基于FPGA的跨时钟域信号处理——专用握手信号
- modelism仿真do文件编写(查看.v内部信号)
- 深入浅出FPGA-1-Cyclone芯片内部
- Modelsim仿真查看内部信号
- Xilinx FPGA 学习笔记一-chipscope 无法观察信号 BUFG
- 防止FPGA设计中综合后的信号被优化
- FPGA Verilog HDL 系列实例--------序列信号发生器
- 关于FPGA内部双口RAM的时序总结:
- 【iCore3 双核心板_FPGA】实验二十一:Niosii——基于内部RAM建立第一个软核
- 基于TMS320C6678、FPGA XC5VLX110T的6U CPCI 8路光纤信号处理卡
- FPGA内部时钟网络及锁相环PLL
- 时序裕量计算之四:外部信号输入到FPGA的时序裕量计算