仅对英特尔可见 — GUID: syw1487184704923
Ixiasoft
1.10. 设计检查表
使用本查询表来验证您在设计中是否遵循了每个阶段的设计指南。
编号 | 是否完成? | N/A | 检查表项目 |
1. | “必要时创建详细的设计规范和测试计划。” | ||
2. | “在早期阶段利用结构图规划时钟域、时钟资源和I/O接口。” | ||
3. | “选择影响系统设计,特别是I/O接口的IP。” | ||
4. | “如果计划对IP使用OpenCore Plus受限模式,应确保电路板设计支持此工作模式。” | ||
5. | “利用Qsys进行系统和处理器设计。” | ||
6. | “根据收发器、I/O管脚数量、LVDS通道、封装类型、逻辑/存储器/乘法器密度、 PLL、时钟布线和速度等级对器件进行选择。” | ||
7. | “保留器件资源,以用于将来的开发和调试。” | ||
8. | “考虑纵向器件移植可用性和要求。” | ||
9. | “使用Early Power Estimator (EPE)电子数据表对功耗进行评估,在逻辑设计完成前规划冷却解决方案和电源供应。” | ||
10. | “设置设计中的温度感应二极管,以测量散热热管理的器件结温。” | ||
11. | “选择一个配置方案对配套器件和电路板连接进行规划。” | ||
12. | “如果要使用器件密集度非常大的AS配置模式,需确认目标FPGA密集度是否有足够大的配置器件。” | ||
13. | “如需使用带有并行闪存加载程序的闪存器件,请查看所支持器件列表。” | ||
14. | “要确保配置方案和电路板支持所需特性:设计安全性,远程更新,单粒子翻转(SEU)缓解。” | ||
15. | 规划电路板设计,以支持要求的可选配置管脚CLKUSR和INIT_DONE。 | ||
16. | “规划板级设计,以使用Auto-restart after configuration error选项。” | ||
17. | “利用片上调试特性分析内部信号和执行高级调试技术。ARM DS-5 <keyword keyref="companyname-tm"/> Edition对SoC设计提供多种调试特性。” | ||
18. | “提前选择片上调试方案,以规划存储器和逻辑要求,I/O管脚连接和电路板连接。” | ||
19. | “如果希望使用Signal Probe增量布线、SignalTap II嵌入式逻辑分析仪、逻辑分析仪接口、在系统存储器内容编辑器、在系统源和探头或虚拟JTAG宏功能,应根据可用于调试的JTAG连接对系统和电路板进行规划。” | ||
20. | “规划少量的额外逻辑资源,用于实现JTAG调试特性所需的JTAG集线器逻辑。” | ||
21. | “使用SignalTap II Embedded Logic Analyzer进行调试时,需要保留器件存储器资源,以在系统操作期间采集数据。” | ||
22. | “预留使用Signal Probe或Logic Analyzer接口进行调试的I/O管脚,以免今后为适应调试信号而不得不更改设计或电路板。” | ||
23. | “确保电路板要支持调试模式,在此模式中调试信号不影响系统运行。” | ||
24. | “根据外部逻辑分析仪或者混合信号示波器的要求来整合pin header或者mictor connector。” | ||
25. | “为能够以增量方式使用调试工具和减少编译时间,应确保打开增量编译,以避免为了修改调试工具而对设计重新编译。” | ||
26. | “要将Virtual JTAG megafunction用于定制的调试应用,作为设计过程的一部分,需要在HDL代码中对其例化。” | ||
27. | "为能够使用In-System Sources and Probes特性,应在HDL代码中使宏功能实例化。" | ||
28. | "要对RAM或ROM模块或LPM_CONSTANT megafunction使用In-System Memory Content Editor,需要开启Allow In-System Memory Content Editor,使IP catalog中的存储器模块能独立于系统时钟选项捕获和更新内容。" | ||
29. | “针对上电进行电路板设计:配置器件和配置管脚驱出(drive out)前, Arria® 10输出缓存处于三态。” | ||
30. | “将电源电压斜坡设计为单调形式。” | ||
31. | “设置POR时间也以确保电源稳定。” | ||
32. | “设计电源顺序和稳压器使器件具有最佳可靠性。在连接电源之前,首先在电路板之间连接GND。” | ||
33. | “正确连接 Arria® 10 GX、GT和SX器件系列管脚连接指南中指定的所有电源管脚。” | ||
34. | “连接VCCIO管脚和VREF管脚以支持每个bank的I/O标准。” | ||
35. | “找出电路板上FPGA电源管脚或其他电源管脚的特殊要求,然后确定电路板上的哪些器件可以共用一条电源轨。” | ||
36. | “遵循 Arria® 10 GX、GT和SX器件系列管脚连接指南中所建议的电源共享和隔离共享,以及每一个管脚的详细指南。” | ||
37. | “使用PDN工具来规划电源分配网表和去耦电容。” | ||
38. | “即使设计中没有使用所有的PLL,也应连接所有的PLL电源管脚以减少噪音。关于管脚电压要求,请参考 Arria® 10 GX、GT和SX器件系列管脚连接指南。” | ||
39. | “电源网应该由一个隔离电源平面、一个电源平面切割区或至少20 mil的粗走线提供。” | ||
40. | “检查所有配置管脚连接和上拉/下拉电阻是否对于您的配置方案正确设置。” | ||
41. | “将配置DCLK和TCK管脚设计成无噪声的。” | ||
42. | “如果JTAG管脚未使用,那么将其连接到一个稳定的电压电平。” | ||
43. | “将JTAG管脚正确地连接到下载电缆接头。 确保管脚顺序不要颠倒。” | ||
44. | “要在上电期间禁用JTAG状态机,需要通过一个1-kW电阻将TCK管脚拉低以确保TCK上不会出现意外的上升沿。” | ||
45. | “通过一个1-k到10-kW电阻将TMS和TDI管脚拉高。” | ||
46. | “将TRST直接连接至VCCPGM(将管脚连接至低电平可禁止JTAG电路)。” | ||
47. | “由于下载电缆连接到您器件的JTAG管脚,因此要保证下载电缆与JTAG管脚电压相互兼容。” | ||
48. | “按照建议对JTAG信号进行缓冲,特别是对于连接器,或者电缆驱动三个以上器件时。” | ||
49. | “如果您的器件在一个配置链中,则要确保链中所有器件正确地连接。” | ||
50. | “MSEL管脚应连接选定的配置方案,不应处于悬空状态。为提高测试或调试期间配置模式切换的灵活性,应将电路板的每个管脚接至VCCPGM或GND,不应使用上拉或下拉电阻。” | ||
51. | “将nIO_PULLUP直接连接到GND。” | ||
52. | “在配置、初始化以及用户模式期间,将nCE(芯片使能)管脚保持为低电平。” | ||
53. | “如果需要,开启device-wide output enable选项。” | ||
54. | “指定未使用I/O管脚的保留状态。” | ||
55. | “仔细检查Quartus Prime软件生成的.pin文件中的管脚连接。请勿连接RESERVED管脚。” | ||
56. | “将VREF管脚设计成无噪音的。” | ||
57. | “分流靠近器件的电路板层上的大量总线信号以降低串扰。” | ||
58. | “可能的话,如果两个信号层相互靠近,可沿正交方向走线。间隔距离为走线宽度的2至3倍。” | ||
59. | “检查所选I/O标准的I/O端接和阻抗匹配,特别是电压参考标准。” | ||
60. | “使用IBIS模型(可用情况下)执行板级仿真。” | ||
61. | “对Quartus Prime高级I/O时序分析进行电路板走线模型配置。” | ||
62. | “使用Quartus Prime Pin Planner进行管脚分配。” | ||
63. | “将Quartus Prime Fitter消息和报告用于管脚分配的签核。” | ||
64. | “验证Quartus Prime管脚分配是否匹配原理图和电路板布局工具中的管脚分配。” | ||
65. | “设计完成前,通过I/O Assignment Analysis,使用Create Top-Level Design File命令来检查I/O约束。” | ||
66. | “根据系统要求规划I/O信号类型。” | ||
67. | “允许软件对差分管脚对的负管脚进行位置约束。” | ||
68. | “为每个I/O管脚选择合适的信号类型和I/O标准。I/O bank位于I/O列内。每个I/O bank包含其自身的PLL、DPA和SERDES电路。” | ||
69. | “确保目标I/O bank支持相应的I/O标准。” | ||
70. | “对在相同I/O bank中共享电压电平的I/O管脚进行布局。” | ||
71. | “验证每个I/O bank的所有输出信号是否会以bank的VCCIO电压电平输出。” | ||
72. | “验证每个I/O bank的所有电压参考信号是否会使用bank的VREF电压电平。” | ||
73. | “检查I/O bank是否支持LVDS和收发器特性。” | ||
74. | “对每个存储器接口使用 Arria® 10 EMIF IP megafunction (或者IP core),并遵循相关文档中的连接原则/规定。” | ||
75. | “将专用DQ/DQS管脚和DQ组用于存储器接口。” | ||
76. | “进行复用管脚设置并检查这些管脚作为普通I/O使用时是否存在任何限制。” | ||
77. | “检查对I/O接口有帮助的可用器件I/O特性:电流强度、摆率、I/O延迟、开漏、总线保持、可编程上拉电阻、PCI钳位二极管、可编程预加重和VOD。” | ||
78. | “考虑OCT特性,以节省板级空间。” | ||
79. | “验证是否所有的管脚位置都支持要求的端接方案。” | ||
80. | “为高速LVDS接口选择相应的DPA、non-DPA或者soft-CDR模式。” | ||
81. | “使用正确的专用时钟管脚,并将布线信号用作时钟和全局控制信号。” | ||
82. | “对时钟管理使用器件小数PLL。” | ||
83. | “分析各PLL和时钟管脚的输入和输出布线连接。确保PLL输入来自专用时钟管脚或其他PLL。” | ||
84. | “使能PLL特性,并检查参数编辑器中的设置。” | ||
85. | “要确保选择正确的PLL反馈补偿模式。” | ||
86. | “检查PLL是否提供了要求的时钟输出数以及是否使用了专用时钟输出管脚。” | ||
87. | “将时钟控制模块用于时钟选择和断电。” | ||
88. | “对设计进行分析,检查是否可能存在SSN问题。” | ||
89. | “尽可能减少在同一时间开关电压的管脚数。” | ||
90. | “对高开关I/O使用差分I/O标准和低电压标准。” | ||
91. | “对高开关I/O使用较低的驱动强度。默认的驱动强度可能会高于设计需要的强度。” | ||
92. | “减少每个Bank内同时开关的输出管脚的数量。尽可能将输出管脚分布在多个Bank内。” | ||
93. | “均匀切换bank中的I/O以减少给定区域中干扰源的数量,从而减低SSN(bank使用率实际低于100%时)。” | ||
94. | “将同时开关管脚与易受SSN影响的输入管脚分隔开。” | ||
95. | “将重要的时钟和异步控制信号安排在靠近地信号的位置,离开大的开关总线。” | ||
96. | “避免将I/O管脚,即远离PLL电源管脚的一个或两个管脚,用于高开关或高驱动强度管脚。” | ||
97. | “使用交错输出延迟通过时间来转移输出信号,或者也可以使用可调节摆率设置。” | ||
98. | “使用同步设计实践。注意时钟信号。” | ||
99. | “使用Quartus II Design Assistant检查设计可靠性。” | ||
99. | “使用宏功能和参数编辑器。” | ||
100. | “遵循推荐的编码风格,特别是在推断诸如存储器和DSP模块等的器件专用模块时。” | ||
101. | "如果需要,使能全芯片(chip-wide)复位以清零所有寄存器。” | ||
102. | “需要考虑可用于寄存器上电和控制信号的资源。不要对一个寄存器同时应用复位和预置信号。” | ||
103. | “按照建议,建立源代码并对您的设计进行增量式编译分区;在设计流程早期进行规划。” | ||
104. | “执行时序预算和分区间的资源平衡,以达到最佳结果,特别是在基于团队的流程中。” | ||
105. | “如果设计流程要求,则对增量式编译分区创建设计平面规划。” | ||
106. | “指定您的第三方综合工具并使用正确的支持版本。” | ||
107. | “编译后,检查资源利用和优化报告。” | ||
108. | “查看所有Quartus Prime消息,特别是所有警告或错误消息。” | ||
109. | “确保时序约束完整并准确,包括所有时钟信号和I/O延迟。” | ||
110. | “编译之后查看TimeQuest Timing Analyzer报告,确保没有时序违规。” | ||
111. | “确保在向 Arria® 10器件提供数据时,不会超出输入I/O时间。” | ||
112. | “在Settings对话框中的Fitter Settings页面上,开启Optimize multi-corner timing。” | ||
113. | “使用create_clock和create_generated_clock命令来对您设计中所有时钟指定频率和关系。” | ||
114. | “使用set_input_delay和set_output_delay指定外部器件或电路板时序参数。” | ||
115. | “使用derive_pll_clocks根据PLL宏功能中的设置为所有的PLL输出创建生成时钟。为LVDS发送器或接收器解串因数指定多个周期关系。” | ||
116. | “使用derive_clock_uncertainty自动应用inter-clock、intra-clock和I/O接口不确定性。” | ||
117. | “使用check_timing命令来生成设计或者应用约束问题报告,包括缺失的约束。” | ||
118. | “如果想在运行完整编译之前进行时序评估,需要执行Early Timing Estimation。” | ||
119. | “使用Quartus Prime优化特性来达到时序收敛或者提高资源利用。” | ||
120. | “使用Timing and Area Optimization Advisors来建议优化设置。” | ||
121. | “使用增量编译保存设计中未更改模块的性能和减少编译时间。” | ||
122. | “如果需要编译多个处理器,请确保并行编译是使能的。” | ||
123. | “使用Compilation Time Advisor来建议能缩短编译时间的设置。” | ||
124. | “指定第三方仿真工具,并使用相应的支持版本和仿真模型。” | ||
125. | “指定您的第三方形式验证工具,并使用正确的支持版本。” | ||
126. | “如果使用形式验证,则要检查支持和设计限制。” | ||
127. | “编译以后,使用Power Analyzer分析功耗和散热。” | ||
128. | “对准确的典型信号活动首选提供门级仿真.vcd文件,以获得准确的功耗分析结果。” | ||
129. | “指定正确的功耗分析运行条件。” | ||
130. | 必要时,使用推荐的设计技术和Quartus Prime选项对设计进行功耗优化。 | ||
131. | “使用Power Optimization Advisor获得优化设置建议。” |