我试图创建一个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
答案 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输入函数。