1 怎么用ZYNQ输出控制其他模块吗?在xdc里面定义了引脚就可以了吗?
回答:
用emio或者gp接口,如果是控制fpga芯片外部信号,用mio。
用FPGA端控制直接引出来,用ARM控就用MIO或者EMIO就行,EMIO直接在BD里面引出来加上约束就行
2 这个严重警告是怎么回事呢?
我是在做一个 rgmii转 gmii 的一个功能,在 发送方向,我是 将 进来的 gmii tx data 经过 一个 oddr,然后再经过一个odelay输出出去的,在接收方向, 我是将 进来 的 端口 rgmii rx data经过一个 idelay,再经过一个iddr进来的。 然后我在 xdc 约束文件中,约束了Rgmii 的所有端口为 iob true,他就有这个严重警告了,不知道是什么原因呢
[Place 30-722]Terminal’O_RGMII_TXD0’ has IOB constraint set to TRUE, but it either not connected to a FLOP element or the connected FLOP element could not be brought into the I/O.
但是我在 place design 看硬件管脚,他的管脚属性 IOB 是为true的,这个应该是已经约束成功了吧?
回复: true只是告诉工具这个寄存器要被放在IOB里,但能不能放由工具决定
寄存器如果被放在IOB里,那么它的输出是不能再拐回来连接slice里的资源
这个寄存器不满足这个要求,所以给出警告信息
提问:
iddr和oddr本身就只存在iob里,所以我把信号接 oddr,就已经实现了iob true的操作了吧?
我后面tx方向,用oddr再接odelay应该是不对的
回答:
如果你直接用原语方式实例化oddr,那自然就在IOB里了
提问:
rgmii 的rx . tx clk 需不需要 也弄到iob呢, 如果只弄了数据,每次跑完版本,他只有数据 有固定延时,而时钟没有吧?
回答:
时钟不需要
3 提问 :
对于同一个gt wizard的ip我例化多次。在自己的xdc中重新做了loc约束。但是ip在综合的时候还是读取了自己xdc的loc约束这个时候就会报位置冲突critical warning。虽然布局布线最后是用的我的loc约束。但是有办法消除这个critical warning吗?
回复:不用管,因为综合阶段这些约束都不会生效,工具只是做一下检查而已
4 [Synth 8-295] found timing loop
出现这个问题是组合逻辑首尾相连了,语法问题
5
跨时钟域电路设计文章4,其中说到cdc_pulse和cdc_single都要求输入信号的有效脉冲长度必须保证接收域可以稳定地采样到至少两次,我看您之前的书里也提到过,是不是发送域脉冲长度超过接收时钟周期宽度的1.5倍就可以了
回复:
这么说,稳定地采到两次,其实是要求脉宽是接收域2倍的时钟周期
1.5倍是最小值