Advanced FPGA Design: Architecture, Implementation, and Optimizationの一番最初のトピックからすごい。高位合成にもからむ話。 Seedというのは、Throughput、Latency、Timingの3つの要因がある。 Throughput:単位クロックあたりにどれだけのデータが処理できるか Latency:入力を入れてから結果が出るまでのクロック数 Timing:最大周波数 これに使用リソース(クロック、乗算器、メモリなど)が絡んでくる。 最初の例は、入力の3乗を求める回路。Cで書くとこんな感じ。 XPower = 1; for(i=0;i<3;i++){ XPoewr = X * XPower; } これをハードに落とすときに、何を重視するかで少なくとも3つの実装があって、それぞれを比べています。 面白そうなので僕もやって