官术网_书友最值得收藏!

1.5 性能指標

對于一個FPGA設計,我們該如何評估其性能呢?通常會用到以下幾個指標:設計可運行的最高頻率(Fmax)、輸入到輸出的時鐘周期數(Latency)、吞吐率(Throughput)、資源利用率和功耗(Power)。

Fmax可通過時序報告計算得到。在Vivado中,可通過命令report_timing_summary生成時序報告,如圖1-46所示。當WNS、WHS和WPWS均大于或等于0時,表明時序已收斂。

圖1-46

在圖1-46中,WNS為0.171ns,若時鐘周期為10ns,那么Fmax

顯然,WNS越大越好。

輸入到輸出的延遲通常用時鐘周期個數來表示,稱為Latency,該指標也反映了設計的流水級數。如圖1-47所示,輸入x0對應的輸出為y0,輸入x1對應的輸出為y1,從輸入到輸出需要3個時鐘周期,因此Latency為3。相鄰兩個輸入之間間隔的時鐘周期個數反映了該設計的吞吐率。顯然,Latency越小越好。但Latency小意味著流水級數低,這可能會導致Fmax降低。

圖1-47

在Vivado下,可通過命令xilinx::designutils::report_failfast(從Vivado 2022.1開始,可直接使用命令report_qor_assessment)查看資源利用率的指導值和實際值,如圖1-48所示,圖中,Guideline列對應指導值,Actual列對應實際值,Status列若為REVIEW,則表明其所在行對應的資源利用率超過指導值。

圖1-48

將圖1-48中的信息提取出來,形成表1-7,表中,LUTRAM表示分布式RAM,SRL表示用LUT實現的移位寄存器。根據此表,我們可以在設計初期進行芯片選型。需要注意的是BRAM、UltraRAM和DSP48三者的資源利用率都不能超過80%,若超過了80%,則要保證三者的平均利用率低于80%。

表1-7

此外,我們還要看設計功耗是否達到預期目標。在Vivado下,可通過命令report_power生成當前設計的功耗報告,如圖1-49所示。報告提供的信息越多(如通過仿真提供.saif文件等),可信度越高。

圖1-49

這些性能指標不是獨立的,而是相互影響的。有時為了提升Fmax而增加Latency或資源利用率;有時為了降低資源利用率而犧牲Fmax。無論如何,最終的目標是實現時序和功耗均收斂。時序收斂意味著設計達到了預期的Fmax,功耗收斂意味著設計的功耗在目標范圍內。

主站蜘蛛池模板: 滨海县| 耒阳市| 南康市| 囊谦县| 贵港市| 如皋市| 黔东| 马尔康县| 合山市| 湛江市| 枣强县| 德昌县| 怀来县| 资源县| 太湖县| 迁安市| 浏阳市| 荃湾区| 内黄县| 河南省| 沙坪坝区| 九江市| 谢通门县| 龙游县| 宜州市| 崇礼县| 衡水市| 大同市| 财经| 辽中县| 潮安县| 江安县| 巴中市| 鱼台县| 邯郸市| 兴安盟| 冀州市| 千阳县| 蓬溪县| 安徽省| 牡丹江市|