次优时序实现警告 - F7多路复用器

时间:2015-11-30 22:31:58

标签: vhdl timing xilinx synthesis spartan

我试图创建一个I2C总线进行测试,这是我尝试编程DVI Ch7301c的一部分。

我向它提供测试数据,但是,当我尝试传输数据值hex 77时,它会抛出此警告:

Pack:2574 - The F7 multiplexer symbol
   "I2C_Master/Mmux_bit_cnt[2]_DAT_WR[7]_Mux_45_o_2_f7" and its I1 input driver
   "I2C_Master/Mmux_bit_cnt[2]_DAT_WR[7]_Mux_45_o_3" were implemented
   suboptimally in the same slice component. The function generator could not be
   placed directly driving the F7 multiplexer. The design will exhibit
   suboptimal timing.

在缩小范围之后,它似乎被抛出在case语句中,但仅在发送值hex hex 77时。另外,我可以在case语句的其他地方发送值hex,而不是{{1这个警告意味着什么,为什么它似乎只触发hex 77的明显随机值。

我的代码如下 - 我还没有添加I2C_Master模块的代码,因为它似乎不对错误负责。

非常感谢!

大卫

 when counter <= 3 

1 个答案:

答案 0 :(得分:2)

查看Spartan-6 CLB Guide,您将找到两个F7多路复用器和一个F8多路复用器。

FPGA的LUT可以实现每个布尔6输入功能(&#34; F6&#34;)。如果需要7输入功能,则使用两个LUT6和一个F7MUX将此功能映射到CLB。

8输入功能需要4个LUT6两个F7MUX和一个F8MUX。

时序比LUT6慢,但比LUT树快。

发出警告以提醒您描述输入计数较低的功能。如果您更改代码或某些常量,则优化无法再找到紧凑的6输入函数。