単純なリード/ライト、少し複雑なリード/ライトの他、CLやCWLを振っての動作が論理シミュレーションで確認できたので合成に着手している。 システムアーキテクチャはとりあえず以下のようにした。
IDDRX2DやODDRX2D等のハードマクロは以下のようなdirective (synthesis foo)を記述する必要があった。
このdirectiveでハードマクロの属性を指定するようだ。合成後にPhysical viewerでハードマクロを見てみると以下のように表示された。
StrategyはTiming Strategyで行っている。
合成制約は以下のようにした。。。クロック周波数の設定と幾つかの非同期パスのBLOCK (dont_touch)設定程度だ。 因みに、今回はPLLを使っているのでクロック周波数の情報はPLLのネットリストからも取得できるらしく、下記のように明示しなくても自動で設定が挿入される。 が、明示しないと不安なので明示している。
で、合成は成功した。以下はPhysical Viewerで全体を表示した様子。
これを見るとかなりのリソースを喰っているように見えるが、Device utilization summaryをみると、SLICEの使用率は9%と少ない。
タイミングも一応metしている。
上記結果のfmaxの値を見ると、500MHz (1Gbps)まではいけるかも??
それは後々確認することにして、今はリードタイミングについて確認をしなければ。
0 件のコメント:
コメントを投稿