”
Vivado HLS 2014.4 で合成したラプラシアンフィルタIPの高速化16(性能が最大になる設定を探る8、追加2)”で、60 fps を超える速度でラプラシアンフィルタ処理を行うことができた。しかし、Vivado 2014.4 でインプリメントを行ったところタイミング制約のエラーが出てしまった。タイミング制約のエラーを無くしてみようと思う。
タイミング制約のエラーを無くす方法だが、少しくらいのタイミング制約エラーならば、インプリメント時のStrategy を変更してインプリメントを行う方法があるので、試してみた。(なお、twitter で hiyuh さんがつぶやいていたので、わかったのだった。 hiyuh さん、いつもお世話になっております。。。)
まず、そのやり方を説明しよう。
最初に、Vivado のFlow Navigator のImprementation -> Run Implementation を右クリックして右クリックメニューから Creater Implementaion Runs... を選択する。

Create New Runs ダイアログが開く。

Configure Implementaion Runs で、Strategy をクリックすると下にリストが出てくるので、適当なStrategy を選ぶ。

Strategy を選択した。

Launchi Options はデフォルトのままとした。

Create New Runs Summary が表示された。Finish ボタンをクリックした。

Design Runs ウインドウを見ると、インプリメントが始まっている。

これで、25のStrategy が全て終了した。その結果だ。3つタイミング制約を満たしているStrategy がある。

それは、Performance_ExplorePostRoutePhysOpt、Performance_ExploreSLLs、Performance_Retiming だった。
Strategy のカテゴリは、
Performance (パフォーマンス)
Area (エリア)
Power (消費電力)
Flow (フロー)
Congestion (密集)
の5つに分かれるようだ。
Vivado のインプリメントのStrategy については、”
Vivado Design Suite ユーザーガイド インプリメンテーシ ョ ン UG904 (v2014.4) 2014 年 11 月 19 日”の124ページ、”インプリメンテーシ ョ ンのカテゴリ、 ス トラテジの説明、 および -directive の設定”を参照して欲しい。
一番、性能が良いPerformance_ExploreSLLs をアクティブにしてみよう。
Performance_ExploreSLLs を右クリックして右クリックメニューから、Make Active を選択する。

Performance_ExploreSLLs がアクティブになった。

これで、Vivado でビットストリームを行った。Performance_ExploreSLLs が選択されているのが、Worst Nagative Slack (WNS) からも分かる。

これで、最速のラプラシアンフィルタ処理IP のプロジェクトもタイミング制約をクリアした。
- 2015年04月22日 05:08 |
- Vivado
-
| トラックバック:0
-
| コメント:0