FPGA 设计总结(1)

时间:2023-03-10 05:11:48
FPGA 设计总结(1)

1. set_input_delay和set_output_delay的选项-max和-min的理解

首先 input/output其实是模拟数据在端口外的延时,是一个外部约束条件,目的是为了约束FPGA输入端口到内部寄存器数据输入端或者内部寄存器输出端到FPGA输出端口之间允许的延时。计算max时考虑的是建立时间的情况,计算min时考虑的是保持时间的情况。

2. 对于FPGA时钟同步设计,FPGA仿真最多到综合网表,更下层的仿真是徒劳,不仅耗费时间,同时FPGA存在库参数或布线时延反馈不准确的诸多问题。对于PAR的结果首先就要确保其时钟同步的特性。必须满足FPGA器件综合和布线后的setup和hold要求。一旦出现timing-error必须通过各种途径消除error,因为error的存在,意味着时钟同步的大前提已经被破坏,这时,simulation取得的结果和FPGA是不等价的,不解决时序问题,其他方式毫无意义了。

3. 外部接口也需要重点考虑。如前所述,FPGA内部如果timing没有问题的话,一般和仿真结果是一致的,问题是外部的接口,包括cable连线等,特别涉及数据宽度和频率,建议采用降频和先同步输入等方式来先行排除。

4. 重视syn和pr过程中的所有warning以及error,warning的内容不是完全可以忽略的。要特别关注综合报表中的以下内容:unused ports, reMOVal of redundant logic, latch inference,simulation mismatch等等,重点分析和排除。